1
0
Fork 0

Reduce FIFO_FULL messages

1. the lazy layout rendering takes too much time.
2. enable the gps at the end of the file.
3. save SATinView to detect changes.
master
BartS23 2022-01-10 16:11:09 +01:00 committed by Romek
parent 445b707750
commit 7905d3cffc
1 changed files with 16 additions and 6 deletions

View File

@ -4,7 +4,7 @@ function satelliteImage() {
var Layout = require("Layout");
var layout;
Bangle.setGPSPower(1, "app");
//Bangle.setGPSPower(1, "app");
E.showMessage("Loading..."); // avoid showing rubbish on screen
var lastFix = {
@ -19,7 +19,7 @@ var lastFix = {
var SATinView = 0;
var nofBD = 0;
var nofGP = 0;
var listenerGPSraw = 1;
var listenerGPSraw = 0;
function formatTime(now) {
if (now == undefined) {
@ -87,12 +87,12 @@ function onGPS(fix) {
{type:"txt", font:"6x8", pad:3, label:"Satellites used" }
]},
{type:"txt", font:"6x8", label:"", fillx:true, id:"progress" }
]},{lazy:true});
]},{lazy:false});
}
g.clearRect(0,24,g.getWidth(),g.getHeight());
layout.render();
}
lastFix = fix;
//lastFix = fix;
if (fix.fix) {
if (listenerGPSraw == 1) {
Bangle.removeListener('GPS-raw', onGPSraw);
@ -108,6 +108,7 @@ function onGPS(fix) {
layout.time.label = "Time: "+formatTime(fix.time);
layout.sat.label = "Satellites: "+satellites;
layout.maidenhead.label = "Maidenhead: "+maidenhead;
layout.render();
} else {
if (listenerGPSraw == 0) {
Bangle.on('GPS-raw', onGPSraw);
@ -116,7 +117,15 @@ function onGPS(fix) {
layout.sat.label = fix.satellites;
layout.progress.label = "in view: " + SATinView;
}
layout.render();
//layout.render();
if (listenerGPSraw == 0 && !fix.fix) {
setTimeout(() => Bangle.on('GPS-raw', onGPSraw), 10);
listenerGPSraw = 1;
}
lastFix = fix;
lastFix.SATinView = SATinView;
}
function onGPSraw(nmea) {
@ -129,7 +138,8 @@ function onGPSraw(nmea) {
Bangle.loadWidgets();
Bangle.drawWidgets();
Bangle.on('GPS', onGPS);
Bangle.on('GPS-raw', onGPSraw);
//Bangle.on('GPS-raw', onGPSraw);
Bangle.setGPSPower(1, "app");
function exitApp() {
load();