diff options
| author | Nikita Kostovsky <luntik2012@gmail.com> | 2025-01-26 19:14:47 +0100 |
|---|---|---|
| committer | Nikita Kostovsky <luntik2012@gmail.com> | 2025-01-26 19:14:47 +0100 |
| commit | 0e5549aee87b98310eaba7dd3bba9828d2331eab (patch) | |
| tree | 3a1e0363f51a7c3df2a83e08a85c8e0043f1ffc0 /src/camera/innomakerov9281.cpp | |
| parent | 90503471c49ef6ab795a61a2dc7df1e35761fa7e (diff) | |
add gain control, laser level (strobe span) control
Diffstat (limited to 'src/camera/innomakerov9281.cpp')
| -rw-r--r-- | src/camera/innomakerov9281.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/camera/innomakerov9281.cpp b/src/camera/innomakerov9281.cpp index 73ceacb..56550ed 100644 --- a/src/camera/innomakerov9281.cpp +++ b/src/camera/innomakerov9281.cpp @@ -146,15 +146,29 @@ bool InnoMakerOV9281::setExposureTimeUs(int valueUs) // valueNs = (valueNs / exposureStep) * exposureStep; // std::clamp(valueNs, exposureStep, exposureStep * maxExposureStepMultiplier); - + // setGain(rand() % 254); + // setGain(3); + // setLaserLevel(rand() % 0x7fffffff); + // setLaserLevel(rand() % 100); + // int exp = rand() % 10; + // return setCamParam(V4L2_CID_EXPOSURE, exp * exp * exp * exp * exp * exp); return setCamParam(V4L2_CID_EXPOSURE, valueUs); } bool InnoMakerOV9281::setGain(int value) { + std::cout << __func__ << ": " << value << std::endl << std::flush; + return setCamParam(V4L2_CID_GAIN, value); } +bool InnoMakerOV9281::setLaserLevel(int value) +{ + std::cout << __func__ << ": " << value << std::endl << std::flush; + + return setCamParam(V4L2_CID_FLASH_TIMEOUT, value); +} + bool InnoMakerOV9281::setCamParam(unsigned int v4l2controlId, int value) { v4l2_control ctl{v4l2controlId, value}; @@ -344,7 +358,7 @@ bool InnoMakerOV9281::getImage(Image &image) if (elapsedTime > 1000.) { - // fprintf(stderr, "fps: %d, sec: %d\n", counter, curr.tv_sec); + fprintf(stderr, "fps: %d, sec: %d\n", counter, curr.tv_sec); fprintf(stderr, "sum: %d,\tcorr: %d,\tval: %d\n", sum_elapsed_ns / 1000 / counter, |
