avr: cleanup.

This commit is contained in:
Martin Preuss
2023-04-10 01:41:21 +02:00
parent 7d9f3225ef
commit 6c8f8e19b2

View File

@@ -244,7 +244,7 @@
sramTimerProtocolEverySec: .byte 2 sramTimerProtocolEverySec: .byte 2
sramTimerEnqueueSendStats: .byte 2 sramTimerEnqueueComStats: .byte 2
sramTimerEnqueueMemStats: .byte 2 sramTimerEnqueueMemStats: .byte 2
sramTimerEnqueueValues: .byte 2 sramTimerEnqueueValues: .byte 2
sramTimerSI7021Measure: .byte 2 sramTimerSI7021Measure: .byte 2
@@ -267,12 +267,11 @@ blinkPattern: .db 2, 50, 0xff, 0xff ; 1 short blink, 2s pause, restart
; timer list ; timer list
; TODO: add flags (IF_COM_ADDR)
timerList: timerList:
; SRAM variable/counter routine flags secs (0=don't start or restart) ; SRAM variable/counter routine flags secs (0=don't start or restart)
.dw sramTimerProtocolEverySec, CPRO_OnEverySecond, 0, 1 ; every 1s .dw sramTimerProtocolEverySec, CPRO_OnEverySecond, 0, 1 ; every 1s
.dw sramTimerEnqueueSendStats, enqueueSendStats, TIMER_FLAGS_IF_ADDR, 300 ; every 5m .dw sramTimerEnqueueComStats, enqueueComStats, TIMER_FLAGS_IF_ADDR, 300 ; every 5m
.dw sramTimerEnqueueMemStats, enqueueMemStats, TIMER_FLAGS_IF_ADDR, 120 ; every 2m .dw sramTimerEnqueueMemStats, enqueueMemStats, TIMER_FLAGS_IF_ADDR, 300 ; every 5m
.dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 30 ; every 30s .dw sramTimerSI7021Measure, SI7021_PeriodicMeasurement, 0, 30 ; every 30s
.dw sramTimerEnqueueValues, Main_SendValueMsg, TIMER_FLAGS_IF_ADDR, 60 ; every 1m .dw sramTimerEnqueueValues, Main_SendValueMsg, TIMER_FLAGS_IF_ADDR, 60 ; every 1m
.dw 0 ; end of list .dw 0 ; end of list
@@ -288,31 +287,28 @@ timerList:
; Called on first time run, i.e. on system start. No arguments, no results. ; Called on first time run, i.e. on system start. No arguments, no results.
onSystemStart: onSystemStart:
#ifdef MODULES_COM
; todo: setup once timer to start reclaiming address ; todo: setup once timer to start reclaiming address
rcall CPRO_StartReclaimAddrProcedure rcall CPRO_StartReclaimAddrProcedure
#endif
ret ret
#ifdef MODULES_COM enqueueComStats:
enqueueSendStats: ldi r16, 0xff ; send to everybody
ldi r16, 0xff ; send stats to everybody rcall CPRO_EnqueueComSendStats
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: enqueueMemStats:
ldi r16, 0xff ; send to everybody ldi r16, 0xff ; send to everybody
rcall CPRO_EnqueueMemStats rcall CPRO_EnqueueMemStats
#endif
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: ; onPacketReceived:
; ;