mirror of
https://github.com/alexandrebobkov/ESP-Nodes.git
synced 2025-08-08 15:00:52 +00:00
70 lines
2.5 KiB
JavaScript
70 lines
2.5 KiB
JavaScript
import atob from "atob-lite";
|
|
/**
|
|
* Import flash stub json for the given chip name.
|
|
* @param {string} chipName Name of chip to obtain flasher stub
|
|
* @returns {Stub} Stub information and decoded text and data
|
|
*/
|
|
export async function getStubJsonByChipName(chipName) {
|
|
let jsonStub;
|
|
switch (chipName) {
|
|
case "ESP32":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32.json");
|
|
break;
|
|
case "ESP32-C2":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32c2.json");
|
|
break;
|
|
case "ESP32-C3":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32c3.json");
|
|
break;
|
|
case "ESP32-C5":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32c5.json");
|
|
break;
|
|
case "ESP32-C6":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32c6.json");
|
|
break;
|
|
case "ESP32-C61":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32c61.json");
|
|
break;
|
|
case "ESP32-H2":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32h2.json");
|
|
break;
|
|
case "ESP32-P4":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32p4.json");
|
|
break;
|
|
case "ESP32-S2":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32s2.json");
|
|
break;
|
|
case "ESP32-S3":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_32s3.json");
|
|
break;
|
|
case "ESP8266":
|
|
jsonStub = await import("./targets/stub_flasher/stub_flasher_8266.json");
|
|
break;
|
|
}
|
|
if (jsonStub) {
|
|
return {
|
|
bss_start: jsonStub.bss_start,
|
|
data: jsonStub.data,
|
|
data_start: jsonStub.data_start,
|
|
entry: jsonStub.entry,
|
|
text: jsonStub.text,
|
|
text_start: jsonStub.text_start,
|
|
decodedData: decodeBase64Data(jsonStub.data),
|
|
decodedText: decodeBase64Data(jsonStub.text),
|
|
};
|
|
}
|
|
return;
|
|
}
|
|
/**
|
|
* Convert a base 64 string to Uint8Array.
|
|
* @param {string} dataStr Base64 String to decode
|
|
* @returns {Uint8Array} Decoded Uint8Array
|
|
*/
|
|
export function decodeBase64Data(dataStr) {
|
|
const decoded = atob(dataStr);
|
|
const chardata = decoded.split("").map(function (x) {
|
|
return x.charCodeAt(0);
|
|
});
|
|
return new Uint8Array(chardata);
|
|
}
|