diff --git a/selfdrive/ui/ui.cc b/selfdrive/ui/ui.cc index daa721b9c..a750f3588 100644 --- a/selfdrive/ui/ui.cc +++ b/selfdrive/ui/ui.cc @@ -237,7 +237,9 @@ static void update_sockets(UIState *s) { } #ifdef QCOM2 if (sm.updated("roadCameraState")) { - scene.light_sensor = std::clamp(1023.0 - sm["roadCameraState"].getRoadCameraState().getIntegLines(), 0.0, 1023.0); + auto camera_state = sm["roadCameraState"].getRoadCameraState(); + float gain = camera_state.getGainFrac() * (camera_state.getGlobalGain() > 100 ? 2.5 : 1.0) / 10.0; + scene.light_sensor = std::clamp((1023.0 / 1757.0) * (1757.0 - camera_state.getIntegLines()) * (1.0 - gain), 0.0, 1023.0); } #endif scene.started = scene.deviceState.getStarted() || scene.driver_view;