diff --git a/apps/hrmmar/README.md b/apps/hrmmar/README.md index 2d9612117..4f512c773 100644 --- a/apps/hrmmar/README.md +++ b/apps/hrmmar/README.md @@ -2,6 +2,8 @@ Measurements from the build in PPG-Sensor (Photoplethysmograph) is sensitive to motion and can be corrupted with Motion Artifacts (MA). This module allows to remove these. +**WARNING:** On Bangle.js 2 this has been found to make heart rate readings [substantially less accurate in some cases](https://github.com/orgs/espruino/discussions/7738#discussioncomment-13594093) (the HRM already has built in motion artefact removal). + ## Settings * **MA removal** diff --git a/apps/hrmmar/metadata.json b/apps/hrmmar/metadata.json index fcb2fac5c..5ff49f3fc 100644 --- a/apps/hrmmar/metadata.json +++ b/apps/hrmmar/metadata.json @@ -4,7 +4,7 @@ "shortName":"HRM MA removal", "icon": "app.png", "version":"0.02", - "description": "Removes Motion Artifacts in Bangle.js's heart rate sensor data.", + "description": "Removes Motion Artifacts in Bangle.js's heart rate sensor data. **WARNING:** On Bangle.js 2 this has been found to make heart rate readings substantially less accurate in some cases.", "type": "bootloader", "tags": "health", "supports": ["BANGLEJS","BANGLEJS2"], diff --git a/apps/modclock/ChangeLog b/apps/modclock/ChangeLog new file mode 100644 index 000000000..d3e2a506b --- /dev/null +++ b/apps/modclock/ChangeLog @@ -0,0 +1 @@ +0.01: App Created w/ clockInfos, bold font, date and time. diff --git a/apps/modclock/README.md b/apps/modclock/README.md new file mode 100644 index 000000000..48427f6b3 --- /dev/null +++ b/apps/modclock/README.md @@ -0,0 +1,24 @@ +# Modern Clock + + + +A beautifully simple, modern clock with two Clock Infos, and a clean UI. Fast-Loads. + +![](Screenshot1.png) + + + +## Features + +* Has 2 Clock Infos, that are individually changeable. +* Low battery consumption. +* Uses locale for time and date. +* Bold time font, for quicker readability. +* Has Fast Loading, for quicker access to launcher. + + +## Creator + +RKBoss6 + +Github: https://github.com/RKBoss6 diff --git a/apps/modclock/Screenshot1.png b/apps/modclock/Screenshot1.png new file mode 100644 index 000000000..524b5ab04 Binary files /dev/null and b/apps/modclock/Screenshot1.png differ diff --git a/apps/modclock/Screenshot2.png b/apps/modclock/Screenshot2.png new file mode 100644 index 000000000..bda2a6099 Binary files /dev/null and b/apps/modclock/Screenshot2.png differ diff --git a/apps/modclock/app-icon.js b/apps/modclock/app-icon.js new file mode 100644 index 000000000..0870a83cb --- /dev/null +++ b/apps/modclock/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEw4kA///00x3u+pPK8+xxXCxHCn+/xO6tO6o0ZjFt+sjw0xudkhHCMf4A/AH4A/ADECkUiuUnBAe7AAm85gAK5YWChYRMAA2wC4Xq1QAQ13gC4cRAA3RBA8RC4/dCYfdAoIADjQXJjvRCYMdAIIFBjuqBAMaD4Ws4AvG6NB6NNGQMdilEokdAQNJjseC40d6lU7FdC4VImc2ptGmc1poXFjoYBC4PZqgXCouEouNo1E+sajxfELAIXIpoXBAYQXHF4U/+2EC4YVBzoXBpIXBL4oYB6lTmwXBSQNIC4lFO4LXIRIJHBUwIXCptIC4NKI5AqB7GU6OIC4ITBR4IXGvYvEC4IvBC4NDn/zxtDskzU4IXGa4JhBwjzC7MztAvBxE4jscF5EROoJfCAoJRCEgMa1wXFFwQYCAYQbCBgQDBC4aPFGAYGFAga/F1Xd1QCD1vRAoXdjUaAoWsC4e85nB5gCD5kc1kRBAXBiMcAoJHCgW7AAu8AYYdCAggWBAAMiCwvLB4YAF5YWDAAMMCBAAG0AXKNIRrChfsBZAXGBQoABC5QA/AH4A/AFgA==")) diff --git a/apps/modclock/app.js b/apps/modclock/app.js new file mode 100644 index 000000000..d1154d1c1 --- /dev/null +++ b/apps/modclock/app.js @@ -0,0 +1,206 @@ +//MODERN CLOCK + +//Initialize Bold Font +Graphics.prototype.setFontBold = function(scale) { + // Actual height 69 (68 - 0) + g.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//gAfAAf///H8AD///5/gAf///P+AD///5/wAf///P+AD///5/gAf///H8AD/+AAfAAAAAAAAAH/+AAAAA//wAAAAH/+AAAAA//wAAAAH/+AAAAA//AAAAAAAAAAAAAAAAAAAAH/+AAAAA//wAAAAH/+AAAAA//wAAAAH/+AAAAAf4AAAAAAAAAAAAAAAAPgAAAAAB8AAAAD4PgAAAAfh8AAAAD8Pn8AAAfh//gAAD///8AAA////gAH////8AD////8AAf///gAAD//98AgAf/8Pn8AD8fh//gAAD///8AAB////gAP////8AD////8AAf///gAAD//98AAAf/8PgAAD4fh8AAAAD8PgAAAAfh8AAAAD8AAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAHgAAADAA/AAAD/gH+AAB/+A/4AAf/4H/gAD//g/8AA//+H/wAH//w/+AB///H/wAP//4H+AB/j/gf/n/4P8B/8//A/wP/n/4H+B/8//gf4f/gP/j///AB/8P//wAH/h//+AA/8H//wAD/g//8AAf8D//AAA/gP/wAAD8A/8AAADgA8AAAAAAAAAAAAAAAAAAeAAAAAAf+AAAAAH/4AAAAB//gAAAAf/8AAAAD//gAAAAfj+ADgAD4PwB8AAfB+A/wAD8PwP+AAf/+H/gAD//h/wAAP/8/8AAB//f+AAAH/3/gAAAHz/wAAAAA/7/gAAAf+//AAAP/P/4AAD/z//gAB/4f/8AAf8D//wAD/AfB+AAPgD4PwAB4Afh+AAEAD//wAAAAf/8AAAAB//gAAAAP/4AAAAA/+AAAAAB/AAAAAAAAAAAAAAAAAAAAA/wAAAAAP/gAAAAD/+AAB/w//4AAf/v//AAH////8AB/////gAP////+AD///z/wAf//8H+AD/P/4fwAfw//j+AD+H/+fwAf5///8AD/////gAf////8AB//z//gAP/8P/4AA//A//AAD/wP/8AAH4P//gAAAB//8AAAAP//gAAAB//8AAAAP//gAAAB/x8AAAAP4HgAAAAAAcAAAAAAAgAAAAAAAAD/+AAAAA//wAAAAH/+AAAAA//wAAAAH/+AAAAA//wAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAf//8AAAf///4AAP////wAH/////gB//////A//////8P/+AB//x/8AAA//f8AAAA//+AAAAB//gAAAAH74AAAAAfAAAAAAAgAAAAAAAGAAAAABj4AAAAAf/gAAAAH/+AAAAB/f8AAAA/5/8AAA//P//AD//w//////8D//////AH/////gAf////4AA////8AAA///8AAAA//8AAAAAAAAAAAwAAAAAA/AAAAAAH4EAAAAA/BwAAAAD8fAAAAAfv4AAAAB//gAAAAP/4AAAD//8AAAAf//AAAAD//gAAAAf//AAAAD//8AAAAPH/4AAAAB//gAAAAPv8AAAAD8/AAAAAfhwAAAAH4GAAAAA/AAAAAAB4AAAAAAAAAAAAAAAfgAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAD///8AAAf///gAAD///8AAAf///gAAD///8AAAf///gAAD///8AAAf///gAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAD8AAAAAAAAAAAAAAAAACAAAAAAB4AAAAAD/AAAAAf/8AAAAD//gAAAAf/4AAAAD/+AAAAAf/gAAAAD/wAAAAAf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAH8AAAAAB/gAAAAAP8AAAAAB/wAAAAAP8AAAAAB/gAAAAAH8AAAAAAfAAAAAAAAAAAAAAD8AAAAAD/gAAAAH/8AAAAH//gAAAH//8AAAH///AAAH///AAAP///AAAP//+AAAP//+AAAD//+AAAAf/+AAAAD/+AAAAAf+AAAAAD8AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAP//8AAAH///4AAD////gAA////+AAP////4AB/////AAf////8AD/////gAf8AAP8AD+AAA/wAfwAAD+AD+AAAfwAfwAAH+AD/gAB/wAf////8AD/////gAP////8AA/////AAH////wAAf///8AAB////AAAB///gAAAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH8AAAAAA/gAAAAAP4AAAAAB/AAAAAAP4AAAAAD+AAAAAAfwAAAAAD////8AA/////gAH////8AA/////gAP////8AB/////gAf////8AD/////gAf////8AAAAAAAAAAAAAAAAAB8AAPgAA/gAH8AAP8AB/gAD/gAf8AA/8AH/gAP/gB/8AB/8Af/gAf/gH/8AD/wB//gAf4Af/8AD+AH//gAfwB//8AD+A///gAf4P/38AD///8/gAf///H8AD///g/gAP//4H8AB//+A/gAH//gH8AAf/4A/gAB/8AH8AAD+AA/gAAAAAD8AAAAAAAAAAAAAQAAADgAHwAAB+AA/gAAfwAH+AAH+AA/4AB/wAH/AAP+AA/8AD/wAH/gAf+P4/8AD/h/B/gAfwP4H+AD+B/AfwAfwP4D+AD+B/AfwAfwf4H+AD/n/h/gAf////8AD/////gAP////8AB/////AAH////4AAf/n/+AAB/4f/gAAH+B/4AAAAAB8AAAAAAAAAAAAAAAAAAAAA/AAAAAAf8AAAAAH/gAAAAD/8AAAAB//gAAAAf/8AAAAP//gAAAD//8AAAB///gAAA//n8AAAP/w/gAAH/4H8AAD/+B/gAAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAAAAH8AAAAAA/gAAAAAH8AAAAAAAAAAAAAAAAAAAAAHAAAAA/g+AAAf/8H8AAf//g/wAD//8H/AAf//w/4AD//+H/gAf//w/8AD//8H/gAf/fgP8AD+H8A/wAfw/gD+AD+H8AfwAfw/gH+AD+H+B/wAfw///8AD+D///gAfwf//8AD+D///AAfwP//wAD+A//+AAfwD//AAB+AH/wAAAAAHgAAAAAAAAAAAAAAAAAAAA/8AAAAB//8AAAA///wAAAP///gAAH///+AAB////wAAP////AAD////8AA/////gAH//wP8AB//8A/wAP8/gD+AD/n8AfwAf4/gD+AD+H+A/wAfw/4f8AD+H///gAfw///8AD+H///AAAAf//4AAAB//+AAAAP//gAAAAf/wAAAAA/8AAAAAAAAAAAAAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAMAD+AAAHgAfwAAD8AD+AAD/gAfwAB/8AD+AA//gAfwAf/8AD+AP//gAfwP//8AD+H///AAfz///AAD////gAAf///gAAD///wAAAf//4AAAD//4AAAAf/8AAAAD/+AAAAAf+AAAAAD/AAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAPAAAAfgP/AAAP/D/8AAD/8//wAA/////AAP////4AB/////gAf////8AD/////gAf//8P+AD+D/A/wAfwP4D+AD+B/AfwAfwf4H+AD///h/wAf////8AD/////gAP////8AB/////gAH////4AAf/n/+AAB/4f/gAAD+B/4AAAAAB8AAAAAAAAAAAAAAAAAAAfAAAAAAf/gAAAAH//AAAAD//8AAAA///gAAAH//+D+AB///wfwAf///H+AD///4/wAf8D/H8AD+AP4/gAfwB/P8AD+AP5/gAfwB+/4AD/gP//AAf////wAB////+AAP////gAA////4AAD///+AAAP///gAAA///wAAAB//4AAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAB4ADwAAA/gA/gAAH+AP8AAA/wB/gAAP+AP+AAA/wB/gAAH+AP8AAA/gA/gAAD4AD4AAAAAAAAAAAAAAAAAAAAAAAwAD4AAAfAA/gAf/4AH+AD//gA/wAf/8AP+AD//AA/wAf/wAH+AD/4AA/gAf8AAD4AAAAAAAAAAAAAAB+AAAAAAf4AAAAAD/gAAAAAf8AAAAAH/gAAAAA/+AAAAAP/wAAAAB//AAAAAP/4AAAAD//AAAAAf/8AAAAH+/gAAAA/3+AAAAH8/wAAAB/j+AAAAP8f4AAAD/D/AAAAf4P8AAAD/B/gAAA/wP8AAAH+A/wAAAAAAAAAAAAAAAAAAAAAAAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAA/H8AAAAH4/gAAAAAAAAAAAAAAAAAAAAAAAAAA/wH+AAAH+B/gAAAf4P8AAAD/B/gAAAf4f4AAAB/j/AAAAP8fwAAAA/n+AAAAH+/wAAAA/38AAAAD//gAAAAf/4AAAAB//AAAAAP/4AAAAA/+AAAAAH/wAAAAA/8AAAAAD/gAAAAAf4AAAAAB/AAAAAAAAAAAAeAAAAAAPwAAAAAD+AAAAAA/wAAAAAP+AAAAAB/wAAAAAf+AADwAD/wD4/gAf+B/P8AD/Af5/gAfwH/P+AD+B/5/wAfw//P8AD///4/gAf///D4AD//+AAAAP//gAAAB//4AAAAH/+AAAAA//gAAAAB/4AAAAAD8AAAAAAAAAAAAAAAAAAAAAAAf/gAAAAf//gAAAf///AAAP///+AAD////4AA/////gAP/wA/+AD/wAA/4A/wAAD/AP8AHAP8D/AP/g/gfgP/+D8D8D//4fw/A///h+H4P//8Pw+D///x+Pw/+D+Hx8H8APw+Pg/AB8Hx8HwAPg+Ph+AH8Hx8Pw//A+Pw///4Px+H///B+Hw///8Pg+H///h8H4f//+Pg/B/wPwAD8AAA+AAfwAAPwAB/AAD8AAP/AA/gAA//z/8AAD////AAAH///wAAAf//8AAAA//+AAAAA/+AAAAAAAAAAAAAAAHgAAAAAD8AAAAAD/gAAAAD/8AAAAD//gAAAB//8AAAB///gAAB///8AAB////gAA////wAA////wAAf///8AAD////gAAf//n8AAD//g/gAAf/gH8AAD//w/gAAf//38AAD////gAAP///8AAAf///4AAAf///4AAA////gAAA///8AAAA///gAAAA//8AAAAB//gAAAAB/8AAAAAB/gAAAAAD8AAAAAADgAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAfwP4H8AD+B/A/gAfwP4H8AD+B/A/gAf4P4H8AD/B/A/gAf8f4H8AB///h/gAP////8AB/////gAH////4AA/////AAH////4AAf/3/+AAB/8f/gAAD+B/4AAAAAD4AAAAAAAAAAAAAAAAAAAH/4AAAAH//4AAAD///wAAB////AAAf///8AAH////wAA/////AAP////4AB/////gAf/AB/8AD/gAB/gAf4AAH+AD+AAA/wAfwAAH+AD+AAA/wAfwAAH+AD+AAA/wAf4AAP8AD/gAD/gAP/gD/8AB/8Af/gAP/gD/4AA/8Af/AAD/gD/wAAP8Af8AAA/gD/AAAD8AfgAAADgBwAAAAAAAAAAAAAAAAAAAAAAAAAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD+AAA/gAfwAAH8AD/AAA/gAf4AAH8AD/AAA/gAP8AAP8AB/wAD/gAP/gD/4AA/////AAH////wAAf///+AAD////gAAP///4AAA///+AAAB///gAAAH//wAAAAH/wAAAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAfwP4H8AD+B/A/gAfwP4H8AD+B/A/gAfwP4H8AD+B/A/gAfwP4H8AD+B/A/gAfwP4H8AD+B/A/gAfwP4H8AD+B/A/gAfwAAH8AD+AAA/gAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAfwP8AAAD+B/gAAAfwP8AAAD+B/gAAAfwP8AAAD+B/gAAAfwP8AAAD+B/gAAAfwP8AAAD+B/gAAAfwP8AAAD+A/gAAAfwAAAAAAAAAAAAAAAAAAAAAAD/wAAAAH//wAAAD///gAAA////AAAP///8AAD////wAA/////AAP////4AB/////gAf/4H/8AD/wAD/gAf4AAP8AD+AAA/wAfwAAH+AD+Afg/wAfwD+D+AD+AfwfwAf4D+H+AD/gfw/wAf/D//8AB/8f//gAP/j//8AB/8f//gAH/j//4AAf8f//AAB/j//wAAH8f/+AAAHj//gAAAAAAAAAAAAAAAAAAAAAAAAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AAAB/AAAAAAP4AAAAAB/AAAAAAP4AAAAAB/AAAAAAP4AAAAAB/AAAAAAP4AAAAAB/AAAAAAP4AAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAAAAAAAAAAAAAAAAAAAAAAAB/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAAAAAAAAAAAAHAAAAAAB/AAAAAAP8AAAAAB/wAAAAAP/AAAAAB/4AAAAAP/gAAAAB/8AAAAAP/gAAAAAP+AAAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAAH/wAf////8AD/////gAf////8AD/////AAf////wAD////8AAf////AAD////gAAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAAAf/gAAAAP/4AAAAD//AAAAB//8AAAAf//4AAAP///wAAD////gAB////+AAf////8AD/+H//gAf/gP/8AD/4A//gAf8AB/8AD/AAD/gAfwAAP8AD4AAAfgAeAAAA8ADgAAADgAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAAAAAAAAAAAAAAAAAAAAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf/8H/8AD//8AAAAf//8AAAA///8AAAA///8AAAA///8AAAA///8AAAA///gAAAA//8AAAAA//gAAAAf/8AAAAf//gAAAf//8AAAf//+AAAf//+AAAf//+AAAf//+AAAD//+AAAAf/+AAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AB/////gAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAH//AAAAAP/8AAAAA//4AAAAB//wAAAAD//gAAAAH/+AAAAAf/8AAAAA//4AAAAB//wAAAAD//AAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AAAAAAAAAAAAAAAAAAH/wAAAAH//wAAAD///gAAA////AAAP///8AAD////wAA/////AAP////4AB/////gAP/gB/8AD/gAD/gAf4AAP+AD+AAA/wAfwAAH+AD+AAA/wAfwAAH+AD+AAA/wAf4AAP+AD/gAD/gAP/gB/8AB/////gAP////4AA/////AAD////wAAP///8AAA////AAAD///gAAAH//4AAAAH/4AAAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAfwD+AAAD+AfwAAAfwD+AAAD+AfwAAAfwD+AAAD/AfwAAAf4D+AAAD/g/wAAAP//+AAAB///wAAAP//8AAAA///gAAAH//4AAAAf//AAAAB//wAAAAH/8AAAAAH+AAAAAAAAAAAAAAAAAAAAAH/wAAAAH//wAAAD///gAAA////AAAP///8AAD////wAA////+AAP////4AB/////gAP/gD/8AD/gAD/gAf4AAP+AD/AAA/wAfwAAH+AD+AAA/wAfwAAH+AD+AAA/wAf4AAP/AD/gAD/4AP/gB//gB/////+AP/////4A//////gD/////8AP///9/gA////H4AD///w+AAH//4DgAAH/4AIAAAAAAAAAAAAAAAAAAAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAfwD+AAAD+AfwAAAfwD+AAAD+Af4AAAfwD/wAAD/Af/gAAf4H//AAD/z//+AAP////8AB/////gAP////8AA/////gAH//x/8AAf/8D/gAB//AH8AAH/wAPgAAHwAAcAAAAAAAgAAAAAAAAAAAAAAAAAAAB4AAAD+APwAAB/4B/AAAf/wP8AAH//B/wAA//4P/AAP//h/4AB//8P/gAf//x/8AD//+B/gAf4/4H8AD+H/A/wAfwf4D+AD+D/gfwAfwP8D+AD+B/w/wAf4H+H8AD/4///gAf/H//8AB/4f//gAP/D//4AA/4P//AAH/A//4AAf4H/+AAB/AP/AAAD4A/wAAAAAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAf////8AD/////gAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAD+AAAAAAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///4AAD////wAAf////gAD////+AAf////wAD/////AAf////8AD/////gAP////8AAAAAB/gAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAP8AD/////gAf////8AD/////gAf////4AD////+AAf////wAD////8AAf///+AAD////AAAAAAAAAAD4AAAAAAf4AAAAAD/4AAAAAf/4AAAAD//4AAAAf//wAAAD///wAAAf///wAAD////wAAH////wAAD////gAAD///8AAAB///gAAAA//8AAAAA//gAAAAP/8AAAAP//gAAAf//8AAA////gAA////8AB////8AAf///+AAD///+AAAf//+AAAD//+AAAAf/+AAAAD/+AAAAAf+AAAAAD+AAAAAAeAAAAAAAAAAAAAAeAAAAAAD/gAAAAAf/wAAAAD//8AAAAf///AAAD////gAAf////4AD/////gAf////8AAH////gAAB///8AAAAP//gAAAD//8AAAP///gAA////8AB/////gAf////gAD////AAAf//+AAAD//8AAAAf//+AAAD////AAAf////gAB/////gAAf///8AAAP///gAAAD//8AAAAP//gAAB///8AAH////gAf////8AD/////gAf////4AD////wAAf///AAAD//8AAAAf/wAAAAD/gAAAAAeAAAAAAAAAAAAAAYAAAAMADwAAAHgAfgAAD8AD/AAB/gAf+AAf8AD/4AP/gAf/wH/8AD//j//gAf////8AD/////gAH////wAAP///4AAAf//8AAAA//+AAAAB//gAAAA///AAAAf//+AAAP///8AAP////4AD/////gAf/+//8AD//B//gAf/wD/8AD/4AP/gAf8AAf8AD+AAA/gAfAAAB8ADwAAAHgAYAAAAMAAAAAAAAAcAAAAAAD4AAAAAAfwAAAAAD/gAAAAAf/AAAAAD/+AAAAAf/8AAAAD//4AAAAf//wAAAA///gAAAB////8AAB////gAAD///8AAAH///gAAAf//8AAAP///gAAP///8AAH////gAD////8AD///AAAAf//gAAAD//wAAAAf/4AAAAD/8AAAAAf+AAAAAD/AAAAAAfgAAAAADwAAAAAAAAAAAAAAAAAAAAAfwAAD8AD+AAA/gAfwAAP8AD+AAH/gAfwAB/8AD+AA//gAfwAP/8AD+AH//gAfwB//8AD+A///gAfwP//8AD+D///gAfx//38AD+f/4/gAf//+H8AD///A/gAf//wH8AD//4A/gAf/+AH8AD//AA/gAf/wAH8AD/4AA/gAf+AAH8AD/AAA/gAfwAAH8AD8AAA/gAAAAAAAAAAAAAAAAAAAAAAAD///////f//////7///////f//////7///////f//////7///////f//////78AAAAAffgAAAAD78AAAAAPAAAAAAAD4AAAAAAf4AAAAAD/wAAAAAf/wAAAAD//wAAAAf//gAAAD///gAAAf///AAAA////AAAA////AAAB///+AAAB///+AAAD///8AAAD///gAAAD//8AAAAH//gAAAAH/8AAAAAP/gAAAAAP8AAAAAAAAD8AAAAAffgAAAAD7///////f//////7///////f//////7///////f//////7///////f//////7///////AAAAAAAAAAIAAAAAAPAAAAAAH4AAAAAH/AAAAAD/4AAAAB//AAAAB//4AAAAf/+AAAAD/+AAAAAf+AAAAAD/wAAAAAf/gAAAAD//gAAAAP//AAAAAf/4AAAAA//AAAAAA/4AAAAAB/AAAAAAB4AAAAAADAAAAAAAAAAAAAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAH8AAAAAA/gAAAAAAAAAAAAAAAwAAAAAAHAAAAAAA+AAAAAAH4AAAAAA/gAAAAAH+AAAAAA/wAAAAAH+AAAAAAfwAAAAAB+AAAAAADwAAAAAAOAAAAAAAQAAAAAAAAAAAAAAAAAMAAAAA4P8AAAAfD/wAAAH4//AAAB/P/8AAAf5//gAAD/f/8AAAf7//wAAH/f/+AAA/z8fwAAH8fD+AAA/D4fgAAH8fD8AAA/z4/gAAH///4AAA////gAAD///8AAAf///gAAB///8AAAP///gAAA///8AAAB///gAAAAAD8AAAAAAAAAAAAAAAAAAAAAAAA/////+AH/////wA/////+AH/////wA/////+AH/////wA/////+AH/////gAAB/AD8AAAPwAfwAAD+AB+AAAfwAP4AAD+AD/AAAf8A/4AAD////AAAf///4AAB///+AAAP///wAAA///8AAAD///AAAAP//wAAAAf/4AAAAAPwAAAAAAAAAAAAAAAAAAAAf/gAAAAP/+AAAAD//8AAAA///wAAAP///AAAD///4AAAf///gAAH///8AAA/8D/wAAH+AH+AAA/gAfwAAH8AD+AAA/gA/wAAH/AP+AAA/+D/gAAD/wf8AAAf+D/gAAB/wf4AAAP+D/AAAA/wfwAAAD+D4AAAADwcAAAAAAAAAAAAAAAAAAAAP/wAAAAH//gAAAD///AAAA///8AAAP///gAAB///+AAAf///wAAD////AAAf+B/4AAD/AD/AAAfwAP4AAD+AB/AAAPwAfwAAB/AD+AD/////gA/////+AH/////wA/////+AH/////wA/////+AH/////wA/////+AD/////wAAAAAAAAAAAAAAAAAAB/4AAAAA//wAAAAf//AAAAH//+AAAB///wAAAP///AAAD///4AAAf///gAAH///8AAA/z9/wAAH8fn+AAA/j8fwAAH8fj+AAA/j8fwAAH/fj+AAA//8/gAAD//n8AAAf/9/gAAB///4AAAH/9/AAAAf/nwAAAB/8cAAAAD/gAAAAAAAAAAAD+AAAAAAfwAAAAAD+AAAAAH////wAD////+AB/////wAP////+AD/////wAf////+AH/////wA/////+AH/////wA/z+AAAAH8fwAAAA/j+AAAAH8fwAAAAAAAAAAAAAAAAAAAAAD/8AAAAB//4AgAA///geAAP//+H4AB///5/AAf///v8AD///8/gA////38AH/w/+fgA/wA/z+AH8AH+fwA/gAfz+AH8AD8fwAfgA/n8AD+AH//gAf////8AH/////gA/////4AH/////AA/////wAH////8AA/////AAH////gAAAAAAAAAAAAAAAD/////wA/////+AH/////wA/////+AH/////wA/////+AH/////wA/////+AD/////wAAA/AAAAAAPwAAAAAD+AAAAAAfwAAAAAD/AAAAAAf///wAAD///+AAAf///wAAD///+AAAP///wAAB///+AAAH///wAAAP//+AAAAf//wAAAAAAAAAAAAAAAAAAAAAAAB+f///wAfz///+AD/f///wAf7///+AD/f///wAf7///+AD/f///wAPz///+AA8P///gAAAAAAAAAAAAAAB/AAAAAAf5+P/////fz/////7/f////+f7/////z/f////+f7/////j/f////4Pz////+A8P///8AAAAAAAAAAAAAAAAAAAAAAAH/////wA/////+AH/////wA/////+AH/////wA/////+AH/////wA/////+AAAAP/gAAAAH/4AAAAB//wAAAAf//AAAAH//+AAAB///8AAAf///wAAD///+AAAf8P/wAAD/A/+AAAfwB/wAAD8AH+AAAfAAPwAADgAAeAAAYAABwAAAAAAAAAAAAAAAAAAAAAAAH/////wA/////+AH/////wA/////+AH/////wA/////+AH/////wA/////+AD/////gAAAAAAAAAAAAAAAAAAAAAAAAA////gAAH///8AAA////gAAH///8AAA////gAAH///8AAA////gAAD///8AAAPwAAAAAD8AAAAAAfgAAAAAH8AAAAAA/wAAAAAH///8AAA////gAAH///8AAA////gAAD///8AAAf///gAAB///8AAAH///gAAB///8AAAfwAAAAAD8AAAAAA/gAAAAAH8AAAAAA/8AAAAAH///8AAA////gAAH///8AAA////gAAD///8AAAP///gAAA///8AAAB///gAAAAAAAAAAAAAAAAAD///8AAA////gAAH///8AAA////gAAH///8AAA////gAAH///8AAA////gAAD///8AAAPwAAAAAD8AAAAAAfgAAAAAH8AAAAAA/wAAAAAH///8AAA////gAAH///8AAA////gAAD///8AAAf///gAAB///8AAAH///gAAAP//8AAAAAAAAAAAAAAAAAAAf/gAAAAP/+AAAAD//8AAAA///wAAAP///AAAD///4AAAf///gAAD///8AAA/8D/gAAH+AH+AAA/gAfwAAH8AD+AAA/gAfwAAH+AH+AAA/4B/wAAH///8AAAf///gAAD///4AAAP///AAAA///wAAAH//8AAAAP//AAAAAf/gAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAH/////gA/////8AH/////gA/////8AH/////gA/////8AH/////gAf////8AD+AP4AAAfgA/gAAH8AD8AAA/gAfwAAH8AH+AAA/4B/wAAH///+AAA////gAAD///8AAAf///gAAB///4AAAH//+AAAAf//gAAAA//wAAAAAfAAAAAAAAAAAAAAAAAAAAAf/gAAAAf//AAAAH//+AAAB///wAAAf///AAAD///8AAA////gAAH///+AAA/8D/wAAH+AH+AAA/gAfwAAH8AD+AAAfgA/gAAD+AH8AAAP////8AD/////gA/////8AH/////gA/////8AH/////gA/////8AH/////gAf////8AAAAAAAAAAAAAAAAAAAAAAAA////gAAH///8AAA////gAAH///8AAA////gAAH///8AAA////gAAD///8AAAP8AAAAAD/AAAAAA/wAAAAAH+AAAAAA/wAAAAAH+AAAAAA/wAAAAAAAAAAAAAAABgAAAAPwPAAAAD/B+AAAB/8PwAAAP/x/AAAD//P8AAAf/5/gAAH//P8AAA//8/wAAH9/j+AAA/H8fwAAH4/h+AAA/D+fwAAH8fz+AAA/7//gAAH/f/8AAAf5//gAAD/P/4AAAP4//AAAB/H/wAAAH4f8AAAAPB/AAAAAAAAAAAH8AAAAAA/gAAAAAH8AAAAA////8AAH////4AA/////AAH////8AA/////gAH////8AA/////wAH////+AAA/gA/wAAH8AD+AAA/gAfwAAH8AD8AAAAAAAAAAAAAAAAAAf//AAAAH///gAAA///+AAAH///4AAA////gAAH///8AAA////gAAH///+AAAf///wAAAAAH+AAAAAAfwAAAAAD8AAAAAA/gAAAAAH8AAAf///AAAH///8AAA////gAAH///8AAA////gAAH///8AAA////gAAH///8AAA////gAAAAAAAAAA8AAAAAAH8AAAAAA/+AAAAAH/+AAAAA//+AAAAH//+AAAA///+AAAH///8AAAf///gAAAP//8AAAAH//gAAAAD/8AAAAD//gAAAH//8AAAP///gAAH///8AAA///+AAAH//+AAAA//+AAAAH/+AAAAA/+AAAAAH+AAAAAA+AAAAAAAAAAAAAA8AAAAAAH+AAAAAA//AAAAAH//wAAAA///4AAAH///8AAA////gAAH///8AAAH///gAAAA//8AAAAB//gAAAD//8AAAH///gAAH///wAAA///wAAAH//gAAAA//wAAAAH//wAAAA///4AAAD///8AAAB///gAAAB//8AAAAA//gAAAH//8AAAf///gAAH///8AAA////gAAH///wAAA///gAAAH//AAAAA/+AAAAAH4AAAAAAQAAAAAAAAAAAAAAQAABgAAHgAA8AAA/AAfgAAH+AP8AAA/8H/gAAH/x/8AAA////gAAH///8AAA////gAAB///wAAAD//4AAAAH/+AAAAB//4AAAA///wAAAf///AAAH///8AAA////gAAH/7/8AAA/8H/gAAH/Af8AAA/gA/gAAHwAB8AAA4AADgAAAAAAAAAA+AAAAAAH+AAAAAA/+AAB8AH/8AAfwA//8AD+AH//8AfwA///8H+AH/////wAf////+AAP////gAAP///8AAAH///AAAH///wAAH///8AAP///+AAH///+AAA///+AAAH//+AAAA//+AAAAH/+AAAAA/+AAAAAH/AAAAAA/AAAAAAAAAAAAAAAAAAAAAD8AD8AAA/gA/gAAH8AP8AAA/gH/gAAH8B/8AAA/gf/gAAH8H/8AAA/j//gAAH8//8AAA/v//gAAH///8AAA////gAAH//38AAA//4/gAAH/+H8AAA//g/gAAH/wH8AAA/8A/gAAH/AH8AAA/gA/gAAH4AH8AAAAAAAAAAAAfgAAAAAD8AAAAAAfwAAAAAP/AAAAf////wAf/////gH/////+B//////4P//////j///P//8f//wf//3/wAAA/+/AAAAAPxwAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/////8D//////gf/////8D//////gf/////8AAAAAAAACAAAAAGD4AAAAB8/gAAAAf3//4B//+f//w///z///P//8P//////A//////4D/////+AP/////AAH////AAAAH+AAAAAAfwAAAAAD8AAAAAAAAAAAAAAAAAAAAAAgAAAAAD8AAAAAA/gAAAAAP8AAAAAD/gAAAAA/8AAAAAH/gAAAAA/wAAAAAH8AAAAAA/gAAAAAH8AAAAAA/wAAAAAD/AAAAAAP8AAAAAB/gAAAAAH+AAAAAAfwAAAAAD+AAAAAAfwAAAAAf+AAAAAD/wAAAAAf8AAAAAD/gAAAAAf4AAAAAD8AAAAAAeAAAAAAAAAAAA="), 32, atob("CwwPGxohHwgRDxYZCxIMERoUGhoaGhoaGhoMDBYZFxcoIB0eHRoZHh8MGB4ZJx8fHR8eHB0dHygeHRwOFAwVFQ8YGhgZGREZGQwMGgwmGRoaGRIXEBkYIhgYFw8JDxw="), 45|65536); +}; + +{ // must be inside our own scope here so that when we are unloaded everything disappears + // we also define functions using 'let fn = function() {..}' for the same reason. function decls are global +let drawTimeout; + +//ROUNDED RECT FUNCTION +let bRoundedRectangle= function(x1,y1,x2,y2,r) { + var f = 1 - r; + var ddF_x = 0; + var ddF_y = -2 * r; + var x = 0; + var y = r; + g.drawLine(x1+r,y1,x2-r,y1); + g.drawLine(x1+r,y2,x2-r,y2); + g.drawLine(x1,y1+r,x1,y2-r); + g.drawLine(x2,y1+r,x2,y2-r); + var cx1=x1+r; + var cx2=x2-r; + var cy1=y1+r; + var cy2=y2-r; + while(x < y) + { + if(f >= 0) + { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x + 1; + g.setPixel(cx2 + x, cy2 + y); + g.setPixel(cx1 - x, cy2 + y); + g.setPixel(cx2 + x, cy1 - y); + g.setPixel(cx1 - x, cy1 - y); + g.setPixel(cx2 + y, cy2 + x); + g.setPixel(cx1 - y, cy2 + x); + g.setPixel(cx2 + y, cy1 - x); + g.setPixel(cx1 - y, cy1 - x); + } + }; + + + +//CLOCK INFO +let clockInfoItems = require("clock_info").load(); + + + +//CLOCK INFO 1 DIMENSIONS: 13,103,w:66,h:65 + +let clockInfoMenuLeft = require("clock_info").addInteractive(clockInfoItems, { + // Add the dimensions we're rendering to here - these are used to detect taps on the clock info area + x : 10, y: 100, w: 72, h:70, + // You can add other information here you want to be passed into 'options' in 'draw' + // This function draws the info + draw : (itm, info, options) => { + // itm: the item containing name/hasRange/etc + // info: data returned from itm.get() containing text/img/etc + // options: options passed into addInteractive + // Clear the background + g.reset().clearRect(options.x-5, options.y-5, options.x+options.w+5, options.y+options.h+5); + // indicate focus - we're using a border, but you could change color? + if (options.focus){ + // show if focused + g.setColor(0,15,255); + bRoundedRectangle(options.x,options.y,options.x+options.w,options.y+options.h,8); + }else{ + g.setColor(g.theme.fg); + bRoundedRectangle(options.x,options.y,options.x+options.w,options.y+options.h,8); + } + // we're drawing center-aligned here + var midx = options.x+options.w/2; + var midy=options.y+options.h/2; + if (info.img){ + g.drawImage(info.img, midx-12,midy-21); + }// draw the image + g.setFont("Vector",16).setFontAlign(0,1).drawString(info.text, midx,midy+23); // draw the text + } +}); + + + +//CLOCK INFO RIGHT DIMENSIONS: 97,113, w:66, h: 55 +let clockInfoMenuRight = require("clock_info").addInteractive(clockInfoItems, { + // Add the dimensions we're rendering to here - these are used to detect taps on the clock info area + x : 94, y: 100, w: 72, h:70, + // You can add other information here you want to be passed into 'options' in 'draw' + // This function draws the info + draw : (itm, info, options) => { + // itm: the item containing name/hasRange/etc + // info: data returned from itm.get() containing text/img/etc + // options: options passed into addInteractive + // Clear the background + g.reset().clearRect(options.x-5, options.y-5, options.x+options.w+5, options.y+options.h+5); + // indicate focus - we're using a border, but you could change color? + if (options.focus){ + // show if focused + g.setColor(0,15,255); + bRoundedRectangle(options.x,options.y,options.x+options.w,options.y+options.h,8); + }else{ + g.setColor(g.theme.fg); + bRoundedRectangle(options.x,options.y,options.x+options.w,options.y+options.h,8); + } + // we're drawing center-aligned here + var midx = options.x+options.w/2; + var midy=options.y+options.h/2; + if (info.img){ + g.drawImage(info.img, midx-12,midy-21); + }// draw the image + g.setFont("Vector",16).setFontAlign(0,1).drawString(info.text, midx,midy+23); // draw the text + } +}); + + + + + + + +// DRAW FACE +let draw = function() { + var X = g.getWidth() / 2; + var Y = (g.getHeight() / 2)-15; + g.reset(); + var d = new Date(); + var clock = require("locale").time(d, 1 /*omit seconds*/); + var meridian = require("locale").meridian(d); + // draw the current time (4x size 7 segment) + + // align bottom right + + g.setFontBold(); + + if(meridian!=""){ + //calculate alignment + g.setFontBold(); + //padding in px + var padding=7; + var clkStrWidth= g.stringWidth(clock); + g.setFont("Vector",18); + var meridianStrWidth=g.stringWidth(meridian); + var totalStrWidth=meridianStrWidth+padding+clkStrWidth; + var startX = ((g.getWidth() - totalStrWidth) / 2)+6; + g.clearRect(0,0,g.getWidth(),90); + g.setFontBold(); + g.setFontAlign(-1,1); + g.drawString(clock, startX, Y+2,true); + g.setFont("Vector",20); + g.setFontAlign(-1,1); + g.drawString(meridian, startX + clkStrWidth + padding, Y-5, true); + + }else{ + + g.setFontBold(); + g.setFontAlign(0,1); + g.drawString(" "+clock+" ", X, Y-2,true); + + } + + + // draw the date, in a normal font + g.setFont("Vector",18); + g.setFontAlign(0,0); // align center bottom + // pad the date - this clears the background if the date were to change length + var dateStr = require("locale").dow(new Date(), 1)+", "+ require("locale").month(new Date(), true)+" "+new Date().getDate(); + g.drawString(" "+dateStr+" ", g.getWidth()/2, Y+9, true /*clear background*/); + + Bangle.drawWidgets(); + + // queue next draw + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, 60000 - (Date.now() % 60000)); +}; + + + + +// Show launcher when middle button pressed +Bangle.setUI({ + mode : "clock", + remove : function() { + // Called to unload all of the clock app + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + delete Graphics.prototype.setFontBold; + clockInfoMenuRight.remove(); + clockInfoMenuLeft.remove(); + + }}); + +g.clear(); +// Load widgets +Bangle.loadWidgets(); +draw(); +} diff --git a/apps/modclock/icon.png b/apps/modclock/icon.png new file mode 100644 index 000000000..f27596173 Binary files /dev/null and b/apps/modclock/icon.png differ diff --git a/apps/modclock/metadata.json b/apps/modclock/metadata.json new file mode 100644 index 000000000..344df0199 --- /dev/null +++ b/apps/modclock/metadata.json @@ -0,0 +1,20 @@ +{ + "id": "modclock", + "name": "Modern Clock", + "shortName":"Modern Clk", + "icon": "icon.png", + "version":"0.01", + "description": "A modern, simple clock, with two Clock Infos and Fast Loading", + "type":"clock", + "tags": "clock,clkinfo", + "supports": ["BANGLEJS2"], + "screenshots" : [ { "url":"Screenshot1.png" }, + { "url":"Screenshot2.png" } ], + "dependencies" : { "clock_info":"module"}, + "allow_emulator":true, + "readme":"README.md", + "storage": [ + {"name":"modclock.app.js","url":"app.js"}, + {"name":"modclock.img","url":"app-icon.js","evaluate":true} + ] +} diff --git a/apps/setting/README.md b/apps/setting/README.md index bbc724083..4ed99edcc 100644 --- a/apps/setting/README.md +++ b/apps/setting/README.md @@ -8,11 +8,20 @@ This is Bangle.js's main settings menu: * **Alerts** - Set how Bangle.js alerts you (including Quiet mode) * **Utils** - Utilities, including resetting settings +**New Users:** these are some settings you'll probably want to change right away: + +* **Calibrate LCD** Make sure that the LCD touchscreen responds to touches where you expect them to +* **Locale** Set whether you want 12 hour time, and what day of the week the week starts on. + See below for options under each heading: + +## Apps - App-specific settings + +This is where you adjust settings for an individual app. (eg. Health app: Adjust how often heart rate tracking should fire.) ## System - System settings -* **Theme** Adjust the colour scheme +* **Theme** Adjust the colour scheme. Choose between light mode, dark mode, or a custom theme. To adjust themes in more detail you can also use the [Theme Switcher App](https://banglejs.com/apps/?id=themesetter) * **LCD** Configure settings about the screen. How long it stays on, how bright it is, and when it turns on - see below. * **Locale** set time zone, the time format (12/24h, for supported clocks) and the first day of the week * **Clock** if you have more than one clock face, select the default one @@ -44,9 +53,9 @@ See below for options under each heading: * **Rotation** allows you to rotate (or mirror) what's displayed on the screen, eg. for left-handed wearers (needs 2v16 or 2v15 cutting edge firmware to work reliably) * **Wake on X** should the given activity wake up the Bangle.js LCD? * On Bangle.js 2 when locked the touchscreen is turned off to save power. Because of this, - `Wake on Touch` actually uses the accelerometer, and you need to actually tap the display to wake Bangle.js (we recently renamed the menu item to `Wake on Tap`). + `Wake on Tap` actually uses the accelerometer, and you need to actually tap the display to wake Bangle.js. * **Twist X** these options adjust the sensitivity of `Wake on Twist` to ensure Bangle.js wakes up with just the right amount of wrist movement. -* **Calibrate** on Bangle.js 2, pop up a screen allowing you to calibrate the touchscreen (calibration only works on 2v16 or 2v15 cutting edge builds) +* **Calibrate** on Bangle.js 2, pop up a screen allowing you to calibrate the touchscreen, ensuring your touches are mapped to the right place on the screen. (Highly reccomended for new users!) ## Locale diff --git a/apps/weather/ChangeLog b/apps/weather/ChangeLog index c51459fe0..f7f86fad7 100644 --- a/apps/weather/ChangeLog +++ b/apps/weather/ChangeLog @@ -23,4 +23,5 @@ 0.24: Redraw clock_info on update and provide color field for condition 0.25: Added monochrome parameter to drawIcon in lib 0.26: Expose update function (for use by iOS integration) -0.27: Add UV index display \ No newline at end of file +0.27: Add UV index display +0.28: Fix UV positioning, hide when 0 \ No newline at end of file diff --git a/apps/weather/README.md b/apps/weather/README.md index fbca9a02f..7b29f90dd 100644 --- a/apps/weather/README.md +++ b/apps/weather/README.md @@ -7,8 +7,12 @@ It also adds a ClockInfo list to Bangle.js. You can view the full report through the app: ![Screenshot](screenshot.png) + ## iOS Setup -Use the [iOS shortcut here](https://www.icloud.com/shortcuts/93c186179e4f4c1ead76dbca619cd791). The shortcut uses Apple Weather for weather updates, and sends a notification, which is read by Bangle.js. To push weather every hour, or interval, you will need to create a shortcut automation for every time you want to push the weather. + +Use the iOS shortcut [here](https://www.icloud.com/shortcuts/73be0ce1076446f3bdc45a5707de5c4d). The shortcut uses Apple Weather for weather updates, and sends a notification, which is read by Bangle.js. To push weather every hour, or interval, you will need to create a shortcut automation for every time you want to push the weather. + + ## Android Setup 1. Install [Gadgetbridge for Android](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/) on your phone. @@ -51,8 +55,8 @@ When you first load QuickWeather, it will take you through the setup process. Yo **Note:** at one time, the Weather Notification app also worked with Gadgetbridge. However, many users are reporting it's no longer seeing the OpenWeatherMap API key as valid. The app has not received any updates since August of 2020, and may be unmaintained. - ## Clock Infos + Tap on any clockInfo when focused to directly open the weather app. Adds: * Condition ClockInfo with condition icon @@ -60,6 +64,7 @@ Adds: * Wind speed ClockInfo. * Chance of rain ClockInfo. * Temperature ClockInfo without condition icon. + ## Settings * Expiration timespan can be set after which the local weather data is considered as invalid diff --git a/apps/weather/app.js b/apps/weather/app.js index b33e20a90..85fc0e1a7 100644 --- a/apps/weather/app.js +++ b/apps/weather/app.js @@ -156,4 +156,4 @@ Bangle.setUI("clock"); // This matters for widgets that hide themselves for clocks, like widclk or widclose delete Bangle.CLOCK; -Bangle.drawWidgets(); +Bangle.drawWidgets(); \ No newline at end of file diff --git a/apps/weather/metadata.json b/apps/weather/metadata.json index ccefac8c0..699cdd627 100644 --- a/apps/weather/metadata.json +++ b/apps/weather/metadata.json @@ -1,7 +1,7 @@ { "id": "weather", "name": "Weather", - "version": "0.27", + "version": "0.28", "description": "Show Gadgetbridge/iOS weather report", "icon": "icon.png", "screenshots": [{"url":"screenshot.png"}],