more work on c02 and lcd drivers.

This commit is contained in:
Martin Preuss
2025-11-07 17:04:08 +01:00
parent 660f2502c1
commit 9300e515e7
7 changed files with 279 additions and 72 deletions

View File

@@ -18,49 +18,101 @@ WinNetStats_Init:
; setup
ldi yl, LOW(winNetstats)
ldi yh, HIGH(winNetstats)
rcall TitleWindow_Init
bigcall TitleWindow_Init
ldi zl, LOW(ili9341Font6x8_1*2)
ldi zh, HIGH(ili9341Font6x8_1*2)
ldi zl, LOW(ili9341Font12x20_1*2)
ldi zh, HIGH(ili9341Font12x20_1*2)
bigcall TitleWindow_SetFont
ldi r16, LOW(winNetstats_title*2)
std Y+TITLEDWINDOW_OFFS_TITLEPTR_LO, r16
std Y+TITLEWINDOW_OFFS_TITLEPTR_LO, r16
ldi r16, HIGH(winNetstats_title*2)
std Y+TITLEDWINDOW_OFFS_TITLEPTR_HI, r16
; setup size and pos
clr r4
clr r5
clr r6
clr r7
ldi r16, LOW(DISPLAY_WIDTH)
mov r8, r16
ldi r16, HIGH(DISPLAY_WIDTH)
mov r9, r16
ldi r16, LOW(DISPLAY_HEIGHT)
mov r10, r16
ldi r16, HIGH(DISPLAY_HEIGHT)
mov r11, r16
bigcall TitleWindow_SetPosAndSize
; setup colors
std Y+TITLEWINDOW_OFFS_TITLEPTR_HI, r16
bigcall TitleWindow_SetFullSize
bigcall TitleWindow_SetStyleColors
bigcall TitleWindow_Draw
ret
; @end
winNetstats_title: .db "Network Statistics", 0, 0
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 TITLEDWINDOW_SIZE
.byte TITLEWINDOW_SIZE