Avatar for enaon

enaon

Member since Aug 2020 • Last active Jan 2025
  • 7 conversations
  • 114 comments

Most recent activity

    • 10 comments
    • 230 views
  • in Bangle.js
    Avatar for enaon

    I was wrong, again :)

    You are correct, it is indeed pin D7 that gets interfeared when I touch my finger on the "button" area.

    When it was bricked and I had it on the charger, the screen would stay on as long as I had my finger on the "button" area.

    but when it was not on the charger, I could get it to turn on the display for a moment only if I run my finger across the "button" area fast.

    I can replicate this now if I do:

    D7.mode("opendrain"); 
    D7.write(1);
    

    so you were correct, it is the D7 pin that somehow can be interfered with.

  • in Bangle.js
    Avatar for enaon

    On the touch at the bottom of the screen, I'm pretty sure that's just the MEMLCD_DISP pin I'm afraid - probably the CPU locked up and the pin when open circuit, so then interference from your finger could toggle it on the LCD.

    just to make sure this is a dead end too, please watch this video if you missed it. I thought about interference too, it is just that the only place where it was happening was where a button could be, like on the dk08 etc, it was not random, there was no other place that caused it to act.

    Just to verify, most probably it is a coincidence?

    https://streamable.com/5mzrt6

    I tried setting D7 (MEMLCD_DISP) to opendrain, I do not see it change state when use the finger touching the "button" area, but maybe this is something I cannot really test.

  • in Bangle.js
    Avatar for enaon

    Just FYI I found the work on the touchscreen sleeping - it wasn't on the forum at all, it was on GitHub: https://github.com/espruino/Espruino/issues/2146

    thank you, I have played with the 816 a lot, the p8 the p22 and the rock have it, a lot of differences, they report the touch id with a different numbers, they go to deep/standby sleep using a different register(the 816 on p22 enters standby using the register the 716 is using for sleep), but with time I managed to have them all work fine with auto standby. Except the one on bangle 2 :)

    I cannot understand why he says that

    It seems that changing 0xFA to something away from test mode breaks the touch handling for unknown reason
    

    it is not the case as far as I have tested, it just does nothing. I can change all the registers I know that do something, and they work, except the DisAutoSleep register, the 0xFA, this has no effect.

  • in Bangle.js
    Avatar for enaon

    I'd definitely add something over the middle pins though - if only to remove the possibility of corrosion.

    will do, thank you.

  • in Bangle.js
    Avatar for enaon

    Out of interest do you have the covering on the 2 middle pins of the Bangle charge connector still? Those go straight to SWD so when exposed can cause all kinds of issues.

    no, I have them exposed, it is a kickstarter watch, I knew what happened the moment I saw the screen go out, so stupid. Well, ok I didn't know, I thought I fried it, but it is ok :)

    but yes, you'll have to be very careful with charge cables if you have another 4 pin one that's wired differently - I didn't know those existed :(

    the magic has a 2 pin cable, the magnets are at the same distanceas the bangle, but one of them is always on the opposite polarity, so one cannot accidentally make a mistake. I forced in place, and when forced the charging pins of the magic's cable go to the swd on the bangle. My mistake.

    just as an info, p22 and magic/rock, do have the same cable and reverced polarity, but they both have diodes I guess, none is damaged by using the wrong cable.

    On the touch at the bottom of the screen, I'm pretty sure that's just the MEMLCD_DISP pin I'm afraid - probably the CPU locked up and the pin when open circuit, so then interference from your finger could toggle it on the LCD.

    ok that explains it, I was hopping it could be a way to wake the screen, but it was a long shot, you would have found it already. Thanks and sorry for wasting your time.

    Your idea on changing the loader to upload the files with something else than ".info" was excellent, I can finally appreciate the bangle. Thank you.

  • in Bangle.js
    Avatar for enaon

    False alarm, it is working again, it was a soft brick I guess, the battery run out quite fast and now it is ok again. :)

    I tested pins 4,9,10,11,12,18,20,28,40,41,46 but none of them worked with what I think is a button under the screen.

    I am uploading a video, this is when it was bricked, the phone camera makes it flicker. You can see that something happens when I touch under the screen, could it be just a coincidence?

    I am really hopping it has a button like the dk08 had, then autosleep missing on the 816 would not be a problem. Any ideas?

    https://streamable.com/5mzrt6

  • in Bangle.js
    Avatar for enaon

    Hi @Gordon, I managed to destroy my bangle.js 2 :(

    I had the magic3's charging cable next to the bangle's one, I used the wrong one, it must have touched the swd pins, it died. :(

    Anyway, I have made progress, my UI is playing so nice along with yours, so I will order a new one.

    But I am angry that I was so stupid, I want to fix it. Is there a posibility to get a new main board too, if I order a new watch, and of cource pay for it.?

    Also, I noticed something strange, but it looks like there is a touch sensitive button right bellow the touch screen, like on the dsd6. When I touch under the screen, it displays the last image it had before it died, could it be that there is a button there, that we have not used?

    I can make a video if you like.

  • in ESP32
    Avatar for enaon

    in order for the module to be available, the webIde does some background magic, it auto downloads the module from github and sends it to the device, if you upload some code that uses it.

    You cannot just connect to a "fresh" device from the web ide and do a "require("ST7789")" on the left side, the module will not be found.

    place some code on the right hand side that calls "require("ST7789")" , then upload to ram, then you can use the "require("ST7789")" on the left hand side, the webIde will auto download the module for you.

    for example, you can type

    test=require("ST7789");
    

    on the right hand side, and then upload this to a file named "test" in the flash using the webIde's "send to espruino" button.

    Then, using the disk button on the webIde, you can view the "test" file you just uploaded, and you will notice that it also includes the module.

    So, if you later reset(); and call this file from the left hand side,

    require("Storage").read("test")
    

    the module "ST7789" will be available on the left hand side, without the need for the loader to download it again for you.

  • in Puck.js, Pixl.js and MDBT42
    Avatar for enaon

    the code works, maybe it is allready connected, try a reset() and run the code again, maybe add an output of every step along with the number, just to make it easier for you to see the steps.

    var gatt=0;
    NRF.requestDevice({ timeout: 5000, filters: [{ namePrefix: 'eL-M1' }] }).then(function(device) {
      console.log("1",device);
       return device.gatt.connect();
    }).then(function(g) {   
        gatt = g;  
        console.log("4",g);
    return gatt.getPrimaryService("6e400001-b5a3-f393-e0a9-e50e24dcca9e");
    }).then(function(service) {  
      console.log("5",service)
      return service.getCharacteristic("6e400002-b5a3-f393-e0a9-e50e24dcca9e");  
    }).then(function(characteristic) {
      console.log("6",characteristic);
      return characteristic.writeValue("LED3.set()\n");
    }).then(function() {
      gatt.disconnect();
      console.log("OK!");
    });
    
Actions