diff --git a/CHANGELOG.md b/CHANGELOG.md index f8295575a2c42a3f5d1769d008c6ac14c2deb4d6..86f77dea9d389838ed7db149cc1278d213693545 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,21 +5,39 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Added -- `leds.flash_rocket()` API for making rockets flash asynchronously. -- Basic API for the MAX86150 pulse-oximeter. +#### For Users - A feature to allow setting the main app on-device. - Added compatibility to BLE 5.0 capable phones (including iPhones). -- Added pairing dialog in BLE app. Device is only visible when BLE app is +- Added a pairing dialog in the BLE app. card10 is only visible when BLE app is active. -- Option to write HCI layer log files for debugging. -- _Stub_ `ubluetooth` module. Not yet functional! +- G-Watch watch face. +- App for COVID-19 exposure notification statistics. +- Experimental app using the MAX86150 pulse-oximeter. +#### For Developers +- `leds.flash_rocket()` API for making rockets flash asynchronously. +- Basic API for the MAX86150 pulse-oximeter. +- CSPRNG as a replacement for the hardware TRNG which does not seem to produce + good entropy the way we are using it right now. +- Option to write HCI layer log files for debugging. +- Feature in `simple_menu` which detects long button presses. +- _Stub_ `ubluetooth` module. Not yet functional! ### Changed -- Internal changes to the way interrupts are triggered. -- Updated to a newer version of MicryPython (v1.12). +#### For Users +- The default watch face is now G-Watch. - Improved BLE security by only allowing man-in-the-middle protected pairings and specifying minimum key lengths. +- Read time/date automatically from iOS devices. + +#### For Developers +- Updated to a newer version of MicroPython (v1.12). +- All `u{module}` MicroPython modules are now also available as `{module}` which + brings card10 more in line with upstream. +- Updated to SDK version 0.2.1-12 +- The BLE pairing database was completely overhauled. +- Use the CSPRNG for all MicroPython randomness. +- Internal changes to the way interrupts are triggered. ### Fixed - Made the `vibra` vibration motor API more stable. @@ -27,6 +45,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fixed bug which made the USB serial connection unresponsive. - Fixed bug which wrote the pairings file more periodically. - Fixed invalid filesystem locking in BLE startup. +- Only print a single warning when a sensor stream overflows instead of spamming + the console with errors. +- Fixed issues from reloading the configuration file. +- Fixed `pycard10.py` not properly resetting the device before loading a script. +- Allow to reopen BHI160 sensor from python. +- Fixed pycardium not exiting when triggering certain failure conditions. +- Made the config parser more robust. ## [v1.15] - 2020-02-02 - [Okra] diff --git a/pycardium/modules/py/config.py b/pycardium/modules/py/config.py index 8d70936ff2ba9c161712ad07a244f6ebe583a646..7fae24c9521ff0c41f65cbc6078417626c6a0d58 100644 --- a/pycardium/modules/py/config.py +++ b/pycardium/modules/py/config.py @@ -6,22 +6,22 @@ def set_string(key, value): Write a string to the configuration file ``card10.cfg``. Both ``key`` and ``value`` must be strings or must be - convertible to a string using the ``str()`` function. + convertible to a string using the :py:func:`str()` function. ``key`` must not contain spaces, control characters (including tabs), number signs ans equal signs. - ``value` must not contain control characters (including tabs). - Neither is allowed to contain the sub-string ``execute_elf``. + ``value`` must not contain control characters (including tabs). + Neither is allowed to contain the sub-string ``"execute_elf"``. The key/value pair is immediately written to the configuration file (``card10.cfg``). After the file is written, configuration - is read again and the new value is available via ``config.get_string``. + is read again and the new value is available via :py:func:`config.get_string`. :param str key: Name of the configuration option. :param str value: Value to write. :raises OSError: If writing to the configuration file failed. :raises OSError: If key or value contain illegal characters. - :raises ValueError: If key or value contain the sub-string ``execute_elf``. + :raises ValueError: If key or value contain the sub-string ``"execute_elf"``. .. versionadded:: 1.16 """ @@ -34,7 +34,7 @@ def get_string(key): Read a string from the configuration file ``card10.cfg``. ``key`` must be a string or must be convertible to a string using - the ``str()`` function. + the :py:func:`str()` function. :param str key: Name of the configuration option.