c03: removed old main firmware folder, make "test" folder new main.

This commit is contained in:
Martin Preuss
2026-04-13 17:43:08 +02:00
parent a9dabf0eae
commit d6e731b34e
21 changed files with 353 additions and 3427 deletions

View File

@@ -5,7 +5,6 @@
<subdirs> <subdirs>
boot boot
main main
test
</subdirs> </subdirs>
<extradist> <extradist>

View File

@@ -43,13 +43,6 @@
</subdirs> </subdirs>
<extradist> <extradist>
data.asm
g_app.asm
g_win_climate.asm
g_win_eepromdump.asm
g_win_network.asm
g_win_screensaver.asm
main.asm
style.asm style.asm
</extradist> </extradist>

View File

@@ -1,27 +0,0 @@
EEPROM dump
RAM dump
LIGHT
- color 1 (EDIT)
- color 2 (EDIT)
- color 3 (EDIT)
- color 4 (EDIT)
- mode
- on
- off
- auto
VENTILATOR
- current speeds
- step 1 (EDIT)
- ...
- step n (EDIT)
new widgets:
- h-slider
- v-slider

View File

@@ -1,14 +0,0 @@
; ***************************************************************************
; 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. *
; ***************************************************************************
.dseg

View File

@@ -1,131 +0,0 @@
; ***************************************************************************
; 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_APP_ASM
#define AQH_AVR_DEVICE_C03_APP_ASM
; ***************************************************************************
; defines
.equ APPC03_SEL_BUTTON_CLIMATE = 1
.equ APPC03_SEL_BUTTON_NETWORK = 2
.equ APPC03_SEL_BUTTON_EEDUMP = 3
; ***************************************************************************
; data
.dseg
appC03_ramdata:
.byte GUIAPP_SD_SIZE
testRootWin_ramdata:
.byte WIDGET_SD_SIZE
; ***************************************************************************
; code
.cseg
appC03:
; 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 appC03_signalmap*2 ; signal map
; GUIAPP
.dw appC03_ramdata ; SDRAM data
.dw winRoot*2 ; root widget
.dw winScreenSaver*2 ; screen saver
appC03_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 APPC03_SEL_BUTTON_NETWORK, WIDGET_SIGNAL_CLICKED, LOW(AppC03_OnClickedNetwork), HIGH(AppC03_OnClickedNetwork)
.db APPC03_SEL_BUTTON_CLIMATE, WIDGET_SIGNAL_CLICKED, LOW(AppC03_OnClickedClimate), HIGH(AppC03_OnClickedClimate)
.db APPC03_SEL_BUTTON_EEDUMP, WIDGET_SIGNAL_CLICKED, LOW(AppC03_OnClickedEeDump), HIGH(AppC03_OnClickedEeDump)
.db 0, 0, 0, 0 ; end of table
winRoot:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw 0 ; parent
.dw winClimate*2 ; first child
.dw appC03*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 STYLE_WIN_FONT*2 ; font
.dw testRootWin_ramdata ; ptr to SDRAM
; ROOTWIDGET
.dw appC03*2 ; GuiApp
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
AppC03_OnClickedNetwork:
ldi xl, LOW(winNetwork*2)
ldi xh, HIGH(winNetwork*2)
bigcall GuiApp_ShowView
sec
ret
AppC03_OnClickedClimate:
ldi xl, LOW(winClimate*2)
ldi xh, HIGH(winClimate*2)
bigcall GuiApp_ShowView
sec
ret
AppC03_OnClickedEeDump:
ldi xl, LOW(winEepromDump*2)
ldi xh, HIGH(winEepromDump*2)
bigcall GuiApp_ShowView
sec
ret
#endif

View File

@@ -1,533 +0,0 @@
; ***************************************************************************
; 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_WIN_CLIMATE_ASM
#define AQH_AVR_DEVICE_C03_WIN_CLIMATE_ASM
; ***************************************************************************
; data
.dseg
winClimate_ramdata:
.byte WIDGET_SD_SIZE
winClimateHeader_ramdata:
.byte WIDGET_SD_SIZE
winClimateBody_ramdata:
.byte WIDGET_SD_SIZE
winClimateSensor1_ramdata:
.byte SENSORWATCH_SD_SIZE
winClimateSensor1Title_ramdata:
.byte WIDGET_SD_SIZE
winClimateSensor1Image_ramdata:
.byte IMGVIEW_SD_SIZE
winClimateSensor1Value_ramdata:
.byte VLABEL_SD_SIZE
winClimateSensor2_ramdata:
.byte SENSORWATCH_SD_SIZE
winClimateSensor2Title_ramdata:
.byte WIDGET_SD_SIZE
winClimateSensor2Image_ramdata:
.byte IMGVIEW_SD_SIZE
winClimateSensor2Value_ramdata:
.byte VLABEL_SD_SIZE
winClimateSensor3_ramdata:
.byte SENSORWATCH_SD_SIZE
winClimateSensor3Title_ramdata:
.byte WIDGET_SD_SIZE
winClimateSensor3Image_ramdata:
.byte IMGVIEW_SD_SIZE
winClimateSensor3Value_ramdata:
.byte VLABEL_SD_SIZE
buttonClimateNetwork_ramdata:
.byte IMGVIEW_SD_SIZE
buttonEepromDump_ramdata:
.byte IMGVIEW_SD_SIZE
debugValue1_ramdata:
.byte VLABEL_SD_SIZE
; ***************************************************************************
; code
.cseg
winClimate:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetwork*2 ; next
.dw winRoot*2 ; parent
.dw winClimateHeader*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winClimate_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 winClimate_ramdata ; ptr to SDRAM
winClimate_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
winClimateHeader:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateBody*2 ; next
.dw winClimate*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*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 winClimateHeader_ramdata ; ptr to SDRAM
; LABEL
.dw winClimateHeader_text*2 ; text
winClimateHeader_text:
.db "Raumklima", 0
winClimateBody:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winClimate*2 ; parent
.dw winClimateSensor1*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winClimateBody_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 winClimateBody_ramdata ; ptr to SDRAM
winClimateBody_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
winClimateSensor1:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor2*2 ; next
.dw winClimateBody*2 ; parent
.dw winClimateSensor1Title*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw SensorWatch_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_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 winClimateSensor1_ramdata ; ptr to SDRAM
; SENSORWATCH
.db VALUE_ID_SENSOR_CO2_BASE, C03_EEID_SENSOR_CO2 ; baseValueId, eepromId
winClimateSensor1Title:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor1Image*2 ; next
.dw winClimateSensor1*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; 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 winClimateSensor1Title_ramdata ; ptr to SDRAM
; LABEL
.dw winClimateSensor1Title_text*2 ; text
winClimateSensor1Title_text:
.db "CO2", 0
winClimateSensor1Image:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor1Value*2 ; next
.dw winClimateSensor1*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ImageView_DefaultSignalmap*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 winClimateSensor1Image_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_CLOUD96 ; ressource id
winClimateSensor1Value:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winClimateSensor1*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
.dw 2 ; X
.dw STYLE_WIN_FONT_HEIGHT+2+96+2 ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winClimateSensor1Value_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winClimateSensor2:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor3*2 ; next
.dw winClimateBody*2 ; parent
.dw winClimateSensor2Title*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw SensorWatch_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_MSGRECV_BIT), 0 ; opts lo, hi
.dw 108 ; 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 winClimateSensor2_ramdata ; ptr to SDRAM
; SENSORWATCH
.db VALUE_ID_SENSOR_TEMP_BASE, C03_EEID_SENSOR_TEMP ; baseValueId, eepromId
winClimateSensor2Title:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor2Image*2 ; next
.dw winClimateSensor2*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; 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 winClimateSensor2Title_ramdata ; ptr to SDRAM
; LABEL
.dw winClimateSensor2Title_text*2 ; text
winClimateSensor2Title_text:
.db "Temp", 0, 0
winClimateSensor2Image:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor2Value*2 ; next
.dw winClimateSensor2*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ImageView_DefaultSignalmap*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 winClimateSensor2Image_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_TEMP96 ; ressource id
winClimateSensor2Value:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winClimateSensor2*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
.dw 2 ; X
.dw STYLE_WIN_FONT_HEIGHT+2+96+2 ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winClimateSensor2Value_ramdata ; ptr to SDRAM
; VALUELABEL
.db 2, 0 ; num of post-komma digits
winClimateSensor3:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonClimateNetwork*2 ; next
.dw winClimateBody*2 ; parent
.dw winClimateSensor3Title*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw SensorWatch_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_MSGRECV_BIT), 0 ; opts lo, hi
.dw 212 ; 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 winClimateSensor3_ramdata ; ptr to SDRAM
; SENSORWATCH
.db VALUE_ID_SENSOR_HUM_BASE, C03_EEID_SENSOR_HUM ; baseValueId, eepromId
winClimateSensor3Title:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor3Image*2 ; next
.dw winClimateSensor3*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; 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 winClimateSensor3Title_ramdata ; ptr to SDRAM
; LABEL
.dw winClimateSensor3Title_text*2 ; text
winClimateSensor3Title_text:
.db "Hum", 0
winClimateSensor3Image:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winClimateSensor3Value*2 ; next
.dw winClimateSensor3*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ImageView_DefaultSignalmap*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 winClimateSensor3Image_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_HUMIDITY96 ; ressource id
winClimateSensor3Value:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winClimateSensor3*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
.dw 2 ; X
.dw STYLE_WIN_FONT_HEIGHT+2+96+2 ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winClimateSensor3Value_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
buttonClimateNetwork:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonEepromDump*2 ; next
.dw winClimateBody*2 ; parent
.dw 0 ; first child
.dw appC03*2 ; target
.dw APPC03_SEL_BUTTON_NETWORK ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw 2 ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonClimateNetwork_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_NETWORK ; ressource id
buttonEepromDump:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winClimateBody*2 ; parent
.dw 0 ; first child
.dw appC03*2 ; target
.dw APPC03_SEL_BUTTON_EEDUMP ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw 2+(1*58) ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonEepromDump_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_DEBUGEEPROM ; ressource id
#if 0
debugValue1:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winClimateBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
.dw 2 ; X
.dw (3*STYLE_WIN_FONT_HEIGHT)+2+96+2 ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw debugValue1_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
#endif
#endif

View File

@@ -1,284 +0,0 @@
; ***************************************************************************
; 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_WIN_EEPROMDUMP_ASM
#define AQH_AVR_DEVICE_C03_WIN_EEPROMDUMP_ASM
; ***************************************************************************
; defines
; SDRAM data for WINEEPROMDUMP
.equ WINEEPROMDUMP_SD_OFFS_BEGIN = WIDGET_SD_SIZE
.equ WINEEPROMDUMP_SD_SIZE = WINEEPROMDUMP_SD_OFFS_BEGIN+0
.equ WINEEPROMDUMP_SEL_UP = 1
.equ WINEEPROMDUMP_SEL_DOWN = 2
.equ WINEEPROMDUMP_SEL_RESET = 3
; ***************************************************************************
; data
.dseg
winEepromDump_ramdata:
.byte WINEEPROMDUMP_SD_SIZE
winEepromDumpHeader_ramdata:
.byte WIDGET_SD_SIZE
winEepromDumpBody_ramdata:
.byte WIDGET_SD_SIZE
winEepromDumpView_ramdata:
.byte EEPROMDUMP_SD_SIZE
buttonEepromDumpBack_ramdata:
.byte IMGVIEW_SD_SIZE
buttonEepromDumpUp_ramdata:
.byte IMGVIEW_SD_SIZE
buttonEepromDumpDown_ramdata:
.byte IMGVIEW_SD_SIZE
buttonEepromDumpReset_ramdata:
.byte IMGVIEW_SD_SIZE
; ***************************************************************************
; code
.cseg
winEepromDump:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winScreenSaver*2 ; next
.dw winRoot*2 ; parent
.dw winEepromDumpHeader*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winEepromDump_signalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_TIMER_BIT), 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 winEepromDump_ramdata ; ptr to SDRAM
winEepromDump_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
winEepromDumpHeader:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winEepromDumpBody*2 ; next
.dw winEepromDump*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*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 winEepromDumpHeader_ramdata ; ptr to SDRAM
; LABEL
.dw winEepromDumpHeader_text*2 ; text
winEepromDumpHeader_text:
.db "EEPROM", 0, 0
winEepromDumpBody:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winEepromDump*2 ; parent
.dw winEepromDumpView*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winEepromDumpBody_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 STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winEepromDumpBody_ramdata ; ptr to SDRAM
winEepromDumpBody_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
winEepromDumpView:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonEepromDumpUp*2 ; next
.dw winEepromDumpBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winEepromDumpView_signalmap*2 ; signal map
; WIDGET
.db 0, 0 ; opts lo, hi
.dw 0 ; X
.dw 0 ; Y
.dw DISPLAY_WIDTH ; W
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-58 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
; .dw STYLE_WIN_FONT*2 ; font
.dw ili9341Font6x8_1*2
.dw winEepromDumpView_ramdata ; ptr to SDRAM
winEepromDumpView_signalmap:
.db 0, OBJECT_SIGNAL_CREATE, LOW(EepromDump_OnCreate), HIGH(EepromDump_OnCreate)
.db 0, WIDGET_SIGNAL_DRAW, LOW(EepromDump_OnDraw), HIGH(EepromDump_OnDraw)
.db WINEEPROMDUMP_SEL_UP, WIDGET_SIGNAL_CLICKED, LOW(EepromDump_OnUp), HIGH(EepromDump_OnUp)
.db WINEEPROMDUMP_SEL_DOWN, WIDGET_SIGNAL_CLICKED, LOW(EepromDump_OnDown), HIGH(EepromDump_OnDown)
.db WINEEPROMDUMP_SEL_RESET, WIDGET_SIGNAL_CLICKED, LOW(EepromDump_OnResetTlv), HIGH(EepromDump_OnResetTlv)
.db 0, 0, 0, 0 ; end of table
buttonEepromDumpUp:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonEepromDumpDown*2 ; next
.dw winEepromDumpBody*2 ; parent
.dw 0 ; first child
.dw winEepromDumpView*2 ; target
.dw WINEEPROMDUMP_SEL_UP ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw 2 ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonEepromDumpUp_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_ARROWUP ; ressource id
buttonEepromDumpDown:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonEepromResetTlv*2 ; next
.dw winEepromDumpBody*2 ; parent
.dw 0 ; first child
.dw winEepromDumpView*2 ; target
.dw WINEEPROMDUMP_SEL_DOWN ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw 2+(1*58) ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonEepromDumpDown_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_ARROWDOWN ; ressource id
buttonEepromResetTlv:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonEepromDumpBack*2 ; next
.dw winEepromDumpBody*2 ; parent
.dw 0 ; first child
.dw winEepromDumpView*2 ; target
.dw WINEEPROMDUMP_SEL_RESET ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw 2+(2*58) ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonEepromDumpReset_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_RESET ; ressource id
buttonEepromDumpBack:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winEepromDumpBody*2 ; parent
.dw 0 ; first child
.dw appC03*2 ; target
.dw APPC03_SEL_BUTTON_CLIMATE ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw DISPLAY_WIDTH-56 ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonEepromDumpBack_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_ARROWBACK ; ressource id
#endif

View File

@@ -1,521 +0,0 @@
; ***************************************************************************
; 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_WIN_NETWORK_ASM
#define AQH_AVR_DEVICE_C03_WIN_NETWORK_ASM
; ***************************************************************************
; defines
.equ WINNETWORK_INTERVAL_100ms = 50 ; update every 5s
; SDRAM data for WINNETWORK
.equ WINNETWORK_SD_OFFS_BEGIN = WIDGET_SD_SIZE
.equ WINNETWORK_SD_OFFS_TIMER = WINNETWORK_SD_OFFS_BEGIN+0
.equ WINNETWORK_SD_SIZE = WINNETWORK_SD_OFFS_BEGIN+1
; ***************************************************************************
; data
.dseg
winNetwork_ramdata:
.byte WINNETWORK_SD_SIZE
winNetworkHeader_ramdata:
.byte WIDGET_SD_SIZE
winNetworkBody_ramdata:
.byte WIDGET_SD_SIZE
winNetworkLabel1_ramdata:
.byte WIDGET_SD_SIZE
winNetworkLabel2_ramdata:
.byte WIDGET_SD_SIZE
winNetworkLabel3_ramdata:
.byte WIDGET_SD_SIZE
winNetworkLabel4_ramdata:
.byte WIDGET_SD_SIZE
winNetworkLabel5_ramdata:
.byte WIDGET_SD_SIZE
winNetworkValue1_ramdata:
.byte VLABEL_SD_SIZE
winNetworkValue2_ramdata:
.byte VLABEL_SD_SIZE
winNetworkValue3_ramdata:
.byte VLABEL_SD_SIZE
winNetworkValue4_ramdata:
.byte VLABEL_SD_SIZE
winNetworkValue5_ramdata:
.byte VLABEL_SD_SIZE
buttonNetworkBack_ramdata:
.byte IMGVIEW_SD_SIZE
; ***************************************************************************
; code
.cseg
winNetwork:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winEepromDump*2 ; next
.dw winRoot*2 ; parent
.dw winNetworkHeader*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winNetwork_signalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_TIMER_BIT), 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 winNetwork_ramdata ; ptr to SDRAM
winNetwork_signalmap:
.db 0, OBJECT_SIGNAL_TIMER, LOW(WinNetwork_OnTimer), HIGH(WinNetwork_OnTimer)
.db 0, OBJECT_SIGNAL_CREATE, LOW(WinNetwork_OnCreate), HIGH(WinNetwork_OnCreate)
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
.db 0, 0, 0, 0 ; end of table
winNetworkHeader:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkBody*2 ; next
.dw winNetwork*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*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 winNetworkHeader_ramdata ; ptr to SDRAM
; LABEL
.dw winNetworkHeader_text*2 ; text
winNetworkHeader_text:
.db "Netzwerk", 0, 0
winNetworkBody:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winNetwork*2 ; parent
.dw winNetworkLabel1*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winNetworkBody_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 winNetworkBody_ramdata ; ptr to SDRAM
winNetworkBody_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
winNetworkLabel1:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkLabel2*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, 0 ; opts lo, hi
.dw 2 ; X
.dw 2 ; Y
.dw 160 ; 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 winNetworkLabel1_ramdata ; ptr to SDRAM
; LABEL
.dw winNetworkLabel1_text*2 ; text
winNetworkLabel1_text:
.db "Packets in", 0, 0
winNetworkLabel2:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkLabel3*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, 0 ; opts lo, hi
.dw 2 ; X
.dw 2+(1*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 160 ; 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 winNetworkLabel2_ramdata ; ptr to SDRAM
; LABEL
.dw winNetworkLabel2_text*2 ; text
winNetworkLabel2_text:
.db "Packets out", 0
winNetworkLabel3:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkLabel4*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, 0 ; opts lo, hi
.dw 2 ; X
.dw 2+(2*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 160 ; 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 winNetworkLabel3_ramdata ; ptr to SDRAM
; LABEL
.dw winNetworkLabel3_text*2 ; text
winNetworkLabel3_text:
.db "eContent", 0, 0
winNetworkLabel4:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkLabel5*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, 0 ; opts lo, hi
.dw 2 ; X
.dw 2+(3*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 160 ; 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 winNetworkLabel4_ramdata ; ptr to SDRAM
; LABEL
.dw winNetworkLabel4_text*2 ; text
winNetworkLabel4_text:
.db "eIO", 0
winNetworkLabel5:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkValue1*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw Label_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, 0 ; opts lo, hi
.dw 2 ; X
.dw 2+(4*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 160 ; 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 winNetworkLabel5_ramdata ; ptr to SDRAM
; LABEL
.dw winNetworkLabel5_text*2 ; text
winNetworkLabel5_text:
.db "eMsgSize", 0, 0
winNetworkValue1:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkValue2*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNRIGHT_BIT) ; opts lo, hi
.dw 164 ; X
.dw 2 ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winNetworkValue1_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winNetworkValue2:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkValue3*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNRIGHT_BIT) ; opts lo, hi
.dw 164 ; X
.dw 2+(1*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winNetworkValue2_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winNetworkValue3:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkValue4*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNRIGHT_BIT) ; opts lo, hi
.dw 164 ; X
.dw 2+(2*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winNetworkValue3_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winNetworkValue4:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winNetworkValue5*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNRIGHT_BIT) ; opts lo, hi
.dw 164 ; X
.dw 2+(3*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winNetworkValue4_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winNetworkValue5:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonNetworkBack*2 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ValueLabel_DefaultSignalmap*2 ; signal map
; WIDGET
.db 0, (1<<WIDGET_OPTSHI_HALIGNRIGHT_BIT) ; opts lo, hi
.dw 164 ; X
.dw 2+(4*(STYLE_WIN_FONT_HEIGHT+2)) ; Y
.dw 96 ; W
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
.dw STYLE_WIN_FOREGROUND ; front color
.dw STYLE_WIN_BACKGROUND ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winNetworkValue5_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
buttonNetworkBack:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winNetworkBody*2 ; parent
.dw 0 ; first child
.dw appC03*2 ; target
.dw APPC03_SEL_BUTTON_CLIMATE ; selector (ony lower 8 bits used)
.dw Button_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_BORDER_BIT), 0 ; opts lo, hi
.dw DISPLAY_WIDTH-56 ; X
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
.dw 52 ; W
.dw 52 ; H
.dw STYLE_BUTTON_COL_FG_NORM ; front color
.dw STYLE_BUTTON_COL_BG_NORM ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw buttonClimateNetwork_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_ARROWBACK ; ressource id
WinNetwork_OnCreate:
bigcall Widget_OnCreate
bigcall Widget_GetSdramPtr ; (none)
ldi r16, WINNETWORK_INTERVAL_100ms
std Y+WINNETWORK_SD_OFFS_TIMER, r16
sec
ret
; @end
WinNetwork_OnTimer:
push zl
push zh
bigcall Widget_GetSdramPtr ; (none)
ldd r16, Y+WINNETWORK_SD_OFFS_TIMER
tst r16
breq WinNetwork_OnTimer_ret
dec r16
brne WinNetwork_OnTimer_store
ldi zl, LOW(winNetworkValue1*2)
ldi zh, HIGH(winNetworkValue1*2)
ldi r16, VLABEL_SIGNAL_SETVALUE
clr r17
lds xl, netInterfaceData+NET_IFACE_OFFS_PACKETSIN_LOW
lds xh, netInterfaceData+NET_IFACE_OFFS_PACKETSIN_HIGH
bigcall OBJ_HandleSignal
ldi zl, LOW(winNetworkValue2*2)
ldi zh, HIGH(winNetworkValue2*2)
ldi r16, VLABEL_SIGNAL_SETVALUE
clr r17
lds xl, netInterfaceData+NET_IFACE_OFFS_PACKETSOUT_LOW
lds xh, netInterfaceData+NET_IFACE_OFFS_PACKETSOUT_HIGH
bigcall OBJ_HandleSignal
ldi zl, LOW(winNetworkValue3*2)
ldi zh, HIGH(winNetworkValue3*2)
ldi r16, VLABEL_SIGNAL_SETVALUE
clr r17
lds xl, netInterfaceData+NET_IFACE_OFFS_ERR_CONTENT_LOW
lds xh, netInterfaceData+NET_IFACE_OFFS_ERR_CONTENT_HIGH
bigcall OBJ_HandleSignal
ldi zl, LOW(winNetworkValue4*2)
ldi zh, HIGH(winNetworkValue4*2)
ldi r16, VLABEL_SIGNAL_SETVALUE
clr r17
lds xl, netInterfaceData+NET_IFACE_OFFS_ERR_IO_LOW
lds xh, netInterfaceData+NET_IFACE_OFFS_ERR_IO_HIGH
bigcall OBJ_HandleSignal
ldi zl, LOW(winNetworkValue5*2)
ldi zh, HIGH(winNetworkValue5*2)
ldi r16, VLABEL_SIGNAL_SETVALUE
clr r17
lds xl, netInterfaceData+NET_IFACE_OFFS_ERR_MSGSIZE_LOW
lds xh, netInterfaceData+NET_IFACE_OFFS_ERR_MSGSIZE_HIGH
bigcall OBJ_HandleSignal
ldi r16, WINNETWORK_INTERVAL_100ms
WinNetwork_OnTimer_store:
std Y+WINNETWORK_SD_OFFS_TIMER, r16
WinNetwork_OnTimer_ret:
pop zh
pop zl
sec
ret
; @end
#endif

View File

@@ -1,55 +0,0 @@
; ***************************************************************************
; 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_WIN_SCREENSAVER_ASM
#define AQH_AVR_DEVICE_C03_WIN_SCREENSAVER_ASM
; ***************************************************************************
; data
.dseg
winScreenSaver_ramdata:
.byte WIDGET_SD_SIZE
; ***************************************************************************
; code
.cseg
winScreenSaver:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winRoot*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw ScreenSaver_DefaultSignalmap*2 ; signal map
; WIDGET
.db (1<<WIDGET_OPTSLO_INPUT_BIT) | (1<<WIDGET_OPTSLO_TIMER_BIT) | (1<<WIDGET_OPTSLO_MSGRECV_BIT), 0 ; opts lo, hi
.dw 0 ; X
.dw 0 ; Y
.dw DISPLAY_WIDTH ; W
.dw DISPLAY_HEIGHT ; H
.dw DISPLAY_COLOR_LIGHTGREY ; front color
.dw DISPLAY_COLOR_BLACK ; back color
.dw STYLE_WIN_FONT*2 ; font
.dw winScreenSaver_ramdata ; ptr to SDRAM
#endif

View File

@@ -18,7 +18,6 @@
.include "version.asm" .include "version.asm"
.include "../defs.asm" .include "../defs.asm"
.include "./data.asm"
.include "devices/all/defs.asm" .include "devices/all/defs.asm"
.include "common/calls.asm" .include "common/calls.asm"
@@ -47,7 +46,7 @@
; #define MODULES_TIMER ; #define MODULES_TIMER
#define MODULES_CLOCK #define MODULES_CLOCK
;#define MODULES_XRAM ;#define MODULES_XRAM
;#define MODULES_HEAP #define MODULES_HEAP
#define MODULES_BEEPER_SIMPLE #define MODULES_BEEPER_SIMPLE
#define MODULES_LED_SIMPLE #define MODULES_LED_SIMPLE
#define MODULES_NETWORK #define MODULES_NETWORK
@@ -59,7 +58,7 @@
#define MODULES_ILI9341 #define MODULES_ILI9341
#define MODULES_XPT2046 #define MODULES_XPT2046
#define MODULES_FONT #define MODULES_FONT
#define MODULES_GUI ;#define MODULES_GUI
;#define MODULES_TWI_MASTER ;#define MODULES_TWI_MASTER
;#define MODULES_LCD ;#define MODULES_LCD
;#define LCD_MINIMAL_FONT ;#define LCD_MINIMAL_FONT
@@ -200,8 +199,8 @@ onSystemStart:
; Called on every message received ; Called on every message received
onMessageReceived: onMessageReceived:
ldi zl, LOW(appC03*2) lds yl, guiApp
ldi zh, HIGH(appC03*2) lds yh, guiApp+1
bigcall GuiApp_MsgReceived bigcall GuiApp_MsgReceived
clc clc
ret ret
@@ -215,8 +214,8 @@ onMessageReceived:
; Called every 100ms. Add your routine calls here. No arguments, no results. ; Called every 100ms. Add your routine calls here. No arguments, no results.
onEvery100ms: onEvery100ms:
ldi zl, LOW(appC03*2) lds yl, guiApp
ldi zh, HIGH(appC03*2) lds yh, guiApp+1
bigcall GuiApp_Every100ms bigcall GuiApp_Every100ms
ret ret
@@ -244,13 +243,255 @@ onEveryLoop:
test: test:
ldi zl, LOW(appC03*2) bigcall C03App_new
ldi zh, HIGH(appC03*2) sts guiApp, yl
bigcall GuiApp_Init sts guiApp+1, yh
ret ret
; ; debug
; ldi r16, LOW(Debug_Style*2)
; std Y+WIDGET_OFFS_STYLE_LO, r16
; ldi r16, HIGH(Debug_Style*2)
; std Y+WIDGET_OFFS_STYLE_HI, r16
DEBUG_STOP:
bigjmp DEBUG1
DEBUG_STOP2:
bigjmp DEBUG2
DEBUG_STOP3:
bigjmp DEBUG3
DEBUG_DUMPCTX:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_GetRootWindow
mov yl, r18
mov yh, r19
bigcall Widget_Clear
clr r4
clr r5
clr r6
clr r7
adiw xh:xl, LAYOUT_CTX_OFFS_NUMITEMS
ld r24, X+
DEBUG_DUMPCTX_loop:
clr r4
clr r5
rcall DEBUG_DUMPCTXITEM
ldi r16, 20
clr r17
add r6, r16
adc r7, r17
dec r24
brne DEBUG_DUMPCTX_loop
bigjmp DEBUG3
DEBUG_DUMPONEITEM:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_GetRootWindow
mov yl, r18
mov yh, r19
bigcall Widget_Clear
clr r4
clr r5
clr r6
clr r7
rjmp DEBUG_DUMPCTXITEM
DEBUG_DUMPCTXITEM:
adiw xh:xl, LAYOUT_CTX_ITEM_OFFS_POS_LO
ld r20, X+ ; pos
ld r21, X+
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ld r20, X+ ; size
ld r21, X+
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ld r20, X+ ; flags
clr r21
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ret
DEBUG_DUMPWDG:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_GetRootWindow
mov yl, r18
mov yh, r19
push zl
push zh
bigcall Widget_Clear
pop zh
pop zl
clr r4
clr r5
clr r6
clr r7
ldi r16, 3
add r4, r16
adc r5, r17
rcall DEBUG_DUMPCWDG
ldi r16, 20
clr r17
add r6, r16
adc r7, r17
push yl
push yh
mov yl, zl
mov yh, zh
bigcall OBJ_GetFirstChild
pop yh
pop yl
mov zl, r18
mov zh, r19
ldi r24, 11
DEBUG_DUMPWDG_loop:
rcall DEBUG_DUMPCWDG
ldi r16, 20
clr r17
add r6, r16
adc r7, r17
dec r24
breq DEBUG_DUMPWDG_end
push yl
push yh
mov yl, zl
mov yh, zh
bigcall OBJ_GetNext
pop yh
pop yl
mov zl, r18
mov zh, r19
brcc DEBUG_DUMPWDG_end
rjmp DEBUG_DUMPWDG_loop
DEBUG_DUMPWDG_end:
bigjmp DEBUG3
DEBUG_DUMPCWDG:
clr r4
clr r5
ldd r20, Z+WIDGET_OFFS_X_LO
ldd r21, Z+WIDGET_OFFS_X_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_Y_LO
ldd r21, Z+WIDGET_OFFS_Y_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_WIDTH_LO
ldd r21, Z+WIDGET_OFFS_WIDTH_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_HEIGHT_LO
ldd r21, Z+WIDGET_OFFS_HEIGHT_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_TMP_LO
ldd r21, Z+WIDGET_OFFS_TMP_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ret
; @param r21:r20: number
DEBUG_WRITE_INT:
push r24
push zl
push zh
ldi r24, 0
push xl
push xh
bigcall IntToAscii ; X=pointer to text
push r4
push r5
bigcall Widget_DrawTextRam ; (any, !Y)
pop r5
pop r4
pop xh
pop xl
pop zh
pop zl
pop r24
ret
; @end
Debug_Style:
.dw DISPLAY_COLOR_BLACK ; frontCol_norm
.dw DISPLAY_COLOR_GREEN ; backCol_norm
.dw DISPLAY_COLOR_BLACK ; borderCol_norm
.dw DISPLAY_COLOR_WHITE ; shadowCol_norm
.dw DISPLAY_COLOR_WHITE ; frontCol_activated
.dw DISPLAY_COLOR_NAVY ; backCol_activated
.dw DISPLAY_COLOR_BLACK ; borderCol_activated
.dw DISPLAY_COLOR_WHITE ; shadowCol_activated
.db 2, 1 ; outerBorderSize, innerBorderSize
.dw ili9341Font12x16_1*2 ; font
.db 12, 16 ; charWidth, charHeight
@@ -264,12 +505,6 @@ test:
.include "common/debug.asm" .include "common/debug.asm"
;.include "modules/lcd2/font/font2.asm"
;.include "modules/lcd2/font/font3.asm"
;.include "modules/lcd2/font/font16x26.asm"
;.include "modules/lcd2/font/font4.asm"
;.include "modules/lcd2/font/font12x16.asm"
.include "modules/lcd2/ili9341/font12x16.asm" .include "modules/lcd2/ili9341/font12x16.asm"
.include "modules/lcd2/ili9341/font12x16_1.asm" .include "modules/lcd2/ili9341/font12x16_1.asm"
@@ -290,23 +525,36 @@ test:
.include "style.asm" .include "style.asm"
.include "modules/lcd2/gui/generic/object.asm"
.include "modules/lcd2/gui/generic/widget.asm"
.include "modules/lcd2/gui/generic/rootwidget.asm"
.include "modules/lcd2/gui/generic/label.asm"
.include "modules/lcd2/gui/generic/button.asm"
.include "modules/lcd2/gui/generic/imageview.asm"
.include "modules/lcd2/gui/generic/valuelabel.asm"
.include "modules/lcd2/gui/generic/guiapp.asm"
.include "modules/lcd2/gui/generic/screensaver.asm"
.include "modules/lcd2/gui/sensorwatch.asm"
.include "modules/lcd2/gui/eepromdump.asm"
.include "g_app.asm" GUI2_MODULE_BEGIN:
.include "g_win_climate.asm" .include "modules/lcd2/gui2/base/object.asm"
.include "g_win_network.asm" .include "modules/lcd2/gui2/base/widget.asm"
.include "g_win_eepromdump.asm" ;.include "modules/lcd2/gui2/base/layout.asm"
.include "g_win_screensaver.asm" ;.include "modules/lcd2/gui2/base/hlayout.asm"
;.include "modules/lcd2/gui2/base/vlayout.asm"
;.include "modules/lcd2/gui2/base/mlayout.asm"
;.include "modules/lcd2/gui2/base/mlayout_column.asm"
.include "modules/lcd2/gui2/base/guiapp.asm"
.include "modules/lcd2/gui2/base/rootwindow.asm"
.include "modules/lcd2/gui2/base/label.asm"
.include "modules/lcd2/gui2/base/button.asm"
.include "modules/lcd2/gui2/base/imageview.asm"
.include "modules/lcd2/gui2/base/valuelabel.asm"
.include "modules/lcd2/gui2/base/layout.asm"
.include "modules/lcd2/gui2/base/hlayout.asm"
.include "modules/lcd2/gui2/base/vlayout.asm"
.include "modules/lcd2/gui2/base/mclayout.asm"
.include "modules/lcd2/gui2/base/mainwindow.asm"
.include "modules/lcd2/gui2/aqhome/sensorwatch.asm"
.include "modules/lcd2/gui2/screensavers/simple.asm"
GUI2_MODULE_END:
.equ MODULE_SIZE_GUI2 = GUI2_MODULE_END-GUI2_MODULE_BEGIN
.include "a_c03.asm"
.include "w_menu.asm"
.include "w_climate.asm"
.include "w_netstats.asm"
.include "ressources.inc" .include "ressources.inc"
@@ -319,6 +567,7 @@ test:
.equ netInterfaceData = com2w_iface .equ netInterfaceData = com2w_iface
deviceCodeEnd: deviceCodeEnd:
.if deviceCodeEnd >= BOOTLOADER_ADDR .if deviceCodeEnd >= BOOTLOADER_ADDR
.warning "Code reaches into boot loader!" .warning "Code reaches into boot loader!"
@@ -329,9 +578,13 @@ deviceCodeEnd:
.dseg .dseg
guiApp: .byte 2
heapStart: heapStart:
.equ HEAP_START = heapStart .equ HEAP_START = heapStart
.equ HEAP_SIZE = (SRAM_SIZE-STACK_SIZE)-HEAP_START .equ HEAP_SIZE = (SRAM_SIZE-STACK_SIZE)-HEAP_START

View File

@@ -24,7 +24,7 @@
.org RESSOURCE_ADDR .org RESSOURCE_ADDR
RessourceTable: RessourceTable:
.dw 29 ; num of ressources .dw 41 ; num of ressources
.dw (resImageNetwork*2) ; 0: RESSSOURCE_IMG_NETWORK .dw (resImageNetwork*2) ; 0: RESSSOURCE_IMG_NETWORK
.dw (resImageCloud*2) ; 1: RESSSOURCE_IMG_CLOUD .dw (resImageCloud*2) ; 1: RESSSOURCE_IMG_CLOUD
.dw (resImageTemp*2) ; 2: RESSSOURCE_IMG_TEMP .dw (resImageTemp*2) ; 2: RESSSOURCE_IMG_TEMP
@@ -54,6 +54,20 @@ RessourceTable:
.dw (resTextAttic*2) ; 26: RESSSOURCE_TXT_ATTIC .dw (resTextAttic*2) ; 26: RESSSOURCE_TXT_ATTIC
.dw (resImageReset*2) ; 27: RESSSOURCE_IMG_RESET .dw (resImageReset*2) ; 27: RESSSOURCE_IMG_RESET
.dw (resImageDebugEeprom*2) ; 28: RESSSOURCE_IMG_DEBUGEEPROM .dw (resImageDebugEeprom*2) ; 28: RESSSOURCE_IMG_DEBUGEEPROM
.dw (resTextC02_s*2) ; 29: RESSSOURCE_TXT_CO2_S
.dw (resTextTemp_s*2) ; 30: RESSSOURCE_TXT_TEMP_S
.dw (resTextHum_s*2) ; 31: RESSSOURCE_TXT_HUM_S
.dw (resTextUnknown_s*2) ; 32: RESSSOURCE_TXT_UNKNOWN_S
.dw (resTextRoomClimate*2) ; 33: RESSSOURCE_TXT_ROOMCLIMATE
.dw (resTextAqHome*2) ; 34: RESSSOURCE_TXT_AQHOME
.dw (resTextPacketsIn*2) ; 35: RESSSOURCE_TXT_PACKETSIN
.dw (resTextPacketsOut*2) ; 36: RESSSOURCE_TXT_PACKETSOUT
.dw (resTextEContent*2) ; 37: RESSSOURCE_TXT_ECONTENT
.dw (resTextEMsgSize*2) ; 38: RESSSOURCE_TXT_EMSGSIZE
.dw (resTextEIO*2) ; 39: RESSSOURCE_TXT_EIO
.dw (resTextNetStats*2) ; 40: RESSSOURCE_TXT_NETSTATS
resImageNetwork: resImageNetwork:
@@ -104,7 +118,7 @@ resImageCloudPixels:
.db 0xff, 0x02, 0xd0, 0x01, 0x8a, 0xff, 0x02, 0xd0, 0x01, 0x8a, 0xff, 0x03, 0xd0, 0x00, 0x7f, 0x89 .db 0xff, 0x02, 0xd0, 0x01, 0x8a, 0xff, 0x02, 0xd0, 0x01, 0x8a, 0xff, 0x03, 0xd0, 0x00, 0x7f, 0x89
.db 0xff, 0x03, 0x40, 0x00, 0x7f, 0x89, 0xff, 0x03, 0x40, 0x00, 0x1f, 0x88, 0xff, 0x04, 0xfd, 0x00 .db 0xff, 0x03, 0x40, 0x00, 0x7f, 0x89, 0xff, 0x03, 0x40, 0x00, 0x1f, 0x88, 0xff, 0x04, 0xfd, 0x00
.db 0x00, 0x05, 0x88, 0xff, 0x05, 0xd4, 0x00, 0x00, 0x00, 0x5f, 0x86, 0xff, 0x06, 0xfd, 0x40, 0x00 .db 0x00, 0x05, 0x88, 0xff, 0x05, 0xd4, 0x00, 0x00, 0x00, 0x5f, 0x86, 0xff, 0x06, 0xfd, 0x40, 0x00
.db 0x00, 0x00, 0x05, 0x86, 0x55, 0x01, 0x54, 0xfa, 0x00 .db 0x00, 0x00, 0x05, 0x86, 0x55, 0x01, 0x54, 0xfa, 0x00, 0x00
@@ -137,7 +151,7 @@ resImageTempPixels:
.db 0xff, 0xff, 0xfc, 0x10, 0x86, 0x00, 0x06, 0x04, 0xff, 0xff, 0xff, 0xfc, 0x40, 0x86, 0x00, 0x06 .db 0xff, 0xff, 0xfc, 0x10, 0x86, 0x00, 0x06, 0x04, 0xff, 0xff, 0xff, 0xfc, 0x40, 0x86, 0x00, 0x06
.db 0x04, 0x3f, 0xff, 0xff, 0xf0, 0x40, 0x86, 0x00, 0x05, 0x01, 0x03, 0xff, 0xff, 0x01, 0x88, 0x00 .db 0x04, 0x3f, 0xff, 0xff, 0xf0, 0x40, 0x86, 0x00, 0x05, 0x01, 0x03, 0xff, 0xff, 0x01, 0x88, 0x00
.db 0x04, 0x40, 0x3f, 0xf0, 0x04, 0x88, 0x00, 0x04, 0x14, 0x00, 0x00, 0x50, 0x88, 0x00, 0x03, 0x01 .db 0x04, 0x40, 0x3f, 0xf0, 0x04, 0x88, 0x00, 0x04, 0x14, 0x00, 0x00, 0x50, 0x88, 0x00, 0x03, 0x01
.db 0x40, 0x05, 0x8a, 0x00, 0x02, 0x15, 0x50, 0x91, 0x00 .db 0x40, 0x05, 0x8a, 0x00, 0x02, 0x15, 0x50, 0x91, 0x00, 0x00
resImageHumidity: resImageHumidity:
@@ -204,7 +218,7 @@ resImageLightPixels:
.db 0x04, 0x1f, 0xff, 0xff, 0xd0, 0x88, 0x00, 0x04, 0x1d, 0x55, 0x55, 0xd0, 0x88, 0x00, 0x04, 0x1f .db 0x04, 0x1f, 0xff, 0xff, 0xd0, 0x88, 0x00, 0x04, 0x1d, 0x55, 0x55, 0xd0, 0x88, 0x00, 0x04, 0x1f
.db 0xff, 0xff, 0xd0, 0x88, 0x00, 0x04, 0x1d, 0x55, 0x55, 0xd0, 0x88, 0x00, 0x04, 0x1f, 0xff, 0xff .db 0xff, 0xff, 0xd0, 0x88, 0x00, 0x04, 0x1d, 0x55, 0x55, 0xd0, 0x88, 0x00, 0x04, 0x1f, 0xff, 0xff
.db 0xd0, 0x88, 0x00, 0x04, 0x07, 0xd5, 0x5f, 0x40, 0x88, 0x00, 0x03, 0x01, 0xff, 0xfd, 0x8a, 0x00 .db 0xd0, 0x88, 0x00, 0x04, 0x07, 0xd5, 0x5f, 0x40, 0x88, 0x00, 0x03, 0x01, 0xff, 0xfd, 0x8a, 0x00
.db 0x02, 0x55, 0x54, 0x91, 0x00 .db 0x02, 0x55, 0x54, 0x91, 0x00, 0x00
resImageWindowOpen: resImageWindowOpen:
@@ -244,7 +258,7 @@ resImageWindowOpenPixels:
.db 0x00, 0x00, 0x67, 0xff, 0x50, 0x84, 0x00, 0x07, 0x05, 0xff, 0xd9, 0x00, 0x00, 0x67, 0xf5, 0x86 .db 0x00, 0x00, 0x67, 0xff, 0x50, 0x84, 0x00, 0x07, 0x05, 0xff, 0xd9, 0x00, 0x00, 0x67, 0xf5, 0x86
.db 0x00, 0x06, 0x5f, 0xd9, 0x00, 0x00, 0x67, 0x50, 0x86, 0x00, 0x05, 0x05, 0xd9, 0x00, 0x00, 0x65 .db 0x00, 0x06, 0x5f, 0xd9, 0x00, 0x00, 0x67, 0x50, 0x86, 0x00, 0x05, 0x05, 0xd9, 0x00, 0x00, 0x65
.db 0x88, 0x00, 0x04, 0x59, 0x00, 0x00, 0x6a, 0x88, 0xaa, 0x03, 0xa9, 0x00, 0x00, 0x8a, 0x55, 0x03 .db 0x88, 0x00, 0x04, 0x59, 0x00, 0x00, 0x6a, 0x88, 0xaa, 0x03, 0xa9, 0x00, 0x00, 0x8a, 0x55, 0x03
.db 0x00, 0x00, 0x6a, 0x88, 0xaa, 0x03, 0xa9, 0x00, 0x00, 0x8a, 0x55, 0x99, 0x00 .db 0x00, 0x00, 0x6a, 0x88, 0xaa, 0x03, 0xa9, 0x00, 0x00, 0x8a, 0x55, 0x99, 0x00, 0x00
resImageWindowClosed: resImageWindowClosed:
@@ -284,7 +298,7 @@ resImageWindowClosedPixels:
.db 0x00, 0x67, 0xff, 0xff, 0xff, 0xfd, 0x84, 0xff, 0x08, 0xd9, 0x00, 0x00, 0x67, 0xff, 0xff, 0xff .db 0x00, 0x67, 0xff, 0xff, 0xff, 0xfd, 0x84, 0xff, 0x08, 0xd9, 0x00, 0x00, 0x67, 0xff, 0xff, 0xff
.db 0xfd, 0x84, 0xff, 0x04, 0xd9, 0x00, 0x00, 0x65, 0x88, 0x55, 0x04, 0x59, 0x00, 0x00, 0x6a, 0x88 .db 0xfd, 0x84, 0xff, 0x04, 0xd9, 0x00, 0x00, 0x65, 0x88, 0x55, 0x04, 0x59, 0x00, 0x00, 0x6a, 0x88
.db 0xaa, 0x03, 0xa9, 0x00, 0x00, 0x8a, 0x55, 0x03, 0x00, 0x00, 0x6a, 0x88, 0xaa, 0x03, 0xa9, 0x00 .db 0xaa, 0x03, 0xa9, 0x00, 0x00, 0x8a, 0x55, 0x03, 0x00, 0x00, 0x6a, 0x88, 0xaa, 0x03, 0xa9, 0x00
.db 0x00, 0x8a, 0x55, 0x99, 0x00 .db 0x00, 0x8a, 0x55, 0x99, 0x00, 0x00
resImageDebugEeprom: resImageDebugEeprom:
@@ -1023,6 +1037,42 @@ resTextCellar:
resTextAttic: resTextAttic:
.db "Dachboden", 0 .db "Dachboden", 0
resTextC02_s:
.db "CO2", 0
resTextTemp_s:
.db "Temp", 0, 0
resTextHum_s:
.db "Luft", 0, 0
resTextUnknown_s:
.db "???", 0
resTextRoomClimate:
.db "Raumklima", 0
resTextAqHome:
.db "AqHome", 0, 0
resTextPacketsIn:
.db "Eingehende Pakete:", 0
resTextPacketsOut:
.db "Ausgehende Pakete:", 0
resTextEContent:
.db "CRC Fehler:", 0
resTextEMsgSize:
.db "MsgSize Fehler:", 0
resTextEIO:
.db "IO Fehler:", 0, 0
resTextNetStats:
.db "Netzwerk Statistik", 0, 0

View File

@@ -40,7 +40,18 @@
.equ RESSSOURCE_TXT_ATTIC = 26 .equ RESSSOURCE_TXT_ATTIC = 26
.equ RESSSOURCE_IMG_RESET = 27 .equ RESSSOURCE_IMG_RESET = 27
.equ RESSSOURCE_IMG_DEBUGEEPROM = 28 .equ RESSSOURCE_IMG_DEBUGEEPROM = 28
.equ RESSSOURCE_TXT_CO2_S = 29
.equ RESSSOURCE_TXT_TEMP_S = 30
.equ RESSSOURCE_TXT_HUM_S = 31
.equ RESSSOURCE_TXT_UNKNOWN_S = 32
.equ RESSSOURCE_TXT_ROOMCLIMATE = 33
.equ RESSSOURCE_TXT_AQHOME = 34
.equ RESSSOURCE_TXT_PACKETSIN = 35
.equ RESSSOURCE_TXT_PACKETSOUT = 36
.equ RESSSOURCE_TXT_ECONTENT = 37
.equ RESSSOURCE_TXT_EMSGSIZE = 38
.equ RESSSOURCE_TXT_EIO = 39
.equ RESSSOURCE_TXT_NETSTATS = 40

View File

@@ -1,52 +0,0 @@
<?xml?>
<gwbuild>
<target type="AvrHexFile" name="c03_firmware" >
<includes type="avrasm" >
-I $(builddir)
-I $(srcdir)
-I $(topsrcdir)/avr
-I $(topbuilddir)/avr
</includes>
<sources type="avrasm" >
main.asm
</sources>
</target>
<target type="AvrHexFile" name="c03_ressources" >
<includes type="avrasm" >
-I $(builddir)
-I $(srcdir)
-I $(topsrcdir)/avr
-I $(topbuilddir)/avr
</includes>
<sources type="avrasm" >
ressources.asm
</sources>
</target>
<subdirs>
</subdirs>
<extradist>
style.asm
</extradist>
</gwbuild>

View File

@@ -1,590 +0,0 @@
; ***************************************************************************
; 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. *
; ***************************************************************************
;.equ clock=1000000 ; Define the clock frequency
.equ clock=8000000 ; Define the clock frequency
.nolist
.include "include/m644Pdef.inc" ; Define device ATmega644P
.list
.include "version.asm"
.include "../defs.asm"
.include "devices/all/defs.asm"
.include "common/calls.asm"
.include "common/utils_wait.asm"
.include "common/utils_io.asm"
; ***************************************************************************
; defines
; ---------------------------------------------------------------------------
; generic
.equ STACK_SIZE = 256
.equ NET_BUFFERS_NUM = 8
.equ NET_MSGNUMINBUF_SIZE = 8 ; max buffer nums in ringbuffer (global incoming)
.equ NET_IFACE_OUTMSGBUF_SIZE = 8 ; max buffer nums in ringbuffer (per interface outbound)
; ---------------------------------------------------------------------------
; firmware settings including list of modules used
; #define MODULES_TIMER
#define MODULES_CLOCK
;#define MODULES_XRAM
#define MODULES_HEAP
#define MODULES_BEEPER_SIMPLE
#define MODULES_LED_SIMPLE
#define MODULES_NETWORK
;#define MODULES_COMONUART0
;#define MODULES_UART_HW
;#define MODULES_UART_BITBANG
#define MODULES_COM2W
#define MODULES_SPI_HW
#define MODULES_ILI9341
#define MODULES_XPT2046
#define MODULES_FONT
;#define MODULES_GUI
;#define MODULES_TWI_MASTER
;#define MODULES_LCD
;#define LCD_MINIMAL_FONT
;#define MODULES_SI7021
;#define MODULES_SGP30
;#define MODULES_SGP40
;#define MODULES_STATS
;#define MODULES_OWI_MASTER
;#define MODULES_DS18B20
;#define MODULES_MOTION
;#define MODULES_CCS811
#define APPS_NETWORK
;#define APPS_MOTION
;#define APPS_REPORTSENSORS
#define APPS_STATS
; ---------------------------------------------------------------------------
; defines for values
.equ VALUE_ID_SI7021_TEMP = 0x01
.equ VALUE_ID_SI7021_HUM = 0x02
.equ VALUE_ID_ADC = 0x03
;.equ VALUE_ID_DS18B20_TEMP = 0x06
.equ VALUE_ID_MOTION = 0x07
.equ VALUE_ID_SGP40_TVOC = 0x08
.equ VALUE_ID_SGP30_TVOC = 0x09
.equ VALUE_ID_SGP30_CO2 = 0x0a
;.equ VALUE_ID_REED_CONF = 0x81
.equ VALUE_ID_DEBUG = 0x7f
.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88
.equ VALUE_ID_BEEPERSIMPLE_TIMING = 0x89
.equ VALUE_ID_SENSOR_CO2_BASE = 0x90
.equ VALUE_ID_SENSOR_CO2_SOURCE = 0x90
.equ VALUE_ID_SENSOR_CO2_LIMWARN = 0x91
.equ VALUE_ID_SENSOR_CO2_LIMCRIT = 0x92
.equ VALUE_ID_SENSOR_TEMP_BASE = 0x93
.equ VALUE_ID_SENSOR_TEMP_SOURCE = 0x93
.equ VALUE_ID_SENSOR_TEMP_LIMWARN = 0x94
.equ VALUE_ID_SENSOR_TEMP_LIMCRIT = 0x95
.equ VALUE_ID_SENSOR_HUM_BASE = 0x96
.equ VALUE_ID_SENSOR_HUM_SOURCE = 0x96
.equ VALUE_ID_SENSOR_HUM_LIMWARN = 0x97
.equ VALUE_ID_SENSOR_HUM_LIMCRIT = 0x98
.equ VALUE_ID_SCREENSAVER_SETSOURCE1 = 0x9a
.equ VALUE_ID_SCREENSAVER_SETSOURCE2 = 0x9b
; ***************************************************************************
; code segment
.cseg
.org 000000
; ---------------------------------------------------------------------------
; Reset and interrupt vectors
jmp BOOTLOADER_ADDR ; 1: Reset vector RESET
jmp irqNotSet ; 2: INT0 External Interrupt Request 0
jmp irqNotSet ; 3: INT1 External Interrupt Request 1
jmp irqNotSet ; 4: INT2 External Interrupt Request 2
jmp com2wPcintIsr ; 5: PCINT0 Pin Change Interrupt Request 0
jmp irqNotSet ; 6: PCINT1 Pin Change Interrupt Request 1
jmp irqNotSet ; 7: PCINT2 Pin Change Interrupt Request 2
jmp irqNotSet ; 8: PCINT3 Pin Change Interrupt Request 3
jmp irqNotSet ; 9: WDT Watchdog Time-out Interrupt
jmp irqNotSet ; 10: TIMER2_COMPA Timer/Counter2 Compare Match A
jmp irqNotSet ; 11: TIMER2_COMPB Timer/Counter2 Compare Match B
jmp irqNotSet ; 12: TIMER2_OVF Timer/Counter2 Overflow
jmp irqNotSet ; 13: TIMER1_CAPT Timer/Counter1 Capture Event
jmp irqNotSet ; 14: TIMER1_COMPA Timer/Counter1 Compare Match A
jmp irqNotSet ; 15: TIMER1_COMPB Timer/Counter1 Compare Match B
jmp irqNotSet ; 16: TIMER1_OVF Timer/Counter1 Overflow
jmp baseTimerIrqOC0A ; 17: TIMER0_COMPA Timer/Counter0 Compare Match A
jmp irqNotSet ; 18: TIMER0_COMPB Timer/Counter0 Compare Match B
jmp irqNotSet ; 19: TIMER0_OVF Timer/Counter0 Overflow
jmp irqNotSet ; 20: SPI_STC Serial Transfer Complete
jmp irqNotSet ; 21: USART0_RXC USART0 Rx Complete
jmp irqNotSet ; 22: USART0_UDRE USART0 Data Register Empty
jmp irqNotSet ; 23: USART0_TXC USART0 Tx Complete
jmp irqNotSet ; 24: ANA_COMP Analog Comparator
jmp irqNotSet ; 25: ADC ADC Conversion Complete
jmp irqNotSet ; 26: EE_RDY EEPROM Ready
jmp irqNotSet ; 27: TWI 2-Wire Interface
jmp irqNotSet ; 28: SPM_RDY Store Program Memory Ready
devInfoBlock: ; 12 bytes
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
devInfoId: .db DEVICEINFO_ID, 0
devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision
firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR
.db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL
; ---------------------------------------------------------------------------
; @routine firmwareStart @global
firmwareStart:
rjmp main
; @end
irqNotSet:
reti
; ---------------------------------------------------------------------------
; @routine onSystemStart
onSystemStart:
bigcall test
ret
; @end
; ---------------------------------------------------------------------------
; @routine onMessageReceived
;
; Called on every message received
onMessageReceived:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_MsgReceived
clc
ret
; @end
; ---------------------------------------------------------------------------
; @routine onEvery100ms
;
; Called every 100ms. Add your routine calls here. No arguments, no results.
onEvery100ms:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_Every100ms
ret
onEveryMinute:
onEveryHour:
onEveryDay:
ret
; @end
onEverySecond:
ret
; ---------------------------------------------------------------------------
; @routine onEveryLoop
;
; Called on every loop (i.e. after awakening from sleep).
;
onEveryLoop:
ret
; @end
test:
bigcall C03App_new
sts guiApp, yl
sts guiApp+1, yh
ret
; ; debug
; ldi r16, LOW(Debug_Style*2)
; std Y+WIDGET_OFFS_STYLE_LO, r16
; ldi r16, HIGH(Debug_Style*2)
; std Y+WIDGET_OFFS_STYLE_HI, r16
DEBUG_STOP:
bigjmp DEBUG1
DEBUG_STOP2:
bigjmp DEBUG2
DEBUG_STOP3:
bigjmp DEBUG3
DEBUG_DUMPCTX:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_GetRootWindow
mov yl, r18
mov yh, r19
bigcall Widget_Clear
clr r4
clr r5
clr r6
clr r7
adiw xh:xl, LAYOUT_CTX_OFFS_NUMITEMS
ld r24, X+
DEBUG_DUMPCTX_loop:
clr r4
clr r5
rcall DEBUG_DUMPCTXITEM
ldi r16, 20
clr r17
add r6, r16
adc r7, r17
dec r24
brne DEBUG_DUMPCTX_loop
bigjmp DEBUG3
DEBUG_DUMPONEITEM:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_GetRootWindow
mov yl, r18
mov yh, r19
bigcall Widget_Clear
clr r4
clr r5
clr r6
clr r7
rjmp DEBUG_DUMPCTXITEM
DEBUG_DUMPCTXITEM:
adiw xh:xl, LAYOUT_CTX_ITEM_OFFS_POS_LO
ld r20, X+ ; pos
ld r21, X+
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ld r20, X+ ; size
ld r21, X+
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ld r20, X+ ; flags
clr r21
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ret
DEBUG_DUMPWDG:
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_GetRootWindow
mov yl, r18
mov yh, r19
push zl
push zh
bigcall Widget_Clear
pop zh
pop zl
clr r4
clr r5
clr r6
clr r7
ldi r16, 3
add r4, r16
adc r5, r17
rcall DEBUG_DUMPCWDG
ldi r16, 20
clr r17
add r6, r16
adc r7, r17
push yl
push yh
mov yl, zl
mov yh, zh
bigcall OBJ_GetFirstChild
pop yh
pop yl
mov zl, r18
mov zh, r19
ldi r24, 11
DEBUG_DUMPWDG_loop:
rcall DEBUG_DUMPCWDG
ldi r16, 20
clr r17
add r6, r16
adc r7, r17
dec r24
breq DEBUG_DUMPWDG_end
push yl
push yh
mov yl, zl
mov yh, zh
bigcall OBJ_GetNext
pop yh
pop yl
mov zl, r18
mov zh, r19
brcc DEBUG_DUMPWDG_end
rjmp DEBUG_DUMPWDG_loop
DEBUG_DUMPWDG_end:
bigjmp DEBUG3
DEBUG_DUMPCWDG:
clr r4
clr r5
ldd r20, Z+WIDGET_OFFS_X_LO
ldd r21, Z+WIDGET_OFFS_X_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_Y_LO
ldd r21, Z+WIDGET_OFFS_Y_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_WIDTH_LO
ldd r21, Z+WIDGET_OFFS_WIDTH_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_HEIGHT_LO
ldd r21, Z+WIDGET_OFFS_HEIGHT_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ldd r20, Z+WIDGET_OFFS_TMP_LO
ldd r21, Z+WIDGET_OFFS_TMP_HI
rcall DEBUG_WRITE_INT
ldi r16, 65
clr r17
add r4, r16
adc r5, r17
ret
; @param r21:r20: number
DEBUG_WRITE_INT:
push r24
push zl
push zh
ldi r24, 0
push xl
push xh
bigcall IntToAscii ; X=pointer to text
push r4
push r5
bigcall Widget_DrawTextRam ; (any, !Y)
pop r5
pop r4
pop xh
pop xl
pop zh
pop zl
pop r24
ret
; @end
Debug_Style:
.dw DISPLAY_COLOR_BLACK ; frontCol_norm
.dw DISPLAY_COLOR_GREEN ; backCol_norm
.dw DISPLAY_COLOR_BLACK ; borderCol_norm
.dw DISPLAY_COLOR_WHITE ; shadowCol_norm
.dw DISPLAY_COLOR_WHITE ; frontCol_activated
.dw DISPLAY_COLOR_NAVY ; backCol_activated
.dw DISPLAY_COLOR_BLACK ; borderCol_activated
.dw DISPLAY_COLOR_WHITE ; shadowCol_activated
.db 2, 1 ; outerBorderSize, innerBorderSize
.dw ili9341Font12x16_1*2 ; font
.db 12, 16 ; charWidth, charHeight
; ***************************************************************************
; includes
.include "devices/all/hw_m644p.asm"
.include "devices/all/includes.asm"
.include "devices/all/handlevaluemsg.asm"
.include "common/debug.asm"
.include "modules/lcd2/ili9341/font12x16.asm"
.include "modules/lcd2/ili9341/font12x16_1.asm"
.include "modules/lcd2/ili9341/font6x8.asm"
.include "modules/lcd2/ili9341/font6x8_1.asm"
;.include "modules/lcd2/ili9341/font12x20.asm"
;.include "modules/lcd2/ili9341/font12x20_1.asm"
;.include "common/list_t.asm"
;.include "common/tree_t.asm"
.include "common/eeprom_tlv.asm"
.include "common/divide.asm"
;.include "common/multiply.asm"
.include "common/itoa.asm"
.include "common/ressource.asm"
.include "style.asm"
GUI2_MODULE_BEGIN:
.include "modules/lcd2/gui2/base/object.asm"
.include "modules/lcd2/gui2/base/widget.asm"
;.include "modules/lcd2/gui2/base/layout.asm"
;.include "modules/lcd2/gui2/base/hlayout.asm"
;.include "modules/lcd2/gui2/base/vlayout.asm"
;.include "modules/lcd2/gui2/base/mlayout.asm"
;.include "modules/lcd2/gui2/base/mlayout_column.asm"
.include "modules/lcd2/gui2/base/guiapp.asm"
.include "modules/lcd2/gui2/base/rootwindow.asm"
.include "modules/lcd2/gui2/base/label.asm"
.include "modules/lcd2/gui2/base/button.asm"
.include "modules/lcd2/gui2/base/imageview.asm"
.include "modules/lcd2/gui2/base/valuelabel.asm"
.include "modules/lcd2/gui2/base/layout.asm"
.include "modules/lcd2/gui2/base/hlayout.asm"
.include "modules/lcd2/gui2/base/vlayout.asm"
.include "modules/lcd2/gui2/base/mclayout.asm"
.include "modules/lcd2/gui2/base/mainwindow.asm"
.include "modules/lcd2/gui2/aqhome/sensorwatch.asm"
.include "modules/lcd2/gui2/screensavers/simple.asm"
GUI2_MODULE_END:
.equ MODULE_SIZE_GUI2 = GUI2_MODULE_END-GUI2_MODULE_BEGIN
.include "a_c03.asm"
.include "w_menu.asm"
.include "w_climate.asm"
.include "w_netstats.asm"
.include "ressources.inc"
; ---------------------------------------------------------------------------
; defines for network interface
;.equ netInterfaceData = netUartIface
;.equ netInterfaceData = uart_bitbang_iface
.equ netInterfaceData = com2w_iface
deviceCodeEnd:
.if deviceCodeEnd >= BOOTLOADER_ADDR
.warning "Code reaches into boot loader!"
.endif
.dseg
guiApp: .byte 2
heapStart:
.equ HEAP_START = heapStart
.equ HEAP_SIZE = (SRAM_SIZE-STACK_SIZE)-HEAP_START

File diff suppressed because it is too large Load Diff

View File

@@ -1,58 +0,0 @@
; ***************************************************************************
; 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_RESSOURCES_INC
#define AQH_AVR_DEVICE_C03_RESSOURCES_INC
.equ RESSSOURCE_IMG_NETWORK = 0
.equ RESSSOURCE_IMG_CLOUD = 1
.equ RESSSOURCE_IMG_TEMP = 2
.equ RESSSOURCE_IMG_HUMIDITY = 3
.equ RESSSOURCE_IMG_LIGHT = 4
.equ RESSSOURCE_IMG_WINOPEN = 5
.equ RESSSOURCE_IMG_WINCLOSED = 6
.equ RESSSOURCE_IMG_ARROWLEFT = 7
.equ RESSSOURCE_IMG_ARROWRIGHT = 8
.equ RESSSOURCE_IMG_ARROWUP = 9
.equ RESSSOURCE_IMG_ARROWDOWN = 10
.equ RESSSOURCE_IMG_ARROWBACK = 11
.equ RESSSOURCE_IMG_CLOUD96 = 12
.equ RESSSOURCE_IMG_TEMP96 = 13
.equ RESSSOURCE_IMG_HUMIDITY96 = 14
.equ RESSSOURCE_FNT_12X16_1 = 15
.equ RESSSOURCE_FNT_6X8_1 = 16
.equ RESSSOURCE_TXT_CORRIDOR = 17
.equ RESSSOURCE_TXT_LIVINGROOM = 18
.equ RESSSOURCE_TXT_BEDROOM = 19
.equ RESSSOURCE_TXT_KITCHEN = 20
.equ RESSSOURCE_TXT_BUERO = 21
.equ RESSSOURCE_TXT_CHILDRENSROOM = 22
.equ RESSSOURCE_TXT_STORAGEROOM = 23
.equ RESSSOURCE_TXT_BATHROOM = 24
.equ RESSSOURCE_TXT_CELLAR = 25
.equ RESSSOURCE_TXT_ATTIC = 26
.equ RESSSOURCE_IMG_RESET = 27
.equ RESSSOURCE_IMG_DEBUGEEPROM = 28
.equ RESSSOURCE_TXT_CO2_S = 29
.equ RESSSOURCE_TXT_TEMP_S = 30
.equ RESSSOURCE_TXT_HUM_S = 31
.equ RESSSOURCE_TXT_UNKNOWN_S = 32
.equ RESSSOURCE_TXT_ROOMCLIMATE = 33
.equ RESSSOURCE_TXT_AQHOME = 34
.equ RESSSOURCE_TXT_PACKETSIN = 35
.equ RESSSOURCE_TXT_PACKETSOUT = 36
.equ RESSSOURCE_TXT_ECONTENT = 37
.equ RESSSOURCE_TXT_EMSGSIZE = 38
.equ RESSSOURCE_TXT_EIO = 39
.equ RESSSOURCE_TXT_NETSTATS = 40
#endif ; AQH_AVR_DEVICE_C03_RESSOURCES_INC

View File

@@ -1,34 +0,0 @@
; ***************************************************************************
; 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_STYLE_ASM
#define AQH_AVR_DEVICE_C03_STYLE_ASM
.equ STYLE_WIN_TITLE_BACKGROUND = DISPLAY_COLOR_NAVY
.equ STYLE_WIN_TITLE_FOREGROUND = DISPLAY_COLOR_WHITE
.equ STYLE_BUTTON_COL_BORDER = DISPLAY_COLOR_BLACK
.equ STYLE_BUTTON_COL_BG_NORM = DISPLAY_COLOR_WHITE
.equ STYLE_BUTTON_COL_BG_PRESSED = DISPLAY_COLOR_NAVY
.equ STYLE_BUTTON_COL_FG_NORM = DISPLAY_COLOR_BLACK
.equ STYLE_BUTTON_COL_FG_PRESSED = DISPLAY_COLOR_WHITE
.equ STYLE_WIN_BACKGROUND = DISPLAY_COLOR_LIGHTGREY
.equ STYLE_WIN_FOREGROUND = DISPLAY_COLOR_BLACK
.equ STYLE_WIN_FONT = ili9341Font12x16_1
.equ STYLE_WIN_FONT_WIDTH = 12
.equ STYLE_WIN_FONT_HEIGHT = 16
.equ STYLE_WIN_TITLE_HEIGHT = (STYLE_WIN_FONT_HEIGHT+4)
#endif