This repository was archived by the owner on Sep 16, 2024. It is now read-only.
New Firmware Release 1.20.1
·
416 commits
to Release/v1.20
since this release
Release Notes:
- SmartConfig (Smart provisioning of Wifi Credentials)
- To disable Smart Provisioning use pybytes.smart_config(False)
- IDF V3.2
- Micropython V1.11
- Secure BLE (Server side )
- Pybytes v1.1.2
- LittleFS v2.0
- Light sleep support
- RTC memory support
- Wifi promiscuous mode
- CoAp module
- Esp32 touchpad functionality exposed to micropy
- uasyncio module
- Uzlib module
- Add support for LoRa regions CN470 and IN865
- Added support for LoRa Class C multicast
- Increase App partition Size For FIPy, GPy and LoPy4 to 1980K
- Updated Build ENV for detecting Flash Size
- Update Make Environment for IDF version check and checkout
- Support OTA from older v1.18 Firmwares through intermediate firmware v1.18.3
- Updates / Bug fixes to Pycom module
- Updates / bug fixes to UART module
- Updates to machrmt module
- Updates / bug fixes to machrtc module
- Updates / Bug fixes to modlora
- Updates / Bug Fixes to Bluetooth module
- Updates / Bug fixes to WLAN module
- Updates / Bug fixes to LTE module
- Updates / Bug fixes to machine module
- Updates / bug fixing for OS module
- Updates / Bug fixing for modusocket module
- General fixes and improvements to the LoRaWAN stack
- General Makefile Updates
- General Bug Fixing
Here is the summary of changes which can cause compatibility issues updating from 1.18 FW along with new APIs added
machrmt:
- "pulses_send()" API can be configured as non-blocking
"wait_tx_done" parameter is added
machrtc:
- ntp_sync() API has new parameter: "backup_server" -> not mandatory
memory() API is added
machuart:
- RX Buffer length can be maximum of 512 byte on all boards
- Previously it was 4096 bytes on FIPY and GPY
- New parameter of UART constructor:
- rx_buffer_size
- New Exception is dropped if "rx_buffer_size" is bigger than 512 bytes
modlora:
- New API: LoRa.reset() to reset sx1272 chip on LoPy1 Boards
modbt:
- Bluetooth's constructor has new parameter: "modem_sleep”, “mtu”
- Exception is dropped if sleep failed
- New API of characteristic class: read_descriptor()
- Bluetooth.deinit() closes all connections
- Bluetooth.connect() from now drops TimeoutError and not OSError when timeout happens
- New parameter of Bluetooth.connect()
- Has a "timeout" parameter defining timeout for establishing connection
- Previously it was set to 5ms
- New API: Bluetooth.set_advertisement_params()
- New API: Bluetooth.set_advertisement_raw()
- New API: Bluetooth.modem_sleep()
- New API: Bluetooth.gatts_mtu() to get mtu of the client connection to Pycom device
- New API: Bluetooth.tx_power()
modcoap:
New module
modled:
- set_color() has new parameter: "wait_tx"
- Can be used to make underlying RMT operation block
- Can be used to make underlying RMT operation block
modlte:
- lte_iccid() API drops new OSError exception if SIM is not detected
- send_at_cmd() API's "delay" parameter is removed
- send_at_cmd() raises new TypeError exception if "cmd" is not passed
- New Callback registering API for registering a callback function to be called when LTE coverage is Lost (Note: Depending on the Sequans modem FW it might be supported or not , if not the callback will not be triggered - an update on Sequans FW supporting this Feature will be announced later )
modmachine:
- deepsleep_wakeup() API is renamed to sleep_wakeup
- sleep() API is implemented for light sleep (it was an empty function)
modpycom:
- New API: bootmgr()
- New API: get_free_heap()
- New APIs: related to Pybytes
- New APIs for setting/getting stored Wifi Credentials for STA and AP mode
- heartbeat() API drops new OSError excpetion if RGB_LED is disabled (can be disabled during build)
- rgb_led() API drops new OSError excpetion if RGB_LED is disabled (can be disabled during build)
- nvs_get() API returns user defined "NoExistValue" if the object does not exist in NVS. Otherwise it raises a ValueError!.
* To maintain previous behaviour, use pycom.nvs_get('', None)
moduos:
- New file system type is added: Little FS
- Virtual File System concept is used
- The /flash can be LittleFS or FatFS, the SD Card can be FatFS
- Files System related functions are replaced, they are used via VFS
- mkfs() API is removed and is replaced by fsformat()
moduqueue:
- queue_put() releases the GIL during operation -> REPL will work
- queue_get() releases the GIL during operation -> REPL will work
modusocket:
- readall() API is removed
- read() without parameters does the same
- connect() API can be set as Non-BLocking
- Only if timeout is defined: new OSError exception is dropped if settimeout operation of lwip fails
- Only if timeout is defined: new TimeoutError exception is dropped if connection times out
- Only if timeout is defined: new OsError exception may dropped if SSL is configured and underlying ssl operation fails
- recv() API drops TimeoutError exception if underlying lwip returns with SSL_TIMEOUT
- Before it only dropped this exception if MP_EAGAIN is returned
- recvfrom() API drops TimeoutError exception if underlying lwip returns with SSL_TIMEOUT
- Before it only dropped this exception if MP_EAGAIN is returned
- New API: sendto()
modutime:
- Parameters of ticks_diff() API are swapped
- Was: start_in, end_in
- New: end_in, start_in
modwlan:
- New API: bandwidth()
- New API: hostname()
- New API: ap_sta_list()
- New API: max_tx_power()
- New API: country()
- New API: joined_ap_info()
- New API: wifi_protocol()
- New API: send_raw()
- New API: promiscuous()
- New API: callback()
- New API: events()
- New API: smartConfig()
- New API: Connected_ap_pwd
- New API: wifi_packet()
- New API: ctrl_pkt_filter()
- WLAN's contructor/init():
- New optional parameter: bandwidth
- New optional parameter: max_tx_pwr
- New optional parameter: country -> if not given as tuple TypeError is dropped
- API scan() has new optional parameters:
- ssid, bssid, channel, show_hidden, type, scantime -> drops exception if given incorrectly
- API mac() may drop new exceptions depends on number of arguments and it returns Mac of both AP and STA
- New Triggers for Wlan Callback
Note: This new Release has support for LittleFS filesystem if you updated from 1.18 FW your Filesystem is set to FatFS and if you choose to switch to LittleFS this will cause the filesystem to be formatted .
Note: There is an issue regarding BLE connection from Pycom Device (client) to a mobile phone (tested on Iphone) acting as Server, where connection always times out - connection from Pycom Device to another does not have that issue - will keep you updated with the fix for that problem.