forked from FOSS/BangleApps
Merge branch 'espruino:master' into circlesclock_v0.04
commit
5b3ba52c4f
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
"id": "fwupdate",
|
"id": "fwupdate",
|
||||||
"name": "Firmware Update",
|
"name": "Firmware Update",
|
||||||
"version": "0.02",
|
"version": "0.03",
|
||||||
"description": "[BETA] Uploads new Espruino firmwares to Bangle.js 2. For now, please use the instructions under https://www.espruino.com/Bangle.js2#firmware-updates",
|
"description": "[BETA] Uploads new Espruino firmwares to Bangle.js 2. For now, please use the instructions under https://www.espruino.com/Bangle.js2#firmware-updates",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "RAM",
|
"type": "RAM",
|
||||||
|
@ -1501,7 +1501,7 @@
|
||||||
{
|
{
|
||||||
"id": "gpsinfo",
|
"id": "gpsinfo",
|
||||||
"name": "GPS Info",
|
"name": "GPS Info",
|
||||||
"version": "0.07",
|
"version": "0.08",
|
||||||
"description": "An application that displays information about altitude, lat/lon, satellites and time",
|
"description": "An application that displays information about altitude, lat/lon, satellites and time",
|
||||||
"icon": "gps-info.png",
|
"icon": "gps-info.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
|
|
|
@ -12,7 +12,7 @@ function upd(th) {
|
||||||
g.reset = function(n) { return g._reset().setColor(th.fg).setBgColor(th.bg); };
|
g.reset = function(n) { return g._reset().setColor(th.fg).setBgColor(th.bg); };
|
||||||
g.clear = function(n) { if (n) g.reset(); return g.clearRect(0,0,g.getWidth(),g.getHeight()); };
|
g.clear = function(n) { if (n) g.reset(); return g.clearRect(0,0,g.getWidth(),g.getHeight()); };
|
||||||
g.clear(1);
|
g.clear(1);
|
||||||
};
|
}
|
||||||
|
|
||||||
function flipTheme() {
|
function flipTheme() {
|
||||||
if (!g.theme.dark) {
|
if (!g.theme.dark) {
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
require("heatshrink").decompress(atob("mEw4X/AAO/mMUzs975K+ggLKysUAYNVqoLFitUoAKBqtQBYkJBIQABqwLEgQLEqtABggJDqkVBaoNCBZQwEgILWgoJENYsVBIcVBYpDEgpSIBYMBKQg6CuogCBY1UgoLCXAQLDqAsDBYhSBqEJHAoLDoEBcQ4LBEwILIMooLdIg4LaVoyaGERLcFao4LIdRAACYYUQBY5RKAH4Ar"));
|
require("heatshrink").decompress(atob("mEw4X/AAO/mMUzs975K+ggLKysUAYNVqoLFitUoAKBqtQBYkJBIQABqwLEgQLEqtABggJDqkVBaoNCBZQwEgILWgoJENYsVBIcVBYpDEgpSIBYMBKQg6CuogCBY1UgoLCXAQLDqAsDBYhSBqEJHAoLDoEBcQ4LBEwILIMooLdIg4LaVoyaGERLcFao4LIdRAACYYUQBY5RKAH4Ar"))
|
||||||
|
|
|
@ -2,3 +2,5 @@
|
||||||
0.02: Add support for ZIPs
|
0.02: Add support for ZIPs
|
||||||
Find and download ZIPs direct from the Espruino website
|
Find and download ZIPs direct from the Espruino website
|
||||||
Take 'beta' tag off
|
Take 'beta' tag off
|
||||||
|
0.03: Improve bootloader update safety. Now sets unsafeFlash:1 to allow flash with 2v11 and later
|
||||||
|
Add CRC checks for common bootloaders that we know don't work
|
||||||
|
|
|
@ -60,6 +60,7 @@ function onInit(device) {
|
||||||
document.getElementById("fw-unknown").style = "display:none";
|
document.getElementById("fw-unknown").style = "display:none";
|
||||||
document.getElementById("fw-ok").style = "";
|
document.getElementById("fw-ok").style = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkForFileOnServer() {
|
function checkForFileOnServer() {
|
||||||
|
@ -264,6 +265,8 @@ function createJS_app(binary, startAddress, endAddress) {
|
||||||
bin32[3] = VERSION; // VERSION! Use this to test ourselves
|
bin32[3] = VERSION; // VERSION! Use this to test ourselves
|
||||||
console.log("CRC 0x"+bin32[2].toString(16));
|
console.log("CRC 0x"+bin32[2].toString(16));
|
||||||
hexJS = "";//`\x10if (E.CRC32(E.memoryArea(${startAddress},${endAddress-startAddress}))==${bin32[2]}) { print("FIRMWARE UP TO DATE!"); load();}\n`;
|
hexJS = "";//`\x10if (E.CRC32(E.memoryArea(${startAddress},${endAddress-startAddress}))==${bin32[2]}) { print("FIRMWARE UP TO DATE!"); load();}\n`;
|
||||||
|
hexJS += `\x10if (E.CRC32(E.memoryArea(0xF7000,0x7000))==1339551013) { print("BOOTLOADER 2v10.219 needs update"); load();}\n`;
|
||||||
|
hexJS += `\x10if (E.CRC32(E.memoryArea(0xF7000,0x7000))==1207580954) { print("BOOTLOADER 2v10.236 needs update"); load();}\n`;
|
||||||
hexJS += '\x10var s = require("Storage");\n';
|
hexJS += '\x10var s = require("Storage");\n';
|
||||||
hexJS += '\x10s.erase(".firmware");\n';
|
hexJS += '\x10s.erase(".firmware");\n';
|
||||||
var CHUNKSIZE = 2048;
|
var CHUNKSIZE = 2048;
|
||||||
|
@ -291,20 +294,14 @@ function createJS_bootloader(binary, startAddress, endAddress) {
|
||||||
var chunk = btoa(new Uint8Array(binary.buffer, binary.byteOffset+i, l));
|
var chunk = btoa(new Uint8Array(binary.buffer, binary.byteOffset+i, l));
|
||||||
hexJS += '\x10_fw.set(atob("'+chunk+'"), 0x'+(i).toString(16)+');\n';
|
hexJS += '\x10_fw.set(atob("'+chunk+'"), 0x'+(i).toString(16)+');\n';
|
||||||
}
|
}
|
||||||
// hexJS += `\x10(function() {
|
hexJS += `\x10(function() { if (E.CRC32(_fw)!=${crc}) throw "Invalid CRC: 0x"+E.CRC32(_fw).toString(16);\n`;
|
||||||
// if (E.CRC32(_fw)!=${crc}) throw "Invalid CRC!";
|
hexJS += 'E.showMessage("Flashing Bootloader...")\n';
|
||||||
// var f = require("Flash");
|
hexJS += 'E.setFlags({unsafeFlash:1})\n';
|
||||||
// for (var i=${startAddress};i<${endAddress};i+=4096) f.erasePage(i);
|
hexJS += 'var f = require("Flash");\n';
|
||||||
// f.write(_fw,${startAddress});
|
|
||||||
// E.reboot();
|
|
||||||
// })();\n`;
|
|
||||||
hexJS += `\x10if (E.CRC32(_fw)!=${crc}) throw "Invalid CRC: 0x"+E.CRC32(_fw).toString(16);\n`;
|
|
||||||
hexJS += '\x10var f = require("Flash");\n';
|
|
||||||
for (var i=startAddress;i<endAddress;i+=4096)
|
for (var i=startAddress;i<endAddress;i+=4096)
|
||||||
hexJS += '\x10f.erasePage(0x'+i.toString(16)+');\n';
|
hexJS += 'f.erasePage(0x'+i.toString(16)+');\n';
|
||||||
hexJS += `\x10f.write(_fw,${startAddress});\n`;
|
hexJS += `f.write(_fw,${startAddress});\n`;
|
||||||
// hexJS += '\x10setTimeout(()=>E.showMessage("Rebooting..."),50);\n';
|
hexJS += `})()\n`;
|
||||||
// hexJS += '\x10setTimeout(()=>E.reboot(), 2000);\n';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function fileLoaded() {
|
function fileLoaded() {
|
||||||
|
|
|
@ -4,3 +4,4 @@
|
||||||
0.05: Refactor to use 'layout' library for multi-device support
|
0.05: Refactor to use 'layout' library for multi-device support
|
||||||
0.06: Add number of satellites in view and fix crash with GPS time
|
0.06: Add number of satellites in view and fix crash with GPS time
|
||||||
0.07: Resolve one FIFO_FULL case and exit App with button press
|
0.07: Resolve one FIFO_FULL case and exit App with button press
|
||||||
|
0.08: Leave GPS power switched on on exit (will switch off after 0.5 seconds anyway)
|
||||||
|
|
|
@ -132,9 +132,6 @@ Bangle.on('GPS', onGPS);
|
||||||
Bangle.on('GPS-raw', onGPSraw);
|
Bangle.on('GPS-raw', onGPSraw);
|
||||||
|
|
||||||
function exitApp() {
|
function exitApp() {
|
||||||
Bangle.setGPSPower(0, "app");
|
|
||||||
Bangle.removeListener('GPS-raw', onGPSraw);
|
|
||||||
Bangle.removeListener('GPS', onGPS);
|
|
||||||
load();
|
load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue