Stap 10: Timing is alles!
Binnen zowel de schets van de Controller_nRF.ino en de Receiver_nRF.ino zijn fundamentele timers gebruikt om een statusmachine waarin vlaggen zijn ingesteld en continu gecontroleerd.
Timer objecten met ingebouwde vlaggen:
Timer Timer_Log = { TIMER_LOG, 300000UL, true, false, 0, NULL };<br>Timer Timer_rxData = { TIMER_RX_DATA, 2500L, true, false, 0, &Timer_Log }; Timer Timer_Save_Settings = { TIMER_SAVE_SETTINGS, 3600000UL, true, false, 0, &Timer_Log }; Timer Timer_Sensor_Read = { TIMER_SENSOR_READINGS, 5000UL, true, false, 0, &Timer_Save_Settings }; Timer Timer_Alerts = { TIMER_ALERTS, 60000UL, true, false, 0, &Timer_Sensor_Read };
timing is in microseconden. Volgens de standaard heeft broncode de Timer_Log een frequentie van 5 minuten.
Binnen de lus van Controller_nRF.ino en welke acties moeten worden genomen:
if ( clockFlag == true ) { if ( checkTimer( &Timer_Log ) ) { checkAppliances(); } if ( checkTimer( &Timer_Sensor_Read ) ) { keepAlive(); readSensors(); TheDecider(); } }