@prawnhead It' less a bug in the firmware, than the way the device is handled by the user and some interference with the background database at Pycom, which keeps the assigned dev_uid. The dev_uid is stored in the device's flash and can be written to that using the updater tool. So you have three elements (flash, user, background system), which have to interact correctly, and there are few way to succeed and many ways to fail.
Will i achieve anything by complaining, probably not and will not benefit this community . However when i purchase a product(s) that is released to joe public you do expect many of the bugs to be ironed out with a smoother onborading process.
I'll be first to say i don't no everything and most definitely not an expert in python but hey that's why we look at products such pycom to develop and learn. So what have i done so far;
I've updated the lopy firmware with the tool provided. Orientating the lopy was not straight forward and this goes for the pysens/pytrack. If i did not have an expansion board how do i update the firmware using a pysense?
*I did the usual pycom hello world of LED lights. GREAT!! VS Code is working and syncing as it expected.
*Next i connected to WiFi and used SSH to log in.GREAT!! I thought this was easy.
*I explored sending events to AWS and Azure. After some tinkering a made it happen posting sample json data. GREAT!! Now lets connect the pysense and collect some real data!
*I have struggled installing drivers and updating pysense firmware or should i say understating if it has completed correctly. 0_1513372575468_5ab52586-b40c-45fa-a5a7-034c2f165dca-image.png
I can only assume i have at this point.
I then had to roll back the Windows driver so i could communicate on COM4?
Following the Pycom tutorials is there any reference to pycoproc?
I'm all about discovering and going out to find the information - what a great way to learn.
I feel it would benefit all levels knowledge if you had projects packaged up ready to go that we can use as a benchmark or fall back if something stops working we can then trouble shoot hardware easily.
A library of short 3min videos would be a great for people getting started.
i'm a member of the Dev xpress framework and there documentation is the best i have ever experienced. Check you there getting started videos. Simple but very effective. https://www.devexpress.com/Support/Start/
i'm with the community and agree this hardware is pretty cool but i want to get up and running in a couple of mins running sample code from there we can go and invent!!
That's correct, the ack will only be sent with the next uplink
Where is a gotcha (at least it was to me): once the data is received, typically LoPy goes to deepsleep. Once it does, it forgets the previous session and starts the new one without confirmation.
Indeed this was a problem, but from the upcoming firmware release on it won't - we now save the pending ack status of downlinks as well when using nvram_save(), so if you use nvram_restore after restarting from deepsleep the LoPy will know to send the acknowledgement with the next uplink.
This is already in our internal code and will be public on the next release.
Do you know if Loriot supports confirmed uplinks in the free community tier? Just wondering what happens because according to the docs downlinks are not supported.
Yes it works as well as OTAA since the latest Network Server update. In the free community tier you can't send download messages to the device but sending and receiving MAC layer messages (commands and responses) works in both directions. You can use ADR also of course and Battery Level is also handled.
@jmarcelino Thank you for sharing this. To add to this question, are there code example of we can persist an array of structs to the file system? I have a clear idea of how I want to implement a simple persistent database but I cant find micropython examples of doing so. The btree library would have been great but I realised I couldnt use it in this version of the port.