mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-04 21:12:07 +08:00
ui: remove Q_PROPERTY from AnnotatedCameraWidget (#28745)
old-commit-hash: b234cb022356baceba3fb4a990c7c483216bd860
This commit is contained in:
+18
-29
@@ -283,53 +283,42 @@ void AnnotatedCameraWidget::updateState(const UIState &s) {
|
||||
|
||||
const bool cs_alive = sm.alive("controlsState");
|
||||
const bool nav_alive = sm.alive("navInstruction") && sm["navInstruction"].getValid();
|
||||
|
||||
const auto cs = sm["controlsState"].getControlsState();
|
||||
const auto car_state = sm["carState"].getCarState();
|
||||
const auto nav_instruction = sm["navInstruction"].getNavInstruction();
|
||||
|
||||
// Handle older routes where vCruiseCluster is not set
|
||||
float v_cruise = cs.getVCruiseCluster() == 0.0 ? cs.getVCruise() : cs.getVCruiseCluster();
|
||||
float set_speed = cs_alive ? v_cruise : SET_SPEED_NA;
|
||||
bool cruise_set = set_speed > 0 && (int)set_speed != SET_SPEED_NA;
|
||||
if (cruise_set && !s.scene.is_metric) {
|
||||
set_speed *= KM_TO_MILE;
|
||||
setSpeed = cs_alive ? v_cruise : SET_SPEED_NA;
|
||||
is_cruise_set = setSpeed > 0 && (int)setSpeed != SET_SPEED_NA;
|
||||
if (is_cruise_set && !s.scene.is_metric) {
|
||||
setSpeed *= KM_TO_MILE;
|
||||
}
|
||||
|
||||
// Handle older routes where vEgoCluster is not set
|
||||
float v_ego;
|
||||
if (car_state.getVEgoCluster() == 0.0 && !v_ego_cluster_seen) {
|
||||
v_ego = car_state.getVEgo();
|
||||
} else {
|
||||
v_ego = car_state.getVEgoCluster();
|
||||
v_ego_cluster_seen = true;
|
||||
}
|
||||
float cur_speed = cs_alive ? std::max<float>(0.0, v_ego) : 0.0;
|
||||
cur_speed *= s.scene.is_metric ? MS_TO_KPH : MS_TO_MPH;
|
||||
v_ego_cluster_seen = v_ego_cluster_seen || car_state.getVEgoCluster() != 0.0;
|
||||
float v_ego = v_ego_cluster_seen ? car_state.getVEgoCluster() : car_state.getVEgo();
|
||||
speed = cs_alive ? std::max<float>(0.0, v_ego) : 0.0;
|
||||
speed *= s.scene.is_metric ? MS_TO_KPH : MS_TO_MPH;
|
||||
|
||||
auto speed_limit_sign = nav_instruction.getSpeedLimitSign();
|
||||
float speed_limit = nav_alive ? nav_instruction.getSpeedLimit() : 0.0;
|
||||
speed_limit *= (s.scene.is_metric ? MS_TO_KPH : MS_TO_MPH);
|
||||
speedLimit = nav_alive ? nav_instruction.getSpeedLimit() : 0.0;
|
||||
speedLimit *= (s.scene.is_metric ? MS_TO_KPH : MS_TO_MPH);
|
||||
|
||||
setProperty("speedLimit", speed_limit);
|
||||
setProperty("has_us_speed_limit", nav_alive && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::MUTCD);
|
||||
setProperty("has_eu_speed_limit", nav_alive && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::VIENNA);
|
||||
|
||||
setProperty("is_cruise_set", cruise_set);
|
||||
setProperty("is_metric", s.scene.is_metric);
|
||||
setProperty("speed", cur_speed);
|
||||
setProperty("setSpeed", set_speed);
|
||||
setProperty("speedUnit", s.scene.is_metric ? tr("km/h") : tr("mph"));
|
||||
setProperty("hideBottomIcons", (cs.getAlertSize() != cereal::ControlsState::AlertSize::NONE));
|
||||
setProperty("status", s.status);
|
||||
has_us_speed_limit = (nav_alive && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::MUTCD);
|
||||
has_eu_speed_limit = (nav_alive && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::VIENNA);
|
||||
is_metric = s.scene.is_metric;
|
||||
speedUnit = s.scene.is_metric ? tr("km/h") : tr("mph");
|
||||
hideBottomIcons = (cs.getAlertSize() != cereal::ControlsState::AlertSize::NONE);
|
||||
status = s.status;
|
||||
|
||||
// update engageability/experimental mode button
|
||||
experimental_btn->updateState(s);
|
||||
|
||||
// update DM icon
|
||||
auto dm_state = sm["driverMonitoringState"].getDriverMonitoringState();
|
||||
setProperty("dmActive", dm_state.getIsActiveMode());
|
||||
setProperty("rightHandDM", dm_state.getIsRHD());
|
||||
dmActive = dm_state.getIsActiveMode();
|
||||
rightHandDM = dm_state.getIsRHD();
|
||||
// DM icon transition
|
||||
dm_fade_state = std::clamp(dm_fade_state+0.2*(0.5-dmActive), 0.0, 1.0);
|
||||
|
||||
|
||||
@@ -65,19 +65,6 @@ private:
|
||||
// container window for the NVG UI
|
||||
class AnnotatedCameraWidget : public CameraWidget {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(float speed MEMBER speed);
|
||||
Q_PROPERTY(QString speedUnit MEMBER speedUnit);
|
||||
Q_PROPERTY(float setSpeed MEMBER setSpeed);
|
||||
Q_PROPERTY(float speedLimit MEMBER speedLimit);
|
||||
Q_PROPERTY(bool is_cruise_set MEMBER is_cruise_set);
|
||||
Q_PROPERTY(bool has_eu_speed_limit MEMBER has_eu_speed_limit);
|
||||
Q_PROPERTY(bool has_us_speed_limit MEMBER has_us_speed_limit);
|
||||
Q_PROPERTY(bool is_metric MEMBER is_metric);
|
||||
|
||||
Q_PROPERTY(bool dmActive MEMBER dmActive);
|
||||
Q_PROPERTY(bool hideBottomIcons MEMBER hideBottomIcons);
|
||||
Q_PROPERTY(bool rightHandDM MEMBER rightHandDM);
|
||||
Q_PROPERTY(int status MEMBER status);
|
||||
|
||||
public:
|
||||
explicit AnnotatedCameraWidget(VisionStreamType type, QWidget* parent = 0);
|
||||
|
||||
Reference in New Issue
Block a user