index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. const firstSpec = flashSpec.shift();
  19. let promise = esp.flashAddress(Number.parseInt(firstSpec.address), firstSpec.buffer);
  20. flashSpec.forEach((spec) => {
  21. promise = promise.then(()=> {
  22. return esp.flashAddress(Number.parseInt(spec.address), spec.buffer)
  23. });
  24. });
  25. return promise.then(() => esp.close())
  26. .then((result) => log.info("Flashed to latest Espruino build!", result));
  27. }).catch((error) => {
  28. log.error("Oh noes!", error);
  29. });
  30. });
  31. });