From 6baddd3b433d318d196c0f2d1c73df2572f2600e Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 3 Dec 2021 09:15:37 +0000 Subject: [PATCH] Add gbdebug app --- apps.json | 14 ++++++++++++++ apps/gbdebug/ChangeLog | 1 + apps/gbdebug/README.md | 26 ++++++++++++++++++++++++++ apps/gbdebug/app-icon.js | 1 + apps/gbdebug/app.js | 21 +++++++++++++++++++++ apps/gbdebug/app.png | Bin 0 -> 2914 bytes 6 files changed, 63 insertions(+) create mode 100644 apps/gbdebug/ChangeLog create mode 100644 apps/gbdebug/README.md create mode 100644 apps/gbdebug/app-icon.js create mode 100644 apps/gbdebug/app.js create mode 100644 apps/gbdebug/app.png diff --git a/apps.json b/apps.json index e6f013123..0a1fd3039 100644 --- a/apps.json +++ b/apps.json @@ -269,6 +269,20 @@ ], "data": [{"name":"gbridge.json"}] }, + { "id": "gbdebug", + "name": "Gadgetbridge Debug", + "shortName":"GB Debug", + "version":"0.01", + "description": "Debug info for Gadgetbridge. Run this app and when Gadgetbridge messages arrive they are displayed on-screen.", + "icon": "app.png", + "tags": "", + "supports" : ["BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"gbdebug.app.js","url":"app.js"}, + {"name":"gbdebug.img","url":"app-icon.js","evaluate":true} + ] + }, { "id": "mclock", "name": "Morphing Clock", diff --git a/apps/gbdebug/ChangeLog b/apps/gbdebug/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/gbdebug/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/gbdebug/README.md b/apps/gbdebug/README.md new file mode 100644 index 000000000..47b1525b8 --- /dev/null +++ b/apps/gbdebug/README.md @@ -0,0 +1,26 @@ +# Gadgetbridge Debug + +This is useful if your Bangle isn't responding to the Gadgetbridge +Android app properly. + +This app disables all existing Gadgetbridge handlers and then displays the +messages that come from Gadgetbridge on the screen +of the watch. It also saves the last 10 messages in a variable +called `history`. + +More info on Gadgetbridge at http://www.espruino.com/Gadgetbridge + +## Usage + +* Run the `GB Debug` app on your Bangle +* Connect your Bangle to Gadgetbridge +* Do whatever was causing you problems (eg receiving a call) +* The Gadgetbridge message should now be displayed on-screen + +If you want to get the *actual* data rather than copying it from the screen. + +* Ensure the `GB Debug` app is kept running after the above steps +* Disconnect Gadgetbridge from the Bangle +* Connect the Web IDE on your PC +* Type `show()` on the left-hand side of the IDE and the +last 10 messages from Gadgetbridge will be shown. diff --git a/apps/gbdebug/app-icon.js b/apps/gbdebug/app-icon.js new file mode 100644 index 000000000..a701ef3a9 --- /dev/null +++ b/apps/gbdebug/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEw4cBzsE/4AClMywH680rlOW9N9kmSpICnyBBBgQRMkBUDgIRKoBoGGRYAFHBGARpARHT5MJKxQAFLgzELCIlIBQkSCIsEPRKBHCIYbGoIRFiQRJhJgFCISeEBwMQOQykCCIqlBpMEBIgRHOQYRIYQbPDhAbBNwgRJVwOCTIgRFMAJKDgQRGOQprBCIMSGogHBJwwbBkC2FCJNbUgMNwHYBYPJCIhODju0yFNCIUGCJGCoE2NwO24EAmw1FHgWCpMGgQOBBIMwCJGSpMmyAjDCI6eBCIWAhu2I4IRCUIYREk+Ah3brEB2CzFAAIRCl3b23btsNCJckjoRC1h2CyAREtoNC9oDC2isCCIgHBjdt5MtCJj2CowjD2uyCIOSCI83lu123tAQIRI4EB28/++39/0mwRCoARCgbfByU51/3rev+mWCIQwCPok0EYIRB/gRDpJ+EcYQRJkARQdgq/Bl5HE7IRDZAltwAREyXbCIbIFgEfCIXsBwQCDQAYRNLgvfCIXtCI44Dm3JCIUlYoYCGkrjBk9bxMkyy9CChICFA=")) diff --git a/apps/gbdebug/app.js b/apps/gbdebug/app.js new file mode 100644 index 000000000..ee5e46999 --- /dev/null +++ b/apps/gbdebug/app.js @@ -0,0 +1,21 @@ +E.showMessage("Waiting for message"); +Bangle.loadWidgets(); +Bangle.drawWidgets(); + +var history = []; + +GB = function(e) { + if (history.length > 10) + history = history.slice(history.length-10); + history.push(e); + + var s = JSON.stringify(e,null,2); + + g.reset().clear(Bangle.appRect); + g.setFont("6x8").setFontAlign(-1,0); + g.drawString(s, 10, g.getHeight()/2); +}; + +function show() { + print(JSON.stringify(history,null,2)); +} diff --git a/apps/gbdebug/app.png b/apps/gbdebug/app.png new file mode 100644 index 0000000000000000000000000000000000000000..f70bce7ad2910e6f0746dca829f7a5311f0d0c8d GIT binary patch literal 2914 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