mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-08-04 15:56:04 +08:00
Human Lane Change ui fix
Toggled on, would show adjecent radar leads, even if that toggle was off. Now gated to its toggle in developer ui.
This commit is contained in:
@@ -158,7 +158,9 @@ class ModelRenderer(Widget):
|
||||
|
||||
if render_lead_indicator and radar_state:
|
||||
self._draw_lead_indicator(radar_state)
|
||||
if sm.valid.get("starpilotRadarState", False):
|
||||
# Adjacent leads may be published by radard for non-UI consumers (e.g. HumanLaneChanges),
|
||||
# so gate drawing on the AdjacentLeadsUI param directly.
|
||||
if sm.valid.get("starpilotRadarState", False) and self._params.get_bool("AdjacentLeadsUI"):
|
||||
self._draw_adjacent_leads()
|
||||
|
||||
self._draw_radar_tracks()
|
||||
|
||||
@@ -51,25 +51,29 @@ void ModelRenderer::draw(QPainter &painter, const QRect &surface_rect) {
|
||||
drawLead(painter, lead_two, lead_vertices[1], surface_rect, QColor(starpilot_toggles.value("lead_marker_color").toString()));
|
||||
}
|
||||
|
||||
SubMaster &fpsm = *(starpilotUIState()->sm);
|
||||
const cereal::StarPilotRadarState::Reader &starpilot_radar_state = fpsm["starpilotRadarState"].getStarpilotRadarState();
|
||||
// Adjacent leads may be published by radard for non-UI consumers (e.g. HumanLaneChanges),
|
||||
// so gate drawing on the AdjacentLeadsUI toggle directly.
|
||||
if (starpilot_toggles.value("adjacent_lead_tracking").toBool()) {
|
||||
SubMaster &fpsm = *(starpilotUIState()->sm);
|
||||
const cereal::StarPilotRadarState::Reader &starpilot_radar_state = fpsm["starpilotRadarState"].getStarpilotRadarState();
|
||||
|
||||
const cereal::StarPilotRadarState::LeadData::Reader &lead_left = starpilot_radar_state.getLeadLeft();
|
||||
const cereal::StarPilotRadarState::LeadData::Reader &lead_right = starpilot_radar_state.getLeadRight();
|
||||
const cereal::StarPilotRadarState::LeadData::Reader &lead_left = starpilot_radar_state.getLeadLeft();
|
||||
const cereal::StarPilotRadarState::LeadData::Reader &lead_right = starpilot_radar_state.getLeadRight();
|
||||
|
||||
updateAdjacentLeads(starpilot_radar_state, model.getPosition());
|
||||
updateAdjacentLeads(starpilot_radar_state, model.getPosition());
|
||||
|
||||
starpilot_nvg->adjacentLeadTextRect = QRect();
|
||||
starpilot_nvg->adjacentLeadTextRect = QRect();
|
||||
|
||||
if (lead_left.getStatus() && lead_right.getStatus() && (lead_left.getDRel() < lead_right.getDRel())) {
|
||||
drawLead(painter, reinterpret_cast<const cereal::RadarState::LeadData::Reader&>(lead_left), adjacent_lead_vertices[0], surface_rect, starpilot_nvg->blueColor(), true);
|
||||
drawLead(painter, reinterpret_cast<const cereal::RadarState::LeadData::Reader&>(lead_right), adjacent_lead_vertices[1], surface_rect, starpilot_nvg->purpleColor(), true);
|
||||
} else {
|
||||
if (lead_left.getStatus()) {
|
||||
if (lead_left.getStatus() && lead_right.getStatus() && (lead_left.getDRel() < lead_right.getDRel())) {
|
||||
drawLead(painter, reinterpret_cast<const cereal::RadarState::LeadData::Reader&>(lead_left), adjacent_lead_vertices[0], surface_rect, starpilot_nvg->blueColor(), true);
|
||||
}
|
||||
if (lead_right.getStatus()) {
|
||||
drawLead(painter, reinterpret_cast<const cereal::RadarState::LeadData::Reader&>(lead_right), adjacent_lead_vertices[1], surface_rect, starpilot_nvg->purpleColor(), true);
|
||||
} else {
|
||||
if (lead_left.getStatus()) {
|
||||
drawLead(painter, reinterpret_cast<const cereal::RadarState::LeadData::Reader&>(lead_left), adjacent_lead_vertices[0], surface_rect, starpilot_nvg->blueColor(), true);
|
||||
}
|
||||
if (lead_right.getStatus()) {
|
||||
drawLead(painter, reinterpret_cast<const cereal::RadarState::LeadData::Reader&>(lead_right), adjacent_lead_vertices[1], surface_rect, starpilot_nvg->purpleColor(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user