Avatar for JeonLab

JeonLab

Member since Mar 2024 • Last active Dec 2024
  • 8 conversations
  • 78 comments

Most recent activity

  • in Bangle.js
    Avatar for JeonLab

    I didn't mean to be rude. I just realized my previous reply might have sounded not very nice. My apologies. I'm also curious about the limits, but I just wanted to say I found a solution and I was fine without more interrupts. Thank you.

  • in Bangle.js
    Avatar for JeonLab

    D17 is not listed because I ran the code in the RAM only setting 3 pins with setWatch. If I added the code to my clock app, D17 is also listed. Still no clue for the D24 appears again at the end of the list. It's nothing to do with the hardware, so you can try with your own watch, I guess.
    I don't really care about more interrupt pins anymore because I can use my solution (#28) with diodes. I already tried this solution and it works fine as expected.

  • in Bangle.js
    Avatar for JeonLab

    After I tried to set pins with setWatch for the 3 pins, I ran your command again. Here is the result.

    >global["\xFF"].watches
    =[
      undefined,
      { pin: D32, recur: true, edge: -1,
        cb: function () { ... },
        state: false },
      { pin: D24, recur: true, edge: -1,
        cb: function () { ... },
        state: false },
      { pin: D22, recur: true, edge: -1,
        cb: function () { ... },
        state: true },
      { pin: D24, recur: true, edge: -1,
        cb: function () { ... },
        state: false }
     ]
    
  • in Bangle.js
    Avatar for JeonLab
    >global["\xFF"].watches
    =[
      undefined,
      { pin: D17, recur: true, debounce: 26214, edge: -1,
        cb: function () { ... },
        state: false }
     ]
    

    I'm not sure what this command does, but D17 is the BTN1 for Bangle.js 2.

  • in Bangle.js
    Avatar for JeonLab

    I just tested setWatch with 3 pins (D32, D24 and D22 (found this pin additionally)) and confirmed only the first 2 pins with setWatch work. I don't know how many GPIOTE handlers are available in nRF, but it seems only two channels are available for users.

  • in Bangle.js
    Avatar for JeonLab

    Here is my solution with diodes. See attached animated gif.
    Three digital input (input_pullup, no additional 100k resistors in the image are needed) pins with 3 diodes will be used. As mentioned before, only 2 pins can be watched by setWatch with interrupts, so I will set two pins (D32 and D24) for setWatch and the third pin, D42, can be combined in the code to watch. In other words, no matter which button is pressed, always one or both of D32 and D24 will be triggered. This way, with only 2 interrupts, 4 pins can be monitored. Actually, there is one more combination, D24 and D42, is available for another switch if needed.
    I saved one pin, D43, for an analog output for the buzzer.

  • in Bangle.js
    Avatar for JeonLab

    D43 and D42 work as either digital I/O or analog output, not for input.

  • in Bangle.js
    Avatar for JeonLab

    @Gordon, I was looking for easier and simple solution by using existing pins. I know, I'm lazy. :)
    Your suggested method with resistors looks very interesting. I will definitely try it. I was thinking to use a combination with diodes, but I will see which one works better.
    Thank you Gordon for sharing your brilliant ideas as always.
    I will try a few approaches and report back.

  • in Bangle.js
    Avatar for JeonLab

    From the HRM connector header, I could only identify HRM_SDA (D24) and HRM_SCL (D32). I guess the other pins (HRM_INT and HRM_POWER) are gated. It’s hard to trace without removing components which likely damage parts.
    Gordon already answered that the schematic is not available and no answers from anyone for my question about the HRM header pinout, so my guess is Bagle.js’ software is open, but not the hardware.
    I really want just one more pin. Can anyone just let me know whether any of those pins, HRM_INT and HRM_POWER or both, are exposed and accessible on the PCB and where they are if accessible?

    Thanks.

Actions