Skip to content

2020-04-22 0.7.0

Compare
Choose a tag to compare
@amotl amotl released this 22 Apr 22:17

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!
  • 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!