Skip to content

Commit

Permalink
variable options
Browse files Browse the repository at this point in the history
  • Loading branch information
gemu2015 committed Sep 4, 2024
1 parent 513e1c0 commit 8997f76
Show file tree
Hide file tree
Showing 8 changed files with 72 additions and 27 deletions.
12 changes: 6 additions & 6 deletions lib/libesp32/berry/generate/be_const_bytes.h
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
/* extern binary arrays */
extern const binstance_arg3 be_const_instance_;
extern const binstance_arg3 be_const_instance_00000001FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000010002FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000050007000A000B000D000E0017FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00070008000F400B400CFFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000100020008FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00030004FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000100020003000400050006000700080009000A000F001100120013FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00000001000200030004FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000200030004FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000100020008FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000010007FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_00030004FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000200030004FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_000000050007000A000B000C000D000E000F0017FFF8FFF9FFFAFFFBFFFCFFFD;
extern const binstance_arg3 be_const_instance_0000000100070008000F4001400AFFF8FFF9FFFAFFFBFFFCFFFD;
12 changes: 6 additions & 6 deletions lib/libesp32/berry/generate/be_const_bytes_def.h
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
/* binary arrays */
be_define_const_bytes_empty();
be_define_const_bytes(00000001FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x03, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x12, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000100020003FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000010002000300040005FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00030005000A000F00110012FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x03, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x12, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000010002FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000020003000F0011FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x11, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000050007000A000B000D000E0017FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x17, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00070008000F400B400CFFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x07, 0x00, 0x08, 0x00, 0x0F, 0x40, 0x0B, 0x40, 0x0C, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00000001000200080009FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x09, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(FFF8FFF9FFFAFFFBFFFCFFFD, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000100020008FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x08, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00030004FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x03, 0x00, 0x04, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000100020003000400050006000700080009000A000F001100120013FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00000001000200030004FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000200030004FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000100020008FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x08, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(FFF8FFF9FFFAFFFBFFFCFFFD, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000010007FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(00030004FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x03, 0x00, 0x04, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000200030004FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(000000050007000A000B000C000D000E000F0017FFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x17, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
be_define_const_bytes(0000000100070008000F4001400AFFF8FFF9FFFAFFFBFFFCFFFD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x08, 0x00, 0x0F, 0x40, 0x01, 0x40, 0x0A, 0xFF, 0xF8, 0xFF, 0xF9, 0xFF, 0xFA, 0xFF, 0xFB, 0xFF, 0xFC, 0xFF, 0xFD);
2 changes: 1 addition & 1 deletion tasmota/Plugins/grepmodule-firmware.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def grep_module(source, target, env):

if msync[0] == 0x4a and msync[1] == 0xfc and msync[2] == 0xaa and msync[3] == 0x55:
xarch = fp.read(4)
arch = int.from_bytes(xarch, "little")
arch = int.from_bytes(xarch, "little") & 0xf
xtype = fp.read(4)
type = int.from_bytes(xtype, "little")
if arch == 0 and type <= 4:
Expand Down
2 changes: 2 additions & 0 deletions tasmota/Plugins/module_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,8 @@ extern MODULES_TABLE modules[];
#define ALLOCMEM GET_MTBL; GET_JT; mt->mem_size = sizeof(MODULE_MEMORY);mt->mem_size += mt->mem_size % 4;mt->mod_memory = jcalloc(mt->mem_size / 4, 4);if (!mt->mod_memory) {return -1;};MODULE_MEMORY *mem = (MODULE_MEMORY*)mt->mod_memory;SETTINGS *jsettings = *asettings;FLASH_MODULE *mp = (FLASH_MODULE*)mt->mod_addr;
#define RETMEM if (mt->mem_size) {jfree(mt->mod_memory);mt->mem_size = 0;}
#define MODULE_DESCRIPTOR(NAME,TYPE,REV,GPIO1,PIN1,GPIO2,PIN2,GPIO3,PIN3,GPIO4,PIN4) __attribute__((section(SECTION_DESC))) extern const FLASH_MODULE MODULE_HEADER = {MODULE_SYNC,CURR_ARCH,(TYPE),(REV),(NAME),mod_func_execute,END_OF_MODULE,0,0,(uint32_t)&modules,(uint32_t)&MODULE_JUMPTABLE,(uint32_t)&module_header,mod_func_execute,{GPIO1,PIN1,GPIO2,PIN2,GPIO3,PIN3,GPIO4,PIN4}};
#define MODULE_DESCRIPTOR6(NAME,TYPE,REV,GPIO1,PIN1,GPIO2,PIN2,GPIO3,PIN3,GPIO4,PIN4,GPIO5,PIN5,GPIO6,PIN6) __attribute__((section(SECTION_DESC))) extern const FLASH_MODULE MODULE_HEADER = {MODULE_SYNC,CURR_ARCH|MAX_MOD_STORES<<24,(TYPE),(REV),(NAME),mod_func_execute,END_OF_MODULE,0,0,(uint32_t)&modules,(uint32_t)&MODULE_JUMPTABLE,(uint32_t)&module_header,mod_func_execute,{GPIO1,PIN1,GPIO2,PIN2,GPIO3,PIN3,GPIO4,PIN4,GPIO5,PIN5,GPIO6,PIN6}};

#define MOD_FUNC(A, ...) A(MODULES_TABLE *mt, ##__VA_ARGS__)
//#define MOD_FUNC(A, ...) A(##__VA_ARGS__)

Expand Down
2 changes: 2 additions & 0 deletions tasmota/Plugins/modules_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ typedef struct {
volatile MD_TYPE value;
} MODULE_STORE;

#ifndef MAX_MOD_STORES
#define MAX_MOD_STORES 4
#endif

// this descriptor is in .text so only 32 bit access allowed
#pragma pack(4)
Expand Down
4 changes: 3 additions & 1 deletion tasmota/Plugins/xdrv_14_mp3_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@

//#define MODULE_HEADER module_header_XDRV_14

#define MAX_MOD_STORES 6

#include "module.h"
#include "module_defines.h"
Expand All @@ -98,7 +99,8 @@

PUSH_OPTIONS

MODULE_DESCRIPTOR("MP3PLAYER",MODULE_TYPE_DRIVER,MP3PLAYER_REV,"TXD",MP3_DEFAULT_TX_PIN,"TYPE",0x01000101,"",0,"",0)
//MODULE_DESCRIPTOR("MP3PLAYER",MODULE_TYPE_DRIVER,MP3PLAYER_REV,"TXD",MP3_DEFAULT_TX_PIN,"TYPE",0x01000101,"X1",0,"X2",0)
MODULE_DESCRIPTOR6("MP3PLAYER",MODULE_TYPE_DRIVER,MP3PLAYER_REV,"TXD",MP3_DEFAULT_TX_PIN,"TYPE",0x01000101,"X1",0,"X2",0,"X3",0,"X4",0)

// all functions must be declared MUDULE_PART
MODULE_PART uint16_t MP3_Checksum(uint8_t *array);
Expand Down
16 changes: 14 additions & 2 deletions tasmota/Plugins/xdrv_42_i2s.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
#define USE_MP3
//#define USE_WEBRADIO
// select a codec
//#define USE_WM8960
#ifndef __riscv
#define USE_WM8960
#endif
#endif


Expand Down Expand Up @@ -127,11 +129,21 @@ typedef struct {
#define MODNAME "I2SWAV"
#endif

#ifdef __riscv
#define GPIO_DOUT 6
#define GPIO_BCK 7
#define GPIO_WS 8
#else
#define GPIO_DOUT 17
#define GPIO_BCK 10
#define GPIO_WS 18
#endif

#define I2S_REV 1 << 16 | 5
#ifdef ESP8266
MODULE_DESCRIPTOR(MODNAME, MODULE_TYPE_DRIVER, I2S_REV, "", 0, "", 0, "", 0, "", 0)
#else
MODULE_DESCRIPTOR(MODNAME, MODULE_TYPE_DRIVER, I2S_REV, "DOUT", 17, "BCK", 10, "WS", 18, "MODE", 0x01000200)
MODULE_DESCRIPTOR(MODNAME, MODULE_TYPE_DRIVER, I2S_REV, "DOUT", GPIO_DOUT, "BCK", GPIO_BCK, "WS", GPIO_WS, "MODE", 0x01000200)
#endif

// all functions must be declared MUDULE_PART
Expand Down
49 changes: 38 additions & 11 deletions tasmota/tasmota_xdrv_driver/xdrv_123_plugins.ino
Original file line number Diff line number Diff line change
Expand Up @@ -1892,6 +1892,8 @@ uint16_t mod_size;
#endif
} plugins;



// 35 + 8 x MODULES_TABLE (18*8 = 144) = about 179 Bytes
MODULES_TABLE modules[MAX_PLUGINS];

Expand Down Expand Up @@ -2404,7 +2406,7 @@ void LinkModule(uint8_t *mp, uint32_t size, char *name) {
return;
}

if (fm->arch != CURR_ARCH) {
if ((fm->arch & 0x000000ff) != CURR_ARCH) {
free(mp);
AddLog(LOG_LEVEL_INFO,PSTR("plugin architecture error"));
return;
Expand Down Expand Up @@ -2516,7 +2518,13 @@ void Read_Module_Data(uint32_t module, uint32_t *data) {
FLASH_MODULE *fm = (FLASH_MODULE*)modules[module].mod_addr;
if (fm->sync == MODULE_SYNC) {
//AddLog(LOG_LEVEL_INFO,PSTR("read flash data:"));
for (uint16_t cnt = 0; cnt < MAX_MOD_STORES; cnt++ ) {
uint32_t num = fm->arch & 0xff000000;
if (num) {
num = num >> 24;
} else {
num = MAX_MOD_STORES;
}
for (uint16_t cnt = 0; cnt < num; cnt++ ) {
*data = fm->ms[cnt].value;
data++;
}
Expand All @@ -2538,7 +2546,13 @@ void Update_Module_Data(uint32_t module, uint32_t *data) {
//AddLog(LOG_LEVEL_INFO,PSTR("read flash: %08x"),fm->sync);
if (fm->sync == MODULE_SYNC) {
//AddLog(LOG_LEVEL_INFO,PSTR("modify data"));
for (uint16_t cnt = 0; cnt < MAX_MOD_STORES; cnt++ ) {
uint32_t num = fm->arch & 0xff000000;
if (num) {
num = num >> 24;
} else {
num = MAX_MOD_STORES;
}
for (uint16_t cnt = 0; cnt < num; cnt++ ) {
fm->ms[cnt].value = *data++;
}
// rewrite modified module
Expand All @@ -2555,7 +2569,13 @@ void Update_Module_Data(uint32_t module, uint32_t *data) {
//AddLog(LOG_LEVEL_INFO,PSTR("read flash: %08x"),fm->sync);
if (fm->sync == MODULE_SYNC) {
AddLog(LOG_LEVEL_INFO,PSTR("modify data"));
for (uint16_t cnt = 0; cnt < MAX_MOD_STORES; cnt++ ) {
uint32_t num = fm->arch & 0xff000000;
if (num) {
num = num >> 24;
} else {
num = MAX_MOD_STORES;
}
for (uint16_t cnt = 0; cnt < num; cnt++ ) {
fm->ms[cnt].value = *data++;
}
err = esp_partition_erase_range(plugins.flash_pptr, offset, ESP32_PLUGIN_HSIZE);
Expand Down Expand Up @@ -3052,7 +3072,7 @@ void Modul_Check_HTML_Setvars(void) {
uint8_t pind = strtol(cp, &cp, 10);

// should better update values on closing menu
uint32_t vals[MAX_MOD_STORES];
uint32_t vals[16];
Read_Module_Data(mind, vals);
uint32_t old = vals[pinn] & 0xff;
vals[pinn] = (vals[pinn] & 0xffffff00) | pind;
Expand Down Expand Up @@ -3103,15 +3123,16 @@ void Module_upload() {

WSContentSend_P(HTTP_MODULES_CSS);

uint32_t *vp = (uint32_t *)calloc(sizeof(FLASH_MODULE) / 4 , 4);
// reserve space for larger headers
uint32_t *vp = (uint32_t *)calloc(sizeof(FLASH_MODULE) / 2 , 4);
if (!vp) {
return;
}

for (uint16_t cnt = 0; cnt < MAX_PLUGINS; cnt++) {
if (modules[cnt].mod_addr) {
uint32_t *mp = (uint32_t*)modules[cnt].mod_addr;
for (uint16_t cnt = 0; cnt < sizeof(FLASH_MODULE) / 4; cnt++) {
for (uint16_t cnt = 0; cnt < sizeof(FLASH_MODULE) / 2; cnt++) {
vp[cnt] = mp[cnt];
}
#if defined(ESP32)
Expand All @@ -3134,7 +3155,13 @@ void Module_upload() {
WSContentSend_P(HTTP_MODULES_COMMONa, "808080", cnt + 1, name, type, srev, Get_mod_size, modules[cnt].mem_size);

WSContentSend_P(PSTR("<td>"));
for (uint8_t xcnt = 0; xcnt < MAX_MOD_STORES; xcnt++) {
uint32_t num = fm->arch & 0xff000000;
if (num) {
num = num >> 24;
} else {
num = MAX_MOD_STORES;
}
for (uint8_t xcnt = 0; xcnt < num; xcnt++) {
char name[8];
strncpy(name, fm->ms[xcnt].name, 8);
if (name[0]) {
Expand Down Expand Up @@ -3272,7 +3299,7 @@ bool Check_Arch(FLASH_MODULE *fm) {
return false;
}

if (fm->arch != CURR_ARCH) {
if ((fm->arch & 0x000000ff) != CURR_ARCH) {
AddLog(LOG_LEVEL_INFO,PSTR("plugin architecture error"));
plugins.upload_error = MOD_UPL_ERR_ARCH;
return false;
Expand Down Expand Up @@ -3365,7 +3392,7 @@ bool Module_upload_write(uint8_t *upload_buf, size_t current_size) {
delay(0);

if (plugins.module_bytes_read == 0) {
AddLog(LOG_LEVEL_INFO,PSTR("progress bytes read 1; %d"),plugins.module_bytes_read);
//AddLog(LOG_LEVEL_INFO,PSTR("progress bytes read 1; %d"),plugins.module_bytes_read);
memcpy(plugins.module_input_ptr, upload_buf, current_size);
plugins.module_bytes_read += current_size;
if (current_size < 2048) {
Expand All @@ -3374,7 +3401,7 @@ bool Module_upload_write(uint8_t *upload_buf, size_t current_size) {
return false;
}
} else {
AddLog(LOG_LEVEL_INFO,PSTR("progress bytes read 2; %d"),plugins.module_bytes_read);
//AddLog(LOG_LEVEL_INFO,PSTR("progress bytes read 2; %d"),plugins.module_bytes_read);
memcpy(plugins.module_input_ptr + plugins.module_bytes_read, upload_buf, current_size);
Store_Module_Block(plugins.module_input_buffer, plugins.upload_slot);
plugins.upload_start_block++;
Expand Down

0 comments on commit 8997f76

Please sign in to comment.