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

@@ -18,7 +18,6 @@
.include "version.asm"
.include "../defs.asm"
.include "./data.asm"
.include "devices/all/defs.asm"
.include "common/calls.asm"
@@ -47,7 +46,7 @@
; #define MODULES_TIMER
#define MODULES_CLOCK
;#define MODULES_XRAM
;#define MODULES_HEAP
#define MODULES_HEAP
#define MODULES_BEEPER_SIMPLE
#define MODULES_LED_SIMPLE
#define MODULES_NETWORK
@@ -59,7 +58,7 @@
#define MODULES_ILI9341
#define MODULES_XPT2046
#define MODULES_FONT
#define MODULES_GUI
;#define MODULES_GUI
;#define MODULES_TWI_MASTER
;#define MODULES_LCD
;#define LCD_MINIMAL_FONT
@@ -200,8 +199,8 @@ onSystemStart:
; Called on every message received
onMessageReceived:
ldi zl, LOW(appC03*2)
ldi zh, HIGH(appC03*2)
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_MsgReceived
clc
ret
@@ -215,8 +214,8 @@ onMessageReceived:
; Called every 100ms. Add your routine calls here. No arguments, no results.
onEvery100ms:
ldi zl, LOW(appC03*2)
ldi zh, HIGH(appC03*2)
lds yl, guiApp
lds yh, guiApp+1
bigcall GuiApp_Every100ms
ret
@@ -244,13 +243,255 @@ onEveryLoop:
test:
ldi zl, LOW(appC03*2)
ldi zh, HIGH(appC03*2)
bigcall GuiApp_Init
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
@@ -264,12 +505,6 @@ test:
.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_1.asm"
@@ -290,23 +525,36 @@ test:
.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"
.include "g_win_climate.asm"
.include "g_win_network.asm"
.include "g_win_eepromdump.asm"
.include "g_win_screensaver.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"
@@ -319,6 +567,7 @@ test:
.equ netInterfaceData = com2w_iface
deviceCodeEnd:
.if deviceCodeEnd >= BOOTLOADER_ADDR
.warning "Code reaches into boot loader!"
@@ -329,9 +578,13 @@ deviceCodeEnd:
.dseg
guiApp: .byte 2
heapStart:
.equ HEAP_START = heapStart
.equ HEAP_SIZE = (SRAM_SIZE-STACK_SIZE)-HEAP_START