Let a Manta aim at the frame mean the keep rule waits for

Rietschen's RGB camera came with ExposureAutoAlg = FitRange and a 10 %
tolerance. FitRange fits the histogram wherever the mean lands, and the
camera stopped adjusting 10 % off its target, so the keep rule's 50 +- 5 %
band was never reached: at a 3 s interval every waypoint ran into its 2 s
frame_timeout (2026-10-21). The gige recipe now sets Mean and 5 %, as the
NIR camera already had. By day the exposure floor goes from 200 to 20 us:
at noon the camera sat at 200-600 us with no room to darken a bright view,
and without chunk data the host cannot tell a camera at its limit from one
still settling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Peter Bochmann 2026-10-21 12:03:08 +02:00
parent fdb3c50b68
commit c62d8270b3
Signed by: peter.bochmann
GPG Key ID: 94E8C523489B8AC1
2 changed files with 15 additions and 5 deletions

View File

@ -733,10 +733,12 @@ and the telemetry work. `export_camera_profile.py` picks its `gige` recipe by
itself when a camera has `ExposureTimeAbs` and no `ExposureTime`: frame trigger
off (the legacy cameras booted with `TriggerMode = On`, `Line1`), `BayerRG8` on
the colour camera and `Mono8` on a mono one, 60 MB/s each, the frame rate at
the camera's maximum (rietschen's RGB camera came set to 0.955 fps), and an
auto-exposure target of 50 %. That last one matters: the keep rule waits for the frame mean
to reach 50 %, and at the cameras' old 25 every waypoint ran into
`frame_timeout_ms`.
the camera's maximum (rietschen's RGB camera came set to 0.955 fps), and
auto-exposure on the frame mean (`ExposureAutoAlg = Mean`) at 50 % +- 5 %, down
to 20 us by day. That last one matters: the keep rule waits for the frame mean
to reach 50 % +- 5 %. At the cameras' old target of 25 every waypoint ran into
`frame_timeout_ms`, and so it did with the RGB camera's `FitRange` and 10 %
tolerance, which fit the histogram wherever its mean lands.
Give `--camera` the id: with several cameras the first one the SDK lists is
not the colour one, and the order changes from run to run. `install.sh

View File

@ -154,6 +154,11 @@ _GIGE_COMMON = [
# The keep rule waits for the frame mean to reach the camera's target. The
# host starts on its default band of 50 % - rietschen's cameras were set to
# 25, and every waypoint then ran into frame_timeout_ms (7.5 s, 2026-10-20).
# The camera has to aim at the mean, and stop adjusting only inside the same
# +-5 %: the RGB camera came with FitRange (which fits the histogram, wherever
# the mean lands) and a 10 % tolerance, and no waypoint settled (2026-10-21).
("ExposureAutoAlg", "Mean"),
("ExposureAutoAdjustTol", 5),
("ExposureAutoTarget", 50),
("ExposureAuto", "Continuous"),
("GainAuto", "Continuous"),
@ -162,7 +167,10 @@ _GIGE_COMMON = [
GIGE_RECIPES = {
"standard": _GIGE_COMMON + [
("ExposureAutoMax", 20000),
("ExposureAutoMin", 200),
# Rietschen's RGB camera sat at 200-600 us at noon: a floor of 200 left it
# no room to darken a bright view, and without chunk data the host cannot
# tell a camera at its limit from one still settling. The Manta goes to 16.
("ExposureAutoMin", 20),
("GainAutoMax", 24.0),
],
"night": _GIGE_COMMON + [