misc welcome tweaks to bring both in line

master
Gordon Williams 2021-06-21 12:58:34 +01:00
parent 38068ba981
commit 3c2eedbda4
2 changed files with 40 additions and 41 deletions

View File

@ -11,11 +11,9 @@ function animate(seq,period) {
// Fade in to FG color with angled lines // Fade in to FG color with angled lines
function fade(col, callback) { function fade(col, callback) {
var n = 0; var n = 0;
function f() { function f() {"ram"
g.setColor(col); g.setColor(col);
for (var i=n;i<240;i+=10) { for (var i=n;i<240;i+=10) g.drawLine(i,0,0,i).drawLine(i,240,240,i);
g.drawLine(i,0,0,i).drawLine(i,240,240,i);
}
g.flip(); g.flip();
n++; n++;
if (n<10) setTimeout(f,0); if (n<10) setTimeout(f,0);
@ -25,19 +23,22 @@ function fade(col, callback) {
} }
var scenes = [ var SCENE_COUNT=11;
function() { function getScene(n) {
if (n==0) return function() {
console.log("Start app"); console.log("Start app");
g.clear(1); g.clear(1);
eval(require("Storage").read("mywelcome.custom.js")); eval(require("Storage").read("mywelcome.custom.js"));
},function() { }
if (n==1) return function() {
g.clear(1); g.clear(1);
g.setFont("4x6",2); g.setFont("4x6",2);
var n=0; var n=0;
var l = Bangle.getLogo();
var i = setInterval(function() { var i = setInterval(function() {
n+=0.04; n+=0.04;
g.setColor(n,n,n); g.setColor(n,n,n);
g.drawImage(Bangle.getLogo(),(240-222)/2,(240-100)/2); g.drawImage(l,(240-222)/2,(240-100)/2);
if (n>=1) { if (n>=1) {
clearInterval(i); clearInterval(i);
setTimeout(()=>g.drawString("Open",34,144), 500); setTimeout(()=>g.drawString("Open",34,144), 500);
@ -45,7 +46,8 @@ var scenes = [
setTimeout(()=>g.drawString("Smart Watch",34,168), 1500); setTimeout(()=>g.drawString("Smart Watch",34,168), 1500);
} }
},50); },50);
},function() { };
if (n==2) return function() {
var img = require("heatshrink").decompress(atob("ptRxH+qYAfvl70mj5gAC0ekvd8FkAAdz3HJAYAH4+eJXWkJJYAF0hK2vfNJaIAB5t7S3fN5/V6wAD6vOTg9SumXy2W3QAB3eXul2JdnO63XAApPEVYvAJQIACJoRQDzBLoJQ3W5/NIwr4GJohMFAAROgJYvVJQiPGABZNN3bsdvYyESwnWJSIAC3RNM3V1JjZAES4nVJSYAB4xMNJrbkE56WD5xLVdB5NbFofNJbgABJh26qREPrFXrlbAAWjFgfWJgRLaTQhMLy5KNJINhsJLDrYrD5xLC6pLa5nGTR7oLq9bJQJMKTAXWJbbnR3RLJSoRMHv4pC5rkec6SaIrBLGw2r2XW1epcoqYeJiOXJYziEsOH2RBBw7lF56Yg5nGc6FScZOGJQPX2TmDFIfVTEBMSc4hLEw5KB6+rsJMH63X6pMf5hMQzBLCq5LD1ZLEJhTlfJiWXTA2GJYpMIcwPNc2O6TAuGRIPX1igDJg/PJmyYDcgXWwxMH1ApC53XcsHAJiVYcg2HJYZME0YpC5vWJkhLNJgLlDTAeFJhF/FQfVJkG6JiGXcomyJgOrJYhMErYqD53NJj7lRzBMDcoeGJhzoBJb3GJiN1qZBCJgWyJYpNF1LigAAXAJiNSJgzlGJgt/JkZLRy9TJgeHJhznFcuSZGw5MHJomjcuhLBqdcJiSaiTChMV1CYxy5LCqdXIAWy6+rJhCalTCN2JgdYH4WHJiGpTF7kDc43W2RMJTUZLQzBLFc4mr6+GJh2jTFmXJYyaEwuyc5Sag4xLZTQmG2WFJhxNaJYZMLJZSaEJoOHTR9/Ja+6JbdTqRNETRRNF1JLV4BLcAANYI5ToK1BLYJhWYJZwABq5NoJZ91JaAABdAZNS0ZLey9SJaRNYv5KM426JZmXuxKUJrKcL0lTzBLKzBKYJrVXvfGSol7EYWXJI27zF1JLQADq5NUrgYB4wAEEIV0comXI7wAFrCcPJgYWBTIIAETIN2JYmWuhMkdSdYCgOeJgueqRLFyzhfTi9bq4TC45MF49TuuXJlpONcogAC0hKB0gHDvZMEqRMpAANSq9crlbJAYADqwRDxGk0mIA4eCTQOeveXJdYAHqxNFdAeIAAQGCrOI0oHEAGVXTRJMGvgGCwRM7TAZMHwQGCvhM1rBMERIhMGAwdZJmtSqVTwNcwJEDJg19cvIADa4d9JhANDJnSLHJgrl6AAhFFAwpZDegjn7vhMGcvwABrJAFJgjl/TQpBBI4jl/AAN8TQhHDcv4ADcJBMDvpM+IYaeDAAhL+qd9SgycEJn7iEAA18Jf7nEcv4AIrJLIcv6aMcv4ADvhMHrJJ/AAbl/c6ZM/AAt9cv7nSIv7nLcv4AHrLl/TRpJBvgnjA==")); var img = require("heatshrink").decompress(atob("ptRxH+qYAfvl70mj5gAC0ekvd8FkAAdz3HJAYAH4+eJXWkJJYAF0hK2vfNJaIAB5t7S3fN5/V6wAD6vOTg9SumXy2W3QAB3eXul2JdnO63XAApPEVYvAJQIACJoRQDzBLoJQ3W5/NIwr4GJohMFAAROgJYvVJQiPGABZNN3bsdvYyESwnWJSIAC3RNM3V1JjZAES4nVJSYAB4xMNJrbkE56WD5xLVdB5NbFofNJbgABJh26qREPrFXrlbAAWjFgfWJgRLaTQhMLy5KNJINhsJLDrYrD5xLC6pLa5nGTR7oLq9bJQJMKTAXWJbbnR3RLJSoRMHv4pC5rkec6SaIrBLGw2r2XW1epcoqYeJiOXJYziEsOH2RBBw7lF56Yg5nGc6FScZOGJQPX2TmDFIfVTEBMSc4hLEw5KB6+rsJMH63X6pMf5hMQzBLCq5LD1ZLEJhTlfJiWXTA2GJYpMIcwPNc2O6TAuGRIPX1igDJg/PJmyYDcgXWwxMH1ApC53XcsHAJiVYcg2HJYZME0YpC5vWJkhLNJgLlDTAeFJhF/FQfVJkG6JiGXcomyJgOrJYhMErYqD53NJj7lRzBMDcoeGJhzoBJb3GJiN1qZBCJgWyJYpNF1LigAAXAJiNSJgzlGJgt/JkZLRy9TJgeHJhznFcuSZGw5MHJomjcuhLBqdcJiSaiTChMV1CYxy5LCqdXIAWy6+rJhCalTCN2JgdYH4WHJiGpTF7kDc43W2RMJTUZLQzBLFc4mr6+GJh2jTFmXJYyaEwuyc5Sag4xLZTQmG2WFJhxNaJYZMLJZSaEJoOHTR9/Ja+6JbdTqRNETRRNF1JLV4BLcAANYI5ToK1BLYJhWYJZwABq5NoJZ91JaAABdAZNS0ZLey9SJaRNYv5KM426JZmXuxKUJrKcL0lTzBLKzBKYJrVXvfGSol7EYWXJI27zF1JLQADq5NUrgYB4wAEEIV0comXI7wAFrCcPJgYWBTIIAETIN2JYmWuhMkdSdYCgOeJgueqRLFyzhfTi9bq4TC45MF49TuuXJlpONcogAC0hKB0gHDvZMEqRMpAANSq9crlbJAYADqwRDxGk0mIA4eCTQOeveXJdYAHqxNFdAeIAAQGCrOI0oHEAGVXTRJMGvgGCwRM7TAZMHwQGCvhM1rBMERIhMGAwdZJmtSqVTwNcwJEDJg19cvIADa4d9JhANDJnSLHJgrl6AAhFFAwpZDegjn7vhMGcvwABrJAFJgjl/TQpBBI4jl/AAN8TQhHDcv4ADcJBMDvpM+IYaeDAAhL+qd9SgycEJn7iEAA18Jf7nEcv4AIrJLIcv6aMcv4ADvhMHrJJ/AAbl/c6ZM/AAt9cv7nSIv7nLcv4AHrLl/TRpJBvgnjA=="));
g.reset(); g.reset();
g.setBgColor("#6633ff"); g.setBgColor("#6633ff");
@ -76,7 +78,8 @@ var scenes = [
},20); },20);
},3500); },3500);
},function() { };
if (n==3) return function() {
g.reset(); g.reset();
g.setBgColor("#ffa800");g.clear(); g.setBgColor("#ffa800");g.clear();
g.setFont("6x8",2); g.setFont("6x8",2);
@ -91,8 +94,8 @@ var scenes = [
()=>g.drawString("2",200,120), ()=>g.drawString("2",200,120),
()=>g.drawString("3",200,200) ()=>g.drawString("3",200,200)
],200); ],200);
}, };
function() { if (n==4) return function() {
g.reset(); g.reset();
g.setBgColor("#00a8ff");g.clear(); g.setBgColor("#00a8ff");g.clear();
g.setFontAlign(0,0); g.setFontAlign(0,0);
@ -101,8 +104,8 @@ var scenes = [
g.setFontAlign(-1,-1); g.setFontAlign(-1,-1);
g.setFont("6x8",2); g.setFont("6x8",2);
g.drawString("Move up\nin menus\n\nTurn Bangle.js on\nif it was off", 20,40); g.drawString("Move up\nin menus\n\nTurn Bangle.js on\nif it was off", 20,40);
}, };
function() { if (n==5) return function() {
g.reset(); g.reset();
g.setBgColor("#00a8ff");g.clear(); g.setBgColor("#00a8ff");g.clear();
g.setFontAlign(0,0); g.setFontAlign(0,0);
@ -111,8 +114,8 @@ var scenes = [
g.setFontAlign(-1,-1); g.setFontAlign(-1,-1);
g.setFont("6x8",2); g.setFont("6x8",2);
g.drawString("Select menu\nitem\n\nLaunch app\nwhen watch\nis showing", 20,70); g.drawString("Select menu\nitem\n\nLaunch app\nwhen watch\nis showing", 20,70);
}, };
function() { if (n==6) return function() {
g.reset(); g.reset();
g.setBgColor("#00a8ff");g.clear(); g.setBgColor("#00a8ff");g.clear();
g.setFontAlign(0,0); g.setFontAlign(0,0);
@ -121,8 +124,8 @@ var scenes = [
g.setFontAlign(-1,-1); g.setFontAlign(-1,-1);
g.setFont("6x8",2); g.setFont("6x8",2);
g.drawString("Move down\nin menus\n\nLong press\nto exit app\nand go back\nto clock", 20,100); g.drawString("Move down\nin menus\n\nLong press\nto exit app\nand go back\nto clock", 20,100);
}, };
function() { if (n==7) return function() {
g.reset(); g.reset();
g.setBgColor("#ff3300");g.clear(); g.setBgColor("#ff3300");g.clear();
g.setFontAlign(0,0); g.setFontAlign(0,0);
@ -132,8 +135,8 @@ var scenes = [
g.setFontAlign(-1,-1); g.setFontAlign(-1,-1);
g.setFont("6x8",2); g.setFont("6x8",2);
g.drawString("If Bangle.js\never stops,\nhold buttons\n1 and 2 for\naround six\nseconds.\n\n\n\nBangle.js will\nthen reboot.", 20,20); g.drawString("If Bangle.js\never stops,\nhold buttons\n1 and 2 for\naround six\nseconds.\n\n\n\nBangle.js will\nthen reboot.", 20,20);
}, };
function() { if (n==8) return function() {
g.reset(); g.reset();
g.setBgColor("#00a8ff");g.clear(); g.setBgColor("#00a8ff");g.clear();
g.setFont("6x8",2); g.setFont("6x8",2);
@ -150,8 +153,8 @@ var scenes = [
g.drawString("work too. Try now",x,y+=h); g.drawString("work too. Try now",x,y+=h);
g.drawString("to change page.",x,y+=h);} g.drawString("to change page.",x,y+=h);}
],300); ],300);
}, };
function() { if (n==9) return function() {
g.reset(); g.reset();
g.setBgColor("#339900");g.clear(); g.setBgColor("#339900");g.clear();
g.setFont("6x8",2); g.setFont("6x8",2);
@ -168,8 +171,8 @@ var scenes = [
g.drawString("with a Bluetooth",x,y+=h); g.drawString("with a Bluetooth",x,y+=h);
g.drawString("capable device",x,y+=h);}, g.drawString("capable device",x,y+=h);},
],400); ],400);
}, };
function() { if (n==10) return function() {
g.reset(); g.reset();
g.setBgColor("#990066");g.clear(); g.setBgColor("#990066");g.clear();
g.setFont("6x8",2); g.setFont("6x8",2);
@ -182,6 +185,7 @@ var scenes = [
g.drawString("banglejs.com",x,y+=h); g.drawString("banglejs.com",x,y+=h);
var rx = 0, ry = 0; var rx = 0, ry = 0;
E.defrag(); // rearrange memory to ensure we have space
var h = Graphics.createArrayBuffer(96,96,1,{msb:true}); var h = Graphics.createArrayBuffer(96,96,1,{msb:true});
// draw a cube // draw a cube
function draw() { function draw() {
@ -230,8 +234,8 @@ var scenes = [
} }
setInterval(draw,50); setInterval(draw,50);
}, };
function() { if (n==11) return function() {
g.reset(); g.reset();
g.setBgColor("#660099");g.clear(); g.setBgColor("#660099");g.clear();
g.setFontAlign(0,0); g.setFontAlign(0,0);
@ -248,20 +252,18 @@ var scenes = [
g.drawString("Bangle.js",x,y+=h);} g.drawString("Bangle.js",x,y+=h);}
],400); ],400);
} }
]; }
var sceneNumber = 0; var sceneNumber = 0;
function move(dir) { function move(dir) {
if (dir>0 && sceneNumber+1 == scenes.length) return; // at the end if (dir>0 && sceneNumber+1 == SCENE_COUNT) return; // at the end
sceneNumber = (sceneNumber+dir)%scenes.length; sceneNumber = (sceneNumber+dir)%SCENE_COUNT;
if (sceneNumber<0) sceneNumber=0; if (sceneNumber<0) sceneNumber=0;
clearInterval(); clearInterval();
Bangle.setLCDMode(); getScene(sceneNumber)();
g.clear();
scenes[sceneNumber]();
if (sceneNumber>2) { if (sceneNumber>2) {
var l = scenes.length; var l = SCENE_COUNT;
for (var i=0;i<l-2;i++) { for (var i=0;i<l-2;i++) {
var x = 120+(i-(l-2)/2)*12; var x = 120+(i-(l-2)/2)*12;
if (i<sceneNumber-1) { if (i<sceneNumber-1) {
@ -275,7 +277,7 @@ function move(dir) {
} }
} }
} }
if (sceneNumber < scenes.length-1) if (sceneNumber < SCENE_COUNT-1)
setTimeout(function() { setTimeout(function() {
move(1); move(1);
}, (sceneNumber==0) ? 20000 : 5000); }, (sceneNumber==0) ? 20000 : 5000);

View File

@ -9,13 +9,10 @@ function animate(seq,period) {
} }
// Fade in to FG color with angled lines // Fade in to FG color with angled lines
function fade(callback) { function fade(col, callback) {
var n = 0; var n = 0;
function f() {"ram" function f() {"ram"
for (var i=n;i<240;i+=10) { for (var i=n;i<240;i+=10) g.drawLine(i,0,0,i).drawLine(i,240,240,i);
g.drawLine(i,0,0,i);
g.drawLine(i,240,240,i);
}
g.flip(); g.flip();
n++; n++;
if (n<10) setTimeout(f,0); if (n<10) setTimeout(f,0);
@ -24,6 +21,7 @@ function fade(callback) {
f(); f();
} }
var SCENE_COUNT=11; var SCENE_COUNT=11;
function getScene(n) { function getScene(n) {
if (n==0) return function() { if (n==0) return function() {
@ -46,7 +44,6 @@ function getScene(n) {
if (n==1) return function() { if (n==1) return function() {
var img = require("heatshrink").decompress(atob("ptRxH+qYAfvl70mj5gAC0ekvd8FkAAdz3HJAYAH4+eJXWkJJYAF0hK2vfNJaIAB5t7S3fN5/V6wAD6vOTg9SumXy2W3QAB3eXul2JdnO63XAApPEVYvAJQIACJoRQDzBLoJQ3W5/NIwr4GJohMFAAROgJYvVJQiPGABZNN3bsdvYyESwnWJSIAC3RNM3V1JjZAES4nVJSYAB4xMNJrbkE56WD5xLVdB5NbFofNJbgABJh26qREPrFXrlbAAWjFgfWJgRLaTQhMLy5KNJINhsJLDrYrD5xLC6pLa5nGTR7oLq9bJQJMKTAXWJbbnR3RLJSoRMHv4pC5rkec6SaIrBLGw2r2XW1epcoqYeJiOXJYziEsOH2RBBw7lF56Yg5nGc6FScZOGJQPX2TmDFIfVTEBMSc4hLEw5KB6+rsJMH63X6pMf5hMQzBLCq5LD1ZLEJhTlfJiWXTA2GJYpMIcwPNc2O6TAuGRIPX1igDJg/PJmyYDcgXWwxMH1ApC53XcsHAJiVYcg2HJYZME0YpC5vWJkhLNJgLlDTAeFJhF/FQfVJkG6JiGXcomyJgOrJYhMErYqD53NJj7lRzBMDcoeGJhzoBJb3GJiN1qZBCJgWyJYpNF1LigAAXAJiNSJgzlGJgt/JkZLRy9TJgeHJhznFcuSZGw5MHJomjcuhLBqdcJiSaiTChMV1CYxy5LCqdXIAWy6+rJhCalTCN2JgdYH4WHJiGpTF7kDc43W2RMJTUZLQzBLFc4mr6+GJh2jTFmXJYyaEwuyc5Sag4xLZTQmG2WFJhxNaJYZMLJZSaEJoOHTR9/Ja+6JbdTqRNETRRNF1JLV4BLcAANYI5ToK1BLYJhWYJZwABq5NoJZ91JaAABdAZNS0ZLey9SJaRNYv5KM426JZmXuxKUJrKcL0lTzBLKzBKYJrVXvfGSol7EYWXJI27zF1JLQADq5NUrgYB4wAEEIV0comXI7wAFrCcPJgYWBTIIAETIN2JYmWuhMkdSdYCgOeJgueqRLFyzhfTi9bq4TC45MF49TuuXJlpONcogAC0hKB0gHDvZMEqRMpAANSq9crlbJAYADqwRDxGk0mIA4eCTQOeveXJdYAHqxNFdAeIAAQGCrOI0oHEAGVXTRJMGvgGCwRM7TAZMHwQGCvhM1rBMERIhMGAwdZJmtSqVTwNcwJEDJg19cvIADa4d9JhANDJnSLHJgrl6AAhFFAwpZDegjn7vhMGcvwABrJAFJgjl/TQpBBI4jl/AAN8TQhHDcv4ADcJBMDvpM+IYaeDAAhL+qd9SgycEJn7iEAA18Jf7nEcv4AIrJLIcv6aMcv4ADvhMHrJJ/AAbl/c6ZM/AAt9cv7nSIv7nLcv4AHrLl/TRpJBvgnjA==")); var img = require("heatshrink").decompress(atob("ptRxH+qYAfvl70mj5gAC0ekvd8FkAAdz3HJAYAH4+eJXWkJJYAF0hK2vfNJaIAB5t7S3fN5/V6wAD6vOTg9SumXy2W3QAB3eXul2JdnO63XAApPEVYvAJQIACJoRQDzBLoJQ3W5/NIwr4GJohMFAAROgJYvVJQiPGABZNN3bsdvYyESwnWJSIAC3RNM3V1JjZAES4nVJSYAB4xMNJrbkE56WD5xLVdB5NbFofNJbgABJh26qREPrFXrlbAAWjFgfWJgRLaTQhMLy5KNJINhsJLDrYrD5xLC6pLa5nGTR7oLq9bJQJMKTAXWJbbnR3RLJSoRMHv4pC5rkec6SaIrBLGw2r2XW1epcoqYeJiOXJYziEsOH2RBBw7lF56Yg5nGc6FScZOGJQPX2TmDFIfVTEBMSc4hLEw5KB6+rsJMH63X6pMf5hMQzBLCq5LD1ZLEJhTlfJiWXTA2GJYpMIcwPNc2O6TAuGRIPX1igDJg/PJmyYDcgXWwxMH1ApC53XcsHAJiVYcg2HJYZME0YpC5vWJkhLNJgLlDTAeFJhF/FQfVJkG6JiGXcomyJgOrJYhMErYqD53NJj7lRzBMDcoeGJhzoBJb3GJiN1qZBCJgWyJYpNF1LigAAXAJiNSJgzlGJgt/JkZLRy9TJgeHJhznFcuSZGw5MHJomjcuhLBqdcJiSaiTChMV1CYxy5LCqdXIAWy6+rJhCalTCN2JgdYH4WHJiGpTF7kDc43W2RMJTUZLQzBLFc4mr6+GJh2jTFmXJYyaEwuyc5Sag4xLZTQmG2WFJhxNaJYZMLJZSaEJoOHTR9/Ja+6JbdTqRNETRRNF1JLV4BLcAANYI5ToK1BLYJhWYJZwABq5NoJZ91JaAABdAZNS0ZLey9SJaRNYv5KM426JZmXuxKUJrKcL0lTzBLKzBKYJrVXvfGSol7EYWXJI27zF1JLQADq5NUrgYB4wAEEIV0comXI7wAFrCcPJgYWBTIIAETIN2JYmWuhMkdSdYCgOeJgueqRLFyzhfTi9bq4TC45MF49TuuXJlpONcogAC0hKB0gHDvZMEqRMpAANSq9crlbJAYADqwRDxGk0mIA4eCTQOeveXJdYAHqxNFdAeIAAQGCrOI0oHEAGVXTRJMGvgGCwRM7TAZMHwQGCvhM1rBMERIhMGAwdZJmtSqVTwNcwJEDJg19cvIADa4d9JhANDJnSLHJgrl6AAhFFAwpZDegjn7vhMGcvwABrJAFJgjl/TQpBBI4jl/AAN8TQhHDcv4ADcJBMDvpM+IYaeDAAhL+qd9SgycEJn7iEAA18Jf7nEcv4AIrJLIcv6aMcv4ADvhMHrJJ/AAbl/c6ZM/AAt9cv7nSIv7nLcv4AHrLl/TRpJBvgnjA=="));
g.reset(); g.reset();
g.setColor("#6633ff");
g.setBgColor("#6633ff"); g.setBgColor("#6633ff");
var y = 240, speed = 5; var y = 240, speed = 5;
function balloon(callback) { function balloon(callback) {
@ -57,7 +54,7 @@ function getScene(n) {
if (y>60) setTimeout(balloon,0,callback); if (y>60) setTimeout(balloon,0,callback);
else callback(); else callback();
} }
fade(function() { fade("#6633ff", function() {
balloon(function() { balloon(function() {
g.setColor(-1); g.setColor(-1);
g.setFont("6x8",3); g.setFont("6x8",3);