diff --git a/selfdrive/ui/ui.c b/selfdrive/ui/ui.c index d01b115d0..c4fe9d098 100644 --- a/selfdrive/ui/ui.c +++ b/selfdrive/ui/ui.c @@ -348,6 +348,10 @@ static void set_awake(UIState *s, bool awake) { static void set_volume(UIState *s, int volume) { char volume_change_cmd[64]; + if (s->dragon_ui_volume_boost > 0 || s->dragon_ui_volume_boost < 0) { + volume = volume * (1 + s->dragon_ui_volume_boost /100); + volume = volume > MAX_VOLUME? MAX_VOLUME : volume; + } sprintf(volume_change_cmd, "service call audio 3 i32 3 i32 %d i32 1", volume); // 5 second timeout at 60fps @@ -2647,9 +2651,6 @@ int main(int argc, char* argv[]) { s->volume_timeout--; } else { int volume = min(MAX_VOLUME, MIN_VOLUME + s->scene.v_ego / 5); // up one notch every 5 m/s - if (s->dragon_ui_volume_boost > 0 || s->dragon_ui_volume_boost < 0) { - volume = volume * (1 + s->dragon_ui_volume_boost /100); - } set_volume(s, volume); }