324 lines
11 KiB
NASM
324 lines
11 KiB
NASM
; ***************************************************************************
|
|
; copyright : (C) 2026 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_TESTWIN_ASM
|
|
#define AQH_AVR_DEVICE_C03_TESTWIN_ASM
|
|
|
|
|
|
; ***************************************************************************
|
|
; defines
|
|
|
|
|
|
|
|
; ***************************************************************************
|
|
; data
|
|
|
|
.dseg
|
|
|
|
testApp_ramdata:
|
|
.byte GUIAPP_SD_SIZE
|
|
|
|
|
|
testRootWin_ramdata:
|
|
.byte WIDGET_SD_SIZE
|
|
|
|
testWin_ramdata:
|
|
.byte WIDGET_SD_SIZE
|
|
|
|
testWinHeader_ramdata:
|
|
.byte WIDGET_SD_SIZE
|
|
|
|
testWinBody_ramdata:
|
|
.byte WIDGET_SD_SIZE
|
|
|
|
winSensorWatch1_ramdata:
|
|
.byte SENSORWATCH_SD_SIZE
|
|
|
|
winSensorWatch1Title_ramdata:
|
|
.byte WIDGET_SD_SIZE
|
|
|
|
winSensorWatch1Image_ramdata:
|
|
.byte IMGVIEW_SD_SIZE
|
|
|
|
winSensorWatch1Value_ramdata:
|
|
.byte VLABEL_SD_SIZE
|
|
|
|
|
|
|
|
|
|
; ***************************************************************************
|
|
; code
|
|
|
|
.cseg
|
|
|
|
|
|
|
|
testApp_flashdata:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw 0 ; next
|
|
.dw 0 ; parent
|
|
.dw 0 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw testApp_signalmap*2 ; signal map
|
|
; GUIAPP
|
|
.dw testApp_ramdata ; SDRAM data
|
|
.dw testRootWin_flashdata*2 ; root widget
|
|
|
|
testApp_signalmap:
|
|
.db 0, OBJECT_SIGNAL_TIMER, LOW(GuiApp_OnTimer), HIGH(GuiApp_OnTimer)
|
|
.db 0, WIDGET_SIGNAL_TOUCH, LOW(GuiApp_OnTouch), HIGH(GuiApp_OnTouch)
|
|
.db 0, OBJECT_SIGNAL_RECVMSG, LOW(GuiApp_OnMsgReceived), HIGH(GuiApp_OnMsgReceived)
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(GuiApp_OnCreate), HIGH(GuiApp_OnCreate)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
testRootWin_flashdata:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw 0 ; next
|
|
.dw 0 ; parent
|
|
.dw testWin_flashdata*2 ; first child
|
|
.dw testApp_flashdata*2 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw testRootWin_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 0 ; X
|
|
.dw 0 ; Y
|
|
.dw DISPLAY_WIDTH ; W
|
|
.dw DISPLAY_HEIGHT ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
; .dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw DISPLAY_COLOR_YELLOW
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw testRootWin_ramdata ; ptr to SDRAM
|
|
testRootWin_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDrawNop), HIGH(Widget_OnDrawNop)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
|
|
testWin_flashdata:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw 0 ; next
|
|
.dw testRootWin_flashdata*2 ; parent
|
|
.dw testWinHeader_flashdata*2 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw testWin_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 0 ; X
|
|
.dw 0 ; Y
|
|
.dw DISPLAY_WIDTH ; W
|
|
.dw DISPLAY_HEIGHT ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
.dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw testWin_ramdata ; ptr to SDRAM
|
|
testWin_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
testWinHeader_flashdata:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw testWinBody_flashdata*2 ; next
|
|
.dw testWin_flashdata*2 ; parent
|
|
.dw 0 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw testWinHeader_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 0 ; X
|
|
.dw 0 ; Y
|
|
.dw DISPLAY_WIDTH ; W
|
|
.dw STYLE_WIN_TITLE_HEIGHT ; H
|
|
.dw STYLE_WIN_TITLE_FOREGROUND ; front color
|
|
.dw STYLE_WIN_TITLE_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw testWinHeader_ramdata ; ptr to SDRAM
|
|
; LABEL
|
|
.dw testWinHeader_text*2 ; text
|
|
|
|
testWinHeader_text:
|
|
.db "Test-Window", 0
|
|
testWinHeader_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Label_OnDraw), HIGH(Label_OnDraw)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
|
|
testWinBody_flashdata:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw 0 ; next
|
|
.dw testWin_flashdata*2 ; parent
|
|
.dw winSensorWatch1*2 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw testWinBody_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 0 ; X
|
|
.dw STYLE_WIN_TITLE_HEIGHT ; Y
|
|
.dw DISPLAY_WIDTH ; W
|
|
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
; .dw DISPLAY_COLOR_YELLOW
|
|
.dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw testWinBody_ramdata ; ptr to SDRAM
|
|
|
|
testWinBody_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
|
|
winSensorWatch1:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw 0 ; next
|
|
.dw testWinBody_flashdata*2 ; parent
|
|
.dw winSensorWatch1Title*2 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw winSensorWatch1_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db (1<<WIDGETS_OPTSLO_MSGRECV_BIT), 0 ; opts lo, hi
|
|
.dw 4 ; X
|
|
.dw 4 ; Y
|
|
.dw 100 ; W (image=96, 2 px borders)
|
|
.dw 100 ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
.dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw winSensorWatch1_ramdata ; ptr to SDRAM
|
|
|
|
winSensorWatch1_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(SensorWatch_OnCreate), HIGH(SensorWatch_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
|
|
.db 0, OBJECT_SIGNAL_RECVMSG, LOW(SensorWatch_OnMsgReceived), HIGH(SensorWatch_OnMsgReceived)
|
|
.db 0, SENSORWATCH_SIGNAL_SETSOURCE, LOW(SensorWatch_OnSetSource), HIGH(SensorWatch_OnSetSource)
|
|
.db 0, SENSORWATCH_SIGNAL_SETLIMWARN, LOW(SensorWatch_OnSetLimitWarn), HIGH(SensorWatch_OnSetLimitWarn)
|
|
.db 0, SENSORWATCH_SIGNAL_SETLIMCRIT, LOW(SensorWatch_OnSetLimitCrit), HIGH(SensorWatch_OnSetLimitCrit)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
|
|
winSensorWatch1Title:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw winSensorWatch1Image*2 ; next
|
|
.dw winSensorWatch1*2 ; parent
|
|
.dw 0 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw winSensorWatch1Title_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 2 ; X
|
|
.dw 1 ; Y
|
|
.dw 96 ; W
|
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
.dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw winSensorWatch1Title_ramdata ; ptr to SDRAM
|
|
; LABEL
|
|
.dw winSensorWatch1Title_text*2 ; text
|
|
|
|
winSensorWatch1Title_text:
|
|
.db "CO2", 0
|
|
|
|
winSensorWatch1Title_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Label_OnDraw), HIGH(Label_OnDraw)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
|
|
winSensorWatch1Image:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw winSensorWatch1Value*2 ; next
|
|
.dw winSensorWatch1*2 ; parent
|
|
.dw 0 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw winSensorWatch1Image_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 2 ; X
|
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; Y
|
|
.dw 96 ; W
|
|
.dw 96 ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
.dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw winSensorWatch1Image_ramdata ; ptr to SDRAM
|
|
; IMGVIEW
|
|
.dw RESSSOURCE_IMG_CLOUD96 ; ressource id
|
|
|
|
winSensorWatch1Image_signalmap:
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageView_OnDraw), HIGH(ImageView_OnDraw)
|
|
.db 0, IMGVIEW_SIGNAL_SETBGCOL, LOW(ImageView_OnSetBgCol), HIGH(ImageView_OnSetBgCol)
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(ImageView_OnCreate), HIGH(ImageView_OnCreate)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
winSensorWatch1Value:
|
|
; OBJECT
|
|
.db 0x55, 0xaa ; magic
|
|
.dw 0 ; next
|
|
.dw winSensorWatch1*2 ; parent
|
|
.dw 0 ; first child
|
|
.dw 0 ; target
|
|
.dw 0 ; selector (ony lower 8 bits used)
|
|
.dw winSensorWatch1Value_signalmap*2 ; signal map
|
|
; WIDGET
|
|
.db 0, 0 ; opts lo, hi
|
|
.dw 2 ; X
|
|
.dw STYLE_WIN_FONT_HEIGHT+2+96+2 ; Y
|
|
.dw 96 ; W
|
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; H
|
|
.dw STYLE_WIN_FOREGROUND ; front color
|
|
.dw STYLE_WIN_BACKGROUND ; back color
|
|
.dw STYLE_WIN_FONT*2 ; font
|
|
.dw winSensorWatch1Value_ramdata ; ptr to SDRAM
|
|
; VALUELABEL
|
|
.db 0, 0 ; num of post-komma digits
|
|
|
|
|
|
winSensorWatch1Value_signalmap:
|
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(ValueLabel_OnDraw), HIGH(ValueLabel_OnDraw)
|
|
.db 0, VLABEL_SIGNAL_SETVALUE, LOW(ValueLabel_OnSetValue), HIGH(ValueLabel_OnSetValue)
|
|
.db 0, 0, 0, 0 ; end of table
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|