Description:
1.1.0 fix big mistakes in project structure and syntax of Data_Type.
this can be seen as the debuged 1.0.9 release.
This commit refactors several components of the DataPool, FFTSData, and ChunkableMixin classes to improve data management, streamline object instantiation, and enhance error handling. Key changes include:
FFTSData Refactor:
The FFTSData class now stores only the data_id of FreqSignalData objects instead of the entire object. This approach enables better memory management and modularity.
Added a new property, fft_ids, to retrieve a list of all data_ids associated with FreqSignalData.
Adjusted add_fft_signal() to append only the data_id, and fft_signals to retrieve full objects via datapool using data_id.
DataPool Enhancements:
Enhanced register_data() to handle variable kwargs more flexibly, allowing data_size_in_bytes and number_of_elements to pass selectively as needed.
Refactored the get_data() method by removing the auto-acknowledgment functionality to give subscribers explicit control over data access and processing.
Added get_data_object() to directly retrieve Data objects using data_id, with comprehensive permission checks and without automatic acknowledgment.
ChunkableMixin Adjustment:
Refined read_chunked_data() to include additional conditions for reading chunks, improving control over data stored in files.
Testing and Validation:
The test script has been updated to verify the proper storage and retrieval of FreqSignalData instances within FFTSData.
Implemented tabulate for a structured display of data_registry status, ensuring data storage and associations are correctly maintained.