Firmware burn function implementation

This commit is contained in:
maddiebaka
2024-02-22 18:39:20 -05:00
parent ca0ab73cb2
commit 9ddc7ff418
2 changed files with 7 additions and 4 deletions

View File

@@ -25,14 +25,16 @@ uint16_t addressPage = 0;
bool receiveBlockHandler(void *blk_id, size_t idSize, byte *data, size_t dataSize) {
unsigned int id = *((int *) blk_id);
unsigned long page = (id - 1) * DATA_LEN;
addressPage += page;
//unsigned long page = (id - 1) * DATA_LEN;
//addressPage += page;
for (int i = 0; i < dataSize; i++) {
unsigned long index = i + addressPage;
programData(data[i], index);
//programData(id, i);
}
addressPage += DATA_LEN;
return true;
}
@@ -144,6 +146,7 @@ void loop() {
switch (cmd) {
case CMD_WRITE:
setDataPinsOut();
addressPage = 0;
Serial.println("Burn new ROM: Waiting for an xmodem transfer..");
if (xmodem.receive() == true) {
delay(1000);
@@ -172,7 +175,7 @@ void loop() {
//cmd = NULL;
break;
case CMD_ERASE:
//eraseROM();
eraseROM();
cmd = NULL;
break;