-
• #2
Also, firmware version v2.08 if that helps!
-
• #3
Seems to always advertise in my Bluetooth unpaired device list as 'DfuTarg'... Even when I've powered off both my phone, laptop and Pixl.js and turned them all on without holding down BTN1 to go into the bootloader
Though on my laptop (which is a Chromebook) shows 'No compatible devices found' when the Bluetooth pairing dialog shows up in the IDE
I can't actually connect to it though; using an app on my phone to flash a new firmware copy never works since it hangs when trying to connectNevermind, it seems to be copying now! Must be a one-in-a-million chance...If anybody knows how to fix this, please let me know.
-
• #4
Update... I managed to reflash a new copy of v2.08 back onto my Pixl.js through the DFU mode of the nRF Toolbox app, and I've managed to get going again! I eventually got to the point where the progress bar actually moves on the app and shows a status percentage, instead of it just saying 'Uploading...'.
Upon auto-resetting after the update, the board doesn't execute my reset-run code, and so I can now fix my dodgy code once again 😅 The terminal then shows
-> Bluetooth
to tell me that my endeavours were successful.Note to self: Never set the IDE to the 'Direct to Flash (execute code at boot, even after 'reset()') - USE WITH CARE' mode! I find it weird that there's this option, when the similarly-named perfectly normal 'Direct to flash (execute code at boot)' option works just like that one in that the code still runs after reset. Less dangerous though, from what I can see.
Also top tip, just keep trying to do a firmware update via the DFU, because you could get lucky and the transmission might not actually fail for once.
Still very confused as to why it didn't want to go into hard reset mode... Probably is a bug or something.
Thanks to everybody on this thread who helped!
/me pats self on the back
-James. -
• #5
Great - glad you got it sorted!
What type of IDE were you using? Just one one on https://www.espruino.com/ide/?
A month or so ago I actually removed the
execute code at boot, even after 'reset()'
from the drop-down upload options menu for exactly this reason (although it's still there if you go to settings) - but the Native IDE hasn't been updated for a while and would still have it.What you power your Pixl.js on, what does it say right at the start? I just tried on one here (that says
DFU 2V07
) and the BTN1 thing works for me.It seems another option with 2v08 is:
- Boot up holding BTN4
- As soon as Pixl.js says
SELF TEST
press and holdBTN1
And it should then clear out saved code for you as well :)
- Boot up holding BTN4
-
• #6
Hi Gordon,
I was using the Chrome Extension, as well as the build from my PR on GitHub. I don't know how long ago the Chrome Extension was updated, but I changed the code upload mode through the settings dialog.
I think the issue was to do with the board running out of flash storage? I had a lot of code on the board at the time, and I only had around 2-3 KB left. I've since made the code much more efficient and ran a
require("Storage").eraseAll();
! I discovered the board went into this state when it runs out of RAM or flash (can't tell exactly) whilst uploading a big (> 8 KB) file. I believe that the SELF TEST mode now works correctly now that I've freed the memory!-James.
The instructions say:
However, when I repower the device with BTN1 held down, I see the board go into bootloader mode, as it tells me that I should
RELEASE BTN1 FOR DFU
. I continue to hold down BTN1 for 10 seconds, but once the progress bar gets to the end, it just prints outREADY TO UPDATE
and notSELF TEST
. Please help because I've basically bricked it (can't access Bluetooth btw)!Before the problem, I overwrote the splash screen to be
I also ran
at startup, and wrote code to the device using the 'Direct to Flash (execute code at boot, even after 'reset()') - USE WITH CARE' option. The IDE warns me that it's hard to recover the device when code crashes, but I originally ignored it.
Many thanks,
-James.