Skip to content

Commit 69a99c6

Browse files
author
SzabolcsGergely
committed
Change API to be able to configure isp 3A FPS
1 parent 0b6e484 commit 69a99c6

File tree

8 files changed

+26
-20
lines changed

8 files changed

+26
-20
lines changed

cmake/Depthai/DepthaiDeviceSideConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")
33

44
# "full commit hash of device side binary"
5-
set(DEPTHAI_DEVICE_SIDE_COMMIT "8f6a30a17a5c7076c6b05260f9c07ab80f54ab12")
5+
set(DEPTHAI_DEVICE_SIDE_COMMIT "85a6a52c1dcb8000c03dbd7af00758ed06d1a38e")
66

77
# "version if applicable"
88
set(DEPTHAI_DEVICE_SIDE_VERSION "")

include/depthai/pipeline/node/Camera.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,13 @@ class Camera : public NodeCRTP<Node, Camera, CameraProperties> {
199199
void setFps(float fps);
200200

201201
/**
202-
* Image tuning, 3A rate.
203-
* Default (0) matches the camera FPS, meaning that statistics for auto exposure are collected on each frame.
204-
* Reducing the rate of 3A reduces the CPU usage on MSS, but also reduces the convergence rate of 3A.
202+
* Isp 3A rate (auto focus, auto exposure, auto white balance).
203+
* Value (-1) is auto-mode. For USB devices will set 3A fps to maximum 30 fps, for POE devices to maximum 20 fps.
204+
* Can be overriden by setting explicitly.
205+
* Default (0) matches the camera FPS, meaning that 3A is running on each frame.
206+
* Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of 3A.
205207
*/
206-
void set3AFpsDenominator(int denominator);
208+
void setIsp3aFps(int isp3aFps);
207209

208210
/**
209211
* Get rate at which camera should produce frames

include/depthai/pipeline/node/ColorCamera.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,13 @@ class ColorCamera : public NodeCRTP<Node, ColorCamera, ColorCameraProperties> {
223223
void setFps(float fps);
224224

225225
/**
226-
* Image tuning, 3A rate.
227-
* Default (0) matches the camera FPS, meaning that statistics for auto exposure are collected on each frame.
228-
* Reducing the rate of 3A reduces the CPU usage on MSS, but also reduces the convergence rate of 3A.
226+
* Isp 3A rate (auto focus, auto exposure, auto white balance).
227+
* Value (-1) is auto-mode. For USB devices will set 3A fps to maximum 30 fps, for POE devices to maximum 20 fps.
228+
* Can be overriden by setting explicitly.
229+
* Default (0) matches the camera FPS, meaning that 3A is running on each frame.
230+
* Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of 3A.
229231
*/
230-
void set3AFpsDenominator(int denominator);
232+
void setIsp3aFps(int isp3aFps);
231233

232234
// Set events on which frames will be received
233235
void setFrameEventFilter(const std::vector<dai::FrameEvent>& events);

include/depthai/pipeline/node/MonoCamera.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,13 @@ class MonoCamera : public NodeCRTP<Node, MonoCamera, MonoCameraProperties> {
118118
void setFps(float fps);
119119

120120
/**
121-
* Image tuning, 3A rate.
122-
* Default (0) matches the camera FPS, meaning that statistics for auto exposure are collected on each frame.
123-
* Reducing the rate of 3A reduces the CPU usage on MSS, but also reduces the convergence rate of 3A.
121+
* Isp 3A rate (auto focus, auto exposure, auto white balance).
122+
* Value (-1) is auto-mode. For USB devices will set 3A fps to maximum 30 fps, for POE devices to maximum 20 fps.
123+
* Can be overriden by setting explicitly.
124+
* Default (0) matches the camera FPS, meaning that 3A is running on each frame.
125+
* Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of 3A.
124126
*/
125-
void set3AFpsDenominator(int denominator);
127+
void setIsp3aFps(int isp3aFps);
126128

127129
/**
128130
* Get rate at which camera should produce frames

src/pipeline/node/Camera.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ void Camera::setFps(float fps) {
130130
properties.fps = fps;
131131
}
132132

133-
void Camera::set3AFpsDenominator(int denominator) {
134-
properties.imageTuningFpsDenominator = denominator;
133+
void Camera::setIsp3aFps(int isp3aFps) {
134+
properties.isp3aFps = isp3aFps;
135135
}
136136

137137
float Camera::getFps() const {

src/pipeline/node/ColorCamera.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ void ColorCamera::setFps(float fps) {
177177
properties.fps = fps;
178178
}
179179

180-
void ColorCamera::set3AFpsDenominator(int denominator) {
181-
properties.imageTuningFpsDenominator = denominator;
180+
void ColorCamera::setIsp3aFps(int isp3aFps) {
181+
properties.isp3aFps = isp3aFps;
182182
}
183183

184184
void ColorCamera::setFrameEventFilter(const std::vector<dai::FrameEvent>& events) {

src/pipeline/node/MonoCamera.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ void MonoCamera::setFps(float fps) {
9999
properties.fps = fps;
100100
}
101101

102-
void MonoCamera::set3AFpsDenominator(int denominator) {
103-
properties.imageTuningFpsDenominator = denominator;
102+
void MonoCamera::setIsp3aFps(int isp3aFps) {
103+
properties.isp3aFps = isp3aFps;
104104
}
105105

106106
float MonoCamera::getFps() const {

0 commit comments

Comments
 (0)