Skip to content

Commit 4378c4b

Browse files
ramp up IR faster for driver view (#36663)
* ramp up IR faster for driver view * set it
1 parent 61fffb9 commit 4378c4b

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

selfdrive/pandad/pandad.cc

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,14 +365,19 @@ void process_panda_state(std::vector<Panda *> &pandas, PubMaster *pm, bool engag
365365
}
366366

367367
void process_peripheral_state(Panda *panda, PubMaster *pm, bool no_fan_control) {
368+
static Params params;
368369
static SubMaster sm({"deviceState", "driverCameraState"});
369370

370371
static uint64_t last_driver_camera_t = 0;
371372
static uint16_t prev_fan_speed = 999;
372373
static int ir_pwr = 0;
373374
static int prev_ir_pwr = 999;
375+
static uint32_t prev_frame_id = UINT32_MAX;
376+
static bool driver_view = false;
374377

378+
// TODO: can we merge these?
375379
static FirstOrderFilter integ_lines_filter(0, 30.0, 0.05);
380+
static FirstOrderFilter integ_lines_filter_driver_view(0, 5.0, 0.05);
376381

377382
{
378383
sm.update(0);
@@ -389,7 +394,15 @@ void process_peripheral_state(Panda *panda, PubMaster *pm, bool no_fan_control)
389394
auto event = sm["driverCameraState"];
390395
int cur_integ_lines = event.getDriverCameraState().getIntegLines();
391396

392-
cur_integ_lines = integ_lines_filter.update(cur_integ_lines);
397+
// reset the filter when camerad restarts
398+
if (event.getDriverCameraState().getFrameId() < prev_frame_id) {
399+
integ_lines_filter.reset(0);
400+
integ_lines_filter_driver_view.reset(0);
401+
driver_view = params.getBool("IsDriverViewEnabled");
402+
}
403+
prev_frame_id = event.getDriverCameraState().getFrameId();
404+
405+
cur_integ_lines = (driver_view ? integ_lines_filter_driver_view : integ_lines_filter).update(cur_integ_lines);
393406
last_driver_camera_t = event.getLogMonoTime();
394407

395408
if (cur_integ_lines <= CUTOFF_IL) {

0 commit comments

Comments
 (0)