Merge remote-tracking branch 'upstream/master' into enable-planner

pull/24873/head
Shane Smiskol 3 years ago
commit 13997c5527
  1. 2
      .github/ISSUE_TEMPLATE/car_bug_report.yml
  2. 2
      laika_repo
  3. 2
      selfdrive/car/fw_versions.py
  4. 1
      selfdrive/car/tests/test_models.py
  5. 47
      selfdrive/ui/qt/onroad.cc
  6. 2
      selfdrive/ui/qt/onroad.h
  7. 3
      selfdrive/ui/replay/replay.cc

@ -1,6 +1,6 @@
name: Car bug report
description: For issues with a particular car make or model
labels: ["car bug"]
labels: ["car", "bug"]
body:
- type: markdown

@ -1 +1 @@
Subproject commit 44f048bc1f58ae9e28dfdeb98e40aea3e0f2b699
Subproject commit 27a0d8a776fc8c1eaf8608d17ce81a00136f8bd0

@ -148,14 +148,12 @@ REQUESTS: List[Request] = [
"volkswagen",
[VOLKSWAGEN_VERSION_REQUEST_MULTI],
[VOLKSWAGEN_VERSION_RESPONSE],
whitelist_ecus=[Ecu.srs, Ecu.eps, Ecu.fwdRadar],
rx_offset=VOLKSWAGEN_RX_OFFSET,
),
Request(
"volkswagen",
[VOLKSWAGEN_VERSION_REQUEST_MULTI],
[VOLKSWAGEN_VERSION_RESPONSE],
whitelist_ecus=[Ecu.engine, Ecu.transmission],
),
# Mazda
Request(

@ -221,6 +221,7 @@ class TestCarModelBase(unittest.TestCase):
# TODO: check rest of panda's carstate (steering, ACC main on, etc.)
checks['gasPressed'] += CS.gasPressed != self.safety.get_gas_pressed_prev()
checks['cruiseState'] += CS.cruiseState.enabled and not CS.cruiseState.available
# TODO: remove this exception once this mismatch is resolved
brake_pressed = CS.brakePressed

@ -196,6 +196,7 @@ void NvgWindow::updateState(const UIState &s) {
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 ? "km/h" : "mph");
@ -225,8 +226,8 @@ void NvgWindow::drawHud(QPainter &p) {
// Draw outer box + border to contain set speed and speed limit
int default_rect_width = 172;
int rect_width = default_rect_width;
if (is_metric || has_eu_speed_limit) rect_width = 200;
if (has_us_speed_limit && speedLimitStr.size() >= 3) rect_width = 223;
else if (has_eu_speed_limit) rect_width = 200;
int rect_height = 204;
if (has_us_speed_limit) rect_height = 402;
@ -240,26 +241,6 @@ void NvgWindow::drawHud(QPainter &p) {
p.setBrush(blackColor(166));
drawRoundedRect(p, set_speed_rect, top_radius, top_radius, bottom_radius, bottom_radius);
// Draw set speed
if (is_cruise_set) {
if (speedLimit > 0 && status != STATUS_DISENGAGED && status != STATUS_OVERRIDE) {
p.setPen(interpColor(
setSpeed,
{speedLimit + 5, speedLimit + 15, speedLimit + 25},
{whiteColor(), QColor(0xff, 0x95, 0x00, 0xff), QColor(0xff, 0x00, 0x00, 0xff)}
));
} else {
p.setPen(whiteColor());
}
} else {
p.setPen(QColor(0x72, 0x72, 0x72, 0xff));
}
configFont(p, "Open Sans", 90, "Bold");
QRect speed_rect = getTextRect(p, Qt::AlignCenter, setSpeedStr);
speed_rect.moveCenter({set_speed_rect.center().x(), 0});
speed_rect.moveTop(set_speed_rect.top() + 8);
p.drawText(speed_rect, Qt::AlignCenter, setSpeedStr);
// Draw MAX
if (is_cruise_set) {
if (status == STATUS_DISENGAGED) {
@ -281,9 +262,31 @@ void NvgWindow::drawHud(QPainter &p) {
configFont(p, "Open Sans", 40, "SemiBold");
QRect max_rect = getTextRect(p, Qt::AlignCenter, "MAX");
max_rect.moveCenter({set_speed_rect.center().x(), 0});
max_rect.moveTop(set_speed_rect.top() + 123);
max_rect.moveTop(set_speed_rect.top() + 23);
p.drawText(max_rect, Qt::AlignCenter, "MAX");
// Draw set speed
if (is_cruise_set) {
if (speedLimit > 0 && status != STATUS_DISENGAGED && status != STATUS_OVERRIDE) {
p.setPen(interpColor(
setSpeed,
{speedLimit + 5, speedLimit + 15, speedLimit + 25},
{whiteColor(), QColor(0xff, 0x95, 0x00, 0xff), QColor(0xff, 0x00, 0x00, 0xff)}
));
} else {
p.setPen(whiteColor());
}
} else {
p.setPen(QColor(0x72, 0x72, 0x72, 0xff));
}
configFont(p, "Open Sans", 90, "Bold");
QRect speed_rect = getTextRect(p, Qt::AlignCenter, setSpeedStr);
speed_rect.moveCenter({set_speed_rect.center().x(), 0});
speed_rect.moveTop(set_speed_rect.top() + 67);
p.drawText(speed_rect, Qt::AlignCenter, setSpeedStr);
// US/Canada (MUTCD style) sign
if (has_us_speed_limit) {
const int border_width = 6;

@ -34,6 +34,7 @@ class NvgWindow : public CameraViewWidget {
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 engageable MEMBER engageable);
Q_PROPERTY(bool dmActive MEMBER dmActive);
@ -57,6 +58,7 @@ private:
float setSpeed;
float speedLimit;
bool is_cruise_set = false;
bool is_metric = false;
bool engageable = false;
bool dmActive = false;
bool hideDM = false;

@ -360,7 +360,8 @@ void Replay::stream() {
setCurrentSegment(toSeconds(cur_mono_time_) / 60);
// migration for pandaState -> pandaStates to keep UI working for old segments
if (cur_which == cereal::Event::Which::PANDA_STATE_D_E_P_R_E_C_A_T_E_D) {
if (cur_which == cereal::Event::Which::PANDA_STATE_D_E_P_R_E_C_A_T_E_D &&
sockets_[cereal::Event::Which::PANDA_STATES] != nullptr) {
MessageBuilder msg;
auto ps = msg.initEvent().initPandaStates(1);
ps[0].setIgnitionLine(true);

Loading…
Cancel
Save