handle minute buffer

This commit is contained in:
Wolfgang Hottgenroth 2021-02-08 12:39:40 +01:00
parent 28922f6944
commit 388d7fa7ab
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F

View File

@ -44,6 +44,20 @@ t_minuteBuffer minuteBuffers[NUM_OF_MINUTE_BUFFERS];
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) {
static uint8_t bufferIdx = 0;
uint32_t tmpSum = 0;
@ -110,6 +124,7 @@ void counterInit() {
minuteBuffers[1].s.done = 0;
schAdd(counterSecondTick, NULL, 0, 1000);
schAdd(counterMinuteTick, NULL, 5, 60 * 1000);
HAL_TIM_IC_Start_IT(&mainsCnt, TIM_CHANNEL_1);
}