Dump firmware feature, up to 64K

This commit is contained in:
maddiebaka
2024-02-22 17:25:25 -05:00
parent 33387cb046
commit ca0ab73cb2

View File

@@ -21,11 +21,14 @@ byte cmd = NULL;
XModem xmodem;
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;
for (int i = 0; i < dataSize; i++) {
unsigned long index = i + page;
unsigned long index = i + addressPage;
programData(data[i], index);
//programData(id, i);
}
@@ -35,14 +38,17 @@ bool receiveBlockHandler(void *blk_id, size_t idSize, byte *data, size_t dataSiz
void blockLookupHandler(void *blk_id, size_t idSize, byte *send_data, size_t dataSize) {
//uint8_t blkId = blk_id;
uint16_t id = *((uint16_t *) blk_id);
//uint16_t id = *((uint16_t *) blk_id);
// TODO: This was close to working
//byte id = *((byte *) blk_id);
unsigned long page = (id - 1) * DATA_LEN;
uint8_t id = *((uint8_t *) blk_id);
//unsigned long page = (id - 1) * DATA_LEN;
//addressPage += page;
for (int i = 0; i < dataSize; i++) {
unsigned long index = i + page;
unsigned long index = i + addressPage;
send_data[i] = readData(index);
}
addressPage += DATA_LEN;
}
void setup() {
@@ -166,7 +172,7 @@ void loop() {
//cmd = NULL;
break;
case CMD_ERASE:
eraseROM();
//eraseROM();
cmd = NULL;
break;
@@ -186,6 +192,7 @@ void loop() {
void dumpROM() {
setDataPinsIn();
addressPage = 0;
struct XModem::bulk_data container;