Avatar for dgnuff


Member since Sep 2023 • Last active Dec 2023
  • 5 conversations

Most recent activity

  • in Bangle.js
    Avatar for dgnuff

    What I am trying to achieve is the ability to send configuration data to the watch in the absence of an internet connection that gives me access to the app loader.

    The italicised text is the key item here. There are times when I wish to modify the configuration data for my watch face, but I do not have an internet connection available. Under these circumstances I can't use the app loader, so I need to do this locally.

    I could solve this by writing a custom Android app that sends text to the com.bangle.uart.tx intent, which would allow sending a line of text to the REPL. However I'm guessing that 99.9% of the work is already done in GadgetBridge, which means it might be a relatively quick and easy change.

    If not, then I'll just have to write an Android app which will allow me to get where I want to be.

  • in Bangle.js
    Avatar for dgnuff

    There is the feature currently built into GadgetBridge that allows a phone app to send a message to the com.bangle.uart.tx intent, and ultimately cause a single line of text to be sent to the watch's REPL.

    That's a potentially massively useful feature for me, but what would be really nice would be to have an additional feature in GadgetBridge that lets me enter a line of text and directly send that text to the watch. That would save me from having to write an Android app that basically does the same thing.

    I wouldn't even need to see the response from the REPL, for what I have planned I'd get feedback pretty quickly based on changes that would appear of the display.

    Any chance this feature could be added to GadgetBridge?

  • in Bangle.js
    Avatar for dgnuff

    That's the problem. Emulator is happy. Deploying to production - watch this space for details.

  • in Bangle.js
    Avatar for dgnuff

    I think I mentioned at https://forum.espruino.com/conversations­/390481/#17137641 but if you use setUI({mode:"clock"}) it automatically sets up the middle button to go to the launcher - maybe you didn't have that?

    That would be it. And now I remember why it's missing. I'd originally added that wen I first started creating the watch face in the emulator, and it generated the following error:

    Uncaught ReferenceError: "setUI" is not defined
     at line 279 col 1 in app.js

    so I had to remove it again.

    Can I offer a suggestion to add a setUI() function to the emulator that does nothing. It would allow that line to be present, thus permitting developers to use the exact same code in the emulator as they are in production.

  • in Bangle.js
    Avatar for dgnuff

    Never Mind - I found the solution. Just can't delete this post.

  • in Bangle.js
    Avatar for dgnuff

    I've managed to get my Bangle.JS into a bit of an unresponsive state. In the course of trying to save as much power as possible to extend battery life, I started by turning off BLE. That looked good, because the watch no longer appeared when I scanned with my cellphone.

    "Great!" I thought to myself. "That works. Now I can go into settings, and turn it back on to finish developing my watch face." Except that now that it's running the first version of my watch face, the button does not enter the settings screen.

    I specifically did not disable "Wake on BTN1" after a discussion in another thread about maintaining the default behaviour of the button. However, at the current time, the button does cause the light to come on, but it does not enter the settings screen.

    So given this state, and the lack of BLE, what options do I have to get this thing back to normal operation. A long press on the button does eventually reboot the watch, but it returns to the above state. Is there some magic incantation I can cast to get it back to the factory default condition? While I'm at it, what could I have done that caused it to get into this state? I'd have thought that "Wake on BTN1" would have been enough, do I need to add something to the watch face itself?

    The watch face can be found at https://github.com/dgnuff/BangleApps/tre­e/master/apps/travelwatch and it can be deployed from https://dgnuff.github.io/BangleApps - look for "TravelWatch". At the current time, there are two additional timezones hard coded to test that logic, they work right if you live in the "America/Los_Angeles" timezone, but other than that they will be wrong. I'll be working with https://www.espruino.com/Bangle.js+Custo­m to fix that, but for now, I need to fix these other problems first.

    -- LATER --

    Got it back from the grave, I found that by rapidly clicking the button after a reboot, I could get it into a "Reset" screen. From there a factory reboot did the trick. That said, this is still a concern, because it probably won't come as any kind of surprise when I say that I really don't want to do this again.

    So what might have got it into that state? While I'm at it, how much of a drain is it to leave BLE enabled 24/7, just as long as I'm not actually communicating with the watch? I found the HRM in the watch, is setting "HRM Interval" to "Off" sufficient to keep the HRM disabled. And since I didn't see any references to GPS in the settings, does that just stay inactive unless something explicitly enables it?

    -- EVEN LATER --

    This is definitely a bug with the watch face. After doing the factory reset, I deployed the watch again, same behavior. This time it's far less of an issue, because I've left the "default" watchface as "AntonClock" that is baked into the firmware, and that one behaves correctly. So to get things back after starting my watch face, I can just reboot, it drops into AntonClock, and I can get to settings from there.

    But I really would like to know what's wrong with my watch face so I can fix it.