• Yeah, I just updated this banglejs2 using the App Loader. It's running Simple Clock and the vectorized Simple Clock.

    update: I've recompiled the custom firmware for the xiao ble (uf2 builds are really convenient since I don't nede to hunt for my jlink, just a USB and double tap the reset button; if ever we get a pixl.js 2 with the nrf52840 I hope there would be something similar :P) with the lines you've mentioned

          'DEFINES += -DNRF_SDH_BLE_GATT_MAX_MTU_SIZE=131', # 23+x*27 rule as per https://devzone.nordicsemi.com/f/nordic-q-a/44825/ios-mtu-size-why-only-185-bytes
          'LDFLAGS += -Xlinker --defsym=LD_APP_RAM_BASE=0x2ec0', # set RAM base to match MTU
    

    and I'm still able to paste in long char sequences. Checking again with the pixl/mdbt42q i get disconnected as soon as I try to paste the same sequence.

  • Thanks - that's a really interesting one then - so I guess it's to do with Nordic's SDK12 and the increased MTU on Mediatek, so I guess it's not entirely driver-side.

    ... although I'm not quite sure what can be done on the Espruino side to fix that (short of dropping MTU)

    Interesting about UF2 - I hadn't seen that! I guess they're using https://github.com/adafruit/Adafruit_nRF52_Bootloader - I'm not 100% sure from that if BLE firmware updates are actually supported as well, or if it's then only USB?

    But yes, having the ability to update firmware over USB would be very neat!

  • I've only tried out USB; there's an OTA option which requires doing some button gymnastics but I haven't tried that out (the xiao ble only has the reset button).

    Yeah, they are using that adafruit bootloader (their instructions for flashing the bootloader in case you "brick" the device mention it).

    For me though, I would rather have fw updates over BLE rather than over USB because I don't need to be plugging in a USB cable in order to do fw updates (just need a way to hold down BTN1 which I can easily solder some external switch to).

    Many of my Espruinos are already connected to circuits that are quite inconvenient to reach with a USB cable (not to mention a computer) so having fw updates only through USB is a nogo.

    I'm only appreciating the speed of fw updates over USB because I'm compiling and recompiling fw many times; but once I have a fw I'm happy with, the next fw update would be weeks from then.

    If we can do both BLE and USB that would be great :P

    In any case, I just tried with another nRF52840 I have (the Waveshare Eval Kit) and I can again connect without issues to the custom Espruino build there, so that's 3 for the 52840. I don't know if I can use SDK12 on the 52840's (the docs mention experimental support) but if I have time I'll try it out.

  • I don't know if I can use SDK12 on the 52840's

    No... But if you add 'NRF_SDK15=1' to the PIXLJS.py file under makefile then you might be able to build that for SDK15 and see if it changes things?

    The issue is that to change the SDK it means new softdevice + bootloader, so you'd have to flash it over SWD :(

  • Ah that's an idea.

    Flashing the Pixl.js over SWD is relatively easier (I can just make a jig with pogo pins). It's the MDBT42Q that's a bit of a problem since I prototype code and hw on the Pixl.js and then deploy it on the MDBT42Q :(

    I'll let you know anyway if I'm able to make progress on the SDK15 for the Pixl.js :)

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

Unable to upload code to the Pixl.js running 2.18, disconnects while sending

Posted by Avatar for parasquid @parasquid

Actions