Avatar for MobiTech

MobiTech

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

Most recent activity

    • 10 comments
    • 1,992 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?

Actions