Skip to content
This repository has been archived by the owner on Sep 16, 2024. It is now read-only.

Releases: pycom/pycom-micropython-sigfox

New firmware release v1.17.2.b1 (Flash encryption support)

16 Mar 20:34
Compare
Choose a tag to compare
  • esp32: Always use the DR specified during the join request (even for retries).
  • esp32, lib: Fix deepsleep issues with LoRaWAN losing the channelmask and pending MAC commands.
  • esp32/Makefile: If make SECURE=on then ENCRYPT=on is enabled by default.
  • esp32: Added secure boot reflashable bootloader in make build-flow.
  • esp32: Added Makefile flash encryption support, added comments in updater.c.
  • esp32: Enabled Secure Boot, if make SECURE=on.
  • esp32: Add argument to lte.attach() to specify the bands.
  • esp32: Add option to setup the LTE carrier. Also allow for roaming registration.
  • esp32: Move WLAN and LTE socket functions to a common module.
  • esp32: Correct socket timeout implementation for WLAN.
  • esp32: Change vTaskDelay for mp_hal_delay_ms where appropriate. This unlocks the GIL making possible better multi-threading.
  • esp32: Use the correct IDF function for the Pin hold functionality.
  • esp32: Revert to using the chip revision to determine the flash size. This works better with secure boot and flash encryption.
  • esp32: Add WDT on boot API.
  • esp32: Allow baud rates of up to 1000 Kbps for CAN bus.
  • esp32: Make compliance script configurable to support all 4 regions and both activation methods.
  • esp32: Update IDF libraries moving _gettimeofday to IRAM.
  • esp32: Change LoRaWAN OTAA duty cycle from 15 to 10 seconds.
  • esp32: Place hal_tick_ms function also in IRAM.
  • esp32: Get latest binary.c file from MicroPython that fixes struct packing issues.
  • lib/lora: Keep the data rate after a successful join accept.
  • esp32: Fix the LoRa Rx messages time stamping. Thanks to @robert-hh.
  • esp32: Run heartbeat on Core0, ensure pycom.heartbeat(False) is complete to avoid pycom.rgbled command to fail if used immediately after pycom.heartbeat(False)

For the instructions to enable flash encryptions and secure boot, please read here: https://github.com/pycom/pycom-micropython-sigfox#steps-for-using-secure-boot-and-flash-encryption.

Also, from the next release onwards we will no longer publish the appimg.bin as this is now identical to the regular firmware bin file. This is just as a heads-up so people can change their processes if anyone happens to use it.

v1.17.0.b1 (Completely new LTE class)

28 Feb 10:11
Compare
Choose a tag to compare

The highlight is that the LTE class has been completely re-written, the functionality is complete and it also allows to send AT commands directly to the cellular radio. The API has changed a bit, so make sure to check the docs here: https://docs.pycom.io/chapter/firmwareapi/pycom/network/lte/cat-m1.html

Here's the complete change log:

  • esp32: New LTE class with comprehensive methods and an option to send AT commands directly. Fix high power consumption issues on the FiPy, GPy and G01 when entering deepsleep.

  • esp32: Fix power output problems for the FiPy and LoPy4 on Sigfox.

  • esp32: Correct LoRaWAN version number to 1.0.2.

  • esp32: Fix antenna selection API for the second generation modules.

    Also add antenna selection option for Bluetooth. See: https://docs.pycom.io/chapter/firmwareapi/pycom/network/bluetooth/#bluetoothinitid0-modebluetoothble-antennanone

  • esp32: Fix LoRaWAN ADR behaviour. Enhance lora.stats(). See: https://docs.pycom.io/chapter/firmwareapi/pycom/network/lora.html#lorastats

  • esp32: Fix Sigfox lock-up on the SiPy.

  • esp32: Erase LoRA NVS area if the LoRaWAN region is different than before.

  • esp32: Adding RMT class to machine module

  • esp32: Raise specific exception if region in config block is 0xff.

  • esp32: Do not return a default region if value in flash is not set (0xff)

  • esp32: Take the LoRa region from the config block if not specified.

New firmware release v1.16.0.b1 (LoRaWAN 1.0.2 multi-region support)

19 Feb 21:43
Compare
Choose a tag to compare

The main highlight is that we have updated the LoRaWAN stack to version 1.0.2 and now we can support 4 regions with the same firmware, and theres no need to switch between the 868 and the 915 firmware anymore.
The regions supported are EU868, US915, AU915, and AS923.

IMPORTANT: The LoRa constructor now receives a new argument used to select the region. You need to modify your code to specify this new argument in order to select the appropriate frequency. This is also required for raw-LoRa. Please check the API here: https://docs.pycom.io/chapter/firmwareapi/pycom/network/lora.html#methods

This is the complete change log:

  • esp32: Update LoRaWAN to 1.0.2. Add multi-region support.
  • esp32/mods/modwlan.c: Only get the list of APs if there's any present.
  • esp32: Support LoRa country, heartbeat_on_boot, wifi_settings
  • esp32: Protect against socket.close() crash when socket creation fails.
  • esp32: Implement hard reset with safe boot using CTRL-F. Useful for Pymakr uploads.
  • esp32: End the callback threads if an unhandled exception is raised.

v1.15.0.b1

01 Feb 22:46
Compare
Choose a tag to compare
  • esp32: Store the buffered LoRaWAN MAC commands before entering deep sleep.
  • esp32: Add modutimeq module.
  • esp32: Use LTE module Airplane mode to save mode when IDLE (FiPy and GPy).
  • esp32: Rename uart.tx_done() to uart.wait_tx_done() and correct the behaviour.
  • esp32: Fix crash on LoPy4 due to SX1276 sleep function being outside of IRAM.
  • esp32: Make sure that static mutexes are allocated from internal memory only.
  • esp32: Fix queue module crash and add full() and empty() methods.
  • esp32/sigfox: Update modsigfox libraries to support dual core mode (SiPy, FiPy and LoPy4)
  • esp32: mods/modutime.c: ticks_add returns with an unsigned int
  • esp32: Fix modbt scan response adv data length
  • esp32: Add Bluetooth.CHAR_SUBSCRIBE_EVENT

Additional to that there have been a few fixes on the modbus library: pycom/pycom-modbus@3932d5b

To the Deepsleep shield, Pytrack, Pysense calibration functions before deepsleep: pycom/pycom-libraries@1fbc177

To the Pytrack GPS library: pycom/pycom-libraries@a71e986

v1.14.0.b1 (Dual core support and CAN bus)

17 Jan 10:22
Compare
Choose a tag to compare

1.13.0.b1

17 Jan 10:13
Compare
Choose a tag to compare

This release is mainly about support for the LoPy4. The change log is as follows:

  • esp32: Add LoPy4 support with LoRa and Sigfox on the SX1276
  • esp32: Save the downlink ack flag as part of the LoRaWAN NVRAM parameters.
  • esp32: Only bootstrap the 32KHz RTC clock if enabled with an external crystal. Solves GPIO issues when using both P19 and P20.
  • esp32: Fix os.uname() crash on the FiPy.

Please note all elf images except for LoPy4 have been built using previous commit 656704e

1.12.0.b1

04 Jan 11:25
Compare
Choose a tag to compare

This release mainly adds Sigfox and LoRa coexistency on the FiPy. There are some additional bug fixes included:

  • esp32: LoRa+Sigfox coexistency on the FiPy.
  • esp32: Allow pin interrupts to be triggered even when the cache is disabled.
  • esp32: Do not allow timer alarms ISR to run with the cache disabled.
    Otherwise the CPU crashes when writing to flash and the interrupt triggers.
  • esp32: Solve BLE hang when searching for services.
  • esp32: Correct behaviour of Alarm.callback(None). The alarm is correctly cancelled now.
  • modpycom.c/pulses_get(): prevent lock-up at long pulses. Thanks to @robert-hh.
  • esp32: Use spi_flash_get_chip_size() to determine the flash size. Thanks to @robert-hh.

1.11.0.b1

18 Dec 22:30
Compare
Choose a tag to compare

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
    espressif/esp-idf#146)

  • Make sure to call nvs_commit after nvs_erase_all.

  • Allow adding channels with LoRaWAN data rates lower than DR5 - fixes issue #96

With this release the FiPy support WiFi, Bluetooth, LoRa and LTE (Cat-M1). Sigfox support will be added later this week.

1.6.13.b1 release firmware binaries

03 May 12:57
Compare
Choose a tag to compare

1.6.13.b1 release firmware binaries to be applied manually as explained here:

https://forum.pycom.io/topic/517/downgrading-firmware-advanced-users