Cache bounded stream lists and resume replies independently on each
GCS link after transmit backpressure. Expire remote capture status
after three seconds, retain locally scheduled interval capture, and
back off unanswered status requests.
Preserve native camera identity in cached replies and isolated-link
broadcasts, and suppress synthetic FC-owned status for native cameras.
Restore configured mount associations in cached information only when
a same-system camera advertises none.
Add CAMn_COMPID (0 or 7-255) so camera-v2 discovery can use a
non-default component ID. The first slot owns a colliding ID; duplicate
or invalid IDs warn and disable discovery.
Resolve command selectors as component IDs or legacy slots 1-6 with the
same rules for live commands and missions. NaN in formerly reserved
selector fields means unset. Video commands with a nonzero camera
selector treat param1 as a stream ID and pass the status frequency
through; without one they keep the old camera-slot interpretation.
Fill camera_device_id in camera information, settings, capture status,
field of view and stream messages, and document the routing and
selector design.
CAMERA_CAPTURE_STATUS.image_status was calculated from num_remaining
being positive, but take_multiple_pictures sets num_remaining to -1 when
asked to capture until stopped, so a camera capturing on an interval
forever reported itself idle. Test num_remaining the same way update()
does when deciding whether to take the next image.