I just ordered some Particle Mesh boards. First "mass production" boards with NRF52840. Would be very nice to get Espruino ported on those.
There is a referral program, my referral link is https://particle.io/mesh?referral=YKAM5S. I will donate everything - i.e. bonus boards - I get to @Gordon. Perhaps he could help on porting ;-).
IMHO it would be nice to get these boards for a few dollars more directly from @Gordon with Espruino installed (There was a discussion about this in the Patreon section of this board). They comply to the Adafruit Feather specs.
Nice - thanks!
There will definitely be an nRF52840 port because I'm planning on releasing an nRF52840-based board, and I'm aiming to bring Bluetooth Mesh to Espruino as well (even on nRF52832 devices like Puck.js).
Actually getting that going on the Particle board should be trivial and I can provide some pointers, however I'm afraid I wouldn't be building/hosting firmwares myself for other people's hardware unless Particle were willing to help support it like Seeed/Ruuvitag/ST/etc do, so if you wanted custom builds you'd still have to do them yourself.
It's a pain but it's just what I'm having to do now - since it's all open, what I build and host on Espruino.com is about the only leverage I've got to encourage companies to help support my work on it.
Just to add, there's some very cool Nordic stuff just around the corner that I may well end up doing something with too. I think there's a good likelihood that LTE-M will roll out across a whole bunch of countries very quickly.
Do you know when you might have a nRF52840 module available ? My project scope has changed and things are starting to get tight inside the MDBT42Q !
I do have some modules here that I'll be testing with soon, but because the nRF52840 has quite a bit more IO on it the module is finer pitch with lots of pins in the middle - I'm not sure if that'd cause you problems or not?
If you want I could take a look at the code (you could PM it to me) and see if I have any suggestions? Usually uploading to flash will reduce the RAM usage massively (especially if you minify), and it might be possible to increase the size of the saved code area if you were able/willing to have a special firmware image.
There's also the ability to upload pretokenised code. It's something I haven't done in the IDE yet but it'd take quite a lot off the code size.
If I can achieve running at boot my bootloader, using Storage to save a new remotely loaded version to flash, then eval from flash then I should be OK as there will be plenty of RAM available.
But if in the above scenario I will run into the issue of the code getting shuffled and so cannot run, then I will have a problem. I don't need to store a second copy of code. If my bootloader detects a new version from remote source, it can delete the current version from Storage (if that helps)
So you didn't have any luck with the suggestions in that other thread then?
When were you having problems with the code moving? During the bootloader or when you attempted to save updated code?
I could probably add a flag to files in 'Storage' that said 'don't reorganise' - which might be enough to help you out.
It seemed to be an issue while running bootloader and on saving a second, new copy of the code before deleting the original. It did work if i deleted original code first.
I have not got back to further testing because in the meantime some external changes have meant i need to put a lot more code into the mdbt42. So i am just hoping when i am done that the bootloader plus code save will still work fine. I will let you know when I get there.
A dont reorganize flag may end up being useful
If you're crashing in the bootloader itself and no other code is loaded then we can definitely make sure nothing bad happens with the re-org. Saving the bootloader as:
would fix it, as would using the normal save() to save the bootloader, rather than the 'save on send'.
@Gordon I love flexibility of Espruino and how PuckJS enabled me to explore various scenarios. However next education and PoC goal for me would be mesh networks like BlueTooth Mesh and (Open)Thread.
Bluetooth Mesh should actually be possible on the existing nRF52832 chips - but as I've mentioned in a few other threads it's not actually as great as you might expect from the name.
I am looking at a new product with the nRF52840, but honestly it'll be a long long time before I start to replace existing products with nRF52840.
Having said all that OpenThread actually looks really good and does seem to be a proper mesh solution - what Bluetooth Mesh should have been. And that one really does only work on nRF52840.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem