120 lines
2.7 KiB
NASM
120 lines
2.7 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. *
|
|
; ***************************************************************************
|
|
|
|
#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
|