; *************************************************************************** ; 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_GUI_BUTTON_ASM #define AQH_AVR_GUI_BUTTON_ASM .equ BUTTON_STATE_DOWN_BIT = 0 .equ BUTTON_STATE_ACTIVATED_BIT = 1 .cseg ; --------------------------------------------------------------------------- ; @routine Button_Draw_Up @global ; ; Draw button in state "UP". ; ; @param Y pointer to window in SDRAM ; @param Z pointer to button data in FLASH (byte address for LPM) ; @clobbers any, !Y Button_Draw_Up: clr r14 rjmp buttonDraw ; @end ; --------------------------------------------------------------------------- ; @routine Button_Draw_Down @global ; ; Draw button in state "DOWN". ; ; @param Y pointer to window in SDRAM ; @param Z pointer to button data in FLASH (byte address for LPM) ; @clobbers any, !Y Button_Draw_Down: ldi r16, 1 mov r14, r16 rjmp buttonDraw ; @end ; --------------------------------------------------------------------------- ; @routine Button_HandleTouch @global ; ; @param r18 flags ; @param r19 current state of button (bit 0: pressed, bit 1: activated) ; @param r5:r4 x ; @param r7:r6 Y ; @param Z pointer to button data in FLASH ; @return r19 new state of button (0=normal, 1=pressed) Button_HandleTouch: cbr r19, (1<