Description
I've not managed to find any examples of using TelemetryServer() and I noticed the plugin isn't included in the mavsdk system.py. I have added the missing lines but I suspect it should be implemented this way @JonasVautherin. I'm trying to send an alert from onboard computer via PX4 and back to QGC. With the added plugin lines I'm then seeing an error. Any hints how to do this without taking the uOrb approach in C++.
Many thanks for any assistance
import asyncio
from mavsdk import System
from mavsdk.telemetry_server import (StatusText,StatusTextType)
async def run():
drone = System()
await drone.connect(system_address="serial:///dev/ttyACM0:115200")
await drone.telemetry_server.publish_status_text(StatusText(StatusTextType.ALERT,"FOUND MISSING PERSON!"))
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(run())
File "mavlinkSend.py", line 10, in run
await drone.telemetry_server.publish_status_text(StatusText(StatusTextType.ALERT,"FOUND MISSING PERSON!"))
File "/home/david/anaconda3/lib/python3.8/site-packages/mavsdk/telemetry_server.py", line 3461, in publish_status_text
response = await self._stub.PublishStatusText(request)
File "/home/david/anaconda3/lib/python3.8/site-packages/aiogrpc/channel.py", line 40, in call
return await fut
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.UNIMPLEMENTED
details = ""
debug_error_string = "{"created":"@1633706862.357854593","description":"Error received from peer ipv6:[::1]:50051","file":"src/core/lib/surface/call.cc","file_line":1069,"grpc_message":"","grpc_status":12}"