c03: added network stats window, fixed some bugs.

This commit is contained in:
Martin Preuss
2026-01-19 23:24:58 +01:00
parent 041f0fad6b
commit 3225350be5
8 changed files with 568 additions and 686 deletions

View File

@@ -15,7 +15,8 @@
; defines
.equ APPC03_SEL_BUTTON_NETWORK = 1
.equ APPC03_SEL_BUTTON_CLIMATE = 1
.equ APPC03_SEL_BUTTON_NETWORK = 2
@@ -59,6 +60,7 @@ appC03_signalmap:
.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 0, 0, 0, 0 ; end of table
@@ -95,11 +97,24 @@ testRootWin_signalmap:
AppC03_OnClickedNetwork:
; TODO: select network window
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
#endif

View File

@@ -77,7 +77,7 @@ buttonClimateNetwork_ramdata:
winClimate:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winNetwork*2 ; next
.dw winRoot*2 ; parent
.dw winClimateHeader*2 ; first child
.dw 0 ; target
@@ -96,7 +96,7 @@ winClimate:
winClimate_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, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDrawNop), HIGH(Widget_OnDrawNop)
.db 0, 0, 0, 0 ; end of table
@@ -124,7 +124,7 @@ winClimate_signalmap:
.dw winClimateHeader_text*2 ; text
winClimateHeader_text:
.db "Test-Window", 0
.db "Raumklima", 0

View File

@@ -0,0 +1,527 @@
; ***************************************************************************
; 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
buttonNetworkClimate_ramdata:
.byte IMGVIEW_SD_SIZE
; ***************************************************************************
; code
.cseg
winNetwork:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; 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_OnDrawNop), HIGH(Widget_OnDrawNop)
.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 Low", 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 buttonNetworkClimate*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
buttonNetworkClimate:
; 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 buttonNetworkClimate_signalmap*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_TEMP ; ressource id
buttonNetworkClimate_signalmap:
.db 0, WIDGET_SIGNAL_TOUCH, LOW(Button_OnTouch), HIGH(Button_OnTouch)
.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
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

@@ -319,6 +319,7 @@ test:
.include "g_app.asm"
.include "g_win_climate.asm"
.include "g_win_network.asm"
.include "ressources.inc"

View File

@@ -1,634 +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_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
winSensorWatch2_ramdata:
.byte SENSORWATCH_SD_SIZE
winSensorWatch2Title_ramdata:
.byte WIDGET_SD_SIZE
winSensorWatch2Image_ramdata:
.byte IMGVIEW_SD_SIZE
winSensorWatch2Value_ramdata:
.byte VLABEL_SD_SIZE
winSensorWatch3_ramdata:
.byte SENSORWATCH_SD_SIZE
winSensorWatch3Title_ramdata:
.byte WIDGET_SD_SIZE
winSensorWatch3Image_ramdata:
.byte IMGVIEW_SD_SIZE
winSensorWatch3Value_ramdata:
.byte VLABEL_SD_SIZE
buttonNetwork_ramdata:
.byte IMGVIEW_SD_SIZE
debugValue1_ramdata:
.byte VLABEL_SD_SIZE
debugValue2_ramdata:
.byte VLABEL_SD_SIZE
debugValue3_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 STYLE_WIN_FONT*2 ; font
.dw testRootWin_ramdata ; ptr to SDRAM
; ROOTWIDGET
.dw testApp_flashdata*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
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 winSensorWatch2*2 ; 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<<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 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, (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 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, (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 winSensorWatch1Value_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winSensorWatch1Value_signalmap:
.db 0, OBJECT_SIGNAL_CREATE, LOW(ValueLabel_OnCreate), HIGH(ValueLabel_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
winSensorWatch2:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winSensorWatch3*2 ; next
.dw testWinBody_flashdata*2 ; parent
.dw winSensorWatch2Title*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch2_signalmap*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 winSensorWatch2_ramdata ; ptr to SDRAM
winSensorWatch2_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
winSensorWatch2Title:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winSensorWatch2Image*2 ; next
.dw winSensorWatch2*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch2Title_signalmap*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 winSensorWatch2Title_ramdata ; ptr to SDRAM
; LABEL
.dw winSensorWatch2Title_text*2 ; text
winSensorWatch2Title_text:
.db "Temp", 0, 0
winSensorWatch2Title_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
winSensorWatch2Image:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winSensorWatch2Value*2 ; next
.dw winSensorWatch2*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch2Image_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 winSensorWatch2Image_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_TEMP96 ; ressource id
winSensorWatch2Image_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
winSensorWatch2Value:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winSensorWatch2*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch2Value_signalmap*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 winSensorWatch2Value_ramdata ; ptr to SDRAM
; VALUELABEL
.db 2, 0 ; num of post-komma digits
winSensorWatch2Value_signalmap:
.db 0, OBJECT_SIGNAL_CREATE, LOW(ValueLabel_OnCreate), HIGH(ValueLabel_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
winSensorWatch3:
; OBJECT
.db 0x55, 0xaa ; magic
.dw buttonNetwork*2 ; next
.dw testWinBody_flashdata*2 ; parent
.dw winSensorWatch3Title*2 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch3_signalmap*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 winSensorWatch3_ramdata ; ptr to SDRAM
winSensorWatch3_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
winSensorWatch3Title:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winSensorWatch3Image*2 ; next
.dw winSensorWatch3*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch3Title_signalmap*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 winSensorWatch3Title_ramdata ; ptr to SDRAM
; LABEL
.dw winSensorWatch3Title_text*2 ; text
winSensorWatch3Title_text:
.db "Hum", 0
winSensorWatch3Title_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
winSensorWatch3Image:
; OBJECT
.db 0x55, 0xaa ; magic
.dw winSensorWatch3Value*2 ; next
.dw winSensorWatch3*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch3Image_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 winSensorWatch3Image_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_HUMIDITY96 ; ressource id
winSensorWatch3Image_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
winSensorWatch3Value:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw winSensorWatch3*2 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw winSensorWatch3Value_signalmap*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 winSensorWatch3Value_ramdata ; ptr to SDRAM
; VALUELABEL
.db 0, 0 ; num of post-komma digits
winSensorWatch3Value_signalmap:
.db 0, OBJECT_SIGNAL_CREATE, LOW(ValueLabel_OnCreate), HIGH(ValueLabel_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
buttonNetwork:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw testWinBody_flashdata*2 ; parent
.dw 0 ; first child
.dw testWinBody_flashdata*2 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw buttonNetwork_signalmap*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 buttonNetwork_ramdata ; ptr to SDRAM
; IMGVIEW
.dw RESSSOURCE_IMG_NETWORK ; ressource id
buttonNetwork_signalmap:
.db 0, WIDGET_SIGNAL_TOUCH, LOW(Button_OnTouch), HIGH(Button_OnTouch)
.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
#endif

View File

@@ -1,33 +1,6 @@
224 (down begin) E0 1110 0000 7=pressed, 6=coords changed, 5=press changed
192 (down) C0 1100 0000 7=pressed, 6=coords changed
32 (up) 20 0010 0000 5=press changed
- Button_OnTouch:
- event: active touch?
- yes:
- button already pressed?
- yes:
- nothing to do
- no:
- touch inside of button?
- yes:
- addFlagsDown PRESSED, dirty (show button and children in pressed state)
- grab_touch
- no:
- nothing to do
- no:
- button in pressed state?
- yes:
- subFlagsDown(PRESSED), addFlagsDown(DIRTY)
- ungrab_touch
- emit signal(CLICKED)
- no:
- nothing to do
- label:
- use ressource id instead of pointer to text!
- print hex numbers (bytes, words, dwords)

View File

@@ -438,7 +438,7 @@ guiAppShowCurrent:
ldi r16, WIDGET_SIGNAL_SHOW
clr r17
bigcall OBJ_HandleSignal
ldi r16, (1<<WIDGET_FLAGS_ACTIVE_BIT)
ldi r16, (1<<WIDGET_FLAGS_ACTIVE_BIT) | (1<<WIDGET_FLAGS_DIRTY_BIT)
bigcall Widget_AddFlagsDown
guiAppShowCurrent_done:
pop zh

View File

@@ -903,7 +903,7 @@ Widget_Tree_SendTouchSignal:
; only check active widgets
ldi r20, (1<<WIDGET_OPTSLO_INPUT_BIT)
ldi r21, (1<<WIDGET_OPTSLO_INPUT_BIT)
rcall Widget_TreeMatchOptsAndSendSignal
rcall Widget_TreeMatchOptsAndSendSignalToActive
ret
; @end