diff --git a/apps/android/ChangeLog b/apps/android/ChangeLog index 2262f20d8..2e98a1237 100644 --- a/apps/android/ChangeLog +++ b/apps/android/ChangeLog @@ -25,4 +25,4 @@ 0.24: Handle new 'nav' event for navigation 0.25: Added option to 'ignore' an app from the message 0.26: Change handling of GPS status to depend on GPS events instead of connection events - +0.27: Issue newline before GB commands (solves issue with console.log and ignored commands) diff --git a/apps/android/metadata.json b/apps/android/metadata.json index c5312a33e..30890f12a 100644 --- a/apps/android/metadata.json +++ b/apps/android/metadata.json @@ -2,7 +2,7 @@ "id": "android", "name": "Android Integration", "shortName": "Android", - "version": "0.26", + "version": "0.27", "description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.", "icon": "app.png", "tags": "tool,system,messages,notifications,gadgetbridge", diff --git a/apps/android/settings.js b/apps/android/settings.js index 1cfc8927c..82883a68d 100644 --- a/apps/android/settings.js +++ b/apps/android/settings.js @@ -1,8 +1,6 @@ (function(back) { - - - - function gb(j) { + function gbSend(j) { + Bluetooth.println(""); Bluetooth.println(JSON.stringify(j)); } var settings = require("Storage").readJSON("android.settings.json",1)||{}; @@ -16,8 +14,8 @@ /*LANG*/"Find Phone" : () => E.showMenu({ "" : { "title" : /*LANG*/"Find Phone" }, "< Back" : ()=>E.showMenu(mainmenu), - /*LANG*/"On" : _=>gb({t:"findPhone",n:true}), - /*LANG*/"Off" : _=>gb({t:"findPhone",n:false}), + /*LANG*/"On" : _=>gbSend({t:"findPhone",n:true}), + /*LANG*/"Off" : _=>gbSend({t:"findPhone",n:false}), }), /*LANG*/"Keep Msgs" : { value : !!settings.keep, diff --git a/apps/findphone/ChangeLog b/apps/findphone/ChangeLog index 29100f3c1..27c7460ab 100644 --- a/apps/findphone/ChangeLog +++ b/apps/findphone/ChangeLog @@ -1,3 +1,4 @@ 0.01: First Version 0.02: Remove HID requirement, update screen 0.03: Fix for Bangle 2, toggle find with top half of screen, exit touch bottom half of screen +0.04: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/findphone/app.js b/apps/findphone/app.js index e5e32739a..6a2681031 100644 --- a/apps/findphone/app.js +++ b/apps/findphone/app.js @@ -5,11 +5,11 @@ var finding = false; function draw() { // show message - g.clear(g.theme.bg); + g.clear(g.theme.bg); g.setColor(g.theme.fg); g.setFont("Vector", fontSize); g.setFontAlign(0,0); - + if (finding) { g.drawString("Finding...", g.getWidth()/2, (g.getHeight()/2)-20); g.drawString("Click to stop", g.getWidth()/2, (g.getHeight()/2)+20); @@ -20,6 +20,7 @@ function draw() { } function findPhone(v) { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({t:"findPhone", n:v})); } @@ -43,7 +44,7 @@ if (process.env.HWVERSION == 1) { if (process.env.HWVERSION == 2) { Bangle.on('touch', function(button, xy) { - + // click top part of the screen to stop start if (xy.y < g.getHeight() / 2) { find(); diff --git a/apps/findphone/metadata.json b/apps/findphone/metadata.json index d67c6ec93..4ce72982e 100644 --- a/apps/findphone/metadata.json +++ b/apps/findphone/metadata.json @@ -2,7 +2,7 @@ "id": "findphone", "name": "Find Phone", "shortName": "Find Phone", - "version": "0.03", + "version": "0.04", "description": "Find your phone via Gadgetbridge. Click any button to let your phone ring. 📳 Note: The functionality is available even without this app, just go to Settings, App Settings, Gadgetbridge, Find Phone.", "icon": "app.png", "tags": "tool,android", diff --git a/apps/gbmusic/ChangeLog b/apps/gbmusic/ChangeLog index d8379b317..90e5ed857 100644 --- a/apps/gbmusic/ChangeLog +++ b/apps/gbmusic/ChangeLog @@ -10,3 +10,4 @@ 0.10: Simplify touch events Remove date+time 0.11: Use default Bangle formatter for booleans +0.12: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/gbmusic/app.js b/apps/gbmusic/app.js index 49f54dac9..ffd247f61 100644 --- a/apps/gbmusic/app.js +++ b/apps/gbmusic/app.js @@ -415,6 +415,7 @@ let tCommand = {}; * @param {string} command - "play"/"pause"/"next"/"previous"/"volumeup"/"volumedown" */ function sendCommand(command) { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({t: "music", n: command})); // for control color if (command in tCommand) { diff --git a/apps/gbmusic/metadata.json b/apps/gbmusic/metadata.json index bbe2a158d..0c73548cb 100644 --- a/apps/gbmusic/metadata.json +++ b/apps/gbmusic/metadata.json @@ -2,7 +2,7 @@ "id": "gbmusic", "name": "Gadgetbridge Music Controls", "shortName": "Music Controls", - "version": "0.11", + "version": "0.12", "description": "Control the music on your Gadgetbridge-connected phone", "icon": "icon.png", "screenshots": [{"url":"screenshot_v1_d.png"},{"url":"screenshot_v1_l.png"}, diff --git a/apps/gbtwist/ChangeLog b/apps/gbtwist/ChangeLog index ec66c5568..830486ae2 100644 --- a/apps/gbtwist/ChangeLog +++ b/apps/gbtwist/ChangeLog @@ -1 +1,2 @@ 0.01: Initial version +0.02: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/gbtwist/app.js b/apps/gbtwist/app.js index 4bd495277..03646064d 100644 --- a/apps/gbtwist/app.js +++ b/apps/gbtwist/app.js @@ -22,14 +22,17 @@ var counter = 0; //stores your counted your twists var tstate = false; //are you ready to count the twists? function playx() { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({t:"music", n:"play"})); } function volup() { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({t:"music", n:"volumeup"})); } function voldn() { + Bluetooth.println(""); Bluetooth.println(JSON.stringify({t:"music", n:"volumedown"})); } diff --git a/apps/gbtwist/metadata.json b/apps/gbtwist/metadata.json index 24f39a9d4..cb3e07584 100644 --- a/apps/gbtwist/metadata.json +++ b/apps/gbtwist/metadata.json @@ -2,7 +2,7 @@ "id": "gbtwist", "name": "Gadgetbridge Twist Control", "shortName": "Twist Control", - "version": "0.01", + "version": "0.02", "description": "Shake your wrist to control your music app via Gadgetbridge", "icon": "app.png", "type": "app", diff --git a/apps/ha/ChangeLog b/apps/ha/ChangeLog index 2a911c207..587a074f2 100644 --- a/apps/ha/ChangeLog +++ b/apps/ha/ChangeLog @@ -7,3 +7,4 @@ 0.07: Update clock_info to avoid a redraw 0.08: Allow swiping to switch triggers 0.09: Improve web interface, arrows in UI +0.10: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/ha/ha.lib.js b/apps/ha/ha.lib.js index b09cbeab2..93ba2416e 100644 --- a/apps/ha/ha.lib.js +++ b/apps/ha/ha.lib.js @@ -64,6 +64,7 @@ exports.sendTrigger = function(triggerName){ while(retries > 0){ try{ // Now lets send the trigger that we sould send. + Bluetooth.println(""); Bluetooth.println(JSON.stringify({ t:"intent", action:"com.espruino.gadgetbridge.banglejs.HA", diff --git a/apps/ha/metadata.json b/apps/ha/metadata.json index d44b4b6f8..a34621b04 100644 --- a/apps/ha/metadata.json +++ b/apps/ha/metadata.json @@ -1,7 +1,7 @@ { "id": "ha", "name": "Home Assistant", - "version": "0.09", + "version": "0.10", "description": "Integrates your Bangle.js into Home Assistant.", "icon": "ha.png", "type": "app", diff --git a/apps/marioclock/ChangeLog b/apps/marioclock/ChangeLog index 276c65c6b..1ef3a571d 100644 --- a/apps/marioclock/ChangeLog +++ b/apps/marioclock/ChangeLog @@ -13,3 +13,4 @@ 0.13: Fix drawPyramid function so pyramids are drawn in correct Y position 0.14: Add jumping frame for characters 0.15: Disable notification buzz during Quiet Mode +0.16: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/marioclock/marioclock-app.js b/apps/marioclock/marioclock-app.js index ee6371f4e..1f2e3a30a 100644 --- a/apps/marioclock/marioclock-app.js +++ b/apps/marioclock/marioclock-app.js @@ -92,6 +92,7 @@ function writeSettings(newSettings) { } function phoneOutbound(msg) { + Bluetooth.println(""); Bluetooth.println(JSON.stringify(msg)); } diff --git a/apps/marioclock/metadata.json b/apps/marioclock/metadata.json index a0282405e..f8cd98ac3 100644 --- a/apps/marioclock/metadata.json +++ b/apps/marioclock/metadata.json @@ -1,7 +1,7 @@ { "id": "marioclock", "name": "Mario Clock", - "version": "0.15", + "version": "0.16", "description": "Animated retro Mario clock, with Gameboy style 8-bit grey-scale graphics.", "icon": "marioclock.png", "type": "clock", diff --git a/apps/sleeplog/ChangeLog b/apps/sleeplog/ChangeLog index 3159fb939..93202b291 100644 --- a/apps/sleeplog/ChangeLog +++ b/apps/sleeplog/ChangeLog @@ -9,4 +9,5 @@ 0.11: Prevent module not found error 0.12: Improve README, option to add functions triggered by status changes or time periods, remove old log (<0.10) conversion 0.13: Prevent to stay in consecutive sleep if not worn, correct trigger calling, add trigger object itself as argument to the fn function -0.14: Add "Delete all logfiles before" to interface.html, display all logfiles in the interface \ No newline at end of file +0.14: Add "Delete all logfiles before" to interface.html, display all logfiles in the interface +0.15: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/sleeplog/boot.js b/apps/sleeplog/boot.js index 6506296de..53873ab29 100644 --- a/apps/sleeplog/boot.js +++ b/apps/sleeplog/boot.js @@ -303,6 +303,7 @@ if (sleeplog.conf.enabled) { // send status to gadgetbridge var gb_kinds = "unknown,not_worn,activity,light_sleep,deep_sleep"; + Bluetooth.println(""); Bluetooth.println(JSON.stringify({ t: "act", act: gb_kinds.split(",")[data.status], diff --git a/apps/sleeplog/metadata.json b/apps/sleeplog/metadata.json index 16f51b91e..911e0cfa1 100644 --- a/apps/sleeplog/metadata.json +++ b/apps/sleeplog/metadata.json @@ -2,7 +2,7 @@ "id":"sleeplog", "name":"Sleep Log", "shortName": "SleepLog", - "version": "0.14", + "version": "0.15", "description": "Log and view your sleeping habits. This app is using the built in movement calculation.", "icon": "app.png", "type": "app", diff --git a/apps/spotrem/ChangeLog b/apps/spotrem/ChangeLog index a92ed3de2..48b82b12a 100644 --- a/apps/spotrem/ChangeLog +++ b/apps/spotrem/ChangeLog @@ -6,3 +6,4 @@ 0.06: Make compatible with Fastload Utils app. 0.07: Remove just the specific listeners to not interfere with Quick Launch when fastloading. +0.08: Issue newline before GB commands (solves issue with console.log and ignored commands) \ No newline at end of file diff --git a/apps/spotrem/app.js b/apps/spotrem/app.js index f9046c4a6..b3fa76f86 100644 --- a/apps/spotrem/app.js +++ b/apps/spotrem/app.js @@ -62,7 +62,7 @@ let touchHandler = function(_, xy) { backToMenu = true; E.showMenu(spotifyMenu); } else if ((R.x-1 warnTime) { - g.setColor("#f00"); + g.setColor("#f00"); w = 24; } } @@ -127,6 +127,7 @@ g.drawImage(atob("FBQBAAAABgAAYAAPAACwABOAATgAI8ACPABD4AQ+AEPgD8EAg/AQP4AD+CD/wj isRequesting = true; if (Bluetooth.println) { console.log("On device"); + Bluetooth.println(""); Bluetooth.println(JSON.stringify({t:"http", url:"https://www.espruino.com/agps/casic.base64"})); } else { @@ -143,19 +144,19 @@ g.drawImage(atob("FBQBAAAABgAAYAAPAACwABOAATgAI8ACPABD4AQ+AEPgD8EAg/AQP4AD+CD/wj }, 10000); Bangle.drawWidgets(); } - + var data = require("Storage").readJSON(JSON_FILE); if (data && data.lastAGPS) { //lastAGPS = data.lastAGPS; - } - + } + nextAGPS(Math.max(0, nextTime - (Date.now() - lastAGPS))); NRF.on('connect', () => { if (Date.now() - lastAGPS > warnTime) { nextAGPS(0); } }); - + var testData = "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"; })()