Skip to content

Releases: Sun-Lab-NBB/ataraxis-communication-interface

4.1.0

09 Dec 18:16

Choose a tag to compare

Minor Update

Major changes:

  1. Added Python 3.14 support.

What's Changed

  • 314 support by @Inkaros in #8
  • Added error redirection to terminal for microcontroller discovery by @Inkaros in #9

Full Changelog: 4.0.1...4.1.0

4.0.1

09 Nov 21:30

Choose a tag to compare

Minor Bugfix

  1. Fixed a bug related to not being able to pickle LRU cache instances that prevented the library from running on Windows.

What's Changed

Full Changelog: 4.0.0...4.0.1

4.0.0

01 Nov 21:28
7bfd731

Choose a tag to compare

Major Update

Major Changes

  1. Refactored the dependency management and automation strategy to ataraxis-automation 7.0.0+ standard.
  2. Updated all project dependencies to the latest major versions, which includes all Ataraxis dependencies.
  3. Radically simplified the API for writing and integrating custom module interface classes with the rest of the communication infrastructure.
  4. Improved runtime performance by deprecating unnecessary runtime checks and introducing LRU caching for module messages,
  5. Added a new 'axci-id' CLI command to identify ataraxis microcontrollers available for connection on the local system.
  6. Deprecated support for Python 3.11.
  7. Added multiprocessing support for log parsing function, leading to a significant performance boost when working with large log archives.

What's Changed

Full Changelog: 3.2.1...4.0.0

3.2.1

07 Apr 16:17

Choose a tag to compare

Minor Bugfix

  • Added explicit export for the ExtractedModuleData class. This dataclass is used to package module data extracted from .npz archives when the extraction method works with multiple modules at the same time.

Full Changelog: 3.2.0...3.2.1

3.2.0

07 Apr 16:10

Choose a tag to compare

Minor Update

  • Refactored extract_logged_hardware_module_data() method to support extracting data from multiple hardware modules as part of the same I/O operation.

Full Changelog: 3.1.0...3.2.0

3.1.0

04 Mar 20:26
8ff6073

Choose a tag to compare

Minor Feature Update

  1. Introduces a global extract_logged_hardware_module_data() function that can be used to extract the data logged by a ModuleInterface instance without initialized ModuleInterface and MicroControllerInterface objects. Primarily, this allows parallelizing data processing.
  2. MicroControllerInterface now has a 'log_path' property which returns the Path to the compressed .npz archive. This path can be provided to the global extraction function to parse the data stored in the archive. Note, the extraction function also requires the module-type and module_id codes available as properties of ModuleInterface class instances.
  3. Also includes minor ReadMe and docstring optimizations.

What's Changed

  • Added multiprocessing-safe, instance-independent log parsing by @Inkaros in #5

Full Changelog: 3.0.2...3.1.0

3.0.2

03 Mar 18:47
544c63a

Choose a tag to compare

Minor Bugfix

  1. Fixed MicroControllerInterface runtime cycle error that prevented it from properly working with modules whose parse_mqtt_command method returned None due to directly submitting the message to the microcontroller transmission queue.

What's Changed

Full Changelog: 3.0.1...3.0.2

3.0.1

31 Jan 02:39
a422098

Choose a tag to compare

Minor Bugfix and ModuleInterface API enhancement

  • Critically, added a new abstract method to ModuleInterface. The method allows cleaning up interface assets that were initialized in the remote communication process.

What's Changed

Full Changelog: 3.0.0...3.0.1

3.0.0

31 Jan 00:18
3d33a93

Choose a tag to compare

Major API changes and QoL updates

-- Critically, the library now depends on ataraxis-data-structures 3.0.0.
-- Added support for python 3.13.
-- Added the ability to send data to the communication process directly from ModuleInterface classes.
-- Expanded log parsing to extract more data for each module.
-- Improved MicroControllerInterface resource management and cleanup during unexpected (error) shut-downs
-- Reworked ModuleInterface abstract methods to give developers more freedom for implementing custom data processing and routing logic. This change breaks all existing ModuleInterfaces however, as it involved refactoring one method and adding a new
method.

What's Changed

Full Changelog: 2.0.0...3.0.0

2.0.0

05 Jan 20:26
da2e3e8

Choose a tag to compare

Major Version

  • Refactored UnityCommunication to MQTTCommunication. This better communicates the purpose of the communication class and its ability to interact with any other process or client, local or remote, over MQTT protocol.

What's Changed

  • Refactored UnityCommunication to MQTTCommunication by @Inkaros in #1

New Contributors

Full Changelog: 1.0.0...2.0.0