I want to read the diagnostics from the flight controller into my own microprocessor, which will act as a supervisor and handle fault reactions to certain diagnostic errors.
What interface does the Orange cube use to send diagnostic information, is it MAVLINK or DroneCAN or both ?
Are these status parameters defined by the Pixhawk or Misison Planner ?
Surely the parameters available will depend on which flight controller is connected ?
Does MAVLINK need to request each of these parameters and if so how does it do this ? e.g. is there an ID for each parameter ?
Does each parameter need to be continuously polled by the MAVLINK receiver or does the flight controller cyclically send all these parameters ?
I have experience with standard industry protocols such as CAN, UART SPI, I2C etc but no experience with this bespoke MAVLINK protocol, so Im just trying to get a basic understanding of how it works.
Also, is it possible to get the diagnostic parameters on DroneCAN instead of Mavlink ?
Mavlink uses UART as the transport layer, but UART is much slower and much more susceptible to EMI compared to CAN. CAN has been around for decades, but UART is ancient !
I am already having EMI issues reading the telemetry from the APD ESC, because that uses UART and comes directly from the processor pin via a series resistor. It has virtually no protection and no resilience to EMI.
For an application where there is EMI from the ESC, motor and servos I am surprised such an unsuitable interface is used.
We even have EMI issues on the PWM commands sent from the flight controller, which is seen as servo twitch and seems to be a common issue. These interfaces should be more robust and use differential signaling techniques etc
No, those are status defined by the MAVLink protocol.
Yes, they do. Bus those are not parameters, those are statuses from MAVLink messages.
Yes and no. There are MAVLink message streams that you configure and do not need to request.
And additionally you can request each message individually.