Hello,
I am working on a Libargus API based C++ camera application and try to adjust manually the exposure time settings,. I read multiple threads about the topic one of the most helpful was that Problem with exposure setting on camera - Jetson & Embedded Systems / Jetson TX1 - NVIDIA Developer Forums
But unlike in the referred post I was not able to modify the exposure time value.
This code part responsible for turning of the auto exposure and set a new value:
ISourceSettings *iSourceSettings = interface_cast<ISourceSettings>(iRequest->getSourceSettings());
EXIT_IF_NULL(iSourceSettings, "Failed to get source settings interface");
IAutoControlSettings* iAutoControlSettings = interface_cast<IAutoControlSettings>(iRequest->getAutoControlSettings());
EXIT_IF_NULL(iAutoControlSettings, "Failed to get IAutoControlSettings");
Argus::Status status = STATUS_OK;
status = iAutoControlSettings->setAeLock(true);
EXIT_IF_NOT_OK(status, "Failed to setAeLock()");
status = iAutoControlSettings->setAwbLock(true);
EXIT_IF_NOT_OK(status, "Failed to setAwbLock()");
Range<uint64_t> limitExposureTimeRange = iSensorMode->getExposureTimeRange();
USER_AUTO_EXPOSURE_PRINT("Sensor Exposure Range min %ju, max %ju\n",
limitExposureTimeRange.min(), limitExposureTimeRange.max());
status = iSourceSettings->setExposureTimeRange(Range<uint64_t>{100000000, 100000000});
EXIT_IF_NOT_OK(status, "Failed to setExpoRange()");
status = iSourceSettings->setGainRange(Range<float>{16,16});
EXIT_IF_NOT_OK(status, "Failed to setGainRange()");
limitExposureTimeRange = iSensorMode->getExposureTimeRange();
USER_AUTO_EXPOSURE_PRINT("Sensor Exposure Range min %ju, max %ju\n",
limitExposureTimeRange.min(), limitExposureTimeRange.max());
I print the exposure values before and after the setting and during the video feed streaming and I always got back the same value:
Exposure range min 1000, max 355744000
I also tried to follow the exposure value with dmesg and proper grep and I noticed every application run produces 2 exposure setting but always sets the same value.
Now I have a code where I can turn off the auto exposure but it looks like I can not modify the exposure time, I tried multiple values which are in the range of the checked values. Where should I search for the root of the problem?