diff --git a/avr/devices/n11/n11_main.asm b/avr/devices/n11/n11_main.asm index 310319b..ff7490a 100644 --- a/avr/devices/n11/n11_main.asm +++ b/avr/devices/n11/n11_main.asm @@ -55,7 +55,8 @@ #define MODULES_TIMER #define MODULES_COM #define MODULES_COM_WITH_ADDR_PROTO -#define MODULES_LED +;#define MODULES_LED +#define MODULES_LED_SIMPLE #define MODULES_TWI_MASTER ;#define MODULES_LCD #define MODULES_SI7021 @@ -102,11 +103,7 @@ reti ; OC0B reti ; OVF0 reti ; ACI -#ifdef MODULES_CNY70 - rjmp cny70Isr ; ADCC -#else reti ; ADCC -#endif reti ; ERDY reti ; USI_STR reti ; USI_OVF @@ -223,19 +220,19 @@ timerList: .dw cproAddresModeTimer, CPRO_Address_OnTimer, 0, 0 ; (no restart) #endif #ifdef MODULES_STATS - .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 300 ; every 5m + .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 3000 ; every 5m #endif #ifdef MODULES_LCD - .dw sramPeriodicalLcdMark, periodicalLcdMark, 0, 1 ; every sec - .dw sramTimerWriteStats, writeStats, 0, 10 + .dw sramPeriodicalLcdMark, periodicalLcdMark, 0, 10 ; every sec + .dw sramTimerWriteStats, writeStats, 0, 100 #endif #ifdef MODULES_SI7021 - .dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 30 ; every 30s - .dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 60 ; every 60s - .dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 60 ; every 60s + .dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s + .dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s + .dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s #endif #ifdef MODULES_CNY70 - .dw sramTimerCny70SendAdc, sendAdc, TIMER_FLAGS_IF_ADDR, 30 ; every 30s + .dw sramTimerCny70SendAdc, CNY70_OnTimer, TIMER_FLAGS_IF_ADDR, 50 ; every 5s #endif .dw 0 ; end of list @@ -293,20 +290,6 @@ sendTemp_okay: -#ifdef MODULES_CNY70 -sendAdc: - rcall CNY70_SendAdc - brcs sendAdc_okay - ; set timer to 1s to retry later - ldi xl, LOW(sramTimerCny70SendAdc) - ldi xh, HIGH(sramTimerCny70SendAdc) - rjmp Timer_SetValueTo1s -sendAdc_okay: - ret -#endif - - - ; --------------------------------------------------------------------------- ; Called every 100ms. Add your routine calls here. No arguments, no results. @@ -324,10 +307,6 @@ onEvery100ms: rcall LedSimple_Every100ms #endif -#ifdef MODULES_CNY70 - rcall CNY70_Every100ms -#endif - #ifdef MODULES_REED rcall REED_Every100ms #endif diff --git a/avr/devices/n12/n12_main.asm b/avr/devices/n12/n12_main.asm index 50d020c..43a59eb 100644 --- a/avr/devices/n12/n12_main.asm +++ b/avr/devices/n12/n12_main.asm @@ -91,11 +91,7 @@ reti ; OC0B reti ; OVF0 reti ; ACI -#ifdef MODULES_CNY70 - rjmp cny70Isr ; ADCC -#else reti ; ADCC -#endif reti ; ERDY reti ; USI_STR reti ; USI_OVF @@ -213,19 +209,19 @@ timerList: .dw cproAddresModeTimer, CPRO_Address_OnTimer, 0, 0 ; (no restart) #endif #ifdef MODULES_STATS - .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 300 ; every 5m + .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 3000 ; every 5m #endif #ifdef MODULES_LCD - .dw sramPeriodicalLcdMark, periodicalLcdMark, 0, 1 ; every sec - .dw sramTimerWriteStats, writeStats, 0, 10 + .dw sramPeriodicalLcdMark, periodicalLcdMark, 0, 10 ; every sec + .dw sramTimerWriteStats, writeStats, 0, 100 #endif #ifdef MODULES_SI7021 - .dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 30 ; every 30s - .dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 60 ; every 60s - .dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 60 ; every 60s + .dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 300 ; every 30s + .dw sramTimerSI7021SendTemp, sendTemp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s + .dw sramTimerSI7021SendHumidity, sendHumidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s #endif #ifdef MODULES_CNY70 - .dw sramTimerCny70SendAdc, sendAdc, TIMER_FLAGS_IF_ADDR, 30 ; every 30s + .dw sramTimerCny70SendAdc, CNY70_OnTimer, TIMER_FLAGS_IF_ADDR, 50 ; every 5s #endif .dw 0 ; end of list @@ -283,20 +279,6 @@ sendTemp_okay: -#ifdef MODULES_CNY70 -sendAdc: - rcall CNY70_SendAdc - brcs sendAdc_okay - ; set timer to 1s to retry later - ldi xl, LOW(sramTimerCny70SendAdc) - ldi xh, HIGH(sramTimerCny70SendAdc) - rjmp Timer_SetValueTo1s -sendAdc_okay: - ret -#endif - - - ; --------------------------------------------------------------------------- ; Called every 100ms. Add your routine calls here. No arguments, no results. @@ -315,10 +297,6 @@ onEvery100ms: #endif -#ifdef MODULES_CNY70 - rcall CNY70_Every100ms -#endif - #ifdef MODULES_REED rcall REED_Every100ms #endif diff --git a/avr/modules/timer/main.asm b/avr/modules/timer/main.asm index d43aa6c..5fda4d3 100644 --- a/avr/modules/timer/main.asm +++ b/avr/modules/timer/main.asm @@ -122,6 +122,7 @@ Timer_Run: Timer_Run_loop: ; for every occurred 100ms irq push r24 push r25 + rcall timerRunTimers rcall onEvery100ms pop r25 pop r24 @@ -134,11 +135,11 @@ Timer_Run_loop: ; for every occurred 100ms irq Timer_Run_SecondElapsed: clr r16 sts timerModuleTickCounter, r16 - push r24 - push r25 - rcall timerRunTimers - pop r25 - pop r24 +; push r24 +; push r25 +; rcall timerRunTimers +; pop r25 +; pop r24 Timer_Run_loop_end: sbiw r25:r24, 1 brne Timer_Run_loop @@ -185,7 +186,7 @@ Timer_SetValue: Timer_SetValueTo1s: push r16 push r17 - ldi r16, 1 + ldi r16, 10 clr r17 rcall Timer_SetValue pop r17