diff --git a/avr/att84_temp1.asm b/avr/att84_temp1.asm index 0c34587..01bb641 100644 --- a/avr/att84_temp1.asm +++ b/avr/att84_temp1.asm @@ -244,7 +244,7 @@ sramTimerProtocolEverySec: .byte 2 -sramTimerEnqueueSendStats: .byte 2 +sramTimerEnqueueComStats: .byte 2 sramTimerEnqueueMemStats: .byte 2 sramTimerEnqueueValues: .byte 2 sramTimerSI7021Measure: .byte 2 @@ -267,12 +267,11 @@ blinkPattern: .db 2, 50, 0xff, 0xff ; 1 short blink, 2s pause, restart ; timer list -; TODO: add flags (IF_COM_ADDR) timerList: ; SRAM variable/counter routine flags secs (0=don't start or restart) .dw sramTimerProtocolEverySec, CPRO_OnEverySecond, 0, 1 ; every 1s - .dw sramTimerEnqueueSendStats, enqueueSendStats, TIMER_FLAGS_IF_ADDR, 300 ; every 5m - .dw sramTimerEnqueueMemStats, enqueueMemStats, TIMER_FLAGS_IF_ADDR, 120 ; every 2m + .dw sramTimerEnqueueComStats, enqueueComStats, TIMER_FLAGS_IF_ADDR, 300 ; every 5m + .dw sramTimerEnqueueMemStats, enqueueMemStats, TIMER_FLAGS_IF_ADDR, 300 ; every 5m .dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 30 ; every 30s .dw sramTimerEnqueueValues, Main_SendValueMsg, TIMER_FLAGS_IF_ADDR, 60 ; every 1m .dw 0 ; end of list @@ -288,31 +287,28 @@ timerList: ; Called on first time run, i.e. on system start. No arguments, no results. onSystemStart: - -#ifdef MODULES_COM ; todo: setup once timer to start reclaiming address rcall CPRO_StartReclaimAddrProcedure -#endif ret -#ifdef MODULES_COM -enqueueSendStats: - ldi r16, 0xff ; send stats to everybody - rcall CPRO_EnqueueComSendStats +enqueueComStats: + ldi r16, 0xff ; send to everybody + rcall CPRO_EnqueueComSendStats + + ldi r16, 0xff ; send to everybody + rjmp CPRO_EnqueueComRecvStats - ldi r16, 0xff ; send stats to everybody - rjmp CPRO_EnqueueComRecvStats -#endif -#ifdef MODULES_COM enqueueMemStats: - ldi r16, 0xff ; send to everybody - rcall CPRO_EnqueueMemStats -#endif + ldi r16, 0xff ; send to everybody + rcall CPRO_EnqueueMemStats + + ldi r16, 0xff ; send to everybody + rjmp CPRO_EnqueueDevice @@ -335,24 +331,6 @@ onEvery100ms: -; --------------------------------------------------------------------------- -; Called every minute. Add your routine calls here. No arguments, no results. - -onEvery1m: -#ifdef MODULES_COM - lds r16, comAddress ; do we have an address assigned? - tst r16 - breq onEvery1m_l1 ; no, do nothing - - ; will later send this only every hour or so - ldi r16, 0xff ; send device info to everybody - rcall CPRO_EnqueueDevice -onEvery1m_l1: -#endif - - ret - - ; --------------------------------------------------------------------------- ; onPacketReceived: ;