Avatar for MobiTech

MobiTech

Member since Dec 2016 • Last active Jan 2021
  • 24 conversations
  • 78 comments

Most recent activity

    • 10 comments
    • 1,474 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.

  • in Bangle.js
    Avatar for MobiTech

    Thank you for your advice. It returns Uint8Array. How can I show the values as an array to check them?

  • in Bangle.js
    Avatar for MobiTech

    @Gordon I already tried to press BTN1+BTN2. As the watch was only used in a dry area without water next to it, I can exclude a water damage. It seems to be a problem with the communication to the external flash memory. Is there a way to check and fix it? I might also have broken the flash by uploaded a program to flash. How could it be restored?

  • in Bangle.js
    Avatar for MobiTech

    Hello, I would like to upload an app using the Bangle.js App Loader. My watch was broken so I had to reinstall a new firmware. Now there is the firmware 2.08 of bangle.js installed (but no settings or clock). This implies that it boots to the Bangle.js logo but nothing more.

    When I tried to upload the bootloader, it fails with the error "Upload failed, Unexpected response" display in an orange box.

    Do you have any idea what might have caused this error and how I could fix it? I can connect to the bangle.js through the Web-IDE. I also tried to enter

    require("Storage").eraseAll();
    

    in the console. It returns undefined.

    When I try to execute some code, I get this error:

    Uncaught InternalError: Timeout on jshFlashWrite
     at line 1 col 170
    ... 1000);\n}, BTN2);\n",0,116);,
    

    for this sample code:

    setWatch(() => {
      E.showMessage("You\npressed\nthe middle\nbutton!");
      setTimeout(()=>g.clear(), 1000);
    }, BTN2);
    
Actions