more work on pages and ressources.
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
tree_t.asm
|
||||
eeprom-r.asm
|
||||
eeprom-w.asm
|
||||
ressource.asm
|
||||
</extradist>
|
||||
|
||||
</gwbuild>
|
||||
|
||||
64
avr/common/ressource.asm
Normal file
64
avr/common/ressource.asm
Normal file
@@ -0,0 +1,64 @@
|
||||
; ***************************************************************************
|
||||
; 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. *
|
||||
; ***************************************************************************
|
||||
|
||||
#ifndef AQH_AVR_COMMON_RESSOURCE_H
|
||||
#define AQH_AVR_COMMON_RESSOURCE_H
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; defs
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
; code
|
||||
|
||||
.cseg
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine RES_GetRessource
|
||||
;
|
||||
; The Ressource table has one entry for every ressource handled by this table.
|
||||
; The first entry contains the number of ressource entries in the table.
|
||||
; All following entries contain byte pointer addresses (for LPM) to ressources.
|
||||
; Ressource ids start with zero.
|
||||
;
|
||||
; @param r17:r16 ressource id (starting with 0)
|
||||
; @param Z pointer to start of ressources in FLASH (byte address)
|
||||
; @return CF set if ressource found, cleared otherwise
|
||||
; @return Z if CF set: pointer to ressource (byte address)
|
||||
; @clobbers r16, r17, r18
|
||||
|
||||
RES_GetRessource:
|
||||
lpm r18, Z+ ; first entry: number of entries in table
|
||||
cp r16, r18 ; id must be < num entries
|
||||
lpm r18, Z+ ; Z points to first entry now
|
||||
cpc r17, r18
|
||||
brcc RES_GetRessource_ret
|
||||
RES_GetRessource_getRessource:
|
||||
lsl r16 ; byte address, so we need to add ressource id twice (i.e. *2)
|
||||
rol r17
|
||||
add zl, r16
|
||||
add zh, r17
|
||||
lpm r16, Z+
|
||||
lpm r17, Z+
|
||||
mov zl, r16
|
||||
mov zh, r17
|
||||
sec
|
||||
RES_GetRessource_ret:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -248,6 +248,7 @@
|
||||
#ifdef MODULES_ILI9341
|
||||
.include "modules/lcd2/ili9341/defs.asm"
|
||||
.include "modules/lcd2/ili9341/colors.asm"
|
||||
.include "modules/lcd2/ili9341/images.asm"
|
||||
.include "modules/lcd2/ili9341/main.asm"
|
||||
.include "modules/lcd2/ili9341/io_spi.asm"
|
||||
.include "modules/lcd2/ili9341/graphops.asm"
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
|
||||
.equ BOOTLOADER_ADDR = 0x7c00
|
||||
|
||||
.equ RESSOURCE_ADDR = 0x4000
|
||||
|
||||
.equ FIRMWARE_VARIANT_BOOT = 0
|
||||
.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1
|
||||
|
||||
|
||||
@@ -20,6 +20,24 @@
|
||||
</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>
|
||||
|
||||
@@ -253,9 +253,11 @@ test:
|
||||
;.include "common/list_t.asm"
|
||||
;.include "common/tree_t.asm"
|
||||
.include "common/divide.asm"
|
||||
.include "common/ressource.asm"
|
||||
|
||||
.include "modules/lcd2/gui/style.asm"
|
||||
.include "dlg_netstats.asm"
|
||||
.include "ressources.inc"
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
95
avr/devices/c03/main/ressources.asm
Normal file
95
avr/devices/c03/main/ressources.asm
Normal file
@@ -0,0 +1,95 @@
|
||||
; ***************************************************************************
|
||||
; 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. *
|
||||
; ***************************************************************************
|
||||
|
||||
#ifndef AQH_AVR_DEVICE_C03_RESSOURCES_ASM
|
||||
#define AQH_AVR_DEVICE_C03_RESSOURCES_ASM
|
||||
|
||||
.nolist
|
||||
.include "include/m644Pdef.inc" ; Define device ATmega644P
|
||||
.list
|
||||
|
||||
.include "../defs.asm"
|
||||
.include "modules/lcd2/ili9341/colors.asm"
|
||||
.include "modules/lcd2/ili9341/images.asm"
|
||||
|
||||
|
||||
.cseg
|
||||
|
||||
.org RESSOURCE_ADDR
|
||||
|
||||
RessourceTable:
|
||||
.dw 1
|
||||
.dw (resImageNetwork*2) ; RESSSOURCE_IMG_NETWORK
|
||||
|
||||
|
||||
|
||||
|
||||
resImageNetwork:
|
||||
.dw DISPLAY_IMAGETYPE_IDX2
|
||||
.dw 48, 48
|
||||
.dw (resImageNetworkColorMap*2)
|
||||
.dw (resImageNetworkPixels*2)
|
||||
resImageNetworkColorMap:
|
||||
.dw 4
|
||||
.dw 0, DISPLAY_COLOR_BLACK, DISPLAY_COLOR_LIGHTGREY, DISPLAY_COLOR_LIGHTGREY
|
||||
resImageNetworkPixels:
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x40
|
||||
.db 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x40
|
||||
.db 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x05, 0x55, 0x54, 0x00, 0x00, 0x05, 0x55, 0x54, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x05, 0x55, 0x54, 0x00, 0x00, 0x05, 0x55, 0x54, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
18
avr/devices/c03/main/ressources.inc
Normal file
18
avr/devices/c03/main/ressources.inc
Normal file
@@ -0,0 +1,18 @@
|
||||
; ***************************************************************************
|
||||
; 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. *
|
||||
; ***************************************************************************
|
||||
|
||||
#ifndef AQH_AVR_DEVICE_C03_RESSOURCES_INC
|
||||
#define AQH_AVR_DEVICE_C03_RESSOURCES_INC
|
||||
|
||||
|
||||
.equ RESSSOURCE_IMG_NETWORK = 0
|
||||
|
||||
|
||||
|
||||
#endif ; AQH_AVR_DEVICE_C03_RESSOURCES_INC
|
||||
19
avr/modules/lcd2/ili9341/images.asm
Normal file
19
avr/modules/lcd2/ili9341/images.asm
Normal file
@@ -0,0 +1,19 @@
|
||||
; ***************************************************************************
|
||||
; 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. *
|
||||
; ***************************************************************************
|
||||
|
||||
#ifndef AQH_AVR_ILI9341_IMAGES_ASM
|
||||
#define AQH_AVR_ILI9341_IMAGES_ASM
|
||||
|
||||
|
||||
|
||||
.equ DISPLAY_IMAGETYPE_IDX2 = 1 ; 2 bit indexed image
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user