Touchscreen functionality broken since 2v12

Posted on
  • Dear Community,

    Since the update to firmware 2v12 (using the firmware updater, including a bootloader update), my touchscreen doesn't work anymore. I can't e.g. scroll in the standard menu (which basically bricks the watch for me).
    I tried rebooting, uninstalling all apps, reinstalling the 2v11 firmware, nothing helped. Any suggestions?

    Thank you so much
    ~momo

  • You say you can't scroll in the menu. Can you select an item if it is already highlighted? I thought I remembered someone having the same problem- I misremembered, but the code @Gordon gave for diagnostics in that case will still be useful I think: http://forum.espruino.com/comments/16366­989/

  • Just to check, which device do you have?

    What if you do a long-press to completely reboot it? It might be that somehow the touchscreen didn't get initialised correctly.

  • Thanks for your answers! The issue is really insane.

    @myownself yes, touch seems to work - just scrolling doesn't properly. In the main menu, e.g. I can't scroll up or down at all. If I open settings (which works as it's the first menu item and auto-selected) then there is some scrolling happening, but it's completely random (doesn't necessarily scroll when I drag my finger, randomly fires touch events while dragging the finger).

    @Gordon I have the Bangle.js 2 from your Kickstarter campaign. Long-pressing the button (until the ====== bar is complete) does reboot the watch but doesn't fix the problem.

    ~momo

  • UPDATE
    I've tried the code that @myownself linked above and put it into RAM: Touches seem to work, left-to-right and right-to-left drag seems to work (although the y value doesn't change even if I alter the finger position) BUT dragging up & down does not work! When dragging up or down on the screen there's only one drag event registered followed by a touch?!

    Super annoying issue, but I'm really curious how this can happen :D
    ~momo

  • UPDATE #2

    Heres some logs from the above snippet, hope it gives more insight:

    Simple Single Touch

    drag { "x": 94, "y": 71, "b": 1, "dx": 0,
      "dy": 0 }
    drag { "x": 94, "y": 71, "b": 0, "dx": 0,
      "dy": 0 }
    touch { "x": 94, "y": 71, "type": 0 }
    

    Drag Left to Right

    drag { "x": 1, "y": 93, "b": 1, "dx": 0,
      "dy": 0 }
    drag { "x": 1, "y": 191, "b": 1, "dx": 0,
      "dy": 98 }
    drag { "x": 2, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 3, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 4, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 5, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 6, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 7, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 8, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 9, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 11, "y": 191, "b": 1, "dx": 2,
      "dy": 0 }
    drag { "x": 12, "y": 191, "b": 1, "dx": 1,
      "dy": 0 }
    drag { "x": 13, "y": 191, "b": 1, "dx": 1,
    

    Drag Top to Bottom

    drag { "x": 89, "y": 55, "b": 1, "dx": 0,
      "dy": 0 }
    drag { "x": 89, "y": 191, "b": 1, "dx": 0,
      "dy": 136 }
    touch { "x": 89, "y": 191, "type": 2 }
    drag { "x": 89, "y": 191, "b": 0, "dx": 0,
      "dy": 0 }
    
  • Hi - it looks a lot like the touchscreen thinks something is pressed, maybe at the bottom edge. You might normally see this sort of thing if you hold your finger over the bottom edge and then press with another finger.

    Are you totally sure this coincided with a 2v12 firmware update?

    One last thing to try - I guess you can't use the menus, but please can you connect with the Web IDE and paste the following code on the left-hand side:

          Bangle.setLCDTimeout(0);
          Bangle.setLCDPower(1);
          if (Bangle.setGPSPower) Bangle.setGPSPower(1,"flat");
          if (Bangle.setHRMPower) Bangle.setHRMPower(1,"flat");
          if (Bangle.setCompassPower) Bangle.setCompassPower(1,"flat");
          if (Bangle.setBarometerPower) Bangle.setBarometerPower(1,"flat");
          if (Bangle.setHRMPower) Bangle.setGPSPower(1,"flat");
          setInterval(function() {
            var i=1000;while (i--);
          }, 1);
    

    It should hopefully turn everything on and flatten the battery in a few hours.

    Please can you let it totally flatten and see if it comes back to life when you recharge it?

  • Executed your code, now waiting for the battery to flatten. The battery already was empty once since this behavior started, but just naturally, no flattening.

    The first time I noticed this behavior was indeed after the bootloader + firmware update, it could be that it started shortly before and I didn't notice because I didn't access the menu, but it still is weird.

    Hardware-wise, the Bangle was treated extremely well, no water contact, never even fell down.

  • Hi @Gordon, flattened the Battery & plugged it in - Nothing happened directly but after pressing & holding the button (I think that's normal) the watch booted. The scrolling issue unfortunately persists.

  • Yes, the press and hold to boot is normal. Sorry about this - probably best if we swap it then. I'll drop you an email

  • Gordon, thank you for all the support, this really isn't "selbstverständlich". You're realizing a bold idea (JS on a watch, amazing) and then you're sharing it with likeminded folks (Kickstarter + Manufacturer + Logistics ++++, n-times-amazing), and then you're providing support.
    Checking your email now, in case my Bangle is seriously broken I'll just order a new one.
    ~momo

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Touchscreen functionality broken since 2v12

Posted by Avatar for momo @momo

Actions