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
    • ๐Ÿ‘Œ 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, like lte.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
      as onewire_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 single CTRL-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 using deattach=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!