/* * displayMuxer.c * * Created on: 05.09.2016 * Author: wn */ #include #include #include #include "displayMuxer.h" #include "display.h" typedef struct { uint8_t value; bool valid; } tDisplayValue; tDisplayValue displayValues[MUX_ENDS]; void displayMuxerInit(void *handleArg) { for (tMuxerSlot i = FIRST_MUX; i < MUX_ENDS; i++) { displayValues[i].value = 0; displayValues[i].valid = false; } } void displayMuxerExec(void *handleArg) { static tMuxerSlot slot = FIRST_MUX; if (displayValues[slot].valid) { displaySetValue(displayValues[slot].value); } slot++; if (slot == MUX_ENDS) { slot = FIRST_MUX; } } void displayMuxerSetValue(uint8_t value, bool valid, tMuxerSlot slot) { displayValues[slot].value = value; displayValues[slot].valid = valid; }