Avatar for MobiTech

MobiTech

Member since Dec 2016 • Last active Dec 2021
  • 25 conversations
  • 79 comments

Most recent activity

  • in Bangle.js
    Avatar for MobiTech

    Hi, I would like to connect to the Bangle.js using the native IDE. I am using the most current version (0.75.8). I can connect to the Bangle watch using bluetooth. But if I try to connect using the IDE, I get the following error: "Unable to retrieve board information. Connection Error?". But the connecting itself works: "Connected to f5:ca:36:76:82:be (No response from board)".

    The bangle.js has the current firmware 2.11 and I already tried a hard reset. In the settings, I have set

    • programmable -> on
    • bluetooth -> on
    • hid -> off

    The baud rate in the IDE is 9600.
    Do you have any idea what might cause this connection error and how I might fix it? I also tried the Web IDE, but it does not really connect to my Laptop (it is a HP laptop with Windows 10).

    Thanks in advance.

    • 10 comments
    • 3,606 views
  • in Bangle.js
    Avatar for MobiTech

    Got it. I needed to set the watch button, so that I disconnect before in the IDE and then call the method. Now there is another boot screen. I will report if all is fixed.

    My code for resetting:

    setWatch(() => {
      E.showMessage("You\npressed\nthe middle\nbutton!");
    NRF.disconnect();NRF.restart(function(){­
    poke32(0x4001e504,2);while(!peek32(0x400­1e400)); // enable flash erase
    poke32(0x4001e514,1);while(!peek32(0x400­1e400)); // erase whole uicr
    poke32(0x4001e504,1);while(!peek32(0x400­1e400)); // enable flash writing
    poke32(0x10001014,0x7A000);while(!peek32­(0x4001e400)); // set bootloader address 
    poke32(0x10001018,0x7E000);while(!peek32­(0x4001e400)); // set mbr settings
    poke32(0x1000120c,0xfffffffe);while(!pee­k32(0x4001e400)); // NFC pins as GPIO
    poke32(0x4001e504, 0);while(!peek32(0x4001e400)); // disable flash writing
    });
    NRF.restart();}, BTN2);
    
    

    Update: I just needed to flash a stable version and now it seems to work. I could connect and upload apps via App Loader. Thank you so much.

  • in Bangle.js
    Avatar for MobiTech

    I have used 2v08.117. My code:

    NRF.restart(function(){
    poke32(0x4001e504,1);while(!peek32(0x400­1e400)); // enable flash writing
    poke32(0x10001014,0x7A000);while(!peek32­(0x4001e400)); // set bootloader address 
    poke32(0x10001018,0x7E000);while(!peek32­(0x4001e400)); // set mbr settings
    poke32(0x10001200,21);while(!peek32(0x40­01e400)); // enable reset pin 21
    poke32(0x10001204,21);while(!peek32(0x40­01e400)); // confirm reset pin
    poke32(0x1000120c,0xfffffffe);while(!pee­k32(0x4001e400)); // NFC pins as GPIO
    poke32(0x4001e504, 0);while(!peek32(0x4001e400)); // disable flash writing
    });
    NRF.restart();
    

    The code

    peek32(0x10001204).toString(16) 
    

    returns 15.

    There seems to be a timeout on jshflashwrite which is displayed after a reconnect to IDE.

  • in Bangle.js
    Avatar for MobiTech

    I executed the code but it does not change anything. The command for the reset pin still returns 15. In the current state, the bangle boots to the bangle logo. When I try to write to storage, I get "Timeout on jshFlashWrite".

  • in Bangle.js
    Avatar for MobiTech

    I uploaded a code to flash (so the bootloader is overwritten). The Bangle is from kickstarter.

  • in Bangle.js
    Avatar for MobiTech

    The exact output of s.send is

    =new Uint8Array(6)

    It prints "15". So do you have any idea how to fix it? It seems to be possible now to execute code from the Web IDE. I tried to set the storage (settings.json), but afterwards it stucks at boot and does not load the bangle logo. The code for setting the storage:

    const storage = require('Storage');
    storage.write("setting.json", {ble:true,blerepl:true,log:false,timeout­:10,vibrate:true,beep:true,timezone:0,HI­D:false,clock:null,"12hour":false});
    

    Any idea why it boots after setting storage and does not store it? I send it to RAM.
    I think that the settings.json is broken. When I write

    var s = require("Storage").readJSON("setting.jso­n",1);
    

    s is undefined.

Actions