Merge pull request #1720 from peerdavid/master

[LCARS] Bugfixes and other improvements
master
Gordon Williams 2022-04-20 16:27:39 +01:00 committed by GitHub
commit 7f657a31d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 48 additions and 44 deletions

View File

@ -19,3 +19,4 @@
0.19: Alarms can not go bigger than 100. 0.19: Alarms can not go bigger than 100.
0.20: Use alarm for alarm functionality instead of own implementation. 0.20: Use alarm for alarm functionality instead of own implementation.
0.21: Add custom theming. 0.21: Add custom theming.
0.22: Fix alarm and add build in function for step counting.

View File

@ -1,8 +1,7 @@
# LCARS clock # LCARS clock
A simple LCARS inspired clock. A simple LCARS inspired clock.
Note: To display the steps, the wpedom app is required. To show weather data To show weather data such as temperature, humidity or window you BangleJS must be connected
such as temperature, humidity or window you BangleJS must be connected
with Gadgetbride and the weather app must be installed. To use the timer with Gadgetbride and the weather app must be installed. To use the timer
the "sched" app must be installed on your device. the "sched" app must be installed on your device.

View File

@ -1,10 +1,11 @@
const TIMER_IDX = "lcars";
const SETTINGS_FILE = "lcars.setting.json"; const SETTINGS_FILE = "lcars.setting.json";
const locale = require('locale'); const locale = require('locale');
const storage = require('Storage') const storage = require('Storage')
let settings = { let settings = {
alarm: -1, alarm: -1,
dataRow1: "Steps", dataRow1: "Steps",
dataRow2: "Temp", dataRow2: "HRM",
dataRow3: "Battery", dataRow3: "Battery",
speed: "kph", speed: "kph",
fullscreen: false, fullscreen: false,
@ -237,7 +238,7 @@ function _drawData(key, y, c){
value = E.getAnalogVRef().toFixed(2) + "V"; value = E.getAnalogVRef().toFixed(2) + "V";
} else if(key == "HRM"){ } else if(key == "HRM"){
value = Math.round(Bangle.getHealthStatus("day").bpm); value = Math.round(Bangle.getHealthStatus("last").bpm);
} else if (key == "TEMP"){ } else if (key == "TEMP"){
var weather = getWeather(); var weather = getWeather();
@ -290,6 +291,9 @@ function drawInfo(){
return; return;
} }
// Draw Infor is called from different sources so
// we have to ensure that the alignment is always the same.
g.setFontAlign(-1, -1, 0);
g.setFontAntonioMedium(); g.setFontAntonioMedium();
g.setColor(color2); g.setColor(color2);
g.clearRect(120, 10, g.getWidth(), 75); g.clearRect(120, 10, g.getWidth(), 75);
@ -556,17 +560,20 @@ function draw(){
* Step counter via widget * Step counter via widget
*/ */
function getSteps() { function getSteps() {
var steps = 0;
try{ try{
if (WIDGETS.wpedom !== undefined) { if (WIDGETS.wpedom !== undefined) {
return WIDGETS.wpedom.getSteps(); steps = WIDGETS.wpedom.getSteps();
} else if (WIDGETS.activepedom !== undefined) { } else if (WIDGETS.activepedom !== undefined) {
return WIDGETS.activepedom.getSteps(); steps = WIDGETS.activepedom.getSteps();
} else {
steps = Bangle.getHealthStatus("day").steps;
} }
} catch(ex) { } catch(ex) {
// In case we failed, we can only show 0 steps. // In case we failed, we can only show 0 steps.
} }
return 0; return steps;
} }
@ -575,21 +582,6 @@ function getWeather(){
try { try {
weatherJson = storage.readJSON('weather.json'); weatherJson = storage.readJSON('weather.json');
} catch(ex) {
// Return default
}
if(weatherJson === undefined){
return {
temp: "-",
hum: "-",
txt: "-",
wind: "-",
wdir: "-",
wrose: "-"
};
}
var weather = weatherJson.weather; var weather = weatherJson.weather;
// Temperature // Temperature
@ -604,8 +596,20 @@ function getWeather(){
weather.wind = Math.round(wind[1] * speedFactor); weather.wind = Math.round(wind[1] * speedFactor);
return weather return weather
} catch(ex) {
// Return default
} }
return {
temp: " ? ",
hum: " ? ",
txt: " ? ",
wind: " ? ",
wdir: " ? ",
wrose: " ? "
};
}
/* /*
* Handle alarm * Handle alarm

View File

@ -5,9 +5,9 @@
const storage = require('Storage') const storage = require('Storage')
let settings = { let settings = {
alarm: -1, alarm: -1,
dataRow1: "Battery", dataRow1: "Steps",
dataRow2: "Steps", dataRow2: "HRM",
dataRow3: "Temp", dataRow3: "Battery",
speed: "kph", speed: "kph",
fullscreen: false, fullscreen: false,
themeColor1BG: "#FF9900", themeColor1BG: "#FF9900",

View File

@ -3,7 +3,7 @@
"name": "LCARS Clock", "name": "LCARS Clock",
"shortName":"LCARS", "shortName":"LCARS",
"icon": "lcars.png", "icon": "lcars.png",
"version":"0.21", "version":"0.22",
"readme": "README.md", "readme": "README.md",
"supports": ["BANGLEJS2"], "supports": ["BANGLEJS2"],
"description": "Library Computer Access Retrieval System (LCARS) clock.", "description": "Library Computer Access Retrieval System (LCARS) clock.",