diff --git a/apps/cliock/ChangeLog b/apps/cliock/ChangeLog index 59f07c400..d5ae8efdf 100644 --- a/apps/cliock/ChangeLog +++ b/apps/cliock/ChangeLog @@ -1,2 +1,3 @@ 0.07: Submitted to App Loader 0.08: Fixes issue where face would redraw on wake leading to all memory being used and watch crashing. +0.09: Add BTN1 status line with ID,Fw ver, mem %, battery % diff --git a/apps/cliock/README.md b/apps/cliock/README.md new file mode 100644 index 000000000..23b878f26 --- /dev/null +++ b/apps/cliock/README.md @@ -0,0 +1,14 @@ +# Cli Clock + +A retro VT100 command line style clock + +## Screenshots +### Normall face + +![](cli_clock.jpg) + +### With BTN1 pressed + +* Successive presses of BTN1 will show id, FW version, battery %, memory % + +![](cli_clock_with_id.jpg) diff --git a/apps/cliock/app.js b/apps/cliock/app.js index a94b7264d..30c057c5d 100644 --- a/apps/cliock/app.js +++ b/apps/cliock/app.js @@ -4,6 +4,14 @@ var marginTop = 40; var flag = false; var WeekDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; + +const NONE_MODE = "none"; +const ID_MODE = "id"; +const VER_MODE = "ver"; +const BATT_MODE = "batt"; +const MEM_MODE = "mem"; +let infoMode = NONE_MODE; + function drawAll(){ updateTime(); updateRest(new Date()); @@ -13,6 +21,7 @@ function updateRest(now){ let date = locale.date(now,false); writeLine(WeekDays[now.getDay()],1); writeLine(date,2); + drawInfo(5); } function updateTime(){ if (!Bangle.isLCDOn()) return; @@ -32,13 +41,67 @@ function writeLineStart(line){ } function writeLine(str,line){ g.setFont("6x8",fontsize); - g.setColor(0,1,0); + //g.setColor(0,1,0); + g.setColor(0,0x07E0,0); g.setFontAlign(-1,-1); g.clearRect(0,marginTop+line*30,((str.length+1)*20),marginTop+25+line*30); writeLineStart(line); g.drawString(str,25,marginTop+line*30); } +function drawInfo(line) { + let val; + let str = ""; + let col = 0x07E0; // green + + switch(infoMode) { + case NONE_MODE: + col = 0x0000; + str = ""; + break; + case ID_MODE: + val = NRF.getAddress().split(":"); + str = "Id: " + val[4] + val[5]; + break; + case VER_MODE: + str = "Fw: " + process.env.VERSION; + break; + case MEM_MODE: + val = process.memory(); + str = "Memory: " + Math.round(val.usage*100/val.total) + "%"; + break; + case BATT_MODE: + default: + str = "Battery: " + E.getBattery() + "%"; + } + + g.setColor(col); + g.fillRect(0, marginTop-3+line*30, 239, marginTop+25+line*30); + g.setColor(0,0,0); + g.setFontAlign(0, -1); + g.drawString(str, g.getWidth()/2, marginTop+line*30); +} + +function changeInfoMode() { + switch(infoMode) { + case NONE_MODE: + infoMode = ID_MODE; + break; + case ID_MODE: + infoMode = VER_MODE; + break; + case VER_MODE: + infoMode = BATT_MODE; + break; + case BATT_MODE: + infoMode = MEM_MODE; + break; + case MEM_MODE: + default: + infoMode = NONE_MODE; + } +} + g.clear(); Bangle.loadWidgets(); Bangle.drawWidgets(); @@ -49,3 +112,4 @@ Bangle.on('lcdPower',function(on) { }); var click = setInterval(updateTime, 1000); setWatch(Bangle.showLauncher, BTN2, {repeat:false,edge:"falling"}); +setWatch(() => { changeInfoMode(); drawAll(); }, BTN1, {repeat: true}); diff --git a/apps/cliock/cli_clock.jpg b/apps/cliock/cli_clock.jpg new file mode 100644 index 000000000..70c1b8b07 Binary files /dev/null and b/apps/cliock/cli_clock.jpg differ diff --git a/apps/cliock/cli_clock_with_id.jpg b/apps/cliock/cli_clock_with_id.jpg new file mode 100644 index 000000000..2d8a14d6f Binary files /dev/null and b/apps/cliock/cli_clock_with_id.jpg differ diff --git a/apps/gpsservice/ChangeLog.txt b/apps/gpsservice/ChangeLog.txt index 03b3e6f73..8e62936ea 100644 --- a/apps/gpsservice/ChangeLog.txt +++ b/apps/gpsservice/ChangeLog.txt @@ -1,2 +1,3 @@ 0.01: New App 0.02: Restore to SuperE mode on power off. +0.03: dont reset to SuperE mode on power, as it prevents its general use diff --git a/apps/gpsservice/widget.js b/apps/gpsservice/widget.js index 18ad7ef17..22a589484 100644 --- a/apps/gpsservice/widget.js +++ b/apps/gpsservice/widget.js @@ -16,7 +16,7 @@ function gps_get_fix() { return last_fix; } function gps_get_status() { return WIDGETS.gpsservice.width === 24 ? true : false;} - function gps_get_version() { return "0.2"; } + function gps_get_version() { return "0.03"; } function log_debug(o) { if (debug) console.log(o); @@ -67,7 +67,7 @@ } function gps_power_off() { - setupSuperE(); // return to expected setup for other apps + //setupSuperE(); // return to expected setup for other apps Bangle.setGPSPower(0); have_fix = false; fixToggle = false;