pace: generate js

master
Rob Pilling 2025-05-14 22:36:59 +01:00
parent f3cbe69240
commit a41c92ceaf
1 changed files with 65 additions and 26 deletions

View File

@ -1,3 +1,4 @@
var _a;
{ {
var Layout_1 = require("Layout"); var Layout_1 = require("Layout");
var time_utils_1 = require("time_utils"); var time_utils_1 = require("time_utils");
@ -11,39 +12,70 @@
var S_1 = require("Storage"); var S_1 = require("Storage");
var drawTimeout_1; var drawTimeout_1;
var menuShown_1 = false; var menuShown_1 = false;
var splits_1 = []; var latestGps_1;
var splits_1 = ((_a = S_1.readJSON("pace.json", 1)) === null || _a === void 0 ? void 0 : _a.splits) || [];
var splitOffset_1 = 0, splitOffsetPx_1 = 0; var splitOffset_1 = 0, splitOffsetPx_1 = 0;
var GPS_TIMEOUT_MS_1 = 30000; var GPS_TIMEOUT_MS_1 = 30000;
var drawGpsLvl = function (l) {
var _a;
var gps = latestGps_1;
var nsats = (_a = gps === null || gps === void 0 ? void 0 : gps.satellites) !== null && _a !== void 0 ? _a : 0;
if (!gps || !gps.fix)
g.setColor("#FF0000");
else if (gps.satellites < 4)
g.setColor("#FF5500");
else if (gps.satellites < 6)
g.setColor("#FF8800");
else if (gps.satellites < 8)
g.setColor("#FFCC00");
else
g.setColor("#00FF00");
g.fillRect(l.x, l.y + l.h - 10 - (l.h - 10) * ((nsats > 12 ? 12 : nsats) / 12), l.x + l.w - 1, l.y + l.h - 1);
};
var layout_1 = new Layout_1({ var layout_1 = new Layout_1({
type: "v", type: "h",
c: [ c: [
{ {
type: "txt", type: "custom",
font: "6x8:2", render: drawGpsLvl,
label: "Pace", id: "gpslvl",
id: "paceLabel", filly: 1,
pad: 4 width: 10,
bgCol: g.theme.bg,
redraw: -1,
}, },
{ {
type: "txt", type: "v",
font: "Vector:40", c: [
label: "", {
id: "pace", type: "txt",
halign: 0 font: "6x8:2",
}, label: "Pace",
{ id: "paceLabel",
type: "txt", pad: 4
font: "6x8:2", },
label: "Time", {
id: "timeLabel", type: "txt",
pad: 4 font: "Vector:40",
}, label: "",
{ id: "pace",
type: "txt", halign: 0
font: "Vector:40", },
label: "", {
id: "time", type: "txt",
halign: 0 font: "6x8:2",
label: "Time",
id: "timeLabel",
pad: 4
},
{
type: "txt",
font: "Vector:40",
label: "",
id: "time",
halign: 0
},
]
}, },
] ]
}, { }, {
@ -207,6 +239,13 @@
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); Bangle.drawWidgets();
Bangle.setGPSPower(1, "pace"); Bangle.setGPSPower(1, "pace");
Bangle.on("GPS", function (gps) {
var newSats = gps === null || gps === void 0 ? void 0 : gps.satellites;
var l = layout_1["gpslvl"];
if (l && newSats !== (latestGps_1 === null || latestGps_1 === void 0 ? void 0 : latestGps_1.satellites))
l.redraw = newSats;
latestGps_1 = gps;
});
g.clearRect(Bangle.appRect); g.clearRect(Bangle.appRect);
draw_1(); draw_1();
} }