Currently, only a certain number of telemetry systems are retrieved from the underlying mavsdk.System instance. A more robust system which automatically identifies and schedules these telemetry updates is necessary.
A possible solution is to utilize the dir() function to poll _drone.telemetry and access the telemetry systems. Then these can be parsed and used as keys in a dictionary to form all the tasks returned by asyncio.ensure_future and to store the data packet.
Currently, only a certain number of telemetry systems are retrieved from the underlying mavsdk.System instance. A more robust system which automatically identifies and schedules these telemetry updates is necessary.
A possible solution is to utilize the dir() function to poll _drone.telemetry and access the telemetry systems. Then these can be parsed and used as keys in a dictionary to form all the tasks returned by asyncio.ensure_future and to store the data packet.
self._telemetry_tasks = {} self._telemetry_data = {}
Then the data can be accessed: def telemetry_gps_info(self): return self._telemetry_data["gps_info"]
This would greatly reduce the lines of code needed. Then to close the futures the same method currently being used can stay.