boot 0.48: Workaround for BTHRM issues on Bangle.js 1 (write .boot files in chunks)
parent
22a7de9a87
commit
5daf2be7df
|
|
@ -51,3 +51,4 @@
|
||||||
0.45: Fix 0.44 regression (auto-add semi-colon between each boot code chunk)
|
0.45: Fix 0.44 regression (auto-add semi-colon between each boot code chunk)
|
||||||
0.46: Fix no clock found error on Bangle.js 2
|
0.46: Fix no clock found error on Bangle.js 2
|
||||||
0.47: Add polyfill for setUI with an object as an argument (fix regression for 2v12 devices after Layout module changed)
|
0.47: Add polyfill for setUI with an object as an argument (fix regression for 2v12 devices after Layout module changed)
|
||||||
|
0.48: Workaround for BTHRM issues on Bangle.js 1 (write .boot files in chunks)
|
||||||
|
|
|
||||||
|
|
@ -197,8 +197,18 @@ bootFiles.forEach(bootFile=>{
|
||||||
require('Storage').write('.boot0',"//"+bootFile+"\n",fileOffset);
|
require('Storage').write('.boot0',"//"+bootFile+"\n",fileOffset);
|
||||||
fileOffset+=2+bootFile.length+1;
|
fileOffset+=2+bootFile.length+1;
|
||||||
var bf = require('Storage').read(bootFile);
|
var bf = require('Storage').read(bootFile);
|
||||||
require('Storage').write('.boot0',bf,fileOffset);
|
// we can't just write 'bf' in one go because at least in 2v13 and earlier
|
||||||
fileOffset+=bf.length;
|
// Espruino wants to read the whole file into RAM first, and on Bangle.js 1
|
||||||
|
// it can be too big (especially BTHRM).
|
||||||
|
var bflen = bf.length;
|
||||||
|
var bfoffset = 0;
|
||||||
|
while (bflen) {
|
||||||
|
var bfchunk = Math.min(bflen, 2048);
|
||||||
|
require('Storage').write('.boot0',bf.substr(bfoffset, bfchunk),fileOffset);
|
||||||
|
fileOffset+=bfchunk;
|
||||||
|
bfoffset+=bfchunk;
|
||||||
|
bflen-=bfchunk;
|
||||||
|
}
|
||||||
require('Storage').write('.boot0',";\n",fileOffset);
|
require('Storage').write('.boot0',";\n",fileOffset);
|
||||||
fileOffset+=2;
|
fileOffset+=2;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "boot",
|
"id": "boot",
|
||||||
"name": "Bootloader",
|
"name": "Bootloader",
|
||||||
"version": "0.47",
|
"version": "0.48",
|
||||||
"description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings",
|
"description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings",
|
||||||
"icon": "bootloader.png",
|
"icon": "bootloader.png",
|
||||||
"type": "bootloader",
|
"type": "bootloader",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue