Most recent activity
-
The main reason I posted this thread on the forum was that I thought my issue could concern other people with native Bangle.js as well.
As a newbie, I couldn't imagine that a different version for the compiler could be responsible for such an issue.
Money wise, I do support Gordon by owning a Pico, a Puck.js and his book. I also backed is Bangle.js Kickstarter campaign and did a donation recently.
Again I thank Gordon for his willingness to help me despite being occupied to bring the Bangle.js out there and my DIY Bangle.js not benefiting him directly. -
Thank you so much Gordon for helping me. The reason DFU mode was failing was exactly the one you anticipated.
I was using arm-none-eabi-gcc version
8-2019-q3-update
to compile the firmware and indeed at the end ofbootloader...hex
was this line:08E00C0011C30700C1C10700A8
. After switching to the same compiler version as yours I got this line:08DFF40021C30700CDC10700A5
instead.I tested an was able to perform BLE DFU upgrade from version
2v04.264
to2V04.271
.Thank you again for your reactivity and your willingness to help.
Finding a way to get a few more bytes out of the bootloader is definitely out of my reach. But I wish to contribute by filing bug reports and sharing small apps with the community.
-
On my watch BTN1 doesn't feel as stiff as BTN2 and 3 (BTN1 rounded metallic pad on the white flexible PCB for buttons in the watch might be loose a little).
Could this result in a bad debouncing for BTN1 making it like the button has been pressed/released a few times?
(However I didn't notice such a bad debouncing effect when scrolling across the watch menus.) -
-
@fanoush:
What about UICR? (Maybe address0x10001014
has to do with it?)
I think while I was disabling the flash protection (mass erase) I did also flashbank 1
with0xFF
s.[EDIT] I checked and address
0x10001014
is indeedUICR.BOOTLOADERADDR
.
So when flashing Espruino, not onlybank 0
gets flashed butbank 1
as well with the0x7a000
value. -
-
@fanoush:
The output ofpeek32(0x10001014).toString(16)
is="7a000"
.When compiling the firmware the log displays:
python scripts/hexmerge.py --overlap=replace .../s132_nrf52_3.0.0_softdevice.hex bootloader_espruino_2v04.264_banglejs.hex espruino_2v04.264_banglejs.app_hex dfu_settings.hex -o espruino_2v04.264_banglejs.hex
...so I was thinking that the
bootloader
was merged together withsoftdevice
, theapp
anddfu settings
intoespruino_2v04.264_banglejs.hex
.I only flashed this latest as this process worked correctly on my
Puck.js
as I was able to perform BLE DFU upgrade after installing the generated firmware using SWD onto it.@MaBe:
I can read on the screenDFU Started
for a fraction of second (see video of my previous message), but just after I get your screen n°5. I don't get your screen n°1 exactly as the screen withDFU Started
doesn't remain still andBTN1 = REBOOT
doesn't show. -
Had you pressed any buttons after that point?
No.
Maybe you could record a video to show what happens?
See enclosed video.
That's because you have to connect when the watch is in DFU mode
Indeed.
Is yours a Nodeconf Bangle.js?
😕 not exactly ...it is the F watch my nephew got for his birthday I hacked.
I built the firmware using commandmake clean && BOARD=BANGLEJS RELEASE=1 make
, removed the flash protection and uploaded Espruino using SWD onto the watch.Sorry for that Gordon: I just couldn't resist installing your software onto the watch (I do own a a Pico, a Puck.js and your book though).
France