; *************************************************************************** ; 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 ret ; 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 r17, r18 mov yl, xl mov yh, xh ; check for press change event andi r17, (1<