diff --git a/avr/apps/stats/main.asm b/avr/apps/stats/main.asm
index f3f8f5f..d615e0c 100644
--- a/avr/apps/stats/main.asm
+++ b/avr/apps/stats/main.asm
@@ -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
diff --git a/avr/devices/all/defs.asm b/avr/devices/all/defs.asm
index c3b0a1d..e42e861 100644
--- a/avr/devices/all/defs.asm
+++ b/avr/devices/all/defs.asm
@@ -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
+
+
diff --git a/avr/devices/c01/aqua_c01.xml b/avr/devices/c01/aqua_c01.xml
index 4ea15e0..6181e0c 100644
--- a/avr/devices/c01/aqua_c01.xml
+++ b/avr/devices/c01/aqua_c01.xml
@@ -1,11 +1,24 @@
AQUA
- N
+ C
1
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/avr/devices/n23/aqua_n23.xml b/avr/devices/n23/aqua_n23.xml
index 0d0d4c3..0f049f9 100644
--- a/avr/devices/n23/aqua_n23.xml
+++ b/avr/devices/n23/aqua_n23.xml
@@ -12,6 +12,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/avr/devices/n24/aqua_n24.xml b/avr/devices/n24/aqua_n24.xml
index 8ca6a5d..7552f11 100644
--- a/avr/devices/n24/aqua_n24.xml
+++ b/avr/devices/n24/aqua_n24.xml
@@ -12,6 +12,18 @@
+
+
+
+
+
+
+
+
+
+
+
+