Skip to content

Latest commit

 

History

History
182 lines (170 loc) · 7.7 KB

changelog.md

File metadata and controls

182 lines (170 loc) · 7.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning

[0.3.9] Unreleased Github Repo [develop]

[0.3.8] - 2022-08-29

Added

  • Device raise_traceback method to catch Device Exception after follow mode

[0.3.7] - 2022-08-23

Fix

  • paste_buff method in BleDevice
  • fix data feeding pipe missing blank lines in follow callback for BleDevice
  • deprecate self-signed certs in favor of ROOT CA signed certs for WebSocketDevices using SSL/TLS

Added

  • @device.code decorator for Device classes to declare and call functions in devices
  • @device.code_follow for Device classes to declare and call functions in devices whose output need to be followed.
  • @devicegroup.code for DeviceGroup class to declare and call functions in group of devices – @devicegroup.code_follow for Device classes to declare and call functions in a group of devices whose output need to be followed.
  • decorator examples

[0.3.6] - 2022-03-25

Fix

  • fixed missing dependencies in setup.py (@BradenM)

[0.3.5] - 2022-03-15

Fix

  • reassign ip to hostname if hostname is not None for disconnect method

[0.3.4] - 2022-03-04

Fix

  • WebSocketDevice double unwanted super().__init__ bug.
  • Load time in MacOS caused by bleak/corebluetooth, only if BleDevice
  • Allow mdns .local name in WebSecureREPL, (ssl checkhostname / auth server.)
  • WebSocketDevice receive frame errors
  • SerialDevice follow command parsing errors
  • BleDevice follow command parsing errors
  • is_reachable method for WebSocketDevice if ip is mdns .local name
  • pipe option for BleDevice wr_cmd method.

Added

  • Indicate websocket port in ip address as ip:port format
  • Allow password:passphrase format for WebSocketDevice password that sets ssl/auth to True if present.
  • address property for all device types.
  • flush_conn for BleDevice for compatibility

[0.3.3] 2021-12-16

Added

  • Host Name in __repr__ command device info

[0.3.2] 2021-10-24

Added

  • mDNS .local/dhcp_hostname compatibility, so device configuration works across networks

Fix

  • check -i, info commands in -apmd, if connected to AP of the device.

[0.3.1] - 2021-09-09

Fix

  • KeyboardInterrupt in AsyncBleDevice for jupyter_upydevice_kernel

[0.3.0] - 2021-08-12

Bump to version 0.3.0

Added

  • Tests with pytest tested with esp32 (websocket, serial, ble), esp8266(websocket, serial), pyboard (serial) and nrf52832 (colmi p8 with wasp-os) (ble)
  • Device function that returns Device class based on address type
  • Pytest with devices
  • __repr__ that returns device info
  • Raise DeviceException on raised Exception in device
  • Raise DeviceNotFound after connection attempt fail or if device is not reachable.
  • ble_scan, net_scan, serial_scan, to scan for devices

Fix

  • Base code refactoring

[0.2.3] - 2020-05-25

Added

  • BLE_DEVICE for bluetooth low energy devices

Fix

  • Serial device is_reachable method fix

[0.2.2] - 2020-02-24

Fix

  • WS_DEVICE cmd_nb fix for cmd method

[0.2.1] - 2020-02-17

Fix

  • WS_DEVICE now works with esp8266 too.

[0.2.0] - 2020-02-16

Added

  • NEW WS_DEVICE and SERIAL_DEVICE work in progress

[0.1.9] - 2020-02-08

Added

  • BASE_WS_DEVICE compatibility with WebSecureREPL

[0.1.8] - 2020-02-02

Added

  • BASE_SERIAL_DEVICE and BASE_WS_DEVICE work in progress

[0.1.7] - 2020-01-19

Fix

  • W_UPYDEVICE kbi command can filter MicroPython banner info now

[0.1.6] - 2020-01-10

Added

  • Reset option in "init" S_UPYDEVICE for upydev 'sh_srepl' compatibility

[0.1.5] - 2020-01-07

Added

  • phantom_wr module like phantom but faster

Fix

  • KeyboardInterrupt handling in wr_cmd method of W_UPYDEVICE, S_UPYDEVICE, PYBOARD

[0.1.4] - 2019-12-24

Added

  • New methods 'open_wconn', 'wr_cmd' and 'close_wconn' to open a wrepl session and send commands (this will open a WebREPL connection and wont close it until close_wconn is called, which means the other commands methods won't work) This will drop the delay between sending a command and executing that command on the device
  • Methods 'open_wconn', 'wr_cmd' and 'close_wconn' for serial devices too. (With serial REPL instead of WebREPL)

Fix

  • uparser_dec improved

[0.1.3] - 2019-11-23

Added

  • Methods to UOS phantom class (mkdir, rmdir, getcwd, chdir, remove)
  • Phantom pyb_Servo pyboard class
  • New sensors IRQ phantom classes

[0.1.2] - 2019-11-12

Added

  • New decorator (upy_cmd_c_r_in_callback) to be able to pass self methods (functions) as keywords arguments (for callbacks)
  • New decorator that allows non-blocking function calls (upy_cmd_c_r_nb)
  • New "IRQ_util.py" upy script (U_IRQ_MG class) + "Phantom" python IRQ_MG class This allow to manage/set interrupts, and receive and interrupt callback on python3 (see Phantom class Docs)
  • New W_UPYDEVICE method 'is_reachable' (pings the device to see if it is reachable)
  • New decorator (upy_cmd_c_r_nb_in_callback) to be able to pass self methods (functions) as keywords arguments (for callbacks) in non-blocking style (good for timer interrupts)
  • New "STREAMER_util.py" upy script (U_STREAMER class) as a "super" class to make streaming sensor data in real time easier (up to ~900 Hz of sampling frequency tested) + "Phantom" python STREAMER class (see Phantom class Docs)
  • New phantom sensors classes (ADS1115, BME280, LSM9DS1)
  • New phantom sensors STREAMER classes (IMU_STREAMER, BME_STREAMER, ADS_STREAMER)+ upydevice_utils scripts (IMU_util.py, ADS_util.py, BME_util.py) to test U_STREAMER and U_IRQ_MG classes (more about this in docs and examples)

[0.1.1] - 2019-11-02

Added

  • phantom submodule, with some phantom classes (UOS, LSM9DS1, MACHINE, pyb_LED, pyb_Timer, machine_Timer, WLAN, AP, I2C)
  • Now bytearray and array objects are supported

[0.1.0] - 2019-10-29

### Added

  • Now 'phantom' class methods allow to pass function in kwargs, this is useful to pass function to callbacks (for example Timers)
  • option 'out' in class decorators that allows implement a function defined in micropython global space (main or dir()) as a part of a 'phantom' class

[0.0.9] - 2019-10-28

Added

  • decorators for reusable 'phantom' classes

[0.0.8] - 2019-10-28

Fix

  • decorators return option for commands that should return None

[0.0.7] - 2019-10-28

Added

  • decorators for methods of 'phantom' python3 class

[0.0.6] - 2019-10-27

Added

  • Non-blocking cmd_nb method
  • methods and decorators to parse for/while loops and functions
  • decorator to define a function as a shortcut to a function in MicroPython

[0.0.5] - 2019-10-21

Added

  • GROUP class to send commands to a group of devices (one at a time or parallel)
  • Name option parameter, and automatic naming (to make easier manage groups)
  • 'Group silent' parameter and 'device silent' parameter to silence output
  • Group output attribute, that catches the output of a group command and makes a dictionary like {device_1 :output_1, ..., device_n:output_n}
  • Custom path indication with bundle_dir parameter at group creation (then no need to further indicate in cmd method)

[0.0.4] - 2019-10-14

Added

  • Custom path indication with bundle_dir option in cmd method to indicate the path to the picocom binary for app development (command line or standalone) (For serial devices)

[0.0.3] - 2019-09-28

Added

  • Silent option
  • Custom path indication with bundle_dir option in cmd method to indicate the path to the web_repl_cmd_r binary for app development (command line or standalone) (For wireless devices)

[0.0.2] - 2019-08-28

Fix

  • PYBOARD class commands output

[0.0.1] - 2019-08-16

Added

  • First release