|
|
|
@ -902,7 +902,8 @@ void CameraState::set_camera_exposure(float grey_frac) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void process_driver_camera(MultiCameraState *s, CameraState *c, int cnt) { |
|
|
|
|
c->set_camera_exposure(set_exposure_target(&c->buf, 96, 1832, 2, 242, 1148, 4)); |
|
|
|
|
const auto ae_xywh = c->ci->driver_ae_xywh; |
|
|
|
|
c->set_camera_exposure(set_exposure_target(&c->buf, ae_xywh[0], ae_xywh[2], 2, ae_xywh[1], ae_xywh[3], 4)); |
|
|
|
|
|
|
|
|
|
MessageBuilder msg; |
|
|
|
|
auto framed = msg.initEvent().initDriverCameraState(); |
|
|
|
@ -927,9 +928,9 @@ void process_road_camera(MultiCameraState *s, CameraState *c, int cnt) { |
|
|
|
|
c->ci->processRegisters(c, framed); |
|
|
|
|
s->pm->send(c == &s->road_cam ? "roadCameraState" : "wideRoadCameraState", msg); |
|
|
|
|
|
|
|
|
|
const auto [x, y, w, h] = (c == &s->wide_road_cam) ? std::tuple(96, 250, 1734, 524) : std::tuple(96, 160, 1734, 986); |
|
|
|
|
const auto ae_xywh = (c == &s->wide_road_cam) ? c->ci->wide_ae_xywh : c->ci->road_ae_xywh; |
|
|
|
|
const int skip = 2; |
|
|
|
|
c->set_camera_exposure(set_exposure_target(b, x, x + w, skip, y, y + h, skip)); |
|
|
|
|
c->set_camera_exposure(set_exposure_target(b, ae_xywh[0], ae_xywh[2], skip, ae_xywh[1], ae_xywh[3], skip)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void cameras_run(MultiCameraState *s) { |
|
|
|
|