New firmware release 1.2.0.b1
Firmware 1.2.0.b1 has just been released. These are the notes from the change log:
- Add the Timer class and the new interrupt mechanism.
- Use the correct functions to enter and exit critical sections in LoRa Timers. This fixes the crash on raw LoRa that was introduced in version 1.1.1.b1
- Add the SD class docs for the ESP32.
- Integrate the SDMMC drivers with FatFS.
- Increase the max Rx packet size of the certification script.
- Use a global variable for the rx_data struct used inside ISRs/Callbacks.
- Create custom channel add/remove functions for manual requests.
- Update the LoRaWAN stack to Semtech's version 4.3.0
- Change the LoRa timebase from 1000us to 1ms.
- Properly exit compliance test mode when disabling it via the API.
The main highlights of these release are:
- The new SD card class: https://docs.pycom.io/pycom_esp32/library/machine.SD.html
- The updated LoRa stack which is now on the lab for LoRaWAN certification.
- The new Timer class: https://docs.pycom.io/pycom_esp32/library/machine.Timer.html
- A whole new interrupt system mechanism: https://docs.pycom.io/pycom_esp32/pycom_esp32/general.html#interrupt-handling
Right now this interrupt mechanism is being used by:
And the newly added Timers: https://docs.pycom.io/pycom_esp32/library/machine.Timer.html#machine.alarm.callback
- Using SSL/TLS sockets with client and server side certificates doesn't work and an unknown exception is thrown. This prevents connecting to AWS.
This will be addressed in the next release as it is on the top of our list now.
If you still don't have the latest updater tool (v 1.0.0.b1), please get it from: https://www.pycom.io/support/supportdownloads/ and update your boards. It should fetch this new firmware automatically.
@arneme great to hear that, thanks for the feedback :-)
@daniel We have now several LoPys up and running on our LoRaWAN network with version 1.2.0.b1 and they all behave as they should. The problem must have been with our infrastructure at the location we tested during the weekend.
@livius in the meantime, you can check the pin value inside the callback. If the pin is low, then most likely it was due to a falling edge, otherwise it was a rising edge.
@livius good question, we are implementing that feature as we speak ;-)
i try to use pin callback
but how to check what cause callback?
p_in.callback(Pin.IRQ_FALLING | Pin.IRQ_RISING, pin_handler) def pin_handler(arg): if need to know if raising: something when rising else: something when falling
chow to check in callback that it is executed because
@arneme OK thanks for the update. Please let us know when you know more.
@daniel The problems were related to "CRC failures", "FailedAuthentication" and problems with "Packets out of order". We are however not sure if it is a firmware problem or if we have a failing gateway in our network. Moving the devices to a location with a different gateway in reach seems to have solved the problem. We also did a restart of our network server and that could also have solved the problem. I will let you know if we see more errors like this.
Yes, that's correct.
@arneme what problems are you experiencing?
@daniel What does "Update the LoRaWAN stack to Semtech's version 4.3.0" mean.
@daniel What does "Update the LoRaWAN stack to Semtech's version 4.3.0" mean. To my knowledge the latest LoRa Alliance LoraWAN specification is on version 1.0.2? Is the version number 4.3.0 related to some internal Semtech ESP stack implementation? The reason I am asking is that we are having troubles with LoPy´s running last firmware update (still investigating) on our LoRaWAN network.
@Daniel: Got the repository; compiles & runs, with pre-compiled code too. Thanks a lot.
@livius it's just a firmware error. The Pins were swapped. Thanks for the report.
The old firmware versions are now published in the Firmware Updates sections of this link:
Just scroll down and you'll see the list.
@robert-hh we will upload them in a couple of hours.
@scratchrobot we saw this before and it was happening because you are not connected to the internet while you run the tool, or because your firewall if blocking the connection. The tools needs to connect to download the correct binary for your board.
@daniel I run the latest osx updater tool but can not select the country.
When do you plan to update the GitHub repository. Due to limited RAM, beaing able to use pre-compiled code is important, and that's what I do with the sources:
I add the line:
#define MICROPY_PERSISTENT_CODE_LOAD (1)
to mpconfigport.h and recompile it. The compiler I use is mpy-cross of that repository. Using mingw32, it can even be built under Windows.
can you confirm this on WiPy2?
then this is connected to same pin?
P15 is ok
but P13 is same as P14
it looks to me as firmware error
pin P13 not work at all (first on the right bottom) only second one and P13 and P14 are connected to it
@gertjanvanhethof yes of course. I'll publish links to access the old updates tomorrow. Sorry for the delay.