Avatar for user156427


Member since Sep 2023 • Last active Mar 2024
  • 3 conversations

Most recent activity

  • in Bangle.js
    Avatar for user156427

    Would I be able to fork firmware v19...?
    I'm not sure if one be suitable: https://github.com/espruino/Espruino/act­ions/workflows/build.yml
    as in which one would be the exact same version that I can download here> https://www.espruino.com/binaries/esprui­no_2v19_banglejs2.zip

  • in Bangle.js
    Avatar for user156427

    Yeh I generally flash from ide (execute code at boot).

    I just tried writing directly to .boot0 but having too many glitches to list (it's like it's trying to load the usual Bangle OS as well as my app at the same time, as well as giving me a scrolling screen of bluetooth errors)... do I also need to be modifying and writing the following into the left hand side of the ide:


  • in Bangle.js
    Avatar for user156427

    Unless I modified the code wrong (see link above)... then no that's not the behaviour that I'm seeing...

    Although I now see the word 'Bluetooth' at the bottom with a thin black bar after it (which wasn't there before).

  • in Bangle.js
    Avatar for user156427

    “You'll need to delete both of the ifdef BANGLE bits here”

    Ah that’s working better… seems I can just press and hold on the splash screen to force my flashed app to boot from that screen (as opposed to looping back to the bootloader).
    (my modified code: https://github.com/stuaxe/Espruino/blob/­728409948658a4ff11053cb5a1155cb36a1c95b8­/src/jsflash.c#L1372C1-L1384C1)

    And thanks for letting me know about the 30 second time out on the initial bootloader screen (it’ll be much easier to direct the user to simply ‘wait’ if they see that screen).

    Is there any way for the splash screen to also get that behaviour (the 30 second time out till loading my flashed app)? If not, is it easy enough to modify the splash screen to include an instruction just to hold the button down until the flashed app appears?

  • in Bangle.js
    Avatar for user156427

    "Have you thought about increasing the duration required to enter the bootloader? Are they going to be likely to hold the button for 10 seconds eg.?"

    If that is possible then it would be a great solution. But it would have to be an increased duration from the very start of the Bangle booting up (which seems like it would need a firmware modification).

  • in Bangle.js
    Avatar for user156427

    "- replacing that feels like a really bad idea, but if you do the other stuff then as long as they don't flatten the battery and hold the button while applying power, they will never see it."

    Yeh that's still the use-case I'm worried about... Simply because it takes 'more' than a quick click of the button to turn the Bangle on (I typically have to hold for about 1 second to boot)... so if the user's first attempt to turn it on is too short they might overcompensate with a long press (holding for about 2.5 seconds typically starts the bootloader from off).

    I could make a little print off to give to the user before testing with them, detailing what to do if they accidentally trigger the boot loader (they will be with the device for a few weeks unsupervised... and with my app they can expect to need to charge it regularly otherwise the battery will run flat)...

    Unless there's some simple modification I can make to the firmware... I'll probably just go with that.

    Btw is this expected behaviour for the firmware without the recovery menu?: https://www.youtube.com/watch?v=sDSFhLWg­ZKo

    I notice if I allow the ===> to progress all the way to the end and I KEEP holding the button down , it goes to the Expruino splash screen... (where as if I let it go straight away after ===> fills up it initialises my app) .... but it stays at the Espruino splash screen until I go back to the boot loader. It would be handy if the user accidentally gets to that splash screen it would just know to initialise the app (and maybe that's actually the expected behaviour?).

  • in Bangle.js
    Avatar for user156427

    Going back to the original question I'm still getting the screen with: ‘ ===>' if the user holds down the button on start up... it just won't progress to the black and white options menu anymore if they hold it down long enough.

    Should have commenting out:

    if (jshPinGetValue(HOME_BTN_PININDEX))
    recoveryMode = true;

    prevented the ' ===>' screen from appearing (on startup)? Or was your edit just for getting rid of the black and white options menu?

    Might still be a simple mistake on my part.

  • in Bangle.js
    Avatar for user156427

    Ah actually opening the BANGLEJS2.zip on a Chromebook gave me the necessary folder. That seems to have worked. Cheers.

    I did have another quick question which is whether I could completely disable the watchdog menu (not just when holding the button on startup) by modifying the firmware. I've encountered issuers using:

    watchdogInterval = setInterval(() => E.kickWatchdog(), 1000);

    So any alternative way to avoid the user being able to access debug/system menus would be great. (can I just comment out more code in the fork?)


  • in Bangle.js
    Avatar for user156427

    I unzipped BANGLEJS2.zip .... which gives me the unzipped folder espruino_2v20.70_banglejs2 ... I can then rezip it to give me espruino_2v20.70_banglejs2.zip ... but trying to upload any of these to the IDE gives me "Error: Unable to find manifest, is this a proper DFU package?".

    I've noticed I get the same problem downloading the BANGLEJS2 file (the Artifact Produced during runtime) even from Gordon's GitHub repo https://github.com/espruino/Espruino/act­ions/runs/7709447059

    Again there's probably something obvious that I'm missing.