General
- Remove support for Python 3.9
API
- Removed dependency to `pint` library. All measurement code now returns numbers instead of objects of the `pint` class `Quantity` again.
Measurement
- The method `convert_raw_to_g` now returns a float instead of a `Quantity`.
Network
- Removed the coroutines:
- `read_streaming_data_seconds` and
- `read_streaming_data_amount`
Please just use `open_data_stream` and `async for`, if you want to replace code that used these coroutines.
- Added the coroutine `shutdown` again: You can use this method, if you want to shutdown the bus manually
Storage
- The storage class now only acts as an context manager for the class that modifies the data itself (`StorageData`). You now need to provide the format of the axis data when you first open the storage class instead of later in the process, when you add data. Overall the process of storing acceleration data as HDF5 file should be simpler and less error prone due to the new design.
- You can now also use the class to work with already existing HDF5 files.
Streaming
- We **changed the interface (data structure) for accessing streaming data** to [improve the performance](https://github.com/MyTooliT/ICOc/issues/40) when working with the high frequency data of the ICOtronic system.
- Add the amount of lost messages to the data returned by the iterator over the streaming data
- Raise an exception if the amount of buffered streaming messages exceeds a certain value (currently one second worth of streaming data).
**Note:** A large buffer indicates that the application is not able to keep up
with the current rate of retrieved messages and therefore the probability of
losing messages is quite high.
- Removed the class `TimestampedValue`