index.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. const fs = require("fs");
  3. const fetch = require("node-fetch");
  4. const prepareBinaries = require("./manifest");
  5. const log = require("../back-end/logger");
  6. const RomComm = require("../back-end/rom_comm");
  7. fs.readFile("./manifest.json", (err, data) => {
  8. if(err) throw err;
  9. const manifest = JSON.parse(data);
  10. prepareBinaries(manifest, (err, flashSpec) => {
  11. if(err) throw err;
  12. const esp = new RomComm({
  13. portName: "/dev/cu.SLAB_USBtoUART",
  14. baudRate: 115200
  15. });
  16. esp.open().then((result) => {
  17. log.info("ESP is open", result);
  18. let promise = Promise.resolve();
  19. flashSpec.forEach((spec) => {
  20. promise = promise.then(()=> {
  21. return esp.flashAddress(Number.parseInt(spec.address), spec.buffer)
  22. });
  23. });
  24. return promise.then(() => esp.close())
  25. .then((result) => log.info("Flashed to latest Espruino build!", result));
  26. }).catch((error) => {
  27. log.error("Oh noes!", error);
  28. });
  29. });
  30. });