avr: added reset button.

This commit is contained in:
Martin Preuss
2026-01-23 21:42:06 +01:00
parent 8007c8c79a
commit b46c65837f
2 changed files with 60 additions and 5 deletions

View File

@@ -23,6 +23,8 @@
.equ WINEEPROMDUMP_SEL_UP = 1 .equ WINEEPROMDUMP_SEL_UP = 1
.equ WINEEPROMDUMP_SEL_DOWN = 2 .equ WINEEPROMDUMP_SEL_DOWN = 2
.equ WINEEPROMDUMP_SEL_RESET = 3
; *************************************************************************** ; ***************************************************************************
@@ -54,6 +56,11 @@ buttonEepromDumpDown_ramdata:
.byte IMGVIEW_SD_SIZE .byte IMGVIEW_SD_SIZE
buttonEepromDumpReset_ramdata:
.byte IMGVIEW_SD_SIZE
; *************************************************************************** ; ***************************************************************************
; code ; code
@@ -163,10 +170,11 @@ winEepromDump_signalmap:
.dw winEepromDumpView_ramdata ; ptr to SDRAM .dw winEepromDumpView_ramdata ; ptr to SDRAM
winEepromDumpView_signalmap: winEepromDumpView_signalmap:
.db 0, OBJECT_SIGNAL_CREATE, LOW(EepromDump_OnCreate), HIGH(EepromDump_OnCreate) .db 0, OBJECT_SIGNAL_CREATE, LOW(EepromDump_OnCreate), HIGH(EepromDump_OnCreate)
.db 0, WIDGET_SIGNAL_DRAW, LOW(EepromDump_OnDraw), HIGH(EepromDump_OnDraw) .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_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_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 .db 0, 0, 0, 0 ; end of table
@@ -198,7 +206,7 @@ winEepromDump_signalmap:
buttonEepromDumpDown: buttonEepromDumpDown:
; OBJECT ; OBJECT
.db 0x55, 0xaa ; magic .db 0x55, 0xaa ; magic
.dw buttonEepromDumpBack*2 ; next .dw buttonEepromResetTlv*2 ; next
.dw winEepromDumpBody*2 ; parent .dw winEepromDumpBody*2 ; parent
.dw 0 ; first child .dw 0 ; first child
.dw winEepromDumpView*2 ; target .dw winEepromDumpView*2 ; target
@@ -219,6 +227,30 @@ winEepromDump_signalmap:
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

View File

@@ -132,6 +132,29 @@ EepromDump_OnDown_set:
EepromDump_OnResetTlv:
bigcall Widget_GetSdramPtr ; (none)
ldi xl, LOW(EEPROM_OFFS_TLV)
ldi xh, HIGH(EEPROM_OFFS_TLV)
EepromDump_OnResetTlv_loop:
bigcall Eeprom_CheckAddr
brcc EepromDump_OnResetTlv_loopEnd
ldi r16, 0xff
bigcall Eeprom_WriteByte
adiw xh:xl, 1
rjmp EepromDump_OnResetTlv_loop
EepromDump_OnResetTlv_loopEnd:
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 ; @routine EepromDump_OnDraw @global
; ;