I've been working with a manufacturer for a MAVLink capable camera and we are looking to add more functionality to the camera. The two messages that we are particularly looking at are currently in the ardupilotmega.xml but they make more sense to convert them into general MAVLink messages. The two messages that are being looked at the most are CAMERA_STATUS (
https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/ardupilotmega.xml#L621 ) and CAMERA_FEEDBACK (
https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/ardupilotmega.xml#L635 ).
CAMERA_STATUS is very interesting to support as it allows a camera to report how many photos can be taken, the battery level (if self powered) and camera errors. This is all really valuable information to an operator at the GCS. I'd like to suggest that we extend the definition of CAMERA_STATUS_TYPE_HEARTBEAT to additionally fill out the following fields:
p1 camera mode (use an enum with the following: initializing, camera ready, camera capturing/busy) (Not sure on what the full list here should be)
p2 camera battery (if present)
p3 reported shots remaining (if stills are supported)
p4 supported video minutes remaning (if supported)
CAMERA_FEEDBACK provides information about where the camera was taken, while this is what CAMERA_TRIGGER is meant to do, the full feedback message is valuable for any camera that is running it's own IMU or GPS system, which is potentially of a higher quality (or better correlated to when the image was taken) then that on the external interface.
Is there any objection to moving these into the general MAVLink specification? What are other features people think should be included or changed?