mirror of https://github.com/espruino/BangleApps
btadv: hide stale values from menu
parent
628d791c98
commit
b671ca5952
|
@ -11,16 +11,12 @@ var __assign = (this && this.__assign) || function () {
|
||||||
return __assign.apply(this, arguments);
|
return __assign.apply(this, arguments);
|
||||||
};
|
};
|
||||||
var _a, _b;
|
var _a, _b;
|
||||||
Bangle.loadWidgets();
|
|
||||||
Bangle.drawWidgets();
|
|
||||||
var ADVERT_MS = 30 * 1000;
|
|
||||||
var acc;
|
var acc;
|
||||||
var bar;
|
var bar;
|
||||||
var gps;
|
var gps;
|
||||||
var hrm;
|
var hrm;
|
||||||
var mag;
|
var mag;
|
||||||
var curMenu = "main";
|
var curMenu = "main";
|
||||||
var updateInterval;
|
|
||||||
var mainMenuScroll = 0;
|
var mainMenuScroll = 0;
|
||||||
var settings = {
|
var settings = {
|
||||||
barEnabled: false,
|
barEnabled: false,
|
||||||
|
@ -110,6 +106,10 @@ var updateMenu = function () {
|
||||||
accMenu.z.value = acc.z.toFixed(2);
|
accMenu.z.value = acc.z.toFixed(2);
|
||||||
E.showMenu(accMenu);
|
E.showMenu(accMenu);
|
||||||
}
|
}
|
||||||
|
else if (accMenu.x.value !== "...") {
|
||||||
|
accMenu.x.value = accMenu.y.value = accMenu.z.value = "...";
|
||||||
|
E.showMenu(accMenu);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "bar":
|
case "bar":
|
||||||
if (bar) {
|
if (bar) {
|
||||||
|
@ -118,6 +118,10 @@ var updateMenu = function () {
|
||||||
barMenu.Temp.value = bar.temperature.toFixed(1) + 'C';
|
barMenu.Temp.value = bar.temperature.toFixed(1) + 'C';
|
||||||
E.showMenu(barMenu);
|
E.showMenu(barMenu);
|
||||||
}
|
}
|
||||||
|
else if (barMenu.Altitude.value !== "...") {
|
||||||
|
barMenu.Altitude.value = barMenu.Press.value = barMenu.Temp.value = "...";
|
||||||
|
E.showMenu(accMenu);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "gps":
|
case "gps":
|
||||||
if (gps) {
|
if (gps) {
|
||||||
|
@ -128,6 +132,11 @@ var updateMenu = function () {
|
||||||
gpsMenu.HDOP.value = (gps.hdop * 5).toFixed(1) + 'm';
|
gpsMenu.HDOP.value = (gps.hdop * 5).toFixed(1) + 'm';
|
||||||
E.showMenu(gpsMenu);
|
E.showMenu(gpsMenu);
|
||||||
}
|
}
|
||||||
|
else if (gpsMenu.Lat.value !== "...") {
|
||||||
|
gpsMenu.Lat.value = gpsMenu.Lon.value = gpsMenu.Altitude.value =
|
||||||
|
gpsMenu.Satellites.value = gpsMenu.HDOP.value = "...";
|
||||||
|
E.showMenu(gpsMenu);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "hrm":
|
case "hrm":
|
||||||
if (hrm) {
|
if (hrm) {
|
||||||
|
@ -135,6 +144,10 @@ var updateMenu = function () {
|
||||||
hrmMenu.Confidence.value = hrm.confidence + '%';
|
hrmMenu.Confidence.value = hrm.confidence + '%';
|
||||||
E.showMenu(hrmMenu);
|
E.showMenu(hrmMenu);
|
||||||
}
|
}
|
||||||
|
else if (hrmMenu.BPM.value !== "...") {
|
||||||
|
hrmMenu.BPM.value = hrmMenu.Confidence.value = "...";
|
||||||
|
E.showMenu(hrmMenu);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "mag":
|
case "mag":
|
||||||
if (mag) {
|
if (mag) {
|
||||||
|
@ -144,6 +157,10 @@ var updateMenu = function () {
|
||||||
magMenu.Heading.value = mag.heading.toFixed(1);
|
magMenu.Heading.value = mag.heading.toFixed(1);
|
||||||
E.showMenu(magMenu);
|
E.showMenu(magMenu);
|
||||||
}
|
}
|
||||||
|
else if (magMenu.x.value !== "...") {
|
||||||
|
magMenu.x.value = magMenu.y.value = magMenu.z.value = magMenu.Heading.value = "...";
|
||||||
|
E.showMenu(magMenu);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -166,9 +183,7 @@ var updateBleAdvert = function () {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NRF.setAdvertising(Bangle.bleAdvert, {
|
NRF.setAdvertising(Bangle.bleAdvert);
|
||||||
interval: ADVERT_MS,
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
var encodeHrm = function () { return [0, hrm ? hrm.bpm : 0]; };
|
var encodeHrm = function () { return [0, hrm ? hrm.bpm : 0]; };
|
||||||
var encodeBarServiceData = function (data) {
|
var encodeBarServiceData = function (data) {
|
||||||
|
@ -215,9 +230,17 @@ var toByteArray = function (value, numberOfBytes, isSigned) {
|
||||||
};
|
};
|
||||||
var enableSensors = function () {
|
var enableSensors = function () {
|
||||||
Bangle.setBarometerPower(settings.barEnabled, "btadv");
|
Bangle.setBarometerPower(settings.barEnabled, "btadv");
|
||||||
|
if (!settings.barEnabled)
|
||||||
|
bar = undefined;
|
||||||
Bangle.setGPSPower(settings.gpsEnabled, "btadv");
|
Bangle.setGPSPower(settings.gpsEnabled, "btadv");
|
||||||
|
if (!settings.gpsEnabled)
|
||||||
|
gps = undefined;
|
||||||
Bangle.setHRMPower(settings.hrmEnabled, "btadv");
|
Bangle.setHRMPower(settings.hrmEnabled, "btadv");
|
||||||
|
if (!settings.hrmEnabled)
|
||||||
|
hrm = undefined;
|
||||||
Bangle.setCompassPower(settings.magEnabled, "btadv");
|
Bangle.setCompassPower(settings.magEnabled, "btadv");
|
||||||
|
if (!settings.magEnabled)
|
||||||
|
mag = undefined;
|
||||||
};
|
};
|
||||||
var updateSetting = function (name, value) {
|
var updateSetting = function (name, value) {
|
||||||
settings[name] = value;
|
settings[name] = value;
|
||||||
|
@ -243,7 +266,6 @@ var updateServices = function () {
|
||||||
_b["0x2a37"] = {
|
_b["0x2a37"] = {
|
||||||
value: encodeHrm(),
|
value: encodeHrm(),
|
||||||
notify: true,
|
notify: true,
|
||||||
dog: 1,
|
|
||||||
},
|
},
|
||||||
_b),
|
_b),
|
||||||
_a));
|
_a));
|
||||||
|
@ -253,13 +275,20 @@ Bangle.on('pressure', function (newBar) { return bar = newBar; });
|
||||||
Bangle.on('GPS', function (newGps) { return gps = newGps; });
|
Bangle.on('GPS', function (newGps) { return gps = newGps; });
|
||||||
Bangle.on('HRM', function (newHrm) { return hrm = newHrm; });
|
Bangle.on('HRM', function (newHrm) { return hrm = newHrm; });
|
||||||
Bangle.on('mag', function (newMag) { return mag = newMag; });
|
Bangle.on('mag', function (newMag) { return mag = newMag; });
|
||||||
enableSensors();
|
Bangle.loadWidgets();
|
||||||
|
Bangle.drawWidgets();
|
||||||
showMainMenu();
|
showMainMenu();
|
||||||
setInterval(updateMenu, 1000);
|
enableSensors();
|
||||||
|
setInterval(updateBleAdvert, 30000);
|
||||||
|
var menuInterval = setInterval(updateMenu, 1000);
|
||||||
|
Bangle.on("lock", function (locked) {
|
||||||
|
changeInterval(menuInterval, locked ? 30000 : 1000);
|
||||||
|
});
|
||||||
|
var serviceInterval;
|
||||||
NRF.on("connect", function () {
|
NRF.on("connect", function () {
|
||||||
updateInterval = setInterval(updateServices, 1000);
|
serviceInterval = setInterval(updateServices, 1000);
|
||||||
});
|
});
|
||||||
NRF.on("disconnect", function () {
|
NRF.on("disconnect", function () {
|
||||||
clearInterval(updateInterval);
|
clearInterval(serviceInterval);
|
||||||
updateInterval = undefined;
|
serviceInterval = undefined;
|
||||||
});
|
});
|
||||||
|
|
|
@ -115,6 +115,9 @@ const updateMenu = () => {
|
||||||
accMenu.y.value = acc.y.toFixed(2);
|
accMenu.y.value = acc.y.toFixed(2);
|
||||||
accMenu.z.value = acc.z.toFixed(2);
|
accMenu.z.value = acc.z.toFixed(2);
|
||||||
E.showMenu(accMenu);
|
E.showMenu(accMenu);
|
||||||
|
} else if (accMenu.x.value !== "...") {
|
||||||
|
accMenu.x.value = accMenu.y.value = accMenu.z.value = "...";
|
||||||
|
E.showMenu(accMenu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -124,6 +127,9 @@ const updateMenu = () => {
|
||||||
barMenu.Press.value = bar.pressure.toFixed(1) + 'mbar';
|
barMenu.Press.value = bar.pressure.toFixed(1) + 'mbar';
|
||||||
barMenu.Temp.value = bar.temperature.toFixed(1) + 'C';
|
barMenu.Temp.value = bar.temperature.toFixed(1) + 'C';
|
||||||
E.showMenu(barMenu);
|
E.showMenu(barMenu);
|
||||||
|
} else if (barMenu.Altitude.value !== "...") {
|
||||||
|
barMenu.Altitude.value = barMenu.Press.value = barMenu.Temp.value = "...";
|
||||||
|
E.showMenu(accMenu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -135,6 +141,10 @@ const updateMenu = () => {
|
||||||
gpsMenu.Satellites.value = "" + gps.satellites;
|
gpsMenu.Satellites.value = "" + gps.satellites;
|
||||||
gpsMenu.HDOP.value = (gps.hdop * 5).toFixed(1) + 'm';
|
gpsMenu.HDOP.value = (gps.hdop * 5).toFixed(1) + 'm';
|
||||||
E.showMenu(gpsMenu);
|
E.showMenu(gpsMenu);
|
||||||
|
} else if (gpsMenu.Lat.value !== "...") {
|
||||||
|
gpsMenu.Lat.value = gpsMenu.Lon.value = gpsMenu.Altitude.value =
|
||||||
|
gpsMenu.Satellites.value = gpsMenu.HDOP.value = "...";
|
||||||
|
E.showMenu(gpsMenu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -143,6 +153,9 @@ const updateMenu = () => {
|
||||||
hrmMenu.BPM.value = "" + hrm.bpm;
|
hrmMenu.BPM.value = "" + hrm.bpm;
|
||||||
hrmMenu.Confidence.value = hrm.confidence + '%';
|
hrmMenu.Confidence.value = hrm.confidence + '%';
|
||||||
E.showMenu(hrmMenu);
|
E.showMenu(hrmMenu);
|
||||||
|
} else if (hrmMenu.BPM.value !== "...") {
|
||||||
|
hrmMenu.BPM.value = hrmMenu.Confidence.value = "...";
|
||||||
|
E.showMenu(hrmMenu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -153,6 +166,9 @@ const updateMenu = () => {
|
||||||
magMenu.z.value = "" + mag.z;
|
magMenu.z.value = "" + mag.z;
|
||||||
magMenu.Heading.value = mag.heading.toFixed(1);
|
magMenu.Heading.value = mag.heading.toFixed(1);
|
||||||
E.showMenu(magMenu);
|
E.showMenu(magMenu);
|
||||||
|
} else if (magMenu.x.value !== "...") {
|
||||||
|
magMenu.x.value = magMenu.y.value = magMenu.z.value = magMenu.Heading.value = "...";
|
||||||
|
E.showMenu(magMenu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -279,9 +295,20 @@ const toByteArray = (value: number, numberOfBytes: number, isSigned: boolean) =>
|
||||||
|
|
||||||
const enableSensors = () => {
|
const enableSensors = () => {
|
||||||
Bangle.setBarometerPower(settings.barEnabled, "btadv");
|
Bangle.setBarometerPower(settings.barEnabled, "btadv");
|
||||||
|
if (!settings.barEnabled)
|
||||||
|
bar = undefined;
|
||||||
|
|
||||||
Bangle.setGPSPower(settings.gpsEnabled, "btadv");
|
Bangle.setGPSPower(settings.gpsEnabled, "btadv");
|
||||||
|
if (!settings.gpsEnabled)
|
||||||
|
gps = undefined;
|
||||||
|
|
||||||
Bangle.setHRMPower(settings.hrmEnabled, "btadv");
|
Bangle.setHRMPower(settings.hrmEnabled, "btadv");
|
||||||
|
if (!settings.hrmEnabled)
|
||||||
|
hrm = undefined;
|
||||||
|
|
||||||
Bangle.setCompassPower(settings.magEnabled, "btadv");
|
Bangle.setCompassPower(settings.magEnabled, "btadv");
|
||||||
|
if (!settings.magEnabled)
|
||||||
|
mag = undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateSetting = (
|
const updateSetting = (
|
||||||
|
|
Loading…
Reference in New Issue