Image/video capture commands do not set mode #2118
Open
+10
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates the docs to note that the image and video capture commands do not set the camera mode.
So if you're in video mode and you start video capture the command may fail (depending on whether the camera supports separate image/video modes and whether it allows capture of the opposite type in each mode.)
@julianoes @Davidsastresas @rmackay9
FYI The camera API allows a GCS to handle cameras for the manual use case because you can query what the camera mode type is, whether separate modes are supported, and whether the camera allows capture in the opposite mode.
I'm not sure what we can or should do for missions though.
If you're using a camera that allows capture in any mode there is no issue. If you're using a camera that supports separate image/video capture and you're in the wrong mode then the capture will fail, ideally with a status update. That's it.
What a flight stack should do IMO is check the camera mode support as part of mission feasibility checks with associated sensible status/event updates to the GCS as to why the mission is invalid.
My concern ^^^ is that a GCS might do a simplistic mission implementation that assumes cameras can all capture images in all modes, and that the camera will always allow image capture commands to be overridden by later commands (the second is not specified)