From e6aeaabb32b6ac688eef1b39990a7489e91ebcba Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Mon, 16 Mar 2026 22:44:48 +0100 Subject: [PATCH] e03: added network stats screen which is updated every minute. --- avr/devices/e03/main/main.asm | 22 +++----- avr/devices/e03/main/screen.asm | 99 +++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 14 deletions(-) create mode 100644 avr/devices/e03/main/screen.asm diff --git a/avr/devices/e03/main/main.asm b/avr/devices/e03/main/main.asm index 44b1834..8eccb37 100644 --- a/avr/devices/e03/main/main.asm +++ b/avr/devices/e03/main/main.asm @@ -62,25 +62,13 @@ #define MODULES_LED_SIMPLE ;#define MODULES_LED_ACTIVITY #define MODULES_NETWORK -;#define MODULES_UART_BITBANG #define MODULES_COM2W #define MODULES_TWI_MASTER #define MODULES_LCD #define LCD_MINIMAL_FONT -;#define MODULES_SI7021 -;#define MODULES_SGP30 -;#define MODULES_SGP40 -;#define MODULES_STATS -;#define MODULES_OWI_MASTER -;#define MODULES_DS18B20 -;#define MODULES_MOTION -;#define MODULES_CCS811 -;#define MODULES_BRIGHTNESS #define MODULES_DS3231 #define APPS_NETWORK -;#define APPS_MOTION -;#define APPS_REPORTSENSORS #define APPS_STATS @@ -147,6 +135,7 @@ firmwareStart: ; @routine onSystemStart onSystemStart: + rcall ScreenPrintErrors ret ; @end @@ -171,13 +160,16 @@ onMessageReceived: onEvery100ms: onEverySecond: -onEveryMinute: onEveryHour: onEveryDay: ret ; @end +onEveryMinute: + rcall ScreenPrintErrors + + ; --------------------------------------------------------------------------- ; @routine onEveryLoop @@ -199,7 +191,9 @@ onEveryLoop: .include "devices/all/includes.asm" .include "common/debug.asm" -.include "modules/network/msg/debug-w.asm" +;.include "modules/network/msg/debug-w.asm" + +.include "screen.asm" diff --git a/avr/devices/e03/main/screen.asm b/avr/devices/e03/main/screen.asm new file mode 100644 index 0000000..9f62359 --- /dev/null +++ b/avr/devices/e03/main/screen.asm @@ -0,0 +1,99 @@ +; *************************************************************************** +; 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. * +; *************************************************************************** + + + +.cseg + + + +ScreenPrintErrors: + ldi yl, LOW(netInterfaceData) + ldi yh, HIGH(netInterfaceData) + + ldi r16, 0 + rcall LCD_Fill + + ldi r18, 0 + ldi r19, 0 + rcall LCD_SetCursor + ldi zl, LOW(screenTxtSystem) + ldi zh, HIGH(screenTxtSystem) + rcall LCD_PrintFromFlash + + ldi r18, 0 + ldi r19, 2 + rcall LCD_SetCursor + ldi zl, LOW(screenTxtPacketsIn) + ldi zh, HIGH(screenTxtPacketsIn) + rcall LCD_PrintFromFlash + ldi r18, 64 + ldi r19, 2 + rcall LCD_SetCursor + ldd r18, Y+NET_IFACE_OFFS_PACKETSIN_LOW + ldd r19, Y+NET_IFACE_OFFS_PACKETSIN_HIGH + rcall LCD_PrintHexWord + + ldi r18, 0 + ldi r19, 3 + rcall LCD_SetCursor + ldi zl, LOW(screenTxtPacketsOut) + ldi zh, HIGH(screenTxtPacketsOut) + rcall LCD_PrintFromFlash + ldi r18, 64 + ldi r19, 3 + rcall LCD_SetCursor + ldd r18, Y+NET_IFACE_OFFS_PACKETSOUT_LOW + ldd r19, Y+NET_IFACE_OFFS_PACKETSOUT_HIGH + rcall LCD_PrintHexWord + + ldi r18, 0 + ldi r19, 4 + rcall LCD_SetCursor + ldi zl, LOW(screenTxtEContent) + ldi zh, HIGH(screenTxtEContent) + rcall LCD_PrintFromFlash + ldi r18, 64 + ldi r19, 4 + rcall LCD_SetCursor + ldd r18, Y+NET_IFACE_OFFS_ERR_CONTENT_LOW + ldd r19, Y+NET_IFACE_OFFS_ERR_CONTENT_HIGH + rcall LCD_PrintHexWord + + ldi r18, 0 + ldi r19, 5 + rcall LCD_SetCursor + ldi zl, LOW(screenTxtEMsgSize) + ldi zh, HIGH(screenTxtEMsgSize) + rcall LCD_PrintFromFlash + ldi r18, 64 + ldi r19, 5 + rcall LCD_SetCursor + ldd r18, Y+NET_IFACE_OFFS_ERR_MSGSIZE_LOW + ldd r19, Y+NET_IFACE_OFFS_ERR_MSGSIZE_HIGH + rcall LCD_PrintHexWord + + ret +; @end + + +screenTxtSystem: .db "AqHOME %YEAR%/%MONTH%/%DAY%-%HOUR%:%MINUTE%", 0 + +screenTxtPacketsIn: + .db "In:", 0 + +screenTxtPacketsOut: + .db "Out:", 0, 0 + +screenTxtEContent: + .db "eCRC:", 0 + +screenTxtEMsgSize: + .db "eSize:", 0, 0 +