Problem: The Save button was disabled after changing gain/exposure values in the Edit Image Settings page.
Root Cause: The button was checking camera connection status for all camera types, but Nvidia CSI cameras don't use the Arvis camera connection system.
Solution:
- Changed the condition to only check camera status for Arvis cameras
- Added form validation state check for all camera types
- Save button now enabled when form is valid for Nvidia CSI cameras
Problem: Changing gain and exposure values in the UI doesn't reliably affect the captured image brightness.
Status: Config file is being updated correctly (verified with jq), but nvarguscamerasrc may not be applying the settings.
Possible Root Causes:
- Auto-exposure (AE) is enabled by default and overriding manual settings
- nvarguscamerasrc parameter format may be incorrect
- Camera firmware may have limitations on manual control
Current Solution Attempt:
- Added
aeantibanding=0parameter to disable auto-exposure antibanding - Using correct parameter format:
exposuretimerange="$EXPOSURE $EXPOSURE"andgainrange="$GAIN $GAIN" - Added debug logging to track when settings change
Next Steps for Testing:
- Run
check_csi_service.shto verify service is reading config changes - Run
test_nvargus_params.shto test different parameter combinations - Check service logs:
sudo journalctl -u nvidia-csi-capture.service -f - Try extreme values (very dark vs very bright) to see if any change occurs
-
src/frontend/src/components/image-settings/constants.ts- GAIN_MAX: 100 → 10.625
- EXPOSURE_MIN: 1 → 13000
- EXPOSURE_MAX: 150000 → 683709000
-
src/frontend/src/components/image-settings/EditImageSettingsPage.tsx- Save button now only checks camera status for Arvis cameras
-
src/frontend/src/components/image-settings/details-input/EditImageSettingsInput.tsx- Updated constraint text to clarify units and ranges
-
src/backend/gstreamer/pipeline_builder.py- Default gain: 1 → 2
- Default exposure: 500 → 100000
-
src/backend/utils/config/default_camera_configurations.json- Added default gain and exposure values for Nvidia CSI
src/host_scripts/nvidia_csi_capture.sh- Updated all default values to gain=2, exposure=100000
- Resolution: 3264x2464 @ 21fps
- Analog Gain Range: 1.0 to 10.625
- Exposure Range: 13000 to 683709000 nanoseconds (0.013ms to 683.7ms)
After deploying these changes:
- Create a new Nvidia CSI image source or edit existing one
- Go to Edit Image Settings
- Adjust gain (1.0-10.625) and exposure (13000-683709000)
- Save button should be enabled
- Image brightness should change according to the settings
- Settings are written to
/aws_dda/nvidia-csi-capture/config.json - Host service reads config and applies to nvarguscamerasrc