Terkin v0.7.0 Release Notes
Release Date: 2020-04-22 // about 4 years ago-
Unnamed
- ๐ Fix sandbox installation issue by nailing pycopy-cpython-upip to 1.2.6
- ๐ Improve sanity checks for sandbox setup
- ๐ Improve RGB-LED signalling
- Import microWebSrv only when enabling HTTP service to save memory
- ๐ Make WiFi work in non-threaded environments again
- ๐ Improve MiniNet WiFi connectivity
- ๐ Improve logging timestamping
- ๐ Improve sandbox tooling robustness
- โฌ๏ธ Upgrade to pycopy-cpython-upip==1.3.3 again. Thanks, Paul!
- โ Add basic recycle task for uploading the code to the Pyboard D
- Start LoRa on demand to reduce memory consumption
- Defer loading modules for sensors at runtime to save memory
- Load the ADC module for "SystemBatteryLevel" at runtime
- ๐ Fix missing ADC module import
- ๐จ Process DS18B20 addresses case insensitive
- Port to ESP32 WROVER with MicroPython 1.11. Thanks, Markus!
- ๐ Fix network status flag
- ๐ Improve cross-compilation tooling re. Pycom vs. pyboard-D
- ๐ฐ Display HTTP egress payload in log output on INFO level
- โ Add option to use external WiFi antenna
- Pyboard D-series: Improve sandbox tooling
- Pyboard D-series: Make the source tree compatible with Genuine MicroPython
- Adjust slightly for running on Pycom devices again
- WiFi adjustments for Pyboard-D
- Appropriately compute sleep time, resolve #4
- ๐ Make
make setup
more platform-agnostic, resolve #20 - โ Add external antenna option for vanilla MicroPython
- ๐ Use trimmed-down settings.py for PYBD
- โ Add configuration settings overlay per
settings-user.json
- ๐ Improve robustness with minimal configuration for PYBD
- ๐ Improve instructions for Pycom firmware bundling and installation
- Adjust sandbox infrastructure for Pycom MicroPython 1.11
- ๐ Fix import path of
onewire
module - ๐ Fix weird error when freezing modules
- โ Add LoPy4 support in Bootloader. Thanks, @poesel.
- โ Add auto docstrings with pyment. Thanks, @poesel.
- ๐จ Large refactoring.
- Get rid of the "hiveeyes" module namespace.
- Rework the "sensors.system" configuration section.
- ๐ Improve configuration module.
- Reduce convolution of "purge_sensible_settings"
- Be more graceful when attempting to read json settings
- โ Add missing
import socket
to LoRa module. Thanks, @thiasB! - ๐ Improve multi-platform support
- Refactor platform switch and rename first stage bootloader
to Universal MicroPython Application Loader (umal) - Improve gracefulness for MachineResetCause helper
- Refactor platform switch and rename first stage bootloader
- ๐ Improve WiFi robustness on first connection attempt
- Gracefully handle buses without names. Thanks, @thiasB!
- ๐ป Be graceful if OSError exception object received from
MQTT publishing has no "errno" attribute. - ๐ Improve sensor registration mechanics again
- ๐ Improve utility functions to work around the 128-bit UUID byte swap problem.
Thanks, @poesel! - 0๏ธโฃ Disable web server by default.
- ๐ Make use of LoRaWAN state restoration from NVRAM. Thanks, @thiasB!
- โช Only restore LoRa state from NVRAM on wake from deep sleep. Thanks, @thiasB!
- ๐จ Refactor BLE encoding/decoding utility functions
- ๐ Improve connection to WiFi after starting again
- ๐ Use
lte.deinit(reset=True)
for shutting down LTE modem on startup,
๐ see https://forum.pycom.io/topic/3083/lte-deinit-not-working/2. Thanks, @combaindeft! - Speed up shutting down LTE modem on startup by not invoking "detach"
as we haven't actually been attached at all, likelte.deinit(detach=False, reset=True)
.
Thanks @arapostol for https://github.com/pycom/pycom-micropython-sigfox/pull/255/files
which made us look at the source code in detail. - ๐ Improve robustness of WiFi manager re. "connectivity after reset" again
- ๐ Improve inline documentation
- ๐ Improve platform switch for system sensors
- Acquire
onewire.py
drivers for both Vanilla MicroPython and Pycom MicroPython
asonewire_native.py
vs.onewire_python.py
. - ๐ Fix 1-Wire multi-platform support again. Thanks, @poesel!
- Port codebase to Genuine MicroPython on ESP32. Thanks, @poesel!
- Adjust naming for sensor driver adapters
- Obtain improved lowlevel MicroPython driver for the MAX17043. Thanks, @poesel!
- โฌ๏ธ Upgrade to MicroWebSrv2. Thanks, Jean-Christophe (@jczic)!
- ๐ Fix multi-platform support for SystemTemperatureSensor
- ๐ Improve WiFi connectivity after hard reset again
- Catch KeyboardInterrupt in order to properly shut down the HTTP server. Thanks, @jczic!
- Just start HTTP server once without trying again
- โฌ๏ธ Upgrade to MicroWebSrv2 2.0.2
- Catch
KeyboardInterrupt
exceptions in WiFi keepalive thread and
UdpServer
in order to shut down using a singleCTRL-C
- โฌ๏ธ Upgrade to MicroWebSrv2 2.0.3. Thanks, @jczic!
- ๐ Improve thread shutdown behavior when receiving
SIGINT
/CTRL-C
- ๐ Improve sensor reading from 1-Wire DS18X20 devices
- ๐ Support native 1-Wire/DS18X20 MicroPython driver
- ๐ Improve 1-Wire/DS18X20 support after the pure-Python variant has
aligned its API to the one of Genuine MicroPython. Thanks, @robert-hh! - โ Remove
fastboot
setting as the LTE modem can already be shutdown
more quickly by usingdeattach=False
- ๐ Improve timekeeping
- โก๏ธ Update 1-Wire/DS18X20 driver again.
๐ The DS18B20 driver now also supports parasite power mode. Thanks, @robert-hh! - ๐ Improve bootstrap messages
- โ Add boolean flags for enabling/disabling Wifi and LoRa. Thanks @thiasB!
- Skip reading WiFi sensors when WiFi is disabled. Thanks @thiasB!
- โก๏ธ Optimize reading the HX711. Don't ever use
read_average()
. Instead, just
read()
the sensor ten times for computing the median. - Port LTE attach procedure from "Autonome Zelle". Thanks, @wtf!
- ๐ Fix installation of "MicroWebSrv2" dependency. Thanks, Chris!
- Shut down peripherals regardless of using deep sleep or not
- ๐ง Battery voltage sensor: Make ADC attenuation configurable. Thanks, @thiasB!
- Power on I2C peripheral after power off. Thanks, @ckrohne!
- ๐ง Enable WiFi by default if not explicitly disabled within configuration
- ๐ Improve "make install-ng": Now also works over USB/UART
- LoRaWAN/TTN integration for real. Thanks, @thiasB!
- Introduce
DataFrame
object to improve internal data transfer. - Backward compatibility for sensor type "system.battery-voltage".
- ๐ Improve cross-compilation for MicroPython 1.12, see #61. Thanks, @poesel!
- ๐ Fix Makefile target "install-pycom-firmware".
- โ Add GPRS modem support for SIM800. Thanks, @sarusso!
- Sandbox: Separate desktop notifications from tools/terkin.py.
๐ Fix nasty dependency bug on the "netaddr" module.
โ Add gracefulness to "make notify" target. - ๐ Adjust directory layout: Move "terkin" files to "lib" folder
- ๐ Adjust directory layout: Move root files to "src/" folder
- ๐ Support firmware image building for Genuine MicroPython
- Sandbox presets: "config.mk" is now "presets.mk"
- โฌ๏ธ Upgrade to rshell 0.0.26
- ๐ Adjust directory layout: Move "lib/" folder inside "src/" folder
- โ Add missing "_boot.py" to custom MicroPython firmware images. Thanks, @poesel!
- Clean up rshell upload scripts for bytecode uploading
- ๐ Fix module search path computation in bootloader
- Stop messing with terminal on UART0 for now
- โ Add firmware builder machinery
- โ Add lowlevel driver for DS3231 RTC
- โฌ๏ธ Upgrade to rshell 0.0.27
- โ Add basic test suite
- โ Adjust machinery to run under pytest
- โ Add tests for WiFi
- โ Add MQTT telemetry test. Needs running MQTT broker.
- โ Add
pytest-docker-fixtures
to invoke the MQTT telemetry tests
๐ณ against a Mosquitto broker running on Docker. - โ Add test coverage reporting
- ๐ Skip Mosquitto/Docker integration tests on Windows/WSL
- ๐ Improve test suite re. Mosquitto dependency
- โ Add LoRaWAN tests
- โ Add tests covering sleep modes and maintenance mode
- โ Add tests covering sensor machinery
- โ Add tests covering GPRS telemetry
- ๐ Improve tests covering LoRaWAN message decoding with environmental sensors
- โก๏ธ Update 3rd-party modules
- ๐ Fix flakyness of MQTT test
- โ Add tests covering HTTP uplink telemetry
- โก๏ธ Use updated "umqtt" module for CPython compatibility
- ๐ Use "time.time()" rather than "time.time_ns()" to retain compatibility
with Python3.6. Thanks, Matthias! - โ Add new make targets for the testsuite to the inline Make documentation.
Thanks, Markus! - ๐ Improve error reporting for "make setup"
- ๐ Improve test coverage for HTTP telemetry / urequests module
- โ Add test coverage for "system.voltage.battery" by mocking the ADC
- Round sensor values according to settings
- ๐ง Start supporting CPython on Linux/RaspberryPi. Thanks, @tonke!