avr: make climate page the main page, added eeprom browser.
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
|
||||
.equ APPC03_SEL_BUTTON_CLIMATE = 1
|
||||
.equ APPC03_SEL_BUTTON_NETWORK = 2
|
||||
.equ APPC03_SEL_BUTTON_EEDUMP = 3
|
||||
|
||||
|
||||
|
||||
@@ -61,6 +62,7 @@ appC03_signalmap:
|
||||
.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
|
||||
|
||||
|
||||
@@ -114,6 +116,14 @@ AppC03_OnClickedClimate:
|
||||
|
||||
|
||||
|
||||
AppC03_OnClickedEeDump:
|
||||
ldi xl, LOW(winEepromDump*2)
|
||||
ldi xh, HIGH(winEepromDump*2)
|
||||
bigcall GuiApp_ShowView
|
||||
sec
|
||||
ret
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -66,6 +66,9 @@ winClimateSensor3Value_ramdata:
|
||||
buttonClimateNetwork_ramdata:
|
||||
.byte IMGVIEW_SD_SIZE
|
||||
|
||||
buttonEepromDump_ramdata:
|
||||
.byte IMGVIEW_SD_SIZE
|
||||
|
||||
debugValue1_ramdata:
|
||||
.byte VLABEL_SD_SIZE
|
||||
|
||||
@@ -458,16 +461,15 @@ winClimate_signalmap:
|
||||
buttonClimateNetwork:
|
||||
; OBJECT
|
||||
.db 0x55, 0xaa ; magic
|
||||
; .dw debugValue1*2 ; next
|
||||
.dw 0 ; next
|
||||
.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 buttonNetwork_signalmap*2 ; signal map
|
||||
.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 2 ; X
|
||||
.dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT-56 ; Y
|
||||
.dw 52 ; W
|
||||
.dw 52 ; H
|
||||
@@ -477,15 +479,32 @@ winClimate_signalmap:
|
||||
.dw buttonClimateNetwork_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
|
||||
|
||||
|
||||
|
||||
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*54) ; 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_WINOPEN ; ressource id
|
||||
|
||||
|
||||
#if 0
|
||||
debugValue1:
|
||||
; OBJECT
|
||||
|
||||
252
avr/devices/c03/main/g_win_eepromdump.asm
Normal file
252
avr/devices/c03/main/g_win_eepromdump.asm
Normal file
@@ -0,0 +1,252 @@
|
||||
; ***************************************************************************
|
||||
; 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
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; 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
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; code
|
||||
|
||||
.cseg
|
||||
|
||||
|
||||
winEepromDump:
|
||||
; OBJECT
|
||||
.db 0x55, 0xaa ; magic
|
||||
.dw 0 ; 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_OnDrawNop), HIGH(Widget_OnDrawNop)
|
||||
.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 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 buttonEepromDumpBack*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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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
|
||||
@@ -70,7 +70,7 @@ winNetworkValue4_ramdata:
|
||||
winNetworkValue5_ramdata:
|
||||
.byte VLABEL_SD_SIZE
|
||||
|
||||
buttonNetworkClimate_ramdata:
|
||||
buttonNetworkBack_ramdata:
|
||||
.byte IMGVIEW_SD_SIZE
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ buttonNetworkClimate_ramdata:
|
||||
winNetwork:
|
||||
; OBJECT
|
||||
.db 0x55, 0xaa ; magic
|
||||
.dw 0 ; next
|
||||
.dw winEepromDump*2 ; next
|
||||
.dw winRoot*2 ; parent
|
||||
.dw winNetworkHeader*2 ; first child
|
||||
.dw 0 ; target
|
||||
@@ -397,7 +397,7 @@ winNetwork_signalmap:
|
||||
winNetworkValue5:
|
||||
; OBJECT
|
||||
.db 0x55, 0xaa ; magic
|
||||
.dw buttonNetworkClimate*2 ; next
|
||||
.dw buttonNetworkBack*2 ; next
|
||||
.dw winNetworkBody*2 ; parent
|
||||
.dw 0 ; first child
|
||||
.dw 0 ; target
|
||||
@@ -419,7 +419,7 @@ winNetwork_signalmap:
|
||||
|
||||
|
||||
|
||||
buttonNetworkClimate:
|
||||
buttonNetworkBack:
|
||||
; OBJECT
|
||||
.db 0x55, 0xaa ; magic
|
||||
.dw 0 ; next
|
||||
@@ -427,7 +427,7 @@ winNetwork_signalmap:
|
||||
.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
|
||||
.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
|
||||
@@ -439,14 +439,8 @@ winNetwork_signalmap:
|
||||
.dw STYLE_WIN_FONT*2 ; font
|
||||
.dw buttonClimateNetwork_ramdata ; ptr to SDRAM
|
||||
; IMGVIEW
|
||||
.dw RESSSOURCE_IMG_TEMP ; ressource id
|
||||
.dw RESSSOURCE_IMG_ARROWBACK ; 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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -324,6 +324,9 @@ eeloop_end:
|
||||
.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"
|
||||
@@ -347,10 +350,12 @@ eeloop_end:
|
||||
.include "modules/lcd2/gui2/generic/valuelabel.asm"
|
||||
.include "modules/lcd2/gui2/generic/guiapp.asm"
|
||||
.include "modules/lcd2/gui2/sensorwatch.asm"
|
||||
.include "modules/lcd2/gui2/eepromdump.asm"
|
||||
|
||||
.include "g_app.asm"
|
||||
.include "g_win_climate.asm"
|
||||
.include "g_win_network.asm"
|
||||
.include "g_win_eepromdump.asm"
|
||||
|
||||
.include "ressources.inc"
|
||||
|
||||
|
||||
316
avr/modules/lcd2/gui2/eepromdump.asm
Normal file
316
avr/modules/lcd2/gui2/eepromdump.asm
Normal file
@@ -0,0 +1,316 @@
|
||||
; ***************************************************************************
|
||||
; 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_GUI2_EEPROMDUMP_ASM
|
||||
#define AQH_AVR_GUI2_EEPROMDUMP_ASM
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; defines
|
||||
|
||||
|
||||
.equ EEPROMDUMP_FONT = ili9341Font6x8_1
|
||||
.equ EEPROMDUMP_FONT_WIDTH = 6
|
||||
.equ EEPROMDUMP_FONT_HEIGHT = 8
|
||||
|
||||
.equ EEPROMDUMP_BYTESPERLINE = 8
|
||||
.equ EEPROMDUMP_LINESPERPAGE = 14
|
||||
|
||||
; SDRAM data for EepromDump
|
||||
.equ EEPROMDUMP_SD_OFFS_BEGIN = WIDGET_SD_SIZE
|
||||
.equ EEPROMDUMP_SD_OFFS_STARTADDR_LO = EEPROMDUMP_SD_OFFS_BEGIN+0
|
||||
.equ EEPROMDUMP_SD_OFFS_STARTADDR_HI = EEPROMDUMP_SD_OFFS_BEGIN+1
|
||||
.equ EEPROMDUMP_SD_SIZE = EEPROMDUMP_SD_OFFS_BEGIN+2
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; code
|
||||
|
||||
.cseg
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine SensorWatch_OnCreate @global
|
||||
;
|
||||
; @param Z byte address of widget object (for LPM!)
|
||||
; @param XL node addr
|
||||
; @param XH value id
|
||||
; @return CFLAG set if signal handled
|
||||
; @clobbers any, !Z
|
||||
|
||||
EepromDump_OnCreate:
|
||||
bigcall OBJ_IsObject ; (none)
|
||||
brcc EepromDump_OnCreate_ret
|
||||
|
||||
; preset SDRAM
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
clr r16
|
||||
ldi r17, EEPROMDUMP_SD_SIZE
|
||||
push yl
|
||||
push yh
|
||||
EepromDump_OnCreate_loop:
|
||||
st Y+, r16
|
||||
dec r17
|
||||
brne EepromDump_OnCreate_loop
|
||||
pop yh
|
||||
pop yl
|
||||
|
||||
bigcall Widget_OnCreate
|
||||
|
||||
EepromDump_OnCreate_ret:
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine EepromDump_OnUp @global
|
||||
;
|
||||
; @param Z byte address of object (for LPM!)
|
||||
|
||||
EepromDump_OnUp:
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd xl, Y+EEPROMDUMP_SD_OFFS_STARTADDR_LO
|
||||
ldd xh, Y+EEPROMDUMP_SD_OFFS_STARTADDR_HI
|
||||
ldi r16, LOW(EEPROMDUMP_BYTESPERLINE*EEPROMDUMP_LINESPERPAGE)
|
||||
ldi r17, HIGH(EEPROMDUMP_BYTESPERLINE*EEPROMDUMP_LINESPERPAGE)
|
||||
sub xl, r16
|
||||
sbc xh, r17
|
||||
brcc EepromDump_OnUp_set
|
||||
clr xl
|
||||
clr xh
|
||||
EepromDump_OnUp_set:
|
||||
std Y+EEPROMDUMP_SD_OFFS_STARTADDR_LO, xl
|
||||
std Y+EEPROMDUMP_SD_OFFS_STARTADDR_HI, xh
|
||||
|
||||
ldd r17, Y+WIDGET_SD_OFFS_FLAGS
|
||||
ori r17, (1<<WIDGET_FLAGS_DIRTY_BIT)
|
||||
std Y+WIDGET_SD_OFFS_FLAGS, r17
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
EepromDump_OnDown:
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd xl, Y+EEPROMDUMP_SD_OFFS_STARTADDR_LO
|
||||
ldd xh, Y+EEPROMDUMP_SD_OFFS_STARTADDR_HI
|
||||
ldi r16, LOW(EEPROMDUMP_BYTESPERLINE*EEPROMDUMP_LINESPERPAGE)
|
||||
ldi r17, HIGH(EEPROMDUMP_BYTESPERLINE*EEPROMDUMP_LINESPERPAGE)
|
||||
add xl, r16
|
||||
adc xh, r17
|
||||
brcs EepromDump_OnDown_tooHigh
|
||||
ldi r16, LOW(EEPROMEND)
|
||||
ldi r17, HIGH(EEPROMEND)
|
||||
cp xl, r16
|
||||
cpc xh, r17
|
||||
brcs EepromDump_OnDown_set
|
||||
EepromDump_OnDown_tooHigh:
|
||||
ldi xl, LOW(EEPROMEND-EEPROMDUMP_BYTESPERLINE)
|
||||
ldi xh, HIGH(EEPROMEND-EEPROMDUMP_BYTESPERLINE)
|
||||
EepromDump_OnDown_set:
|
||||
std Y+EEPROMDUMP_SD_OFFS_STARTADDR_LO, xl
|
||||
std Y+EEPROMDUMP_SD_OFFS_STARTADDR_HI, xh
|
||||
|
||||
ldd r17, Y+WIDGET_SD_OFFS_FLAGS
|
||||
ori r17, (1<<WIDGET_FLAGS_DIRTY_BIT)
|
||||
std Y+WIDGET_SD_OFFS_FLAGS, r17
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine EepromDump_OnDraw @global
|
||||
;
|
||||
; @param Z byte address of object (for LPM!)
|
||||
; @param xl param1
|
||||
; @param xh param2
|
||||
; @clobbers any, !Z
|
||||
|
||||
EepromDump_OnDraw:
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd r16, Y+WIDGET_SD_OFFS_FLAGS
|
||||
andi r16, (1<<WIDGET_FLAGS_DIRTY_BIT)
|
||||
breq EepromDump_OnDraw_ret
|
||||
|
||||
rcall Widget_Clear
|
||||
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd xl, Y+EEPROMDUMP_SD_OFFS_STARTADDR_LO
|
||||
ldd xh, Y+EEPROMDUMP_SD_OFFS_STARTADDR_HI
|
||||
ldi r16, 2
|
||||
mov r4, r16
|
||||
clr r5
|
||||
mov r6, r16
|
||||
clr r7
|
||||
rcall eepromDumpDrawBlock
|
||||
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd r16, Y+WIDGET_SD_OFFS_FLAGS
|
||||
cbr r16, (1<<WIDGET_FLAGS_DIRTY_BIT)
|
||||
std Y+WIDGET_SD_OFFS_FLAGS, r16
|
||||
|
||||
EepromDump_OnDraw_ret:
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine eepromDumpDrawBlock
|
||||
;
|
||||
; @param Z byte address of widget object (for LPM!)
|
||||
; @param R5:R4 X relative to widget
|
||||
; @param R7:R6 Y relative to widget
|
||||
; @param X current start address
|
||||
; @param R18 number of bytes to print as hex bytes
|
||||
|
||||
eepromDumpDrawBlock:
|
||||
ldi r18, EEPROMDUMP_LINESPERPAGE
|
||||
eepromDumpDrawBlock_loop:
|
||||
push r18
|
||||
push r4
|
||||
push r5
|
||||
rcall eepromDumpDrawLine
|
||||
pop r5
|
||||
pop r4
|
||||
ldi r16, LOW(EEPROMDUMP_FONT_HEIGHT)
|
||||
ldi r17, HIGH(EEPROMDUMP_FONT_HEIGHT)
|
||||
add r6, r16
|
||||
adc r7, r17
|
||||
pop r18
|
||||
dec r18
|
||||
brne eepromDumpDrawBlock_loop
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine eepromDumpDrawLine
|
||||
;
|
||||
; @param Z byte address of widget object (for LPM!)
|
||||
; @param R5:R4 X relative to widget
|
||||
; @param R7:R6 Y relative to widget
|
||||
; @param X current start address
|
||||
; @param R18 number of bytes to print as hex bytes
|
||||
; @return X pointer to next byte to write
|
||||
; @clobbers any, !Z, !R6, !R7
|
||||
|
||||
eepromDumpDrawLine:
|
||||
push xl
|
||||
push xh
|
||||
mov r20, xl
|
||||
mov r21, xh
|
||||
bigcall HexWordToAscii ; X=ptr to addr (R16, R17)
|
||||
rcall eepromDumpDrawText
|
||||
ldi r16, LOW(EEPROMDUMP_FONT_WIDTH*4)
|
||||
ldi r17, HIGH(EEPROMDUMP_FONT_WIDTH*4)
|
||||
add r4, r16
|
||||
adc r5, r17
|
||||
|
||||
ldi r16, ':'
|
||||
rcall eepromDumpDrawChar
|
||||
|
||||
ldi r16, ' '
|
||||
rcall eepromDumpDrawChar
|
||||
pop xh
|
||||
pop xl
|
||||
|
||||
ldi r18, EEPROMDUMP_BYTESPERLINE
|
||||
eepromDumpDrawLine_loop:
|
||||
push r18
|
||||
bigcall Eeprom_ReadByte ; R16=byte read
|
||||
brcc eepromDumpDrawLine_ret
|
||||
adiw xh:xl, 1
|
||||
push xl
|
||||
push xh
|
||||
bigcall HexByteToAscii ; X=ptr to addr (R16, R17)
|
||||
rcall eepromDumpDrawText
|
||||
ldi r16, LOW(EEPROMDUMP_FONT_WIDTH*2)
|
||||
ldi r17, HIGH(EEPROMDUMP_FONT_WIDTH*2)
|
||||
add r4, r16
|
||||
adc r5, r17
|
||||
ldi r16, ' '
|
||||
rcall eepromDumpDrawChar
|
||||
pop xh
|
||||
pop xl
|
||||
pop r18
|
||||
dec r18
|
||||
brne eepromDumpDrawLine_loop
|
||||
eepromDumpDrawLine_ret:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine eepromDumpDrawLine
|
||||
;
|
||||
; @param Z byte address of widget object (for LPM!)
|
||||
; @param R5:R4 X relative to widget
|
||||
; @param R7:R6 Y relative to widget
|
||||
; @param X address of text to write
|
||||
; @clobbers any, !Z, !(r4-r7)
|
||||
|
||||
eepromDumpDrawText:
|
||||
push r4
|
||||
push r5
|
||||
push r6
|
||||
push r7
|
||||
bigcall Widget_DrawTextSDRAM ; (any, !Z)
|
||||
pop r7
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine eepromDumpDrawChar
|
||||
;
|
||||
; @param Z byte address of widget object (for LPM!)
|
||||
; @param R5:R4 X relative to widget
|
||||
; @param R7:R6 Y relative to widget
|
||||
; @param R16 byte to write
|
||||
; @clobbers any, !Z, !(r4-r7)
|
||||
|
||||
eepromDumpDrawChar:
|
||||
push r4
|
||||
push r5
|
||||
push r6
|
||||
push r7
|
||||
bigcall Widget_DrawCharAt ; (any, !Z)
|
||||
pop r7
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
ldi r16, LOW(EEPROMDUMP_FONT_WIDTH)
|
||||
ldi r17, HIGH(EEPROMDUMP_FONT_WIDTH)
|
||||
add r4, r16
|
||||
adc r5, r17
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user