handle minute buffer
This commit is contained in:
parent
28922f6944
commit
388d7fa7ab
@ -44,6 +44,20 @@ t_minuteBuffer minuteBuffers[NUM_OF_MINUTE_BUFFERS];
|
|||||||
uint8_t activeMinuteBuffer = 0;
|
uint8_t activeMinuteBuffer = 0;
|
||||||
|
|
||||||
|
|
||||||
|
void counterMinuteTick(void *handle) {
|
||||||
|
for (uint8_t minuteBufferIdx = 0; minuteBufferIdx < NUM_OF_MINUTE_BUFFERS; minuteBufferIdx++) {
|
||||||
|
t_minuteBuffer *minuteBuffer = &(minuteBuffers[minuteBufferIdx]);
|
||||||
|
|
||||||
|
if (minuteBuffer->s.done == 1) {
|
||||||
|
coloredMsg(LOG_BLUE, "cmt, buffer %d is done, handle it", minuteBufferIdx);
|
||||||
|
for (uint8_t i = 0; i < SECONDS_PER_MINUTE; i++) {
|
||||||
|
coloredMsg(LOG_BLUE, "cmt: freq: %lu, time: %lu", minuteBuffer->s.events[i].frequency, minuteBuffer->s.events[i].timestamp);
|
||||||
|
}
|
||||||
|
minuteBuffer->s.done = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void counterSecondTick(void *handle) {
|
void counterSecondTick(void *handle) {
|
||||||
static uint8_t bufferIdx = 0;
|
static uint8_t bufferIdx = 0;
|
||||||
uint32_t tmpSum = 0;
|
uint32_t tmpSum = 0;
|
||||||
@ -110,6 +124,7 @@ void counterInit() {
|
|||||||
minuteBuffers[1].s.done = 0;
|
minuteBuffers[1].s.done = 0;
|
||||||
|
|
||||||
schAdd(counterSecondTick, NULL, 0, 1000);
|
schAdd(counterSecondTick, NULL, 0, 1000);
|
||||||
|
schAdd(counterMinuteTick, NULL, 5, 60 * 1000);
|
||||||
|
|
||||||
HAL_TIM_IC_Start_IT(&mainsCnt, TIM_CHANNEL_1);
|
HAL_TIM_IC_Start_IT(&mainsCnt, TIM_CHANNEL_1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user