No, it will have a basic set of messages, enough to handle a basic camera with known parameters. The definition file is to be able to extend camera functionality beyond the basics.
- Vehicle with camera will need to fill in the user-defined params as k-v pairs and host the file for download.
The vehicle does not need to host the file (though it could if it can). The idea is to have the file hosted somewhere on the Internet. You don’t fill in the parameters. These are set once by the camera manufacturer/integrator and saved into the XML file.
- GCS will download the file and build the UI based on parameters.
Correct. If there is no definition file, only the basic set of options are available.
- GCS will send set/get messages for each parameter to configure the camera.
Is my understanding correct? Suppose if there are 50 params, will there be an exchange of 50 get/set messages?
As it current stands, yes. If you have a better idea, this is why this discussion was started. To come up with ways to deal with this. Yes, if you could send a whole json file or POST a request with all the get/set at once it would be better but that’s not how MAVLink works.