Compare commits

...

32 Commits

Author SHA1 Message Date
royjr
743aa8e736 Merge branch 'master' into hyundai-radar-toggle 2025-10-10 00:09:54 -04:00
royjr
5847256371 Update opendbc_repo 2025-10-10 00:09:37 -04:00
royjr
c13f909390 Update opendbc_repo 2025-10-09 01:30:54 -04:00
royjr
f1de835d17 Update opendbc_repo 2025-10-09 01:11:07 -04:00
royjr
76ddb20cd5 Merge branch 'master' into hyundai-radar-toggle 2025-10-09 01:10:40 -04:00
royjr
ede7f70ddc Merge branch 'master' into hyundai-radar-toggle 2025-10-08 23:04:21 -04:00
royjr
46c3047fa7 Update opendbc_repo 2025-10-08 23:04:16 -04:00
royjr
cf5b5c666d Merge branch 'master' into hyundai-radar-toggle 2025-09-30 13:57:57 -04:00
royjr
03b56d6f09 Update opendbc_repo 2025-09-30 13:57:52 -04:00
royjr
ab180ce1e5 Update opendbc_repo 2025-09-22 23:13:42 -04:00
royjr
e0d8bc88b2 Update opendbc_repo 2025-09-22 00:33:12 -04:00
royjr
1dc45adb1c Merge branch 'master' into hyundai-radar-toggle 2025-09-22 00:28:40 -04:00
royjr
c3bd613885 Merge branch 'master' into hyundai-radar-toggle 2025-09-20 01:56:28 -04:00
royjr
55edb4efcb Update opendbc_repo 2025-09-20 01:56:23 -04:00
royjr
7ff9b28c94 Merge branch 'master' into hyundai-radar-toggle 2025-08-24 16:57:46 -04:00
royjr
5f9d340d7b Update opendbc_repo 2025-08-24 16:57:37 -04:00
royjr
e82b47cb70 Update opendbc_repo 2025-08-22 12:03:48 -04:00
royjr
10b5e58558 Merge branch 'master' into hyundai-radar-toggle 2025-08-22 11:47:43 -04:00
royjr
116936341f Update opendbc_repo 2025-08-22 11:41:48 -04:00
royjr
8d5bd92d51 Update opendbc_repo 2025-08-14 22:13:26 -04:00
royjr
4453dba6ed Update opendbc_repo 2025-08-13 23:03:43 -04:00
royjr
cc20313815 fix param 2025-08-13 20:38:33 -04:00
royjr
3b30b93bbb Merge branch 'master' into hyundai-radar-toggle 2025-08-13 18:34:52 -04:00
royjr
5d9de36d40 Update opendbc_repo 2025-08-13 18:31:10 -04:00
royjr
a91b97b89a Set RADAR_OFF flag for Hyundai when radar is off
Adds logic to set the RADAR_OFF flag in CP_SP.flags when the Hyundai radar type is set to OFF. This ensures the correct flag is applied for vehicles with radar disabled.
2025-07-01 02:09:53 -04:00
royjr
ec4e2ec3c1 Update opendbc_repo 2025-07-01 02:09:48 -04:00
royjr
1f49367380 Merge branch 'master-new' into hyundai-radar-toggle 2025-07-01 01:10:33 -04:00
royjr
040f81fc91 Update opendbc_repo 2025-07-01 01:10:02 -04:00
royjr
5253b33b7a buttonClicked 2025-06-03 01:34:18 -04:00
royjr
fc46a0ed7f Update opendbc_repo 2025-06-03 01:18:21 -04:00
royjr
8056a797c7 Merge branch 'master-new' into hyundai-radar-toggle 2025-06-03 01:17:26 -04:00
royjr
a492625927 init 2025-05-20 01:34:50 -04:00
5 changed files with 65 additions and 2 deletions

View File

@@ -205,6 +205,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
// sunnypilot car specific params
{"HyundaiLongitudinalTuning", {PERSISTENT | BACKUP, INT, "0"}},
{"HyundaiRadar", {PERSISTENT | BACKUP, INT, "0"}},
{"DynamicExperimentalControl", {PERSISTENT | BACKUP, BOOL, "0"}},
{"BlindSpot", {PERSISTENT | BACKUP, BOOL, "0"}},

View File

@@ -20,6 +20,19 @@ HyundaiSettings::HyundaiSettings(QWidget *parent) : BrandSettingsInterface(paren
QObject::connect(longitudinalTuningToggle, &ButtonParamControlSP::buttonClicked, this, &HyundaiSettings::updateSettings);
list->addItem(longitudinalTuningToggle);
longitudinalTuningToggle->showDescription();
std::vector<QString> radar_tuning_texts{ tr("Off"), tr("Lead Only"), tr("Full Radar") };
radarToggle = new ButtonParamControl(
"HyundaiRadar",
tr("Radar Tracks"),
"",
"",
radar_tuning_texts,
500
);
QObject::connect(radarToggle, &ButtonParamControlSP::buttonClicked, this, &HyundaiSettings::updateSettings);
list->addItem(radarToggle);
radarToggle->showDescription();
}
void HyundaiSettings::updateSettings() {
@@ -54,4 +67,25 @@ void HyundaiSettings::updateSettings() {
longitudinalTuningToggle->setEnabled(!longitudinal_tuning_disabled);
longitudinalTuningToggle->setDescription(longitudinal_tuning_description);
longitudinalTuningToggle->showDescription();
auto radar_param = std::atoi(params.get("HyundaiRadar").c_str());
RadarOption radar_option;
if (radar_param == int(RadarOption::LEAD_ONLY)) {
radar_option = RadarOption::LEAD_ONLY;
} else if (radar_param == int(RadarOption::FULL_RADAR)) {
radar_option = RadarOption::FULL_RADAR;
} else {
radar_option = RadarOption::OFF;
}
bool radar_disabled = !offroad || !has_longitudinal_control;
QString radar_description = radarDescription(radar_option);
if (radar_disabled) {
radar_description = toggleDisableMsg(offroad, has_longitudinal_control);
}
radarToggle->setEnabled(!radar_disabled);
radarToggle->setDescription(radar_description);
radarToggle->showDescription();
}

View File

@@ -20,6 +20,12 @@ enum class LongitudinalTuningOption {
PREDICTIVE,
};
enum class RadarOption {
OFF,
LEAD_ONLY,
FULL_RADAR,
};
class HyundaiSettings : public BrandSettingsInterface {
Q_OBJECT
@@ -30,6 +36,7 @@ public:
private:
bool has_longitudinal_control = false;
ButtonParamControl *longitudinalTuningToggle = nullptr;
ButtonParamControl *radarToggle = nullptr;
static QString toggleDisableMsg(bool _offroad, bool _has_longitudinal_control) {
if (!_has_longitudinal_control) {
@@ -62,4 +69,24 @@ private:
.arg(dynamic_str)
.arg(predictive_str);
}
static QString radarDescription(RadarOption option = RadarOption::OFF) {
QString off_str = tr("Off: Disables radar tracking. Vision-only vehicle detection.");
QString lead_only_str = tr("Lead Only: Tracks only the closest vehicle ahead.");
QString full_radar_str = tr("Full Radar: Tracks all nearby vehicles using radar.");
if (option == RadarOption::LEAD_ONLY) {
lead_only_str = "<font color='white'><b>" + lead_only_str + "</b></font>";
} else if (option == RadarOption::FULL_RADAR) {
full_radar_str = "<font color='white'><b>" + full_radar_str + "</b></font>";
} else {
off_str = "<font color='white'><b>" + off_str + "</b></font>";
}
return QString("%1<br><br>%2<br>%3<br>%4<br>")
.arg(tr("Configure how radar tracks surrounding vehicles — turn it off, track only the lead, or track all."))
.arg(off_str)
.arg(lead_only_str)
.arg(full_radar_str);
}
};

View File

@@ -81,7 +81,8 @@ def initialize_params(params) -> list[dict[str, Any]]:
# hyundai
keys.extend([
"HyundaiLongitudinalTuning"
"HyundaiLongitudinalTuning",
"HyundaiRadar"
])
return [{k: params.get(k, return_default=True)} for k in keys]