diff --git a/avr/devices/all/timers.asm b/avr/devices/all/timers.asm new file mode 100644 index 0000000..c5e17d7 --- /dev/null +++ b/avr/devices/all/timers.asm @@ -0,0 +1,65 @@ + + +.dseg + +#ifdef MODULES_LCD + sramTimerWriteStats: .byte 2 + sramTimerScreen: .byte 2 +#endif +#ifdef MODULES_SI7021 + sramTimerSI7021Measure: .byte 2 + sramTimerSI7021SendTemp: .byte 2 + sramTimerSI7021SendHumidity: .byte 2 +#endif +#ifdef MODULES_CNY70 + sramTimerCny70SendAdc: .byte 2 +#endif +#ifdef MODULES_LCD + sramPeriodicalLcdMark: .byte 2 +#endif +#ifdef MODULES_DS18B20 + sramDs18b20Timer: .byte 2 + sramSendDs18b20TempTimer: .byte 2 +#endif + + + + + +.cseg + + + +; --------------------------------------------------------------------------- +; timer list + + +timerList: +; SRAM variable/counter routine flags secs (0=don't start or restart) +#ifdef MODULES_COM_WITH_ADDR_PROTO + .dw cproAddresModeTimer, CPRO_Address_OnTimer, 0, 0 ; (no restart) +#endif +#ifdef MODULES_STATS + .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 3000 ; every 5m +#endif +#ifdef MODULES_LCD +; .dw sramPeriodicalLcdMark, periodicalLcdMark, 0, 20 ; every 2s +; .dw sramTimerWriteStats, writeStats, 0, 100 + .dw sramTimerScreen, printScreen, TIMER_FLAGS_IF_ADDR, 50 ; every 5s +#endif +#ifdef MODULES_SI7021 + .dw sramTimerSI7021Measure, SI7021_OnTimer, 0, 300 ; every 30s + .dw sramTimerSI7021SendTemp, sendSI7021Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s + .dw sramTimerSI7021SendHumidity, sendSI7021Humidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s +#endif +#ifdef MODULES_CNY70 + .dw sramTimerCny70SendAdc, CNY70_OnTimer, TIMER_FLAGS_IF_ADDR, 50 ; every 5s +#endif +#ifdef MODULES_DS18B20 + .dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s + .dw sramSendDs18b20TempTimer, sendDs18b20Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s +#endif + .dw 0 ; end of list + + +