-
Couldn't load subscription status.
- Fork 5
Description
Issue
The current implementation of CyclerInterface for getting all channels readings is too slow. For example, for ~200 channels, it takes ~1 minute to retrieve all readings.
CyclerInterface retrieves channel readings sequentially, which results in slow performance when the number of channels increases.
Proposed Solution
Add a new method get_all_channels_status to CyclerInterface to retrieve readings of all channels at once.
The implementation will be based on the descriptions of THIRD_PARTY_GET_CHANNELS_INFO/THIRD_PARTY_GET_CHANNELS_INFO_FEEDBACK in the Arbin Docs. (To get info from all channels on the cycler, set OnlyChannel = -1).
The retrieved data will include:
- Common info for all channels (base template + message specific template: number of channels)
- Info for each channel (message specific template of channel info excluding number of channels)
Impact
The existing code will not be impacted. And the proposed get_all_channels_status is for read operations only.