From 700a0369a7293667b92033b25f8ce791abb7767c Mon Sep 17 00:00:00 2001 From: Adam Schmalhofer Date: Mon, 16 May 2022 08:56:44 +0200 Subject: [PATCH 1/3] lcars: refractoring to prepare warning msgs --- apps/lcars/ChangeLog | 3 ++- apps/lcars/lcars.app.js | 18 ++++++++++-------- apps/lcars/metadata.json | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/lcars/ChangeLog b/apps/lcars/ChangeLog index e622feb1f..9a8ac4008 100644 --- a/apps/lcars/ChangeLog +++ b/apps/lcars/ChangeLog @@ -19,4 +19,5 @@ 0.19: Alarms can not go bigger than 100. 0.20: Use alarm for alarm functionality instead of own implementation. 0.21: Add custom theming. -0.22: Fix alarm and add build in function for step counting. \ No newline at end of file +0.22: Fix alarm and add build in function for step counting. +0.23: Add warning for low flash memory diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 07ca51fd9..584dc9caf 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -147,12 +147,14 @@ var iconCharging = { buffer : require("heatshrink").decompress(atob("23btugAwUBtoICARG0h048eODQYCJ6P/AAUCCJfbo4SDxYRLtEcuPHjlwgoRJ7RnIloUHoYjDAQfAExEAwUIkACEkSAIEYwCBhZKH6EIJI0CJRFHEY0BJRWBSgf//0AJRYSE4BKLj4SE8BKLv4RD/hK/JS2AXY0gXwRKG4cMmACCJQMAg8csEFJQsBAwfasEAm379u0gFbcBfHzgFBz1xMQZKBjY/D0E2+BOChu26yVEEYdww+cgAFCg+cgIfB6RKF4HbgEIkGChEAthfCJQ0eEAIjBBAMxk6GCJQtgtyVBwRKBAQMbHAJKGXIIFCgACBhl54qVG2E+EAJKBJoWAm0WJQ6SCXgdxFgMLJQvYjeAEAUwFIUitEtJQ14NwUHgEwKYZKGwOwNYX7XgWCg3CJQ5rB4MevPnAoPDJRJrCgEG/ECAoNsJRUwoEesIIBiJKI3CVDti/CJRKVDiJHBSo0YsOGjED8AjBcAcIgdhcAXAPIUAcAYIBcA4dBAQUG8BrBgBuCgOwcBEeXIK2BBAIFBgRqBGoYAChq8CcYUE4FbUYOACQsHzgjDgwFBCIImBAQsDtwYD7cAloRI22B86YBw5QBgoRJ7dAgYEDCJaeBJoMcsARMAQNoJIIRE6A")) }; -var iconNoBattery = { - text: "NO BAT", - width : 50, height : 50, bpp : 3, - transparent : 1, - buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) -}; +function iconWarning(msg) { + return { + text: msg, + width : 50, height : 50, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) + }; +} // Font to use: // @@ -325,12 +327,12 @@ function drawState(){ var hours = current.getHours(); var iconImg = Bangle.isCharging() ? iconCharging : - bat < 30 ? iconNoBattery : + bat < 30 ? iconWarning("NO BAT"): Bangle.isGPSOn() ? iconSatellite : hours % 4 == 0 ? iconSaturn : hours % 4 == 1 ? iconMars : hours % 4 == 2 ? iconMoon : - iconEarth; + { icon: iconEarth, text: "STATUS" }; g.drawImage(iconImg, 23, 118); g.setColor(cWhite); g.drawString("STATUS", 23+26, 108); diff --git a/apps/lcars/metadata.json b/apps/lcars/metadata.json index 40da1b37f..62a1c67db 100644 --- a/apps/lcars/metadata.json +++ b/apps/lcars/metadata.json @@ -3,7 +3,7 @@ "name": "LCARS Clock", "shortName":"LCARS", "icon": "lcars.png", - "version":"0.22", + "version":"0.23", "readme": "README.md", "supports": ["BANGLEJS2"], "description": "Library Computer Access Retrieval System (LCARS) clock.", From 9d2a2adf9a50e9558544f505f645af3dca7a6c29 Mon Sep 17 00:00:00 2001 From: Adam Schmalhofer Date: Mon, 16 May 2022 11:46:47 +0200 Subject: [PATCH 2/3] lcars: Warn when storage below 10% --- apps/lcars/lcars.app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index 584dc9caf..a2da8a677 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -323,11 +323,13 @@ function drawState(){ if(!isAlarmEnabled()){ var bat = E.getBattery(); + var flash = storage.getFree() / process.env.STORAGE; var current = new Date(); var hours = current.getHours(); var iconImg = Bangle.isCharging() ? iconCharging : bat < 30 ? iconWarning("NO BAT"): + flash < 0.1 ? iconWarning("DISK"): Bangle.isGPSOn() ? iconSatellite : hours % 4 == 0 ? iconSaturn : hours % 4 == 1 ? iconMars : From cc0ad4d6a35817350fb25ee7d4b7872c13e715ad Mon Sep 17 00:00:00 2001 From: Adam Schmalhofer Date: Mon, 16 May 2022 17:38:27 +0200 Subject: [PATCH 3/3] lcars: BAT/DISK warning label --- apps/lcars/lcars.app.js | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/apps/lcars/lcars.app.js b/apps/lcars/lcars.app.js index a2da8a677..e81c0d6f3 100644 --- a/apps/lcars/lcars.app.js +++ b/apps/lcars/lcars.app.js @@ -147,14 +147,11 @@ var iconCharging = { buffer : require("heatshrink").decompress(atob("23btugAwUBtoICARG0h048eODQYCJ6P/AAUCCJfbo4SDxYRLtEcuPHjlwgoRJ7RnIloUHoYjDAQfAExEAwUIkACEkSAIEYwCBhZKH6EIJI0CJRFHEY0BJRWBSgf//0AJRYSE4BKLj4SE8BKLv4RD/hK/JS2AXY0gXwRKG4cMmACCJQMAg8csEFJQsBAwfasEAm379u0gFbcBfHzgFBz1xMQZKBjY/D0E2+BOChu26yVEEYdww+cgAFCg+cgIfB6RKF4HbgEIkGChEAthfCJQ0eEAIjBBAMxk6GCJQtgtyVBwRKBAQMbHAJKGXIIFCgACBhl54qVG2E+EAJKBJoWAm0WJQ6SCXgdxFgMLJQvYjeAEAUwFIUitEtJQ14NwUHgEwKYZKGwOwNYX7XgWCg3CJQ5rB4MevPnAoPDJRJrCgEG/ECAoNsJRUwoEesIIBiJKI3CVDti/CJRKVDiJHBSo0YsOGjED8AjBcAcIgdhcAXAPIUAcAYIBcA4dBAQUG8BrBgBuCgOwcBEeXIK2BBAIFBgRqBGoYAChq8CcYUE4FbUYOACQsHzgjDgwFBCIImBAQsDtwYD7cAloRI22B86YBw5QBgoRJ7dAgYEDCJaeBJoMcsARMAQNoJIIRE6A")) }; -function iconWarning(msg) { - return { - text: msg, - width : 50, height : 50, bpp : 3, - transparent : 1, - buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) - }; -} +var iconWarning = { + width : 50, height : 50, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("kmSpIC/AWMyoQIFsmECJFJhMmA4QXByVICIwODAQ4RRFIQGD5JVLkIGDzJqMyAGDph8MiRKGyApEAoZKFyYIDQwMkSQNkQZABBhIIOOJRuEL5gRIAUKACVQMhmUSNYNDQYJTBBwYFByGTkOE5FJWYNMknCAQKYCiaSCpmGochDoSYBhMwTAZrChILBhmEzKPBF4ImBTAREBDoMmEwJVDoYjBycJFgWEJQRuLJQ1kmQCCjJlCBYbjCagaDBwyDBmBuBF4TjJAUQKINBChCDQxZBcZIIQF4NIgEAgKSDiQmEVQKMBoARBAAMCSQLLBVoxqKL4gaCChVCNwoRKOIo4CJIgABBoSMHpIRFgDdJOIJUBCAUJRgJuEAQb+DIIgRIAX4C/ASOQA")) +}; // Font to use: // @@ -326,18 +323,18 @@ function drawState(){ var flash = storage.getFree() / process.env.STORAGE; var current = new Date(); var hours = current.getHours(); - var iconImg = - Bangle.isCharging() ? iconCharging : - bat < 30 ? iconWarning("NO BAT"): - flash < 0.1 ? iconWarning("DISK"): - Bangle.isGPSOn() ? iconSatellite : - hours % 4 == 0 ? iconSaturn : - hours % 4 == 1 ? iconMars : - hours % 4 == 2 ? iconMoon : + var iconMsg = + Bangle.isCharging() ? { icon: iconCharging, text: "STATUS" } : + bat < 30 ? { icon: iconWarning, text: "BAT" } : + flash < 0.1 ? { icon: iconWarning, text: "DISK" } : + Bangle.isGPSOn() ? { icon: iconSatellite, text: "STATUS" } : + hours % 4 == 0 ? { icon: iconSaturn, text: "STATUS" } : + hours % 4 == 1 ? { icon: iconMars, text: "STATUS" } : + hours % 4 == 2 ? { icon: iconMoon, text: "STATUS" } : { icon: iconEarth, text: "STATUS" }; - g.drawImage(iconImg, 23, 118); + g.drawImage(iconMsg.icon, 23, 118); g.setColor(cWhite); - g.drawString("STATUS", 23+26, 108); + g.drawString(iconMsg.text, 23+26, 108); } else { // Alarm within symbol g.setColor(color2);