-
-
-
My Bangle.js 2 (kickstarter version) was working fine but suddenly lost bluetooth connection and now i can not reconnect anymore.
I can not find it neither Gadgetbridge nor in Chromium.
I see the the bangle.ks start symbol showing correctly the 2v17.7 firmware version and a "Loading ..." symbol and then the text "=> Bluetooth" is displayed on the bottom of the screen.
I tried to flash firmware in DFU mode but even there it can not be found by the nRF or DFU android apps.
When i booted without loading any code i end up on the Bangle.js screen showing the FW and MAC but it can not be found in Gadgetbridge or Chromium.
I have no clue what else i can try.
-
I'd have hoped you'd have seen messages like
t: "gps_power", status: true}
Yes i saw that in the log.
The frustrating thing is that when disconnected, it should work as normal - but the second you connect to see what's going on it would switch to the Gadgetbridge mode.
That would explain why it worked sometimes but most of the times not.
There is a PR for some changes to this
I have seen that. Take your time :)
-
I found a code block here:
https://github.com/espruino/BangleApps/blob/master/apps/widgps/widget.js#L12After deinstalling the GPS widget the function definition is different:
>Bangle.setGPSPower.toString() ="function (isOn,ap" ... "wr});return pwr;}"
But GPS still not working.
Then i found that in android.settings.json the key "overwriteGps" was set to true.
I set it manually to false in the json file via the IDE and GPS works again!I am pretty sure that i never turned this on in the Bangle.js android app but who actually knows...
So if the Bangle.js android app expects GPS coming from GadgetBridge but the setting in GP is turned off then the Bangle.js will never get any GPS.
I feel sorry for the time the hunt for this consumed.
Thank you for your help, this seems to be solved!
-
I grabbed a new backup from the Bangle and greped the files:
❯ grep -iRl "isGPSon" .boot0 widgps.wid.js android.boot.js info.app.js ❯ grep -iR "isGPSon;" widgps.wid.js:(ª(){settings=Object.assign(require('Storage').readJSON("widgps.default.json",´) {},require('Storage').readJSON("widgps.json",´) {});¬interval;¬oldSetGPSPower=Bangle.setGPSPower;Bangle.setGPSPower=ª(on,id){¬isGPSon=oldSetGPSPower(on,id);WIDGETS.gps.width=!isGPSonsettings.hideWhenGpsOff?0:24;Bangle.drawWidgets();«isGPSon;};WIDGETS.gps={area:"tr",width:!Bangle.isGPSOn()settings.hideWhenGpsOff?0:24,draw:ª(){g.reset();£(Bangle.isGPSOn()interval·){interval=setInterval(ª(){WIDGETS.gps.draw(WIDGETS.gps);},10*1000);}¤£(!Bangle.isGPSOn()interval·){clearInterval(interval);interval=·;}£(settings.crossIcon){£(Bangle.isGPSOn()){®gpsObject=Bangle.getGPSFix();£(gpsObjectgpsObject.fix>0){g.setColor("#0F0");}¤{g.setColor("#FD0");}g.drawImage(atob("GBiBAAAAAAAAAAAAAA//8B//+BgYGBgYGBgYGBgYGBgYGBgYGB//+B//+BgYGBgYGBgYGBgYGBgYGBgYGB//+A//8AAAAAAAAAAAAA=="),¯.x,2+¯.y);}¤{£(!settings.hideWhenGpsOff){g.setColor("#888");g.drawImage(atob("GBiBAAAAAAAAAAAAAA//8B//+BgYGBgYGBgYGBgYGBgYGBgYGB//+B//+BgYGBgYGBgYGBgYGBgYGBgYGB//+A//8AAAAAAAAAAAAA=="),¯.x,2+¯.y);}}}¤{£(Bangle.isGPSOn()){®gpsObject=Bangle.getGPSFix();£(gpsObjectgpsObject.fix>0){g.drawImage(atob("GBiBAAAAAAAAAAB+AAD/AAHDgAMAwAcAwAY8YAY8YAY8YAY8YAMAwAMAwAOBwAGBgAHDgADDAABmAAB+AAA8AAAYAAAAAAAAAAAAAA=="),¯.x,2+¯.y);}¤{g.drawImage(atob("GBiBAAAAAAAAAAh+AA3/gA+B4A8AcA+AMAA8GAB+GADnDADDDADDDDDDADBmADB+ABg8ABgYAAwB8A4A8AeB8AH/sAB+EAAAAAAAAA=="),¯.x,2+¯.y);}}¤{£(!settings.hideWhenGpsOff){g.drawImage(atob("GBiBAAAAAAAAAAB+ABj/ABxDgA4AwAcAwAeMYAfEYAbgYAZwYAM4wAMcQAOOAAGHAAHDgADDwABm4AB+cAA8OAAYGAAAAAAAAAAAAA=="),¯.x,2+¯.y);}}}}};})(); ❯ grep -iRl "return isGPSon;"
-
Good idea, sadly no luck:
>require("Storage").list().filter(f => require("Storage").read(f).includes("isGPSOn;")) =[ ]
My apps are up to date. I don't have sensor tools installed:
Firmware Version 2v16.45 Apps Installed activityreminder (0.10), banglexercise (0.03), owmweather (0.02), poweroff (0.01), qmsched (0.09), run (0.14), waypoints (0.01), kbmulti (0.05), locale (0.17), widgps (0.09), bledetect (0.04), flappy (0.06), magnav (0.05), info (0.03), sevenmin (0.01), mylocation (0.09), wid_a_battery_widget (0.04), widbthide (0.01), widsleepstatus (0.02), openstmap (0.15), sleeplog (0.12), fastload (0.03), wid_edit (0.02), torch (0.11), widhrm (0.06), hrm (0.11), boot (0.55), widalarm (0.01), messages (0.58), iconlaunch (0.15), widlock (0.08), slopeclockpp (0.08), widmessages (0.04), a_dndtoggle (0.01), setting (0.56), alarm (0.37), agenda (0.11), notify (0.12), altimeter (0.02), quicklaunch (0.08), gbmusic (0.11), sched (0.19), stopwatch (0.04), ha (0.09), mtnclock (0.01), mmind (0.02), messageicons (0.04), messagegui (0.64), android (0.21), agpsdata (0.06), health (0.22), recorder (0.21), weather (0.24), gpsinfo (0.12), circlesclock (0.24)
-
-
-
So, i reseted my B2 on the weekend and just installed GPS info app. It worked! I got a fix in a couple of minutes.
Then i restored everything from my backup and it worked again: fix in a short time.
I was very happy but also a bit confused.Today i tried again and it stopped working again. Not a single GPS or GPS-raw event in more than 30 minutes under clear sky.
-
Are you trying to figure this out based on the packets received measurement you added to GPS Info?
Because I just tried this and I'm not sure what it's measuring but I'm constantly getting packets from the GPS based on Bangle.on('GPS',print) (just without a fix) but they are not being counted on GPS Info at all.
You are right, there is a bug in the code of GPS Info which i will fix soon.
But even if i have the following code running for several hours under clear sky i don't see any output in the IDE:Bangle.setGPSPower(1, "app"); Bangle.on('GPS',print);
What happens if you do a factory reset (you can backup first), then install just the GPS info app and nothing else?
I will try this in the coming days and will report back here.
-
-
-
So today i tried again:
At home on the window bench running GPS Info, got fix after 2-3 minutes. So far so good.
Then went outside for a walk and tried to record it using Run app but for the whole walk (> 1h) no fix could be aquired. I tried a reboot after around 10 minutes but didn't help.Something is still a bit buggy with the GPS/GNS.
-
You could try flattening the battery which would hard-reset the GPS...
I already tried that but did not help.
Could this also be related to recent changes in the Gadgetbridge app which attempt to use the phone's GPS via the Gadgetbridge connection if it exists?
Yes indeed i had this activated. I will try with this disabled in the next days.
-
@phrogg i can not find your app on Fdroid. Neither by using the link on your git README nor by searching in Fdroid.
-
-
I tried to run with my Bangle.js 2 today but wasn't able to get a GPS/GNSS fix in several minutes, also trying multiple reboots (which helped before most of the time).
Then i started the GPS info app and see no fix again after being outside for quite some times.
Then i tried
Bangle.on('GPS', (f)=>{console.log(f);} ); Bangle.setGPSPower(1);
from https://github.com/espruino/BangleApps/wiki/GPS-Issues via the WebIDE but i don't see any GPS event coming in.
Can it be that my GPS/GNSS module is broke?
-
-
-
After a few tries i was able to flash a firmware via the apploader (not via DFU) and the watch finally booted again.
Thanks to @halemmerich for the tipp.
No idea yet how to reproduce this.
-
My Bangle.js2 is stuck again. This time it is stuck in "Checking storage...".
It happened during app update via the Android Bangle.js GadgetBridge app: suddenly the app loader showed 0 installed apps (previously it was ~30 apps installed).
Then i tried to launch the launcher but the watch said "no launcher found." I tried to reboot the watch and now it hangs in "Checking storage...".
I already flashed a new edge build firmware (i was on 2v15.~100 before) via DFU but after flashing was successful it is stuck again.I hope anyone can help me :)
While i am waiting for the replacement unit:
One more thing i just discovered:
When booting into DFU mode the watch boots into clock after around 10 seconds automatically.