Files
aqhomecontrol/avr/apps/stats/main.asm
2025-05-01 00:53:29 +02:00

82 lines
1.8 KiB
NASM

; ***************************************************************************
; copyright : (C) 2025 by Martin Preuss
; email : martin@libchipcard.de
;
; ***************************************************************************
; * This file is part of the project "AqHome". *
; * Please see toplevel file COPYING of that project for license details. *
; ***************************************************************************
; ***************************************************************************
; defines
.equ APP_STATS_INTERVAL_MINS = 10
; ***************************************************************************
; code
.cseg
; ---------------------------------------------------------------------------
; @routine AppStats_Init @global
;
; @clobbers r16
AppStats_Init:
clr r16
sts appStatsTimer, r16
sec
ret
; @end
; ---------------------------------------------------------------------------
; @routine AppStats_Fini @global
;
AppStats_Fini:
; nothing to do
ret
; @end
; ---------------------------------------------------------------------------
; @routine AppStats_OnEveryMinute @global
;
AppStats_OnEveryMinute:
lds r16, appStatsTimer
inc r16
cpi r16, APP_STATS_INTERVAL_MINS
brcs AppStats_OnEveryMinute_store
clr r16
AppStats_OnEveryMinute_store:
sts appStatsTimer, r16
ldi yl, LOW(netInterfaceData)
ldi yh, HIGH(netInterfaceData)
cpi r16, 1
breq AppStats_OnEveryMinute_sendDevice
cpi r16, 2
breq AppStats_OnEveryMinute_sendTxdStats
cpi r16, 3
breq AppStats_OnEveryMinute_sendRxdStats
ret
AppStats_OnEveryMinute_sendTxdStats:
rjmp AppNetwork_SendTxdStats
AppStats_OnEveryMinute_sendRxdStats:
rjmp AppNetwork_SendRxdStats
AppStats_OnEveryMinute_sendDevice:
rjmp AppNetwork_SendDevice
; @end