avr/apps/stats: send VALUE_REPORT messages instead of individual stats messages.
this makes it easier to add some more stats later and it removes some messages.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
; ***************************************************************************
|
||||
; defines
|
||||
|
||||
.equ APP_STATS_INTERVAL_MINS = 10
|
||||
.equ APP_STATS_INTERVAL_MINS = 11
|
||||
|
||||
|
||||
|
||||
@@ -63,22 +63,93 @@ AppStats_OnEveryMinute_store:
|
||||
ldi yl, LOW(netInterfaceData)
|
||||
ldi yh, HIGH(netInterfaceData)
|
||||
cpi r16, 1
|
||||
breq AppStats_OnEveryMinute_sendRxdStats
|
||||
cpi r16, 2
|
||||
breq AppStats_OnEveryMinute_sendTxdStats
|
||||
cpi r16, 3
|
||||
breq AppStats_OnEveryMinute_sendDevice
|
||||
cpi r16, 2
|
||||
breq AppStats_OnEveryMinute_sendPacketsIn
|
||||
cpi r16, 3
|
||||
breq AppStats_OnEveryMinute_sendPacketsOut
|
||||
cpi r16, 4
|
||||
breq AppStats_OnEveryMinute_sendMemStats
|
||||
ret
|
||||
AppStats_OnEveryMinute_sendTxdStats:
|
||||
rjmp AppNetwork_SendTxdStats
|
||||
AppStats_OnEveryMinute_sendRxdStats:
|
||||
rjmp AppNetwork_SendRxdStats
|
||||
AppStats_OnEveryMinute_sendMemStats:
|
||||
rjmp AppNetwork_SendMemStats
|
||||
breq AppStats_OnEveryMinute_sendContentErrs
|
||||
cpi r16, 5
|
||||
breq AppStats_OnEveryMinute_sendIoErrs
|
||||
cpi r16, 6
|
||||
breq AppStats_OnEveryMinute_sendNoBufErrs
|
||||
cpi r16, 7
|
||||
breq AppStats_OnEveryMinute_sendCollisionErrs
|
||||
cpi r16, 8
|
||||
breq AppStats_OnEveryMinute_sendBusyErrs
|
||||
#ifdef MODULES_HEAP
|
||||
cpi r16, 9
|
||||
breq AppStats_OnEveryMinute_sendHeapUsed
|
||||
cpi r16, 10
|
||||
breq AppStats_OnEveryMinute_sendHeapfree
|
||||
#endif
|
||||
|
||||
AppStats_OnEveryMinute_sendDevice:
|
||||
rjmp AppNetwork_SendDevice
|
||||
|
||||
AppStats_OnEveryMinute_sendPacketsIn:
|
||||
ldi r17, AQHOME_VALUEID_STATS_PACKETS_IN
|
||||
ldd r18, Y+NET_IFACE_OFFS_PACKETSIN_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_PACKETSIN_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendPacketsOut:
|
||||
ldi r17, AQHOME_VALUEID_STATS_PACKETS_OUT
|
||||
ldd r18, Y+NET_IFACE_OFFS_PACKETSOUT_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_PACKETSOUT_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendContentErrs:
|
||||
ldi r17, AQHOME_VALUEID_STATS_ERRS_CONTENT
|
||||
ldd r18, Y+NET_IFACE_OFFS_ERR_CONTENT_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_ERR_CONTENT_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendIoErrs:
|
||||
ldi r17, AQHOME_VALUEID_STATS_ERRS_IO
|
||||
ldd r18, Y+NET_IFACE_OFFS_ERR_IO_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_ERR_IO_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendNoBufErrs:
|
||||
ldi r17, AQHOME_VALUEID_STATS_ERRS_NOBUF
|
||||
ldd r18, Y+NET_IFACE_OFFS_ERR_NOBUF_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_ERR_NOBUF_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendCollisionErrs:
|
||||
ldi r17, AQHOME_VALUEID_STATS_ERRS_COLLISIONS
|
||||
ldd r18, Y+NET_IFACE_OFFS_ERR_COLLISIONS_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_ERR_COLLISIONS_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendBusyErrs:
|
||||
ldi r17, AQHOME_VALUEID_STATS_ERRS_BUSY
|
||||
ldd r18, Y+NET_IFACE_OFFS_ERR_BUSY_LOW
|
||||
ldd r19, Y+NET_IFACE_OFFS_ERR_BUSY_HIGH
|
||||
rjmp appStatsSend16BitValue
|
||||
#ifdef MODULES_HEAP
|
||||
AppStats_OnEveryMinute_sendHeapUsed:
|
||||
ldi r17, AQHOME_VALUEID_STATS_HEAP_USED
|
||||
lds r18, heapUsed
|
||||
lds r19, heapUsed+1
|
||||
rjmp appStatsSend16BitValue
|
||||
AppStats_OnEveryMinute_sendHeapfree:
|
||||
ldi r17, AQHOME_VALUEID_STATS_HEAP_FREE
|
||||
lds r18, heapFree
|
||||
lds r19, heapFree+1
|
||||
rjmp appStatsSend16BitValue
|
||||
#endif
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine AppStats_OnEveryMinute @global
|
||||
;
|
||||
; @param R17 value id
|
||||
; @param R19:R18 value
|
||||
|
||||
appStatsSend16BitValue:
|
||||
ldi r20, 1
|
||||
clr r21
|
||||
ldi r22, AQHOME_VALUETYPE_STATS
|
||||
rjmp Main_SendValueReport
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,22 @@
|
||||
.equ AQHOME_VALUETYPE_MOTION = 6
|
||||
.equ AQHOME_VALUETYPE_CO2 = 7
|
||||
.equ AQHOME_VALUETYPE_TVOC = 8
|
||||
.equ AQHOME_VALUETYPE_STATS = 9
|
||||
|
||||
|
||||
; Value Ids
|
||||
|
||||
.equ AQHOME_VALUEID_STATS_PACKETS_IN = 0xe0
|
||||
.equ AQHOME_VALUEID_STATS_PACKETS_OUT = 0xe1
|
||||
.equ AQHOME_VALUEID_STATS_ERRS_CONTENT = 0xe2
|
||||
.equ AQHOME_VALUEID_STATS_ERRS_IO = 0xe3
|
||||
.equ AQHOME_VALUEID_STATS_ERRS_NOBUF = 0xe4
|
||||
.equ AQHOME_VALUEID_STATS_ERRS_COLLISIONS = 0xe5
|
||||
.equ AQHOME_VALUEID_STATS_ERRS_BUSY = 0xe6
|
||||
.equ AQHOME_VALUEID_STATS_HEAP_USED = 0xe7
|
||||
.equ AQHOME_VALUEID_STATS_HEAP_FREE = 0xe8
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,24 @@
|
||||
|
||||
<device name="aqua_c01" driver="nodes">
|
||||
<manufacturer>AQUA</manufacturer>
|
||||
<devicetype>N</devicetype>
|
||||
<devicetype>C</devicetype>
|
||||
<deviceversion>1</deviceversion>
|
||||
|
||||
<values>
|
||||
<value name="LEDTIMING" id="0x88" type="actor" dataType="uint16" />
|
||||
|
||||
<value name="stats_packets_in" id="0xe0" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_packets_out" id="0xe1" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_content_errors" id="0xe2" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_io_errors" id="0xe3" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_nobuf_errors" id="0xe4" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_collision_errors" id="0xe5" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_busy_errors" id="0xe6" type="sensor" dataType="uint16" denom="1" />
|
||||
|
||||
<value name="stats_heap_used" id="0xe7" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_heap_free" id="0xe8" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_noram_errors" id="0xe9" type="sensor" dataType="uint16" denom="1" />
|
||||
|
||||
</values>
|
||||
|
||||
</device>
|
||||
|
||||
@@ -12,6 +12,18 @@
|
||||
<value name="SGP30_TVOC" id="0x09" type="sensor" dataType="rational" modality="tvoc" denom="1" />
|
||||
<value name="SGP30_CO2" id="0x0a" type="sensor" dataType="rational" modality="co2" denom="1" />
|
||||
|
||||
<value name="stats_packets_in" id="0xe0" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_packets_out" id="0xe1" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_content_errors" id="0xe2" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_io_errors" id="0xe3" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_nobuf_errors" id="0xe4" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_collision_errors" id="0xe5" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_busy_errors" id="0xe6" type="sensor" dataType="uint16" denom="1" />
|
||||
|
||||
<value name="stats_heap_used" id="0xe7" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_heap_free" id="0xe8" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_noram_errors" id="0xe9" type="sensor" dataType="uint16" denom="1" />
|
||||
|
||||
<value name="LEDTIMING" id="0x88" type="actor" dataType="uint16" />
|
||||
</values>
|
||||
|
||||
|
||||
@@ -12,6 +12,18 @@
|
||||
<value name="SGP30_TVOC" id="0x09" type="sensor" dataType="rational" modality="tvoc" denom="1" />
|
||||
<value name="SGP30_CO2" id="0x0a" type="sensor" dataType="rational" modality="co2" denom="1" />
|
||||
|
||||
<value name="stats_packets_in" id="0xe0" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_packets_out" id="0xe1" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_content_errors" id="0xe2" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_io_errors" id="0xe3" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_nobuf_errors" id="0xe4" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_collision_errors" id="0xe5" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_busy_errors" id="0xe6" type="sensor" dataType="uint16" denom="1" />
|
||||
|
||||
<value name="stats_heap_used" id="0xe7" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_heap_free" id="0xe8" type="sensor" dataType="uint16" denom="1" />
|
||||
<value name="stats_noram_errors" id="0xe9" type="sensor" dataType="uint16" denom="1" />
|
||||
|
||||
<value name="LEDTIMING" id="0x88" type="actor" dataType="uint16" />
|
||||
</values>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user