-
Just a naive question: why not choosing an Ai-Thinker A9G-based development board rather than the RAK5010, as it is so much cheaper ($7-$8) and has basically the same specs?
Is it because the RAK5010 development board is equipped with a nRF52 thus making the port easier? (Actually this makes a lot of sense.)
There are ports of Micropython to the A9G development board (the manufacturer official one and an advanced port which is well maintained), so it might be worth investing this board as an alternative...
-
I think I have some clues regarding the issue with the Ctrl+` shortcut:
It has to do with the grave accent being a dead key on the french keyboard (E.g. to type ù easily).Thus to get a grave accent character only, one has to press the ` key followed by Space. This dead key behavior shouldn't hold when pressing Ctrl before.
In Microsoft Visual Studio Code such a shortcut works properly with the french keyboard. I was able to get this shortcut working properly in the Espruino Web IDE switching my keyboard to standard QWERTY. I will investigate further by setting breakpoints in Devtools...
-
After being stuck also in the same situation described above, it might help some people to know that, in order to remove successfully all the apps using the online app loader, I had first to downgrade Espruino to an older version (such as 2v04)...
Only then was I able to delete the apps.
Then was I able to upgrade, to reinstall the apps on this upgraded app-free Espruino, and have them working properly...
-
-
Nice it works well indeed!
And it allows to download files generated by a data logger program running on the Espruino device easily!Maybe the icon would rather be the same as the upload button but pointing downwards to represent a download action, wouldn't it?
BTW: Are you thinking of implementing the Ctrl+` shortcut we discussed on GitHub that switches focus between the REPL and the editor screen?
-
You should have a look at: https://github.com/espruino/BangleApps#offline
Basically the idea is to callrequire("Storage").write(...)
to save your code in flash and make it persistent.
Following the indications of this small tutorial (choosing a name, picking an icon, etc) allows to call your app from the app menu. -
-
-
-
-
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).
-
@Andreas_Rozek: Isn't it 40 characters (not 60)?
Meaning 6 pixels per character including 1 pixel spacing. -
I tried following the instructions at https://www.espruino.com/Bangle.js#firmware-updates to put my Bangle.js in BLE DFU mode.
For a fraction of second I can read on the watch screenDFU STARTED
, but just after the main screen for the watch reappears (the screen with the default watch) and the time gets reset.
Additionally, when connecting to the watch usingnRF connect
on my smartphone I get this error message when asking to perform DFU:We're sorry, but this device does not support Nordic DFU
.Did someone successfully managed to perform a BLE DFU update with his Bangle.js?
Is there a special screen for the watch that mentions that the watch entered successfully DFU mode?Thank you for your feedback.
-
-
Thanks @Robin for those answers.
I need to figure out more how to implement your latest proposition.
The main issues I had upgrading to a newer version were:
I did try:
What worked for me was what I describe in my previous post: