1
0
Fork 0

Merge pull request #37 from chrisvel/master

Add GPS Info application
master
Gordon Williams 2019-11-13 11:44:52 +00:00 committed by GitHub
commit 541b40fc7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 75 additions and 0 deletions

View File

@ -466,5 +466,18 @@
{"name":"*clotris","url":"clock-tris-icon.js","evaluate":true}, {"name":"*clotris","url":"clock-tris-icon.js","evaluate":true},
{"name":".trishig","url":"clock-tris-high"} {"name":".trishig","url":"clock-tris-high"}
] ]
},
{
"id": "gpsinfo",
"name": "GPS Info",
"icon": "gps-info.png",
"description": "An application that displays information about altitude, lat/lon, satellites and time",
"tags": "gps",
"type": "app",
"storage": [
{"name": "+gpsinfo","url": "gps-info.json"},
{"name": "-gpsinfo","url": "gps-info.js"},
{"name": "*gpsinfo","url": "gps-info-icon.js","evaluate": true}
]
} }
] ]

1
apps/gps-info-icon.js Normal file
View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwghC/AH4AKg9wC6t3u4uVC6wWBI6t3uJeVuMQCqcBLisAi4XLxAABFxAXKgc4DBAuBRhQXEDAq7MmYXEwBHEXZYXFGAOqAAKDMmczC4mIC62CC50PC4JIBkQABiIvRmURAAUSjQXSFwMoxGKC6CRFwUSVYgXLPIgXXwMYegoXLJAYXCGBnzGA0hPQIwMgYwGC6gwCC4ZIMC4gYBC604C4ZISmcRVgapQAAMhC6GIJIwXCMBcIxGDDBAuLC4IwGAARGMAAQWGmAXPJQoWMC4pwCCpoXJAB4XXAH4A/ABQA="))

55
apps/gps-info.js Normal file
View File

@ -0,0 +1,55 @@
var img = require("heatshrink").decompress(atob("mEwghC/AH4AKg9wC6t3u4uVC6wWBI6t3uJeVuMQCqcBLisAi4XLxAABFxAXKgc4DBAuBRhQXEDAq7MmYXEwBHEXZYXFGAOqAAKDMmczC4mIC62CC50PC4JIBkQABiIvRmURAAUSjQXSFwMoxGKC6CRFwUSVYgXLPIgXXwMYegoXLJAYXCGBnzGA0hPQIwMgYwGC6gwCC4ZIMC4gYBC604C4ZISmcRVgapQAAMhC6GIJIwXCMBcIxGDDBAuLC4IwGAARGMAAQWGmAXPJQoWMC4pwCCpoXJAB4XXAH4A/ABQA="))
Bangle.setGPSPower(1);
Bangle.setLCDMode("doublebuffered");
var lastFix = {
fix: 0,
alt: 0,
lat: 0,
lon: 0,
time: 0,
satellites: 0
};
function formatTime(now) {
var fd = now.toUTCString().split(" ");
var time = fd[4].substr(0, 5);
var date = [fd[0], fd[1], fd[2]].join(" ");
var year = now.getFullYear();
return time + " - " + date;
}
function onGPS(fix) {
lastFix = fix;
g.clear();
g.setFontAlign(-1, -1);
g.drawImage(img, 30, -6);
g.setFont("6x8");
g.setFontVector(22);
g.drawString("GPS Info", 80, 6);
if (fix.fix) {
var alt = fix.alt;
var lat = fix.lat;
var lon = fix.lon;
var time = formatTime(fix.time);
var satellites = fix.satellites;
var s = 12;
g.setFontVector(s+4);
g.drawString("Altitude: "+alt+" m",0,60);
g.setFontVector(s);
g.drawString("Lat: "+lat, 0, 60+20+s/2);
g.drawString("Lon: "+lon,0,60+40+s/2);
g.drawString("Time: "+time, 0, 60+60+s/2);
g.drawString("Satellites: "+satellites,0,60+80+s/2);
} else {
g.setFontAlign(0, 1);
g.setFont("6x8", 2);
g.drawString("Waiting for GPS", 120, 80);
}
g.flip();
}
Bangle.on('GPS', onGPS);

6
apps/gps-info.json Normal file
View File

@ -0,0 +1,6 @@
{
"name": "GPS Info",
"type": "app",
"icon": "*gpsinfo",
"src": "-gpsinfo"
}

BIN
apps/gps-info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB