; *************************************************************************** ; 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_C03_DLG_NETSTATS_ASM #define AQH_AVR_DEVICE_C03_DLG_NETSTATS_ASM .equ DLG_NETSTATS_TIMER_100ms = 50 .equ DLG_NETSTATS_FLAGS_BUTTON_DOWN_BIT = 0 .cseg DlgNetStats_Init: ldi yl, LOW(dlgNetstats) ldi yh, HIGH(dlgNetstats) bigcall Dialog_Init ; set handler ldi r16, LOW(DlgNetStats_Handler) std Y+DIALOG_OFFS_HANDLER_LO, r16 ldi r16, HIGH(DlgNetStats_Handler) std Y+DIALOG_OFFS_HANDLER_HI, r16 ; clear vars clr r16 sts dlgNetstatsUpdateNum, r16 sts dlgNetstatsUpdateNum+1, r16 sts dlgNetstatsTimer, r16 sts dlgNetstatsFlags, r16 ret ; @end DlgNetStats_Handler: cpi r23, (DIALOG_FN_TIMER+1) brcc DlgNetStats_Handler_ret ldi zl, LOW(DlgNetStats_Handler_Fns) ldi zh, HIGH(DlgNetStats_Handler_Fns) add zl, r23 adc zh, r23 sub zh, r23 ijmp DlgNetStats_Handler_ret: ret ; @end DlgNetStats_Handler_Fns: rjmp dlgNetStatsOnInit rjmp dlgNetStatsOnFini rjmp dlgNetStatsOnShow rjmp dlgNetStatsOnHide rjmp dlgNetStatsOnTouch rjmp dlgNetStatsOnTimer dlgNetStatsOnInit: ret dlgNetStatsOnFini: ret dlgNetStatsOnShow: push yl push yh mov yl, xl mov yh, xh rcall DlgNetStats_Show pop yh pop yl ret dlgNetStatsOnHide: ret dlgNetStatsOnTouch: mov r16, r18 mov yl, xl mov yh, xh ; check close button push r18 rcall dlgNetStatsCheckCloseButton pop r18 brcs dlgNetStatsOnTouch_closeActivated rjmp dlgNetStatsTouch_ret dlgNetStatsOnTouch_closeActivated: ; close activated, TODO dlgNetStatsTouch_ret: ret dlgNetStatsCheckCloseButton: ldi zl, LOW(dlgNetstats_CloseBtn*2) ldi zh, HIGH(dlgNetstats_CloseBtn*2) clr r19 lds r16, dlgNetstatsFlags sbrc r16, DLG_NETSTATS_FLAGS_BUTTON_DOWN_BIT sbr r19, (1<