New firmware release v1.11.0.b1 and new updater tool version v1.1.4.b1 (FiPy and GPy support)
-
This release adds support for the FiPy and GPy and it also requires the usage of the new updater tool. Make sure to get it here:
Updater tool v1.1.4.b1 release notes:
- Add support for the FiPy and the GPy.
- Add support for using Pysense/Pytrack to deploy the firmware update. With these boards the update is performed without requiring cable jumpers or pressing the reset button.
Firmware 1.11.0.b1 release notes:
-
Add the LTE class as part of the network module. Available for the FiPy and the GPy.
-
Add
tx_done()method to the UART class. -
Correct timer task priority. Fix downlink issue with LoRaWAN introduced in the previous release.
-
Add
pycom.ota_verify()method to check the integrity of the update binary. -
Add
machine.temperature()method:Read ESP32 internal temperature sensor (not an official API, unreliable - see
https://github.com/espressif/esp-idf/issues/146) -
Make sure to call nvs_commit after nvs_erase_all.
-
Allow adding channels with LoRaWAN data rates lower than DR5 - fixes issue #96
-
Breaking change: the default MISO pin for SPI has been moved from P12 to P14. Remember that SPI, UART, I2C pins can be assigned pretty much anywhere.
With this release the FiPy support WiFi, Bluetooth, LoRa and LTE (Cat-M1). Sigfox support will be added later this week.
Cheers,
Daniel -
In order to upgrade your board using a Pytrack or Pysense and using the dialog based command line UNIX / Linux update tool, please use the following workaround:
In this example it is assumed your Pytrack / Pysense is /dev/ttyACM0
From the pyupgrade directory, run:
python bin/pypic.py -p /dev/ttyACM0 --enter ./update python bin/pypic.py -p /dev/ttyACM0 --exitYou might also need to disable the ModemManager service in Ubuntu before running the upgrade
sudo service ModemManager stop python bin/pypic.py -p /dev/ttyACM0 --enter ./update python bin/pypic.py -p /dev/ttyACM0 --exit sudo service ModemManager startThe updater assumes that your user has access to the "dialout" group. If this isn't the case please run:
sudo usermod -a -G dialout $USERAfter this change you need to logout or reboot your PC!
I will update the cli version to run this automatically in the next few days. I'm also planning to release Debian/Ubuntu packages for both the cli and gui version that installs all necessary dependencies and include udev rules to avoid conflicts with ModemManager.
-
What is the v1.11.0.b1 firmware file link for LoPy 915 MHz ? The link " https://software.pycom.io/downloads/LoPy_915-1.11.0.b1.tar.gz" doesn't work (showing "Unauthorized" error message).
For LoPy 868 MHz it is "https://software.pycom.io/downloads/LoPy_868-1.11.0.b1.tar.gz" and works. For WiPy 2, the link "https://software.pycom.io/downloads/WiPy-1.11.0.b1.tar.gz" is also working. -
@rcolistete We changed the way the firmware images are generated which caused the firmware file for the LoPy 915 MHz version to have a slightly different filename. While the firmware update tool would still pick up the correct filename from the database, I have updated this manually now so that the above link works as well.
-
@xykon
Thanks, now the link works for LoPy 915 Mhz. -
Tried to do this update on a new FIPY for ~60 mins with no success. It would fail at 15% every time.
Out of desperation I tried a different USB cable... and it worked first time. Never had an issue with the original cable before, it's been used for years on dozens of devices. New cable is Belkin branded. Just something else you can try if you're having issues. Heh, Pournelle's law!
-
Downloaded the new updater and attempted to update a LoPy with expansion board. After update, LoPy does not completely boot. LoPy hangs on reset:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff9028,len:8 load:0x3fff9030,len:1060 load:0x4009fa00,len:0 ho 12 tail 0 room 4 load:0x4009fa00,len:15160 entry 0x400a0644Bricked 2 LoPys this way, attempted firmware reset with 3.3V pin and P12 with no effect. Safeboot does not work.
-
@ledbelly2142 is the LED blinking in orange when you try a safe boot? Are you sure the device is not running any code?
-
@daniel Yes, the LED is blinking orange. Using the factory reset documented HERE should have removed any existing code. Please correct me if I'm wront. Used the final 1.5 second window to reset factory firmware.
I have tried safe boot a number of times on both LoPys I attempted to update. Reset/Reboot hangs.
What can I try next? -
@daniel I have also attempted to reinstall the firmware update with slow and fast connection. Firmware update appears to connect to the device and confirm update. I can update the firmware from the update utility. It's not totally bricked. Just hangs on reset/reboot.
-
@ledbelly2142 Can you please confirm the OS you are using? I can send you the instructions necessary to completely erase your device and (optionally) dump the current flash memory so we can try to replicate the issue to hopefully find a more permanent solution?
-
@xykon using Win10 with VS Code and Pymakr extension.
-
-
@xykon I went line by line through my code. Visual Studio code was acting strange... I had to reinstall VS Code, manually uninstall the Pymakr extension and reinstall it... again.
I have been able to get my code working without freezing up. Thanks to @Xykon 's help, I narrowed it down to freezing up caused by my code, not the firmware. I had a line in my boot.py that was redundant, 'Upload' worked after I removed the machine.main('main.py')Thank you for your help
-
@daniel said in New firmware release v1.11.0.b1 and new updater tool version v1.1.4.b1 (FiPy and GPy support):
Breaking change: the default MISO pin for SPI has been moved from P12 to P14. Remember that SPI, UART, I2C pins can be assigned pretty much anywhere.
That's a pretty small mention for a breaking change. Also, I could not find this change reflected in the pinout docs (https://docs.pycom.io/chapter/datasheets/development/lopy.html). A lot of people will also have a version of that pinout printed out or stored in a project directory, without any expectation of pinout changes.
If I had already made hardware that relies on the MISO pin to be on P12, would I have to compile my own patched version of the firmware for every release? Or is this configurable in
boot.py? Was there a technical reason for the change (indicating that it's better to have MISO on P14 than P12)? -
You would only need to change the way you instantiate the SPI class to use the old pin layout, you can find an example of this here: https://docs.pycom.io/chapter/firmwareapi/pycom/machine/SPI.html
No need to recompile the whole firmware. The reason this has been changed is because on new devices P12 controls the external WiFi antenna switch and therefor should not be used for SPI. The pinout diagrams will soon be updated to reflect these changes. -
@dbrgn
It is good practice that if you have default configuration which can by changed by params,
to specify default params also. It is helpfull for self documenting (you do not need to look into docs what is default or place some comments) and then such changes do not affect you at all.
But this is only my little POV. -
There’s no need to recompile firmware. Every peripheral (except for the SD card) allows to assign its pins anywhere (by passing the pins argument to the constructor). However, if no pins argument is given, a set of default pins is used. P12 is also the safeboot pin and the antenna select pin in the WiPy3, LoPy4, GPy and FiPy.
Just use the pins argument in the constructor and specify P12 for MISO and that’s it.
I hope that this is clear.
Cheers,
Daniel -
Hi, thanks for the feedback, the documentation will be undergoing a lot of improvements soon and we will definitely keep this in mind.
-
@daniel said in New firmware release v1.11.0.b1 and new updater tool version v1.1.4.b1 (FiPy and GPy support):
P12 is also
the safeboot pin andthe antenna select pin in the WiPy3, LoPy4, GPy and FiPyIf you look into the Pin-out diagrams, there is still a mess about that topic.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login