more work on pages and ressources.
This commit is contained in:
2
0BUILD
2
0BUILD
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<gwbuild>
|
<gwbuild>
|
||||||
|
|
||||||
<project name="aqhome" version="0.0.21" so_current="0" so_age="0" so_revision="21" write_config_h="TRUE">
|
<project name="aqhome" version="0.0.22" so_current="0" so_age="0" so_revision="22" write_config_h="TRUE">
|
||||||
<setVar name="package">$(project_name)</setVar>
|
<setVar name="package">$(project_name)</setVar>
|
||||||
<setVar name="version">
|
<setVar name="version">
|
||||||
$(project_vmajor).$(project_vminor).$(project_vpatchlevel)
|
$(project_vmajor).$(project_vminor).$(project_vpatchlevel)
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include <gwenhywfar/debug.h>
|
#include <gwenhywfar/debug.h>
|
||||||
#include <gwenhywfar/timestamp.h>
|
#include <gwenhywfar/timestamp.h>
|
||||||
#include <gwenhywfar/text.h>
|
#include <gwenhywfar/text.h>
|
||||||
|
#include <gwenhywfar/directory.h>
|
||||||
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -75,6 +76,8 @@ static int _getColorComponent(GWEN_DB_NODE *dbPost, const char *sValueName, cons
|
|||||||
static void _setOnOffData(AQH_DATACLIENT *dc, const AQH_VALUE *value, const char *sValue);
|
static void _setOnOffData(AQH_DATACLIENT *dc, const AQH_VALUE *value, const char *sValue);
|
||||||
static void _setOnOffAutoData(AQH_DATACLIENT *dc, const AQH_VALUE *value, const char *sValue);
|
static void _setOnOffAutoData(AQH_DATACLIENT *dc, const AQH_VALUE *value, const char *sValue);
|
||||||
|
|
||||||
|
static void _sendPageList(AQH_MODULE *m, GWEN_BUFFER *dbuf);
|
||||||
|
static GWEN_STRINGLIST *_listPageFiles(AQH_MODULE *m);
|
||||||
static GWEN_XMLNODE *_readPage(AQH_MODULE *m, const char *sPageName);
|
static GWEN_XMLNODE *_readPage(AQH_MODULE *m, const char *sPageName);
|
||||||
static GWEN_XMLNODE *_readPageFile(const char *sFilename);
|
static GWEN_XMLNODE *_readPageFile(const char *sFilename);
|
||||||
static int _layoutFromString(const char *s);
|
static int _layoutFromString(const char *s);
|
||||||
@@ -93,7 +96,7 @@ void AQH_ModDevices_RunPageGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *se
|
|||||||
|
|
||||||
DBG_INFO(NULL, "RunPageGet");
|
DBG_INFO(NULL, "RunPageGet");
|
||||||
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
||||||
sPageId=GWEN_DB_GetCharValue(dbQuery, "page", 0, NULL);
|
sPageId=dbQuery?GWEN_DB_GetCharValue(dbQuery, "page", 0, NULL):NULL;
|
||||||
if (sPageId && *sPageId) {
|
if (sPageId && *sPageId) {
|
||||||
GWEN_XMLNODE *fileNode;
|
GWEN_XMLNODE *fileNode;
|
||||||
|
|
||||||
@@ -115,6 +118,10 @@ void AQH_ModDevices_RunPageGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *se
|
|||||||
DBG_INFO(NULL, "here");
|
DBG_INFO(NULL, "here");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
DBG_ERROR(NULL, "Reading page list");
|
||||||
|
_sendPageList(m, dbuf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -812,6 +819,86 @@ void _setOnOffAutoData(AQH_DATACLIENT *dc, const AQH_VALUE *value, const char *s
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void _sendPageList(AQH_MODULE *m, GWEN_BUFFER *dbuf)
|
||||||
|
{
|
||||||
|
GWEN_STRINGLIST *sl;
|
||||||
|
|
||||||
|
GBAS(dbuf, "<h1>Page List</h1>\n");
|
||||||
|
sl=_listPageFiles(m);
|
||||||
|
if (sl) {
|
||||||
|
GWEN_STRINGLISTENTRY *se;
|
||||||
|
|
||||||
|
GBAS(dbuf,
|
||||||
|
"<table class=\"datatable\">\n"
|
||||||
|
"<thead><tr><th>Page</th><th>Title</th></tr></thead>\n"
|
||||||
|
"<tbody>\n");
|
||||||
|
se=GWEN_StringList_FirstEntry(sl);
|
||||||
|
while(se) {
|
||||||
|
const char *filename;
|
||||||
|
|
||||||
|
filename=GWEN_StringListEntry_Data(se);
|
||||||
|
if (filename && *filename) {
|
||||||
|
GWEN_XMLNODE *node;
|
||||||
|
|
||||||
|
DBG_ERROR(NULL, "Reading file \"%s\"", filename);
|
||||||
|
node=_readPageFile(filename);
|
||||||
|
if (node) {
|
||||||
|
GWEN_XMLNODE *nPage;
|
||||||
|
|
||||||
|
nPage=GWEN_XMLNode_FindFirstTag(node, "page", NULL, NULL);
|
||||||
|
if (nPage) {
|
||||||
|
const char *sId;
|
||||||
|
const char *sTitle;
|
||||||
|
|
||||||
|
sId=GWEN_XMLNode_GetProperty(nPage, "id", NULL);
|
||||||
|
sTitle=GWEN_XMLNode_GetProperty(nPage, "title", sId);
|
||||||
|
if (sId && *sId)
|
||||||
|
GBAA(dbuf, "<tr><td><a href=\"page.html?page=%s\">%s</a></td><td>%s</td></tr>\n", sId, sId, sTitle);
|
||||||
|
}
|
||||||
|
GWEN_XMLNode_free(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
se=GWEN_StringListEntry_Next(se);
|
||||||
|
}
|
||||||
|
GBAS(dbuf, "</tbody></table>");
|
||||||
|
GWEN_StringList_free(sl);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GBAS(dbuf, "No pages.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GWEN_STRINGLIST *_listPageFiles(AQH_MODULE *m)
|
||||||
|
{
|
||||||
|
GWEN_BUFFER *fbuf;
|
||||||
|
AQH_SERVICE *sv;
|
||||||
|
GWEN_STRINGLIST *sl;
|
||||||
|
int rv;
|
||||||
|
|
||||||
|
sv=AQH_ModService_GetService(m);
|
||||||
|
fbuf=GWEN_Buffer_new(0, 256, 0, 1);
|
||||||
|
GBAA(fbuf, "%s%spages", AQH_Service_GetRuntimeFolder(sv), GWEN_DIR_SEPARATOR_S);
|
||||||
|
sl=GWEN_StringList_new();
|
||||||
|
rv=GWEN_Directory_GetMatchingFilesRecursively(GWEN_Buffer_GetStart(fbuf), sl, "*.xml");
|
||||||
|
if (rv<0) {
|
||||||
|
DBG_INFO(NULL, "Error reading pages (%d)", rv);
|
||||||
|
GWEN_StringList_free(sl);
|
||||||
|
GWEN_Buffer_free(fbuf);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (GWEN_StringList_Count(sl)<1) {
|
||||||
|
GWEN_StringList_free(sl);
|
||||||
|
GWEN_Buffer_free(fbuf);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
GWEN_Buffer_free(fbuf);
|
||||||
|
|
||||||
|
return sl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GWEN_XMLNODE *_readPage(AQH_MODULE *m, const char *sPageName)
|
GWEN_XMLNODE *_readPage(AQH_MODULE *m, const char *sPageName)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
<ul class="mainmenu" >
|
<ul class="mainmenu" >
|
||||||
<li><a href="/aqhome/devices/index.html">Devices</a></li>
|
<li><a href="/aqhome/devices/index.html">Devices</a></li>
|
||||||
|
<li><a href="/aqhome/devices/page.html">Pages</a></li>
|
||||||
<li><a href="/aqhome/admin/index.html">Admin</a></li>
|
<li><a href="/aqhome/admin/index.html">Admin</a></li>
|
||||||
<li><a href="#news">News</a></li>
|
<li><a href="#news">News</a></li>
|
||||||
<li><a href="#contact">Contact</a></li>
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ static int AQH_Tool_ReadAndDumpBmpFile(const char *fname);
|
|||||||
static int AQH_Tool_ExportBmpFile(const char *fname);
|
static int AQH_Tool_ExportBmpFile(const char *fname);
|
||||||
|
|
||||||
static int _exportBmp_1bpp(const BMP_FILE *bf);
|
static int _exportBmp_1bpp(const BMP_FILE *bf);
|
||||||
|
static int _exportBmp_gray8bpp(const BMP_FILE *bf);
|
||||||
|
|
||||||
static BMP_FILEHEADER *_fileHeader_new();
|
static BMP_FILEHEADER *_fileHeader_new();
|
||||||
static void _fileHeader_free(BMP_FILEHEADER *fh);
|
static void _fileHeader_free(BMP_FILEHEADER *fh);
|
||||||
@@ -166,6 +167,8 @@ int AQH_Tool_ExportBmpFile(const char *fname)
|
|||||||
_dumpBmpImageHeader(bf->imageHeader);
|
_dumpBmpImageHeader(bf->imageHeader);
|
||||||
if (bf->imageHeader->bitsPerPixel==1)
|
if (bf->imageHeader->bitsPerPixel==1)
|
||||||
rv=_exportBmp_1bpp(bf);
|
rv=_exportBmp_1bpp(bf);
|
||||||
|
else if (bf->imageHeader->bitsPerPixel==8)
|
||||||
|
rv=_exportBmp_gray8bpp(bf);
|
||||||
else {
|
else {
|
||||||
fprintf(stderr, "Invalid bits per pixel (%d)", bf->imageHeader->bitsPerPixel);
|
fprintf(stderr, "Invalid bits per pixel (%d)", bf->imageHeader->bitsPerPixel);
|
||||||
rv=2;
|
rv=2;
|
||||||
@@ -220,6 +223,69 @@ int _exportBmp_1bpp(const BMP_FILE *bf)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int _exportBmp_gray8bpp(const BMP_FILE *bf)
|
||||||
|
{
|
||||||
|
const uint8_t *ptrBuffer;
|
||||||
|
uint32_t lenBuffer;
|
||||||
|
uint32_t offsPixels;
|
||||||
|
const uint8_t *ptrPixels;
|
||||||
|
int imageWidth;
|
||||||
|
int imageHeight;
|
||||||
|
int rowWidthInBytes;
|
||||||
|
int columns;
|
||||||
|
int y;
|
||||||
|
|
||||||
|
ptrBuffer=(const uint8_t *) GWEN_Buffer_GetStart(bf->buffer);
|
||||||
|
lenBuffer=GWEN_Buffer_GetUsedBytes(bf->buffer);
|
||||||
|
offsPixels=bf->fileHeader->offsPixels;
|
||||||
|
ptrPixels=ptrBuffer+offsPixels;
|
||||||
|
imageWidth=bf->imageHeader->imgWidth;
|
||||||
|
imageHeight=bf->imageHeader->imgHeight;
|
||||||
|
columns=imageWidth;
|
||||||
|
rowWidthInBytes=4*((columns+3)/4); /* BMPs have multiple of 4 bytes per row! */
|
||||||
|
fprintf(stdout, "imgData: \n");
|
||||||
|
fprintf(stdout, " .dw %d, %d\n", imageWidth, imageHeight);
|
||||||
|
|
||||||
|
for (y=imageHeight-1; y>=0; y--) {
|
||||||
|
const uint8_t *rowPtr;
|
||||||
|
int x;
|
||||||
|
uint8_t currentByte=0;
|
||||||
|
int writtenBytes=0;
|
||||||
|
int packedPixels=0;
|
||||||
|
|
||||||
|
fprintf(stdout, " .db ");
|
||||||
|
rowPtr=ptrPixels+(y*rowWidthInBytes);
|
||||||
|
for (x=0; x<columns; x++) {
|
||||||
|
uint8_t pixel;
|
||||||
|
uint8_t newPix;
|
||||||
|
|
||||||
|
pixel=rowPtr[x];
|
||||||
|
switch(pixel) {
|
||||||
|
case 0x00: newPix=0b01; break; /* outline color */
|
||||||
|
case 0x60: newPix=0b10; break; /* color 1 */
|
||||||
|
case 0xc0: newPix=0b11; break; /* color 2 */
|
||||||
|
case 0xff: newPix=0b00; break; /* background color */
|
||||||
|
default: newPix=0b00; break; /* background color */
|
||||||
|
}
|
||||||
|
currentByte<<=2;
|
||||||
|
currentByte|=newPix;
|
||||||
|
packedPixels++;
|
||||||
|
if (packedPixels==4) {
|
||||||
|
if (writtenBytes)
|
||||||
|
fprintf(stdout, ", ");
|
||||||
|
fprintf(stdout, "0x%02x", currentByte);
|
||||||
|
writtenBytes++;
|
||||||
|
packedPixels=0;
|
||||||
|
currentByte=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fprintf(stdout, "\n");
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BMP_FILE *BMP_File_new(const char *fname)
|
BMP_FILE *BMP_File_new(const char *fname)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
tree_t.asm
|
tree_t.asm
|
||||||
eeprom-r.asm
|
eeprom-r.asm
|
||||||
eeprom-w.asm
|
eeprom-w.asm
|
||||||
|
ressource.asm
|
||||||
</extradist>
|
</extradist>
|
||||||
|
|
||||||
</gwbuild>
|
</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
|
#ifdef MODULES_ILI9341
|
||||||
.include "modules/lcd2/ili9341/defs.asm"
|
.include "modules/lcd2/ili9341/defs.asm"
|
||||||
.include "modules/lcd2/ili9341/colors.asm"
|
.include "modules/lcd2/ili9341/colors.asm"
|
||||||
|
.include "modules/lcd2/ili9341/images.asm"
|
||||||
.include "modules/lcd2/ili9341/main.asm"
|
.include "modules/lcd2/ili9341/main.asm"
|
||||||
.include "modules/lcd2/ili9341/io_spi.asm"
|
.include "modules/lcd2/ili9341/io_spi.asm"
|
||||||
.include "modules/lcd2/ili9341/graphops.asm"
|
.include "modules/lcd2/ili9341/graphops.asm"
|
||||||
|
|||||||
@@ -40,6 +40,8 @@
|
|||||||
|
|
||||||
.equ BOOTLOADER_ADDR = 0x7c00
|
.equ BOOTLOADER_ADDR = 0x7c00
|
||||||
|
|
||||||
|
.equ RESSOURCE_ADDR = 0x4000
|
||||||
|
|
||||||
.equ FIRMWARE_VARIANT_BOOT = 0
|
.equ FIRMWARE_VARIANT_BOOT = 0
|
||||||
.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1
|
.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,24 @@
|
|||||||
</target>
|
</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>
|
||||||
</subdirs>
|
</subdirs>
|
||||||
|
|||||||
@@ -253,9 +253,11 @@ test:
|
|||||||
;.include "common/list_t.asm"
|
;.include "common/list_t.asm"
|
||||||
;.include "common/tree_t.asm"
|
;.include "common/tree_t.asm"
|
||||||
.include "common/divide.asm"
|
.include "common/divide.asm"
|
||||||
|
.include "common/ressource.asm"
|
||||||
|
|
||||||
.include "modules/lcd2/gui/style.asm"
|
.include "modules/lcd2/gui/style.asm"
|
||||||
.include "dlg_netstats.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