; *************************************************************************** ; 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. * ; *************************************************************************** #ifndef AQH_AVR_DEVICE_C02_WIN_NETSTATS_ASM #define AQH_AVR_DEVICE_C02_WIN_NETSTATS_ASM .cseg WinNetStats_Init: ; setup ldi yl, LOW(winNetstats) ldi yh, HIGH(winNetstats) bigcall TitleWindow_Init ldi zl, LOW(ili9341Font12x20_1*2) ldi zh, HIGH(ili9341Font12x20_1*2) bigcall TitleWindow_SetFont ldi r16, LOW(winNetstats_title*2) std Y+TITLEWINDOW_OFFS_TITLEPTR_LO, r16 ldi r16, HIGH(winNetstats_title*2) std Y+TITLEWINDOW_OFFS_TITLEPTR_HI, r16 bigcall TitleWindow_SetFullSize bigcall TitleWindow_SetStyleColors ret ; @end WinNetStats_Draw: ldi yl, LOW(winNetstats) ldi yh, HIGH(winNetstats) bigcall TitleWindow_Draw rcall WinNetStats_Update ret ; @param @0 Y ; @param @1 label addr ; @param @2 data address .macro WINNETSTATS_PRINTDATA ; packets in ldi zl, LOW(@1 * 2) ldi zh, HIGH(@1 * 2) ldi r16, 2 ; X mov r4, r16 clr r5 ldi r16, LOW(@0) ; Y mov r6, r16 ldi r16, HIGH(@0) mov r7, r16 bigcall Window_DrawTextFlash ldi r16, 160 ; X mov r4, r16 clr r5 ldi r16, LOW(@0) ; Y mov r6, r16 ldi r16, HIGH(@0) mov r7, r16 lds r16, @2 ; data lds r17, @2+1 bigcall Window_WriteHexWordAt .endmacro WinNetStats_Update: ldi yl, LOW(winNetstats) ldi yh, HIGH(winNetstats) adiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN bigcall Window_Clear ; packets in WINNETSTATS_PRINTDATA 2, winNetstats_lPacketsIn, netInterfaceData+NET_IFACE_OFFS_PACKETSIN_LOW ; packets out WINNETSTATS_PRINTDATA 24, winNetstats_lPacketsOut, netInterfaceData+NET_IFACE_OFFS_PACKETSOUT_LOW ; eContent WINNETSTATS_PRINTDATA 46, winNetstats_lContentErr, netInterfaceData+NET_IFACE_OFFS_ERR_CONTENT_LOW ; eIO WINNETSTATS_PRINTDATA 68, winNetstats_lIoErr, netInterfaceData+NET_IFACE_OFFS_ERR_IO_LOW ; eMsgSize WINNETSTATS_PRINTDATA 90, winNetstats_lMsgSizeErr, netInterfaceData+NET_IFACE_OFFS_ERR_MSGSIZE_LOW sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN ret ; @end winNetstats_title: .db "Network Statistics", 0, 0 winNetstats_lPacketsIn: .db "Pkgs In :", 0 winNetstats_lPacketsOut: .db "Pkgs Out:", 0 winNetstats_lContentErr: .db "eContent:", 0 winNetstats_lIoErr: .db "eIO :", 0 winNetstats_lMsgSizeErr: .db "eMsgSize:", 0 .dseg winNetstats: .byte TITLEWINDOW_SIZE #endif