IQ.Pilot Release Commit @ fddcfba

This commit is contained in:
IQ.Lvbs CI [bot]
2026-07-21 13:46:05 -05:00
parent eea1278105
commit b6c0232c12
667 changed files with 3218 additions and 1780 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
## Running IQ.Pilot
* A modern comma, or clone device to run this software (Comma 3, 3x, 4, Konik A1/M, Mr.One C3, C3 Lite)
* One of [the supported cars](https://gitlvb.teallvbs.xyz/IQ.Lvbs/IQ.Pilot/src/branch/release/opendbc_repo/docs/CARS.md).
* One of [the supported cars](https://gitlvb.teallvbs.xyz/IQ.Lvbs/IQ.Pilot/src/branch/release/iqdbc_repo/docs/CARS.md).
* A [car harness](https://comma.ai/shop/products/car-harness) to connect to your car
#### Side Note: Volkswagen Group, and Tesla vehicles are currently the most compatible for use with IQ.Pilot, other manufacturers are supported at a minimum to the same level as stock openpilot, but are not a top priority while we are in beta.
## Installation
+1 -1
View File
@@ -208,7 +208,7 @@ Export('common')
env_swaglog = env.Clone()
env_swaglog['CXXFLAGS'].append('-DSWAGLOG="\\"common/swaglog.h\\""')
SConscript(['msgq_repo/SConscript'], exports={'env': env_swaglog})
SConscript(['opendbc_repo/SConscript'], exports={'env': env_swaglog})
SConscript(['iqdbc_repo/SConscript'], exports={'env': env_swaglog})
SConscript(['cereal/SConscript'])
+1 -1
View File
@@ -1 +1 @@
../opendbc_repo/opendbc/car/car.capnp
../iqdbc_repo/iqdbc/car/car.capnp
+1 -1
View File
@@ -319,7 +319,6 @@ struct IQOnroadEvent @0xf4621d3ee9233bc9 {
}
struct IQCarParams @0xd4189b5c8aca9f78 {
# Data fields first (packed into the struct data section), pointer field last.
# Ordinals are IQ-native; all consumers access by name. Live copies self-heal
# via CLEAR_ON_MANAGER_START on the "IQCarParams" param; the persistent cache
# is versioned separately (see IQCarParamsPersistentV2).
@@ -329,6 +328,7 @@ struct IQCarParams @0xd4189b5c8aca9f78 {
enableGasInterceptor @3 :Bool;
iqLateralNet @4 :LateralNet;
longitudinalStoppingSpeedOverride @5 :Float32; # m/s; zero keeps the upstream default
struct LateralNet {
fuzzyFingerprint @0 :Bool;
+3 -7
View File
@@ -103,14 +103,10 @@ Params::~Params() {
assert(queue.empty());
}
std::vector<std::string> Params::allKeys(ParamKeyFlag flag) const {
std::vector<std::string> Params::allKeys() const {
std::vector<std::string> ret;
ret.reserve(keys.size());
for (const auto &[name, attrs] : keys) {
const bool matches = (flag == ALL) || ((attrs.flags & flag) != 0);
if (matches) {
ret.push_back(name);
}
for (auto &p : keys) {
ret.push_back(p.first);
}
return ret;
}
+1 -2
View File
@@ -18,7 +18,6 @@ enum ParamKeyFlag {
DONT_LOG = 0x20,
DEVELOPMENT_ONLY = 0x40,
CLEAR_ON_IGNITION_ON = 0x80,
KONN3KT_BACKUP = 0x100,
ALL = 0xFFFFFFFF
};
@@ -46,7 +45,7 @@ public:
Params(const Params&) = delete;
Params& operator=(const Params&) = delete;
std::vector<std::string> allKeys(ParamKeyFlag flag = ALL) const;
std::vector<std::string> allKeys() const;
bool checkKey(const std::string &key);
ParamKeyFlag getKeyFlag(const std::string &key);
ParamKeyType getKeyType(const std::string &key);
+184 -183
View File
@@ -7,8 +7,8 @@
inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"AccessToken", {CLEAR_ON_MANAGER_START | DONT_LOG, STRING}},
{"AdbEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"AlwaysOnDM", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"AdbEnabled", {PERSISTENT, BOOL}},
{"AlwaysOnDM", {PERSISTENT, BOOL}},
{"ApiCache_Device", {PERSISTENT, STRING}},
{"ApiCache_FirehoseStats", {PERSISTENT, JSON}},
{"AssistNowToken", {PERSISTENT, STRING}},
@@ -31,20 +31,20 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"CurrentBootlog", {PERSISTENT, STRING}},
{"CurrentRoute", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, STRING}},
{"DisableLogging", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, BOOL}},
{"DisablePowerDown", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"DisableUpdates", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"UpdaterInstallMode", {PERSISTENT | KONN3KT_BACKUP, STRING, "download_and_install"}},
{"DisengageOnAccelerator", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"DisablePowerDown", {PERSISTENT, BOOL}},
{"DisableUpdates", {PERSISTENT, BOOL, "0"}},
{"UpdaterInstallMode", {PERSISTENT, STRING, "download_and_install"}},
{"DisengageOnAccelerator", {PERSISTENT, BOOL, "0"}},
{"DongleId", {PERSISTENT, STRING}},
{"DoReboot", {CLEAR_ON_MANAGER_START, BOOL}},
{"DevicePowerState", {CLEAR_ON_MANAGER_START, STRING}},
{"DoShutdown", {CLEAR_ON_MANAGER_START, BOOL}},
{"DoUninstall", {CLEAR_ON_MANAGER_START, BOOL}},
{"DriverTooDistracted", {CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON, BOOL}},
{"AlphaLongitudinalEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"ExperimentalMode", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"ExperimentalModeConfirmed", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"FastSleep", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"AlphaLongitudinalEnabled", {PERSISTENT, BOOL}},
{"ExperimentalMode", {PERSISTENT, BOOL}},
{"ExperimentalModeConfirmed", {PERSISTENT, BOOL}},
{"FastSleep", {PERSISTENT, BOOL}},
{"FirmwareQueryDone", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, BOOL}},
{"ForcePowerDown", {PERSISTENT, BOOL}},
{"GitAuthBlob", {PERSISTENT, BYTES}},
@@ -52,21 +52,21 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"GitCommit", {PERSISTENT, STRING}},
{"GitCommitDate", {PERSISTENT, STRING}},
{"GitDiff", {PERSISTENT, STRING}},
{"GithubSshKeys", {PERSISTENT | KONN3KT_BACKUP, STRING}},
{"GithubUsername", {PERSISTENT | KONN3KT_BACKUP, STRING}},
{"GithubSshKeys", {PERSISTENT, STRING}},
{"GithubUsername", {PERSISTENT, STRING}},
{"GitRemote", {PERSISTENT, STRING}},
{"GsmApn", {PERSISTENT | KONN3KT_BACKUP, STRING}},
{"GsmMetered", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"GsmRoaming", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"GsmApn", {PERSISTENT, STRING}},
{"GsmMetered", {PERSISTENT, BOOL, "1"}},
{"GsmRoaming", {PERSISTENT, BOOL}},
{"HardwareSerial", {PERSISTENT, STRING}},
{"HasAcceptedTerms", {PERSISTENT, STRING, "0"}},
{"HephaestusdPid", {PERSISTENT, INT}},
{"InstallDate", {PERSISTENT, TIME}},
{"IsDriverViewEnabled", {CLEAR_ON_MANAGER_START, BOOL}},
{"IsEngaged", {PERSISTENT, BOOL}},
{"IsLdwEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"IsLdwEnabled", {PERSISTENT, BOOL}},
{"IsLiveStreaming", {CLEAR_ON_MANAGER_START, BOOL}},
{"IsMetric", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"IsMetric", {PERSISTENT, BOOL}},
{"IsOffroad", {CLEAR_ON_MANAGER_START, BOOL}},
{"IsOnroad", {PERSISTENT, BOOL}},
{"IsRhdDetected", {PERSISTENT, BOOL}},
@@ -77,7 +77,8 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"JoystickAolRequest", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, STRING}},
{"Konn3ktSshKeys", {PERSISTENT, STRING}},
{"Konn3ktBleTransportEnabled", {PERSISTENT, BOOL, "1"}},
{"LanguageSetting", {PERSISTENT | KONN3KT_BACKUP, STRING, "en"}},
{"Konn3ktLibdatachannelWebRTC", {PERSISTENT, BOOL, "0"}},
{"LanguageSetting", {PERSISTENT, STRING, "en"}},
{"LastAthenaPingTime", {CLEAR_ON_MANAGER_START, INT}},
{"LastGPSPosition", {PERSISTENT, STRING}},
{"LastManagerExitReason", {CLEAR_ON_MANAGER_START, STRING}},
@@ -88,7 +89,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"LastUpdateRouteCount", {PERSISTENT, INT, "0"}},
{"LastUpdateTime", {PERSISTENT, TIME}},
{"LastUpdateUptimeOnroad", {PERSISTENT, FLOAT, "0.0"}},
{"LiveDelay", {PERSISTENT | KONN3KT_BACKUP, BYTES}},
{"LiveDelay", {PERSISTENT, BYTES}},
{"LiveParameters", {PERSISTENT, JSON}},
{"LiveParametersV2", {PERSISTENT, BYTES}},
{"LivestreamEncoderBitrate", {CLEAR_ON_MANAGER_START | DONT_LOG, INT}},
@@ -97,8 +98,8 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"LocationFilterInitialState", {PERSISTENT, BYTES}},
{"LateralManeuverMode", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, BOOL}},
{"LongitudinalManeuverMode", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, BOOL}},
{"LongitudinalPersonality", {PERSISTENT | KONN3KT_BACKUP, INT, std::to_string(static_cast<int>(cereal::LongitudinalPersonality::STANDARD))}},
{"NetworkMetered", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"LongitudinalPersonality", {PERSISTENT, INT, std::to_string(static_cast<int>(cereal::LongitudinalPersonality::STANDARD))}},
{"NetworkMetered", {PERSISTENT, BOOL}},
{"ObdMultiplexingChanged", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, BOOL}},
{"ObdMultiplexingEnabled", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, BOOL}},
{"Offroad_CarUnrecognized", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, JSON}},
@@ -114,26 +115,26 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"Offroad_UnregisteredHardware", {CLEAR_ON_MANAGER_START, JSON}},
{"Offroad_UpdateFailed", {CLEAR_ON_MANAGER_START, JSON}},
{"OnroadCycleRequested", {CLEAR_ON_MANAGER_START, BOOL}},
{"OpenpilotEnabledToggle", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"OpenpilotEnabledToggle", {PERSISTENT, BOOL, "1"}},
{"PandaHeartbeatLost", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, BOOL}},
{"PandaSomResetTriggered", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, BOOL}},
{"PandaSignatures", {CLEAR_ON_MANAGER_START, BYTES}},
{"PrimeType", {PERSISTENT, INT}},
{"RecordAudio", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"RecordAudioFeedback", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"DashcamEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"RecordFront", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"RecordAudio", {PERSISTENT, BOOL}},
{"RecordAudioFeedback", {PERSISTENT, BOOL, "0"}},
{"DashcamEnabled", {PERSISTENT, BOOL, "1"}},
{"RecordFront", {PERSISTENT, BOOL}},
{"RecordFrontLock", {PERSISTENT, BOOL}}, // for the internal fleet
{"SecOCKey", {PERSISTENT | DONT_LOG | KONN3KT_BACKUP, STRING}},
{"SecOCKey", {PERSISTENT | DONT_LOG, STRING}},
{"ShowDebugInfo", {PERSISTENT, BOOL}},
{"RouteCount", {PERSISTENT, INT, "0"}},
{"SnoozeUpdate", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, BOOL}},
{"SshEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"SshEnabled", {PERSISTENT, BOOL}},
{"TermsVersion", {PERSISTENT, STRING}},
{"TorqueBar", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"TorqueBar", {PERSISTENT, BOOL, "0"}},
{"TrainingVersion", {PERSISTENT, STRING}},
{"UbloxAvailable", {PERSISTENT, BOOL}},
{"UsbStorageEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"UsbStorageEnabled", {PERSISTENT, BOOL}},
{"UpdateAvailable", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, BOOL}},
{"UpdateFailedCount", {CLEAR_ON_MANAGER_START, INT}},
{"UpdaterAvailableBranches", {PERSISTENT, STRING}},
@@ -151,132 +152,132 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
// --- iqpilot params --- //
{"ApiCache_DriveStats", {PERSISTENT, JSON}},
{"AutoLaneChangeBsmDelay", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"AutoLaneChangeTimer", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"NavExitLaneChange", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQBlinkerMinLateralSpeed", {PERSISTENT | KONN3KT_BACKUP, INT, "20"}}, // MPH or km/h
{"IQBlinkerPauseLateral", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"Brightness", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"AutoLaneChangeBsmDelay", {PERSISTENT, BOOL, "0"}},
{"AutoLaneChangeTimer", {PERSISTENT, INT, "0"}},
{"NavExitLaneChange", {PERSISTENT, BOOL, "0"}},
{"IQBlinkerMinLateralSpeed", {PERSISTENT, INT, "20"}}, // MPH or km/h
{"IQBlinkerPauseLateral", {PERSISTENT, INT, "0"}},
{"Brightness", {PERSISTENT, INT, "0"}},
{"CarList", {PERSISTENT, JSON}},
{"IQCarParams", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, BYTES}},
{"IQCarParamsCache", {CLEAR_ON_MANAGER_START, BYTES}},
{"IQCarParamsPersistent", {PERSISTENT, BYTES}},
{"IQCarParamsPersistentV2", {PERSISTENT, BYTES}},
{"CarPlatformBundle", {PERSISTENT | KONN3KT_BACKUP, JSON}},
{"ChevronInfo", {PERSISTENT | KONN3KT_BACKUP, INT, "4"}},
{"DeviceBootMode", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"IQDevUIInfo", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"EnableEsimProvisioning", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"GreenLightAlert", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"InteractivityTimeout", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"CarPlatformBundle", {PERSISTENT, JSON}},
{"ChevronInfo", {PERSISTENT, INT, "4"}},
{"DeviceBootMode", {PERSISTENT, INT, "0"}},
{"IQDevUIInfo", {PERSISTENT, INT, "0"}},
{"EnableEsimProvisioning", {PERSISTENT, BOOL, "1"}},
{"GreenLightAlert", {PERSISTENT, BOOL, "0"}},
{"InteractivityTimeout", {PERSISTENT, INT, "0"}},
{"IsDevelopmentBranch", {CLEAR_ON_MANAGER_START, BOOL}},
{"IsReleaseIqBranch", {CLEAR_ON_MANAGER_START, BOOL}},
{"LastGPSPositionIQLoc", {PERSISTENT, STRING}},
{"LeadDepartAlert", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"LongIncrementsEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"LongIncrementTapStep", {PERSISTENT | KONN3KT_BACKUP, INT, "1"}},
{"LongIncrementHoldStep", {PERSISTENT | KONN3KT_BACKUP, INT, "5"}},
{"IQE2ESetSpeedMode", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"IQE2ESetSpeedUseCurrent", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQE2ESetSpeedMph", {PERSISTENT | KONN3KT_BACKUP, INT, "65"}},
{"MaxTimeOffroad", {PERSISTENT | KONN3KT_BACKUP, INT, "1800"}},
{"NightMode", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"newLeadMpc", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"LeadDepartAlert", {PERSISTENT, BOOL, "0"}},
{"LongIncrementsEnabled", {PERSISTENT, BOOL, "0"}},
{"LongIncrementTapStep", {PERSISTENT, INT, "1"}},
{"LongIncrementHoldStep", {PERSISTENT, INT, "5"}},
{"IQE2ESetSpeedMode", {PERSISTENT, INT, "0"}},
{"IQE2ESetSpeedUseCurrent", {PERSISTENT, BOOL, "0"}},
{"IQE2ESetSpeedMph", {PERSISTENT, INT, "65"}},
{"MaxTimeOffroad", {PERSISTENT, INT, "1800"}},
{"NightMode", {PERSISTENT, BOOL, "0"}},
{"newLeadMpc", {PERSISTENT, BOOL, "1"}},
{"ModelRunnerTypeCache", {CLEAR_ON_ONROAD_TRANSITION, INT}},
{"ForceOnroadUntil", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, INT, "0"}},
{"OffroadMode", {CLEAR_ON_MANAGER_START, BOOL}},
{"Offroad_TiciSupport", {CLEAR_ON_MANAGER_START, JSON}},
{"OnroadScreenOffBrightness", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"OnroadScreenOffTimer", {PERSISTENT | KONN3KT_BACKUP, INT, "15"}},
{"OnScreenNavigation", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OnlineOSMaps", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"OfflineOSMaps", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OSMapsStyleMode", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"OSMapsHeadingUp", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"OnroadScreenOffBrightness", {PERSISTENT, INT, "0"}},
{"OnroadScreenOffTimer", {PERSISTENT, INT, "15"}},
{"OnScreenNavigation", {PERSISTENT, BOOL, "0"}},
{"OnlineOSMaps", {PERSISTENT, BOOL, "1"}},
{"OfflineOSMaps", {PERSISTENT, BOOL, "0"}},
{"OSMapsStyleMode", {PERSISTENT, INT, "0"}},
{"OSMapsHeadingUp", {PERSISTENT, BOOL, "1"}},
{"OfflineTilesBaseUrl", {PERSISTENT, STRING}},
{"OnroadUploads", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQAlertSilence", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"RainbowMode", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"RocketFuel", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ShowTurnSignals", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"StandstillTimer", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OnroadUploads", {PERSISTENT, BOOL, "1"}},
{"IQAlertSilence", {PERSISTENT, BOOL, "0"}},
{"RainbowMode", {PERSISTENT, BOOL, "0"}},
{"RocketFuel", {PERSISTENT, BOOL, "0"}},
{"ShowTurnSignals", {PERSISTENT, BOOL, "0"}},
{"StandstillTimer", {PERSISTENT, BOOL, "0"}},
// AOL (Always On Lateral) params
{"AolEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"AolMainCruiseAllowed", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"AolSteeringMode", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"AolUnifiedEngagementMode", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"AolEnabled", {PERSISTENT, BOOL, "1"}},
{"AolMainCruiseAllowed", {PERSISTENT, BOOL, "1"}},
{"AolSteeringMode", {PERSISTENT, INT, "0"}},
{"AolUnifiedEngagementMode", {PERSISTENT, BOOL, "1"}},
// Model Manager params
{"ModelManager_ActiveBundle", {PERSISTENT, JSON}},
{"ModelManager_ClearCache", {CLEAR_ON_MANAGER_START, BOOL}},
{"ModelManager_DownloadIndex", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, INT, "-1"}},
{"ModelManager_Favs", {PERSISTENT | KONN3KT_BACKUP, STRING}},
{"ModelManager_Favs", {PERSISTENT, STRING}},
{"ModelManager_LastSyncTime", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, INT, "0"}},
{"ModelManager_ModelsCache", {PERSISTENT | KONN3KT_BACKUP, JSON}},
{"ModelManager_ModelsCache", {PERSISTENT, JSON}},
// Neural Network Feed Forward
{"NeuralNetworkFeedForward", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"NeuralNetworkFeedForward", {PERSISTENT, BOOL, "0"}},
// Backup Manager params
{"BackupManager_CreateBackup", {PERSISTENT, BOOL}},
{"BackupManager_RestoreVersion", {PERSISTENT, STRING}},
// iqpilot car specific params
{"HyundaiLongitudinalTuning", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"SubaruStopAndGo", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SubaruStopAndGoManualParkingBrake", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"TeslaCoopSteering", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ToyotaEnforceStockLongitudinal", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"HyundaiLongitudinalTuning", {PERSISTENT, INT, "0"}},
{"SubaruStopAndGo", {PERSISTENT, BOOL, "0"}},
{"SubaruStopAndGoManualParkingBrake", {PERSISTENT, BOOL, "0"}},
{"TeslaCoopSteering", {PERSISTENT, BOOL, "0"}},
{"ToyotaEnforceStockLongitudinal", {PERSISTENT, BOOL, "0"}},
{"VwPqEpsPatched", {PERSISTENT, BOOL}},
{"ToyotaSnGHack", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"pqhca5or7Toggle", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"iqMqbAccResume", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"iqMqbSteeringLockout", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"ToyotaSnGHack", {PERSISTENT, BOOL, "0"}},
{"pqhca5or7Toggle", {PERSISTENT, BOOL}},
{"iqMqbAccResume", {PERSISTENT, BOOL, "0"}},
{"iqMqbSteeringLockout", {PERSISTENT, BOOL, "0"}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT, BOOL}},
{"IQDynamicMode", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQDynamicBlendStockRadar", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQDynamicConditionalCurves", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQDynamicConditionalSlowerLead", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQDynamicConditionalStoppedLead", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQDynamicConditionalModelStops", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQDynamicConditionalSLCFallback", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQDynamicConditionalSpeed", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "18.0"}},
{"IQDynamicConditionalLeadSpeed", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "24.0"}},
{"IQDynamicModelStopTime", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "3.0"}},
{"IQDynamicMinimumForceStopLength", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0.0"}},
{"IQForceStops", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"IQCustomStopDistance", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}}, // meters, -2..2; negative = stop closer, positive = stop further back; independent of IQForceStops
{"BlindSpot", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQExpandedStatus", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQDynamicMode", {PERSISTENT, BOOL, "0"}},
{"IQDynamicBlendStockRadar", {PERSISTENT, BOOL, "0"}},
{"IQDynamicConditionalCurves", {PERSISTENT, BOOL, "1"}},
{"IQDynamicConditionalSlowerLead", {PERSISTENT, BOOL, "1"}},
{"IQDynamicConditionalStoppedLead", {PERSISTENT, BOOL, "1"}},
{"IQDynamicConditionalModelStops", {PERSISTENT, BOOL, "1"}},
{"IQDynamicConditionalSLCFallback", {PERSISTENT, BOOL, "1"}},
{"IQDynamicConditionalSpeed", {PERSISTENT, FLOAT, "18.0"}},
{"IQDynamicConditionalLeadSpeed", {PERSISTENT, FLOAT, "24.0"}},
{"IQDynamicModelStopTime", {PERSISTENT, FLOAT, "3.0"}},
{"IQDynamicMinimumForceStopLength", {PERSISTENT, FLOAT, "0.0"}},
{"IQForceStops", {PERSISTENT, BOOL, "1"}},
{"IQCustomStopDistance", {PERSISTENT, INT, "0"}}, // meters, -2..2; negative = stop closer, positive = stop further back; independent of IQForceStops
{"BlindSpot", {PERSISTENT, BOOL, "0"}},
{"IQExpandedStatus", {PERSISTENT, BOOL, "0"}},
{"HomePanelWidget", {PERSISTENT, STRING, "changelog"}},
// iqpilot model params
{"CameraOffset", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0.0"}},
{"LagdToggle", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"LagdToggleDelay", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0.2"}},
{"CameraOffset", {PERSISTENT, FLOAT, "0.0"}},
{"LagdToggle", {PERSISTENT, BOOL, "1"}},
{"LagdToggleDelay", {PERSISTENT, FLOAT, "0.2"}},
{"LagdValueCache", {PERSISTENT, FLOAT, "0.2"}},
{"LaneChangeBsd", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}}, // -1 ignore BSD, 0 default, 1 block lane change on BSD
{"LaneChangeContinuous", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}}, // 0 one-shot per blinker, 1 chain on held blinker (torque-gated)
{"LaneChangeDelay", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0.0"}}, // tenths of a second; scaled by 0.1 in desire_helper
{"LaneChangeNeedTorque", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}}, // <0 disable blinker LC, 0 default, >0 require torque
{"IQLaneTurnDesire", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQLaneTurnValue", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "19.0"}},
{"PlanplusControl", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "1.0"}},
{"LaneChangeBsd", {PERSISTENT, INT, "0"}}, // -1 ignore BSD, 0 default, 1 block lane change on BSD
{"LaneChangeContinuous", {PERSISTENT, BOOL, "0"}}, // 0 one-shot per blinker, 1 chain on held blinker (torque-gated)
{"LaneChangeDelay", {PERSISTENT, FLOAT, "0.0"}}, // tenths of a second; scaled by 0.1 in desire_helper
{"LaneChangeNeedTorque", {PERSISTENT, INT, "0"}}, // <0 disable blinker LC, 0 default, >0 require torque
{"IQLaneTurnDesire", {PERSISTENT, BOOL, "0"}},
{"IQLaneTurnValue", {PERSISTENT, FLOAT, "19.0"}},
{"PlanplusControl", {PERSISTENT, FLOAT, "1.0"}},
{"LatSmoothSec", {PERSISTENT, INT, "13"}},
{"ModelSmoothingEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ModelLatSmoothSec", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"ModelSmoothingEnabled", {PERSISTENT, BOOL, "0"}},
{"ModelLatSmoothSec", {PERSISTENT, INT, "0"}},
// IQ.Pilot Parameters:
{"ShowBSMIndicators", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ShowSteeringArc", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ShowRoadName", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ShowRealTimeAcceleration", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ShowBSMIndicators", {PERSISTENT, BOOL, "0"}},
{"ShowSteeringArc", {PERSISTENT, BOOL, "0"}},
{"ShowRoadName", {PERSISTENT, BOOL, "0"}},
{"ShowRealTimeAcceleration", {PERSISTENT, BOOL, "0"}},
{"ForceSmallUI", {PERSISTENT, BOOL, "0"}},
{"DeveloperUI", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OBrightness", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OBrightnessManual", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OBrightnessDelay", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"DeveloperUI", {PERSISTENT, BOOL, "0"}},
{"OBrightness", {PERSISTENT, BOOL, "0"}},
{"OBrightnessManual", {PERSISTENT, BOOL, "0"}},
{"OBrightnessDelay", {PERSISTENT, BOOL, "0"}},
{"MapAdvisorySpeedLimit", {CLEAR_ON_ONROAD_TRANSITION, FLOAT}},
{"MapdVersion", {PERSISTENT, STRING}},
{"MapdSettings", {PERSISTENT, JSON}}, // pfeiferj/mapd v2 persistent settings (read/written by the mapd binary)
@@ -290,10 +291,10 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"AthenaNavigationRoute", {CLEAR_ON_MANAGER_START, JSON}},
{"NavigationActive", {CLEAR_ON_MANAGER_START, BOOL, "0"}},
{"NavigationDestination", {CLEAR_ON_MANAGER_START, JSON}},
{"NavigationEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"NavigationDebugFlags", {PERSISTENT | KONN3KT_BACKUP, JSON}},
{"NavigationEnabled", {PERSISTENT, BOOL, "0"}},
{"NavigationDebugFlags", {PERSISTENT, JSON}},
{"NavigationManeuvers", {CLEAR_ON_MANAGER_START, JSON}},
{"NavigationPreferences", {PERSISTENT | KONN3KT_BACKUP, JSON}},
{"NavigationPreferences", {PERSISTENT, JSON}},
{"NavigationRenderRoute", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, JSON}},
{"NavigationRecalculateRoutes", {CLEAR_ON_MANAGER_START, BOOL, "0"}},
{"NavigationRouteAlternatives", {CLEAR_ON_MANAGER_START, JSON}},
@@ -311,37 +312,37 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"OsmStateNames", {PERSISTENT, JSON}},
{"OsmWayTest", {PERSISTENT, STRING}},
{"RoadName", {CLEAR_ON_ONROAD_TRANSITION, STRING}},
{"RoadNameToggle", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"IQSpeedAssistMode", {PERSISTENT | KONN3KT_BACKUP, INT, "1"}},
{"IQSpeedAssistOffsetType", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"IQSpeedAssistPolicy", {PERSISTENT | KONN3KT_BACKUP, INT, "3"}},
{"IQSpeedAssistValueOffset", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"SpeedLimitController", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ConstructionZoneAssist", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"VisionVehicleTracks", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"AmbientTrackDots", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"ConstructionZoneSpeed", {PERSISTENT | KONN3KT_BACKUP, INT, "60"}},
{"ShowSpeedLimits", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SLCPolicy", {PERSISTENT | KONN3KT_BACKUP, INT, "1"}},
{"SLCAutoConfirm", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SLCSetSpeedToLimit", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"speed_limit_offset1", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"speed_limit_offset2", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"speed_limit_offset3", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"speed_limit_offset4", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"speed_limit_offset5", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"speed_limit_offset6", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"speed_limit_offset7", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "0"}},
{"SpeedLimitConfirmationHigher", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"SpeedLimitConfirmationLower", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"MapSpeedLookaheadHigher", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "5.0"}},
{"MapSpeedLookaheadLower", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "5.0"}},
{"SLCFallbackExperimentalMode", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SLCFallbackSetSpeed", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SLCFallbackPreviousSpeedLimit", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"SLCOverrideMethod", {PERSISTENT | KONN3KT_BACKUP, INT, "0"}},
{"SLCOnlineFiller", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SLCDataCollection", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"RoadNameToggle", {PERSISTENT, BOOL, "0"}},
{"IQSpeedAssistMode", {PERSISTENT, INT, "1"}},
{"IQSpeedAssistOffsetType", {PERSISTENT, INT, "0"}},
{"IQSpeedAssistPolicy", {PERSISTENT, INT, "3"}},
{"IQSpeedAssistValueOffset", {PERSISTENT, INT, "0"}},
{"SpeedLimitController", {PERSISTENT, BOOL, "0"}},
{"ConstructionZoneAssist", {PERSISTENT, BOOL, "0"}},
{"VisionVehicleTracks", {PERSISTENT, BOOL, "0"}},
{"AmbientTrackDots", {PERSISTENT, BOOL, "1"}},
{"ConstructionZoneSpeed", {PERSISTENT, INT, "60"}},
{"ShowSpeedLimits", {PERSISTENT, BOOL, "0"}},
{"SLCPolicy", {PERSISTENT, INT, "1"}},
{"SLCAutoConfirm", {PERSISTENT, BOOL, "0"}},
{"SLCSetSpeedToLimit", {PERSISTENT, BOOL, "0"}},
{"speed_limit_offset1", {PERSISTENT, FLOAT, "0"}},
{"speed_limit_offset2", {PERSISTENT, FLOAT, "0"}},
{"speed_limit_offset3", {PERSISTENT, FLOAT, "0"}},
{"speed_limit_offset4", {PERSISTENT, FLOAT, "0"}},
{"speed_limit_offset5", {PERSISTENT, FLOAT, "0"}},
{"speed_limit_offset6", {PERSISTENT, FLOAT, "0"}},
{"speed_limit_offset7", {PERSISTENT, FLOAT, "0"}},
{"SpeedLimitConfirmationHigher", {PERSISTENT, BOOL, "1"}},
{"SpeedLimitConfirmationLower", {PERSISTENT, BOOL, "0"}},
{"MapSpeedLookaheadHigher", {PERSISTENT, FLOAT, "5.0"}},
{"MapSpeedLookaheadLower", {PERSISTENT, FLOAT, "5.0"}},
{"SLCFallbackExperimentalMode", {PERSISTENT, BOOL, "0"}},
{"SLCFallbackSetSpeed", {PERSISTENT, BOOL, "0"}},
{"SLCFallbackPreviousSpeedLimit", {PERSISTENT, BOOL, "1"}},
{"SLCOverrideMethod", {PERSISTENT, INT, "0"}},
{"SLCOnlineFiller", {PERSISTENT, BOOL, "0"}},
{"SLCDataCollection", {PERSISTENT, BOOL, "0"}},
{"MapBoxRequests", {PERSISTENT, JSON}},
{"OverpassRequests", {PERSISTENT, JSON}},
{"SpeedLimits", {PERSISTENT, JSON}},
@@ -350,37 +351,37 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"UpdateSpeedLimits", {CLEAR_ON_IGNITION_ON}},
{"UpdateSpeedLimitsStatus", {CLEAR_ON_IGNITION_ON, STRING}},
{"SLCMapboxSpeedLimit", {CLEAR_ON_ONROAD_TRANSITION, FLOAT, "0"}},
{"NavigateOnIQPilot", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"NavOnlineTargets", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"NavOfflineFallback", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"NavPreferOfflineSources", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OfflineRoutingEnabled", {PERSISTENT | KONN3KT_BACKUP, BOOL, "1"}},
{"OfflineRoutingOnly", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"OfflineRoutingHost", {PERSISTENT | KONN3KT_BACKUP, STRING, "http://127.0.0.1:8002"}},
{"pqhca5or7Toggle", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"EnableCurvatureController", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"EnableSpeedLimitControl", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"MapCurveSpeedController", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"VisionCurveSpeedController", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SpeedCameraAlerts", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"RedLightCameraAlerts", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"FlockCameraAlerts", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SpeedCameraSlowdown", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"SpeedCameraSafetyFactor", {PERSISTENT | KONN3KT_BACKUP, FLOAT, "1.0"}},
{"NavigateOnIQPilot", {PERSISTENT, BOOL, "1"}},
{"NavOnlineTargets", {PERSISTENT, BOOL, "1"}},
{"NavOfflineFallback", {PERSISTENT, BOOL, "1"}},
{"NavPreferOfflineSources", {PERSISTENT, BOOL, "0"}},
{"OfflineRoutingEnabled", {PERSISTENT, BOOL, "1"}},
{"OfflineRoutingOnly", {PERSISTENT, BOOL, "0"}},
{"OfflineRoutingHost", {PERSISTENT, STRING, "http://127.0.0.1:8002"}},
{"pqhca5or7Toggle", {PERSISTENT, BOOL}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT, BOOL}},
{"EnableCurvatureController", {PERSISTENT, BOOL, "0"}},
{"EnableSpeedLimitControl", {PERSISTENT, BOOL, "0"}},
{"MapCurveSpeedController", {PERSISTENT, BOOL, "0"}},
{"VisionCurveSpeedController", {PERSISTENT, BOOL, "0"}},
{"SpeedCameraAlerts", {PERSISTENT, BOOL, "0"}},
{"RedLightCameraAlerts", {PERSISTENT, BOOL, "0"}},
{"FlockCameraAlerts", {PERSISTENT, BOOL, "0"}},
{"SpeedCameraSlowdown", {PERSISTENT, BOOL, "0"}},
{"SpeedCameraSafetyFactor", {PERSISTENT, FLOAT, "1.0"}},
{"NavCamerasData", {PERSISTENT, JSON}},
{"EnableLongComfortMode", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"EnableSpeedLimitPredicative", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"EnableSLPredReactToSL", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"EnableSLPredReactToCurves", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"ForceRHDForBSM", {PERSISTENT | KONN3KT_BACKUP, BOOL, "0"}},
{"EnableLongComfortMode", {PERSISTENT, BOOL, "0"}},
{"EnableSpeedLimitPredicative", {PERSISTENT, BOOL, "0"}},
{"EnableSLPredReactToSL", {PERSISTENT, BOOL, "0"}},
{"EnableSLPredReactToCurves", {PERSISTENT, BOOL, "0"}},
{"ForceRHDForBSM", {PERSISTENT, BOOL, "0"}},
{"NavDestination", {PERSISTENT, STRING}},
{"eBrakeActive", {CLEAR_ON_MANAGER_START | KONN3KT_BACKUP, BOOL, "0"}},
{"Konn3ktAllowOffroadExternalCanTx", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"MapboxToken", {PERSISTENT | KONN3KT_BACKUP, STRING}},
{"MapboxTokenQRCode", {PERSISTENT | KONN3KT_BACKUP, JSON}},
{"TomTomToken", {PERSISTENT | KONN3KT_BACKUP, STRING}},
{"UIAccentColor", {PERSISTENT | KONN3KT_BACKUP, STRING, "#00FFF5"}},
{"AngleLateralControl", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"ALCTorqueBlend", {PERSISTENT | KONN3KT_BACKUP, BOOL}},
{"eBrakeActive", {CLEAR_ON_MANAGER_START, BOOL, "0"}},
{"Konn3ktAllowOffroadExternalCanTx", {PERSISTENT, BOOL}},
{"MapboxToken", {PERSISTENT, STRING}},
{"MapboxTokenQRCode", {PERSISTENT, JSON}},
{"TomTomToken", {PERSISTENT, STRING}},
{"UIAccentColor", {PERSISTENT, STRING, "#00FFF5"}},
{"AngleLateralControl", {PERSISTENT, BOOL}},
{"ALCTorqueBlend", {PERSISTENT, BOOL}},
};
+3 -4
View File
@@ -18,7 +18,6 @@ cdef extern from "common/params.h":
CLEAR_ON_OFFROAD_TRANSITION
DEVELOPMENT_ONLY
CLEAR_ON_IGNITION_ON
KONN3KT_BACKUP
ALL
cpdef enum ParamKeyType:
@@ -44,7 +43,7 @@ cdef extern from "common/params.h":
optional[string] getKeyDefaultValue(string) nogil
string getParamPath(string) nogil
void clearAll(ParamKeyFlag)
vector[string] allKeys(ParamKeyFlag)
vector[string] allKeys()
PYTHON_2_CPP = {
(str, STRING): lambda v: v,
@@ -182,8 +181,8 @@ cdef class Params:
def get_type(self, key):
return self.p.getKeyType(self.check_key(key))
def all_keys(self, flag=ParamKeyFlag.ALL):
return self.p.allKeys(flag)
def all_keys(self):
return self.p.allKeys()
def get_default_value(self, key):
cdef string k = self.check_key(key)
Symlink
+1
View File
@@ -0,0 +1 @@
iqdbc_repo/iqdbc
@@ -23,13 +23,13 @@ __pycache__/
mull.yml
*.profraw
opendbc/can/build/
opendbc/can/obj/
opendbc/dbc/*_generated.dbc
iqdbc/can/build/
iqdbc/can/obj/
iqdbc/dbc/*_generated.dbc
cppcheck-addon-ctu-file-list
opendbc/safety/tests/coverage-out
iqdbc/safety/tests/coverage-out
compile_commands.json
.mull/
/opendbc/car/volkswagen/tests/test_mqb_iq_alc_state.py
/iqdbc/car/volkswagen/tests/test_mqb_iq_alc_state.py
+3
View File
@@ -0,0 +1,3 @@
include iqdbc/car/car.capnp
include iqdbc/car/include/c++.capnp
recursive-include iqdbc/safety *.h
+5
View File
@@ -0,0 +1,5 @@
SConscript(['iqdbc/dbc/SConscript'])
# test files
if GetOption('extras'):
SConscript('iqdbc/safety/tests/libsafety/SConscript')
@@ -1,7 +1,7 @@
# pytest attempts to execute shell scripts while collecting
collect_ignore_glob = [
"opendbc/safety/tests/misra/*.sh",
"opendbc/safety/tests/misra/cppcheck/",
"iqdbc/safety/tests/misra/*.sh",
"iqdbc/safety/tests/misra/cppcheck/",
]
_ABSTRACT_BASES = frozenset(("CarSafetyTest", "AolSafetyTestBase", "SafetyTest", "SafetyTestBase"))
@@ -417,7 +417,7 @@
# Types of Support
**opendbc can support many more cars than it currently does.** There are a few reasons your car may not be supported.
**iqdbc can support many more cars than it currently does.** There are a few reasons your car may not be supported.
If your car doesn't fit into any of the incompatibility criteria here, then there's a good chance it can be supported!
We're adding support for new cars all the time. **We don't have a roadmap for car support**, and in fact, most car
support comes from users like you!
@@ -8,8 +8,8 @@ from inputs import get_gamepad
from kbhit import KBHit
from opendbc.car.structs import CarControl
from opendbc.car.panda_runner import PandaRunner
from iqdbc.car.structs import CarControl
from iqdbc.car.panda_runner import PandaRunner
class Keyboard:
@@ -2,5 +2,5 @@ import os
DBC_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'dbc')
# -I include path for e.g. "#include <opendbc/safety/safety.h>"
# -I include path for e.g. "#include <iqdbc/safety/safety.h>"
INCLUDE_PATH = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../"))
+8
View File
@@ -0,0 +1,8 @@
from iqdbc.can.packer import CANPacker
from iqdbc.can.parser import CANParser, CANDefine
__all__ = [
"CANDefine",
"CANParser",
"CANPacker",
]
@@ -4,19 +4,19 @@ from collections.abc import Callable
from dataclasses import dataclass
from functools import cache
from opendbc import DBC_PATH
from iqdbc import DBC_PATH
# TODO: these should just be passed in along with the DBC file
from opendbc.car.honda.hondacan import honda_checksum
from opendbc.car.toyota.toyotacan import toyota_checksum
from opendbc.car.subaru.subarucan import subaru_checksum
from opendbc.car.chrysler.chryslercan import chrysler_checksum, fca_giorgio_checksum
from opendbc.car.hyundai.hyundaicanfd import hkg_can_fd_checksum
from opendbc.car.volkswagen.mlbcan import volkswagen_mlb_checksum
from opendbc.car.volkswagen.mqbcan import volkswagen_mqb_meb_checksum, volkswagen_mqb_meb_gen2_checksum, xor_checksum
from opendbc.car.tesla.teslacan import tesla_checksum
from opendbc.car.body.bodycan import body_checksum
from opendbc.car.psa.psacan import psa_checksum
from iqdbc.car.honda.hondacan import honda_checksum
from iqdbc.car.toyota.toyotacan import toyota_checksum
from iqdbc.car.subaru.subarucan import subaru_checksum
from iqdbc.car.chrysler.chryslercan import chrysler_checksum, fca_giorgio_checksum
from iqdbc.car.hyundai.hyundaicanfd import hkg_can_fd_checksum
from iqdbc.car.volkswagen.mlbcan import volkswagen_mlb_checksum
from iqdbc.car.volkswagen.mqbcan import volkswagen_mqb_meb_checksum, volkswagen_mqb_meb_gen2_checksum, xor_checksum
from iqdbc.car.tesla.teslacan import tesla_checksum
from iqdbc.car.body.bodycan import body_checksum
from iqdbc.car.psa.psacan import psa_checksum
class SignalType:
@@ -1,7 +1,7 @@
import math
from opendbc.car.carlog import carlog
from opendbc.can.dbc import DBC, Signal, SignalType
from iqdbc.car.carlog import carlog
from iqdbc.can.dbc import DBC, Signal, SignalType
class CANPacker:
@@ -3,8 +3,8 @@ import numbers
from collections import defaultdict, deque
from dataclasses import dataclass, field
from opendbc.car.carlog import carlog
from opendbc.can.dbc import DBC, Signal
from iqdbc.car.carlog import carlog
from iqdbc.can.dbc import DBC, Signal
MAX_BAD_COUNTER = 5
@@ -1,7 +1,7 @@
import glob
import os
from opendbc import DBC_PATH
from iqdbc import DBC_PATH
ALL_DBCS = [os.path.basename(dbc).split('.')[0] for dbc in
glob.glob(f"{DBC_PATH}/*.dbc")]
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
import time
from opendbc.can import CANPacker, CANParser
from iqdbc.can import CANPacker, CANParser
def _benchmark(checks, n):
@@ -1,5 +1,5 @@
import copy
from opendbc.can import CANPacker, CANParser
from iqdbc.can import CANPacker, CANParser
class TestCanChecksums:
@@ -7,7 +7,7 @@ class TestCanChecksums:
def verify_checksum(self, subtests, dbc_file: str, msg_name: str, msg_addr: int, test_messages: list[bytes],
checksum_field: str = 'CHECKSUM', counter_field = 'COUNTER'):
"""
Verify that opendbc calculates payload CRCs/checksums matching those received in known-good sample messages
Verify that iqdbc calculates payload CRCs/checksums matching those received in known-good sample messages
Depends on all non-zero bits in the sample message having a corresponding DBC signal, add UNKNOWN signals if needed
"""
parser = CANParser(dbc_file, [(msg_name, 0)], 0)
@@ -173,7 +173,7 @@ class TestCanChecksums:
b'\xbd\xed\xbf\xff\xaa\x20\x20\x10',
b'\x67\xee\xbf\xff\xaa\x20\x20\x10',
b'\x36\xef\xbf\xff\xaa\x20\x20\x10',
], counter_field="COUNTER_DISABLED") # see opendbc#1235
], counter_field="COUNTER_DISABLED") # see iqdbc#1235
def test_volkswagen_mqb_crc_esp_21(self, subtests):
self.verify_volkswagen_mqb_crc(subtests, "ESP_21", 0xFD, [
@@ -1,7 +1,7 @@
import pytest
from opendbc.can import CANDefine, CANPacker, CANParser
from opendbc.can.tests import TEST_DBC
from iqdbc.can import CANDefine, CANPacker, CANParser
from iqdbc.can.tests import TEST_DBC
class TestCanParserPackerExceptions:
@@ -1,5 +1,5 @@
from opendbc.can import CANParser
from opendbc.can.tests import ALL_DBCS
from iqdbc.can import CANParser
from iqdbc.can.tests import ALL_DBCS
class TestDBCParser:
@@ -1,5 +1,5 @@
from opendbc.can import CANDefine
from opendbc.can.tests import ALL_DBCS
from iqdbc.can import CANDefine
from iqdbc.can.tests import ALL_DBCS
class TestCANDefine:
@@ -1,8 +1,8 @@
import pytest
import random
from opendbc.can import CANPacker, CANParser
from opendbc.can.tests import TEST_DBC
from iqdbc.can import CANPacker, CANParser
from iqdbc.can.tests import TEST_DBC
MAX_BAD_COUNTER = 5
@@ -11,7 +11,7 @@
# Types of Support
**opendbc can support many more cars than it currently does.** There are a few reasons your car may not be supported.
**iqdbc can support many more cars than it currently does.** There are a few reasons your car may not be supported.
If your car doesn't fit into any of the incompatibility criteria here, then there's a good chance it can be supported!
We're adding support for new cars all the time. **We don't have a roadmap for car support**, and in fact, most car
support comes from users like you!
@@ -54,9 +54,9 @@ Supported Models' section of each make [on our wiki](https://wiki.comma.ai/).
Some notable works-in-progress:
* Honda
* 2022-24 Acura RDX, commaai/opendbc#1967
* Camera ACC stability improvements, commaai/opendbc#2192
* Alpha longitudinal stability improvements, commaai/opendbc#2347 and commaai/opendbc#2165
* 2022-24 Acura RDX, commaai/iqdbc#1967
* Camera ACC stability improvements, commaai/iqdbc#2192
* Alpha longitudinal stability improvements, commaai/iqdbc#2347 and commaai/iqdbc#2165
## Incompatible
@@ -4,9 +4,9 @@ from dataclasses import dataclass, field
from enum import IntFlag, ReprEnum, StrEnum, EnumType, auto
from dataclasses import replace
from opendbc.car import structs, uds
from opendbc.car.can_definitions import CanData
from opendbc.car.docs_definitions import CarDocs, ExtraCarDocs
from iqdbc.car import structs, uds
from iqdbc.car.can_definitions import CanData
from iqdbc.car.docs_definitions import CarDocs, ExtraCarDocs
DT_CTRL = 0.01 # car state and control loop timestep (s)
@@ -1,4 +1,4 @@
from opendbc.car.crc import CRC8BODY
from iqdbc.car.crc import CRC8BODY
def create_control(packer, torque_l, torque_r):
@@ -1,11 +1,11 @@
import numpy as np
from opendbc.can import CANPacker
from opendbc.car import Bus, DT_CTRL
from opendbc.car.common.pid import PIDController
from opendbc.car.body import bodycan
from opendbc.car.body.values import SPEED_FROM_RPM
from opendbc.car.interfaces import CarControllerBase
from iqdbc.can import CANPacker
from iqdbc.car import Bus, DT_CTRL
from iqdbc.car.common.pid import PIDController
from iqdbc.car.body import bodycan
from iqdbc.car.body.values import SPEED_FROM_RPM
from iqdbc.car.interfaces import CarControllerBase
MAX_TORQUE = 500
MAX_TORQUE_RATE = 50
@@ -1,7 +1,7 @@
from opendbc.can import CANParser
from opendbc.car import Bus, structs
from opendbc.car.interfaces import CarStateBase
from opendbc.car.body.values import DBC
from iqdbc.can import CANParser
from iqdbc.car import Bus, structs
from iqdbc.car.interfaces import CarStateBase
from iqdbc.car.body.values import DBC
class CarState(CarStateBase):
@@ -1,6 +1,6 @@
""" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from opendbc.car.structs import CarParams
from opendbc.car.body.values import CAR
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from iqdbc.car.structs import CarParams
from iqdbc.car.body.values import CAR
Ecu = CarParams.Ecu
@@ -1,9 +1,9 @@
import math
from opendbc.car import get_safety_config, structs
from opendbc.car.body.carcontroller import CarController
from opendbc.car.body.carstate import CarState
from opendbc.car.body.values import SPEED_FROM_RPM
from opendbc.car.interfaces import CarInterfaceBase
from iqdbc.car import get_safety_config, structs
from iqdbc.car.body.carcontroller import CarController
from iqdbc.car.body.carstate import CarState
from iqdbc.car.body.values import SPEED_FROM_RPM
from iqdbc.car.interfaces import CarInterfaceBase
class CarInterface(CarInterfaceBase):
@@ -1,7 +1,7 @@
from opendbc.car import Bus, CarSpecs, PlatformConfig, Platforms
from opendbc.car.structs import CarParams
from opendbc.car.docs_definitions import CarDocs
from opendbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
from iqdbc.car import Bus, CarSpecs, PlatformConfig, Platforms
from iqdbc.car.structs import CarParams
from iqdbc.car.docs_definitions import CarDocs
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = CarParams.Ecu
@@ -486,7 +486,7 @@ struct CarOutput {
# ****** car param ******
struct CarParams {
brand @0 :Text; # Designates which group a platform falls under. Each folder in opendbc/car is assigned one brand string
brand @0 :Text; # Designates which group a platform falls under. Each folder in iqdbc/car is assigned one brand string
carFingerprint @1 :Text;
fuzzyFingerprint @55 :Bool;
@@ -1,17 +1,17 @@
import os
import time
from opendbc.car import gen_empty_fingerprint
from opendbc.car.can_definitions import CanRecvCallable, CanSendCallable
from opendbc.car.carlog import carlog
from opendbc.car.structs import CarParams, CarParamsT
from opendbc.car.fingerprints import eliminate_incompatible_cars, all_legacy_fingerprint_cars
from opendbc.car.fw_versions import ObdCallback, get_fw_versions_ordered, get_present_ecus, match_fw_to_car
from opendbc.car.mock.values import CAR as MOCK
from opendbc.car.values import BRANDS
from opendbc.car.vin import get_vin, is_valid_vin, VIN_UNKNOWN
from iqdbc.car import gen_empty_fingerprint
from iqdbc.car.can_definitions import CanRecvCallable, CanSendCallable
from iqdbc.car.carlog import carlog
from iqdbc.car.structs import CarParams, CarParamsT
from iqdbc.car.fingerprints import eliminate_incompatible_cars, all_legacy_fingerprint_cars
from iqdbc.car.fw_versions import ObdCallback, get_fw_versions_ordered, get_present_ecus, match_fw_to_car
from iqdbc.car.mock.values import CAR as MOCK
from iqdbc.car.values import BRANDS
from iqdbc.car.vin import get_vin, is_valid_vin, VIN_UNKNOWN
from opendbc.iqpilot.car.interfaces import setup_interfaces as iqpilot_interfaces
from iqdbc.iqpilot.car.interfaces import setup_interfaces as iqpilot_interfaces
FRAME_FINGERPRINT = 100 # 1s
@@ -19,7 +19,7 @@ FRAME_FINGERPRINT = 100 # 1s
def load_interfaces(brand_names):
ret = {}
for brand_name in brand_names:
path = f'opendbc.car.{brand_name}'
path = f'iqdbc.car.{brand_name}'
CarInterface = __import__(path + '.interface', fromlist=['CarInterface']).CarInterface
for model_name in brand_names[brand_name]:
ret[model_name] = CarInterface
@@ -36,7 +36,7 @@ def _get_interface_names() -> dict[str, list[str]]:
return brand_names
# imports from directory opendbc/car/<name>/
# imports from directory iqdbc/car/<name>/
interface_names = _get_interface_names()
interfaces = load_interfaces(interface_names)
@@ -1,13 +1,13 @@
from opendbc.can import CANPacker
from opendbc.car import Bus, DT_CTRL
from opendbc.car.lateral import apply_meas_steer_torque_limits
from opendbc.car.chrysler import chryslercan
from opendbc.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags, RAM_DT
from opendbc.car.interfaces import CarControllerBase
from iqdbc.can import CANPacker
from iqdbc.car import Bus, DT_CTRL
from iqdbc.car.lateral import apply_meas_steer_torque_limits
from iqdbc.car.chrysler import chryslercan
from iqdbc.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags, RAM_DT
from iqdbc.car.interfaces import CarControllerBase
from opendbc.iqpilot.car.chrysler.carcontroller_ext import CarControllerExt
from opendbc.iqpilot.car.chrysler.aol import AolCarController
from opendbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
from iqdbc.iqpilot.car.chrysler.carcontroller_ext import CarControllerExt
from iqdbc.iqpilot.car.chrysler.aol import AolCarController
from iqdbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
class CarController(CarControllerBase, AolCarController, CarControllerExt):
@@ -1,11 +1,11 @@
from opendbc.can import CANDefine, CANParser
from opendbc.car import Bus, create_button_events, structs
from opendbc.car.chrysler.values import DBC, STEER_THRESHOLD, RAM_CARS
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.interfaces import CarStateBase
from iqdbc.can import CANDefine, CANParser
from iqdbc.car import Bus, create_button_events, structs
from iqdbc.car.chrysler.values import DBC, STEER_THRESHOLD, RAM_CARS
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.interfaces import CarStateBase
from opendbc.iqpilot.car.chrysler.carstate_ext import CarStateExt
from opendbc.iqpilot.car.chrysler.aol import AolCarState
from iqdbc.iqpilot.car.chrysler.carstate_ext import CarStateExt
from iqdbc.iqpilot.car.chrysler.aol import AolCarState
ButtonType = structs.CarState.ButtonEvent.Type
@@ -1,6 +1,6 @@
from opendbc.car import structs
from opendbc.car.crc import CRC8J1850
from opendbc.car.chrysler.values import RAM_CARS
from iqdbc.car import structs
from iqdbc.car.crc import CRC8J1850
from iqdbc.car.chrysler.values import RAM_CARS
GearShifter = structs.CarState.GearShifter
VisualAlert = structs.CarControl.HUDControl.VisualAlert
@@ -1,9 +1,9 @@
""" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from opendbc.car.structs import CarParams
from opendbc.car.chrysler.values import CAR
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from iqdbc.car.structs import CarParams
from iqdbc.car.chrysler.values import CAR
from opendbc.iqpilot.car.fingerprints_ext import merge_fw_versions
from opendbc.iqpilot.car.chrysler.fingerprints_ext import FW_VERSIONS_EXT
from iqdbc.iqpilot.car.fingerprints_ext import merge_fw_versions
from iqdbc.iqpilot.car.chrysler.fingerprints_ext import FW_VERSIONS_EXT
Ecu = CarParams.Ecu
@@ -1,11 +1,11 @@
#!/usr/bin/env python3
from opendbc.car import get_safety_config, structs
from opendbc.car.chrysler.carcontroller import CarController
from opendbc.car.chrysler.carstate import CarState
from opendbc.car.chrysler.radar_interface import RadarInterface
from opendbc.car.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags, ChryslerSafetyFlags
from opendbc.car.interfaces import CarInterfaceBase
from opendbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
from iqdbc.car import get_safety_config, structs
from iqdbc.car.chrysler.carcontroller import CarController
from iqdbc.car.chrysler.carstate import CarState
from iqdbc.car.chrysler.radar_interface import RadarInterface
from iqdbc.car.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags, ChryslerSafetyFlags
from iqdbc.car.interfaces import CarInterfaceBase
from iqdbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
class CarInterface(CarInterfaceBase):
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
from opendbc.can import CANParser
from opendbc.car import Bus, structs
from opendbc.car.interfaces import RadarInterfaceBase
from opendbc.car.chrysler.values import DBC
from iqdbc.can import CANParser
from iqdbc.car import Bus, structs
from iqdbc.car.interfaces import RadarInterfaceBase
from iqdbc.car.chrysler.values import DBC
RADAR_MSGS_C = list(range(0x2c2, 0x2d4+2, 2)) # c_ messages 706,...,724
RADAR_MSGS_D = list(range(0x2a2, 0x2b4+2, 2)) # d_ messages
@@ -1,10 +1,10 @@
from enum import IntFlag
from dataclasses import dataclass, field
from opendbc.car import Bus, CarSpecs, DbcDict, PlatformConfig, Platforms, uds
from opendbc.car.structs import CarParams
from opendbc.car.docs_definitions import CarHarness, CarDocs, CarParts
from opendbc.car.fw_query_definitions import FwQueryConfig, Request, p16
from iqdbc.car import Bus, CarSpecs, DbcDict, PlatformConfig, Platforms, uds
from iqdbc.car.structs import CarParams
from iqdbc.car.docs_definitions import CarHarness, CarDocs, CarParts
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = CarParams.Ecu
@@ -2,9 +2,9 @@
import jinja2
import os
from opendbc.car.common.basedir import BASEDIR
from opendbc.car.interfaces import get_interface_attr
from opendbc.car.structs import CarParams
from iqdbc.car.common.basedir import BASEDIR
from iqdbc.car.interfaces import get_interface_attr
from iqdbc.car.structs import CarParams
Ecu = CarParams.Ecu
@@ -17,11 +17,11 @@ FINGERPRINTS_PY_TEMPLATE = jinja2.Template("""
{%- if FINGERPRINTS[brand] and brand != 'body' %}
# ruff: noqa: E501
{% endif %}
\"\"\" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE.\"\"\"
\"\"\" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE.\"\"\"
{% if FW_VERSIONS[brand] %}
from opendbc.car.structs import CarParams
from iqdbc.car.structs import CarParams
{% endif %}
from opendbc.car.{{brand}}.values import CAR
from iqdbc.car.{{brand}}.values import CAR
{% if FW_VERSIONS[brand] %}
Ecu = CarParams.Ecu
@@ -1,5 +1,5 @@
from opendbc.car.carlog import carlog
from opendbc.car.isotp_parallel_query import IsoTpParallelQuery
from iqdbc.car.carlog import carlog
from iqdbc.car.isotp_parallel_query import IsoTpParallelQuery
EXT_DIAG_REQUEST = b'\x10\x03'
EXT_DIAG_RESPONSE = b'\x50\x03'
@@ -9,15 +9,15 @@ from typing import get_args
from enum import Enum
from collections import defaultdict
from opendbc.car.common.basedir import BASEDIR
from opendbc.car import gen_empty_fingerprint
from opendbc.car.structs import CarParams, IQCarParams
from opendbc.car.docs_definitions import BaseCarHarness, CarDocs, Device, ExtraCarDocs, Column, ExtraCarsColumn, CommonFootnote, PartType, SupportType
from opendbc.car.car_helpers import interfaces
from opendbc.car.interfaces import get_interface_attr
from opendbc.car.values import Platform
from opendbc.car.mock.values import CAR as MOCK
from opendbc.car.extra_cars import CAR as EXTRA
from iqdbc.car.common.basedir import BASEDIR
from iqdbc.car import gen_empty_fingerprint
from iqdbc.car.structs import CarParams, IQCarParams
from iqdbc.car.docs_definitions import BaseCarHarness, CarDocs, Device, ExtraCarDocs, Column, ExtraCarsColumn, CommonFootnote, PartType, SupportType
from iqdbc.car.car_helpers import interfaces
from iqdbc.car.interfaces import get_interface_attr
from iqdbc.car.values import Platform
from iqdbc.car.mock.values import CAR as MOCK
from iqdbc.car.extra_cars import CAR as EXTRA
EXTRA_CARS_MD_OUT = os.path.join(BASEDIR, "../", "../", "docs", "CARS.md")
@@ -4,8 +4,8 @@ import copy
from dataclasses import dataclass, field
from enum import Enum
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.structs import CarParams
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.structs import CarParams
GOOD_TORQUE_THRESHOLD = 1.0 # m/s^2
MODEL_YEARS_RE = r"(?<= )((\d{4}-\d{2})|(\d{4}))(,|$)"
@@ -1,9 +1,9 @@
import time
from opendbc.car import make_tester_present_msg, uds
from opendbc.car.can_definitions import CanData, CanRecvCallable, CanSendCallable
from opendbc.car.carlog import carlog
from opendbc.car.fw_query_definitions import EcuAddrBusType
from iqdbc.car import make_tester_present_msg, uds
from iqdbc.car.can_definitions import CanData, CanRecvCallable, CanSendCallable
from iqdbc.car.carlog import carlog
from iqdbc.car.fw_query_definitions import EcuAddrBusType
def _is_tester_present_response(msg: CanData, subaddr: int | None = None) -> bool:
@@ -1,7 +1,7 @@
from dataclasses import dataclass
from opendbc.car import structs, Platforms, ExtraPlatformConfig
from opendbc.car.docs_definitions import ExtraCarDocs, SupportType
from iqdbc.car import structs, Platforms, ExtraPlatformConfig
from iqdbc.car.docs_definitions import ExtraCarDocs, SupportType
@dataclass
@@ -1,16 +1,16 @@
from opendbc.car.interfaces import get_interface_attr
from opendbc.car.body.values import CAR as BODY
from opendbc.car.chrysler.values import CAR as CHRYSLER
from opendbc.car.ford.values import CAR as FORD
from opendbc.car.gm.values import CAR as GM
from opendbc.car.honda.values import CAR as HONDA
from opendbc.car.hyundai.values import CAR as HYUNDAI
from opendbc.car.mazda.values import CAR as MAZDA
from opendbc.car.mock.values import CAR as MOCK
from opendbc.car.nissan.values import CAR as NISSAN
from opendbc.car.subaru.values import CAR as SUBARU
from opendbc.car.toyota.values import CAR as TOYOTA
from opendbc.car.volkswagen.values import CAR as VW
from iqdbc.car.interfaces import get_interface_attr
from iqdbc.car.body.values import CAR as BODY
from iqdbc.car.chrysler.values import CAR as CHRYSLER
from iqdbc.car.ford.values import CAR as FORD
from iqdbc.car.gm.values import CAR as GM
from iqdbc.car.honda.values import CAR as HONDA
from iqdbc.car.hyundai.values import CAR as HYUNDAI
from iqdbc.car.mazda.values import CAR as MAZDA
from iqdbc.car.mock.values import CAR as MOCK
from iqdbc.car.nissan.values import CAR as NISSAN
from iqdbc.car.subaru.values import CAR as SUBARU
from iqdbc.car.toyota.values import CAR as TOYOTA
from iqdbc.car.volkswagen.values import CAR as VW
FW_VERSIONS = get_interface_attr('FW_VERSIONS', combine_brands=True, ignore_none=True)
_FINGERPRINTS = get_interface_attr('FINGERPRINTS', combine_brands=True, ignore_none=True)
@@ -1,11 +1,11 @@
import math
import numpy as np
from opendbc.can import CANPacker
from opendbc.car import ACCELERATION_DUE_TO_GRAVITY, Bus, DT_CTRL, apply_hysteresis, structs
from opendbc.car.lateral import ISO_LATERAL_ACCEL, apply_std_steer_angle_limits
from opendbc.car.ford import fordcan
from opendbc.car.ford.values import CarControllerParams, FordFlags, CAR
from opendbc.car.interfaces import CarControllerBase, V_CRUISE_MAX
from iqdbc.can import CANPacker
from iqdbc.car import ACCELERATION_DUE_TO_GRAVITY, Bus, DT_CTRL, apply_hysteresis, structs
from iqdbc.car.lateral import ISO_LATERAL_ACCEL, apply_std_steer_angle_limits
from iqdbc.car.ford import fordcan
from iqdbc.car.ford.values import CarControllerParams, FordFlags, CAR
from iqdbc.car.interfaces import CarControllerBase, V_CRUISE_MAX
LongCtrlState = structs.CarControl.Actuators.LongControlState
VisualAlert = structs.CarControl.HUDControl.VisualAlert
@@ -1,11 +1,11 @@
from opendbc.can import CANDefine, CANParser
from opendbc.car import Bus, create_button_events, structs
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.ford.fordcan import CanBus
from opendbc.car.ford.values import DBC, CarControllerParams, FordFlags
from opendbc.car.interfaces import CarStateBase
from iqdbc.can import CANDefine, CANParser
from iqdbc.car import Bus, create_button_events, structs
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.ford.fordcan import CanBus
from iqdbc.car.ford.values import DBC, CarControllerParams, FordFlags
from iqdbc.car.interfaces import CarStateBase
from opendbc.iqpilot.car.ford.aol import AolCarState
from iqdbc.iqpilot.car.ford.aol import AolCarState
ButtonType = structs.CarState.ButtonEvent.Type
GearShifter = structs.CarState.GearShifter
@@ -1,6 +1,6 @@
""" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from opendbc.car.structs import CarParams
from opendbc.car.ford.values import CAR
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from iqdbc.car.structs import CarParams
from iqdbc.car.ford.values import CAR
Ecu = CarParams.Ecu
@@ -1,4 +1,4 @@
from opendbc.car import CanBusBase, structs
from iqdbc.car import CanBusBase, structs
HUDControl = structs.CarControl.HUDControl
@@ -1,13 +1,13 @@
import numpy as np
from opendbc.car import Bus, get_safety_config, structs
from opendbc.car.carlog import carlog
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.ford.carcontroller import CarController
from opendbc.car.ford.carstate import CarState
from opendbc.car.ford.fordcan import CanBus
from opendbc.car.ford.radar_interface import RadarInterface
from opendbc.car.ford.values import CarControllerParams, DBC, Ecu, FordFlags, RADAR, FordSafetyFlags
from opendbc.car.interfaces import CarInterfaceBase
from iqdbc.car import Bus, get_safety_config, structs
from iqdbc.car.carlog import carlog
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.ford.carcontroller import CarController
from iqdbc.car.ford.carstate import CarState
from iqdbc.car.ford.fordcan import CanBus
from iqdbc.car.ford.radar_interface import RadarInterface
from iqdbc.car.ford.values import CarControllerParams, DBC, Ecu, FordFlags, RADAR, FordSafetyFlags
from iqdbc.car.interfaces import CarInterfaceBase
TransmissionType = structs.CarParams.TransmissionType
@@ -3,12 +3,12 @@ from typing import cast
from collections import defaultdict
from math import cos, sin
from dataclasses import dataclass
from opendbc.can import CANParser
from opendbc.car import Bus, structs
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.ford.fordcan import CanBus
from opendbc.car.ford.values import DBC, RADAR
from opendbc.car.interfaces import RadarInterfaceBase
from iqdbc.can import CANParser
from iqdbc.car import Bus, structs
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.ford.fordcan import CanBus
from iqdbc.car.ford.values import DBC, RADAR
from iqdbc.car.interfaces import RadarInterfaceBase
DELPHI_ESR_RADAR_MSGS = list(range(0x500, 0x540))
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
from collections import defaultdict
from opendbc.car.structs import CarParams
from opendbc.car.ford.values import get_platform_codes
from opendbc.car.ford.fingerprints import FW_VERSIONS
from iqdbc.car.structs import CarParams
from iqdbc.car.ford.values import get_platform_codes
from iqdbc.car.ford.fingerprints import FW_VERSIONS
Ecu = CarParams.Ecu
@@ -4,10 +4,10 @@ from collections.abc import Iterable
from hypothesis import settings, given, strategies as st
from parameterized import parameterized
from opendbc.car.structs import CarParams
from opendbc.car.fw_versions import build_fw_dict
from opendbc.car.ford.values import CAR, FW_QUERY_CONFIG, FW_PATTERN, get_platform_codes
from opendbc.car.ford.fingerprints import FW_VERSIONS
from iqdbc.car.structs import CarParams
from iqdbc.car.fw_versions import build_fw_dict
from iqdbc.car.ford.values import CAR, FW_QUERY_CONFIG, FW_PATTERN, get_platform_codes
from iqdbc.car.ford.fingerprints import FW_VERSIONS
Ecu = CarParams.Ecu
@@ -3,11 +3,11 @@ import re
from dataclasses import dataclass, field, replace
from enum import Enum, IntFlag
from opendbc.car import Bus, CarSpecs, DbcDict, PlatformConfig, Platforms, uds
from opendbc.car.lateral import AngleSteeringLimits
from opendbc.car.structs import CarParams
from opendbc.car.docs_definitions import CarFootnote, CarHarness, CarDocs, CarParts, Column
from opendbc.car.fw_query_definitions import FwQueryConfig, LiveFwVersions, OfflineFwVersions, Request, StdQueries, p16
from iqdbc.car import Bus, CarSpecs, DbcDict, PlatformConfig, Platforms, uds
from iqdbc.car.lateral import AngleSteeringLimits
from iqdbc.car.structs import CarParams
from iqdbc.car.docs_definitions import CarFootnote, CarHarness, CarDocs, CarParts, Column
from iqdbc.car.fw_query_definitions import FwQueryConfig, LiveFwVersions, OfflineFwVersions, Request, StdQueries, p16
Ecu = CarParams.Ecu
@@ -3,8 +3,8 @@ from dataclasses import dataclass, field
import struct
from collections.abc import Callable
from opendbc.car import uds
from opendbc.car.structs import CarParams
from iqdbc.car import uds
from iqdbc.car.structs import CarParams
Ecu = CarParams.Ecu
@@ -4,15 +4,15 @@ from typing import Protocol, TypeVar
from tqdm import tqdm
from opendbc.car import uds
from opendbc.car.can_definitions import CanRecvCallable, CanSendCallable
from opendbc.car.carlog import carlog
from opendbc.car.structs import CarParams
from opendbc.car.ecu_addrs import get_ecu_addrs
from opendbc.car.fingerprints import FW_VERSIONS
from opendbc.car.fw_query_definitions import ESSENTIAL_ECUS, AddrType, EcuAddrBusType, FwQueryConfig, LiveFwVersions, OfflineFwVersions
from opendbc.car.interfaces import get_interface_attr
from opendbc.car.isotp_parallel_query import IsoTpParallelQuery
from iqdbc.car import uds
from iqdbc.car.can_definitions import CanRecvCallable, CanSendCallable
from iqdbc.car.carlog import carlog
from iqdbc.car.structs import CarParams
from iqdbc.car.ecu_addrs import get_ecu_addrs
from iqdbc.car.fingerprints import FW_VERSIONS
from iqdbc.car.fw_query_definitions import ESSENTIAL_ECUS, AddrType, EcuAddrBusType, FwQueryConfig, LiveFwVersions, OfflineFwVersions
from iqdbc.car.interfaces import get_interface_attr
from iqdbc.car.isotp_parallel_query import IsoTpParallelQuery
Ecu = CarParams.Ecu
FUZZY_EXCLUDE_ECUS = [Ecu.fwdCamera, Ecu.fwdRadar, Ecu.eps, Ecu.debug]
@@ -1,11 +1,11 @@
import numpy as np
from opendbc.can import CANPacker
from opendbc.car import Bus, DT_CTRL, structs
from opendbc.car.lateral import apply_driver_steer_torque_limits
from opendbc.car.gm import gmcan
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons
from opendbc.car.interfaces import CarControllerBase
from iqdbc.can import CANPacker
from iqdbc.car import Bus, DT_CTRL, structs
from iqdbc.car.lateral import apply_driver_steer_torque_limits
from iqdbc.car.gm import gmcan
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons
from iqdbc.car.interfaces import CarControllerBase
VisualAlert = structs.CarControl.HUDControl.VisualAlert
NetworkLocation = structs.CarParams.NetworkLocation
@@ -1,12 +1,12 @@
import copy
from opendbc.can import CANDefine, CANParser
from opendbc.car import Bus, create_button_events, structs
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.interfaces import CarStateBase
from opendbc.car.gm.values import DBC, AccState, CruiseButtons, STEER_THRESHOLD, SDGM_CAR, ALT_ACCS
from iqdbc.can import CANDefine, CANParser
from iqdbc.car import Bus, create_button_events, structs
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.interfaces import CarStateBase
from iqdbc.car.gm.values import DBC, AccState, CruiseButtons, STEER_THRESHOLD, SDGM_CAR, ALT_ACCS
from opendbc.iqpilot.car.gm.carstate_ext import CarStateExt
from opendbc.iqpilot.car.gm.values_ext import GMFlagsIQ
from iqdbc.iqpilot.car.gm.carstate_ext import CarStateExt
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ
ButtonType = structs.CarState.ButtonEvent.Type
TransmissionType = structs.CarParams.TransmissionType
@@ -1,9 +1,9 @@
# ruff: noqa: E501
""" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from opendbc.car.gm.values import CAR
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from iqdbc.car.gm.values import CAR
from opendbc.iqpilot.car.fingerprints_ext import merge_fingerprints
from opendbc.iqpilot.car.gm.fingerprints_ext import FINGERPRINTS_EXT
from iqdbc.iqpilot.car.fingerprints_ext import merge_fingerprints
from iqdbc.iqpilot.car.gm.fingerprints_ext import FINGERPRINTS_EXT
# Trailblazer also matches as a SILVERADO, TODO: split with fw versions
# FIXME: There are Equinox users with different message lengths, specifically 304 and 320
@@ -1,5 +1,5 @@
from opendbc.car.can_definitions import CanData
from opendbc.car.gm.values import CAR
from iqdbc.car.can_definitions import CanData
from iqdbc.car.gm.values import CAR
def create_buttons(packer, bus, idx, button):
@@ -2,16 +2,16 @@
from math import fabs, exp
import numpy as np
from opendbc.car import get_safety_config, structs
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.gm.carcontroller import CarController
from opendbc.car.gm.carstate import CarState
from opendbc.car.gm.radar_interface import RadarInterface, RADAR_HEADER_MSG, CAMERA_DATA_HEADER_MSG
from opendbc.car.gm.values import CAR, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, SDGM_CAR, ALT_ACCS, CanBus, GMSafetyFlags
from opendbc.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, LateralAccelFromTorqueCallbackType
from iqdbc.car import get_safety_config, structs
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.gm.carcontroller import CarController
from iqdbc.car.gm.carstate import CarState
from iqdbc.car.gm.radar_interface import RadarInterface, RADAR_HEADER_MSG, CAMERA_DATA_HEADER_MSG
from iqdbc.car.gm.values import CAR, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, SDGM_CAR, ALT_ACCS, CanBus, GMSafetyFlags
from iqdbc.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, LateralAccelFromTorqueCallbackType
from opendbc.iqpilot.car.gm.interface_ext import CarInterfaceExt
from opendbc.iqpilot.car.gm.values_ext import GMFlagsIQ, GMSafetyFlagsIQ
from iqdbc.iqpilot.car.gm.interface_ext import CarInterfaceExt
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ, GMSafetyFlagsIQ
TransmissionType = structs.CarParams.TransmissionType
NetworkLocation = structs.CarParams.NetworkLocation
@@ -154,7 +154,7 @@ class CarInterface(CarInterfaceBase, CarInterfaceExt):
# These cars have been put into dashcam only due to both a lack of users and test coverage.
# These cars likely still work fine. Once a user confirms each car works and a test route is
# added to opendbc/car/tests/routes.py, we can remove it from this list.
# added to iqdbc/car/tests/routes.py, we can remove it from this list.
ret.dashcamOnly = candidate in {CAR.CADILLAC_ATS, CAR.HOLDEN_ASTRA, CAR.CHEVROLET_MALIBU, CAR.BUICK_REGAL} or \
(ret.networkLocation == NetworkLocation.gateway and ret.radarUnavailable)
@@ -1,10 +1,10 @@
#!/usr/bin/env python3
import math
from opendbc.can import CANParser
from opendbc.car import Bus, structs
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.gm.values import DBC, CanBus
from opendbc.car.interfaces import RadarInterfaceBase
from iqdbc.can import CANParser
from iqdbc.car import Bus, structs
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.gm.values import DBC, CanBus
from iqdbc.car.interfaces import RadarInterfaceBase
RADAR_HEADER_MSG = 1120 # F_LRR_Obj_Header
CAMERA_DATA_HEADER_MSG = 1056 # F_Vision_Obj_Header
@@ -1,7 +1,7 @@
from parameterized import parameterized
from opendbc.car.gm.fingerprints import FINGERPRINTS
from opendbc.car.gm.values import CAMERA_ACC_CAR, GM_RX_OFFSET
from iqdbc.car.gm.fingerprints import FINGERPRINTS
from iqdbc.car.gm.values import CAMERA_ACC_CAR, GM_RX_OFFSET
CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
@@ -1,12 +1,12 @@
from dataclasses import dataclass, field
from enum import Enum, IntFlag
from opendbc.car import Bus, PlatformConfig, DbcDict, Platforms, CarSpecs
from opendbc.car.structs import CarParams
from opendbc.car.docs_definitions import CarDocs, CarFootnote, CarHarness, CarParts, Column, SupportType
from opendbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
from iqdbc.car import Bus, PlatformConfig, DbcDict, Platforms, CarSpecs
from iqdbc.car.structs import CarParams
from iqdbc.car.docs_definitions import CarDocs, CarFootnote, CarHarness, CarParts, Column, SupportType
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
from opendbc.iqpilot.car.gm.values_ext import GMFlagsIQ
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ
Ecu = CarParams.Ecu
@@ -1,15 +1,15 @@
import numpy as np
import math
from opendbc.can import CANPacker
from opendbc.car import ACCELERATION_DUE_TO_GRAVITY, Bus, DT_CTRL, rate_limit, make_tester_present_msg, structs
from opendbc.car.honda import hondacan
from opendbc.car.honda.values import CAR, CruiseButtons, HONDA_BOSCH, HONDA_BOSCH_CANFD, HONDA_BOSCH_RADARLESS, \
from iqdbc.can import CANPacker
from iqdbc.car import ACCELERATION_DUE_TO_GRAVITY, Bus, DT_CTRL, rate_limit, make_tester_present_msg, structs
from iqdbc.car.honda import hondacan
from iqdbc.car.honda.values import CAR, CruiseButtons, HONDA_BOSCH, HONDA_BOSCH_CANFD, HONDA_BOSCH_RADARLESS, \
HONDA_BOSCH_TJA_CONTROL, HONDA_NIDEC_ALT_PCM_ACCEL, CarControllerParams
from opendbc.car.interfaces import CarControllerBase
from iqdbc.car.interfaces import CarControllerBase
from opendbc.iqpilot.car.honda.aol import AolCarController
from opendbc.iqpilot.car.honda.gas_interceptor import GasInterceptorCarController
from iqdbc.iqpilot.car.honda.aol import AolCarController
from iqdbc.iqpilot.car.honda.gas_interceptor import GasInterceptorCarController
VisualAlert = structs.CarControl.HUDControl.VisualAlert
LongCtrlState = structs.CarControl.Actuators.LongControlState
@@ -1,16 +1,16 @@
import numpy as np
from collections import defaultdict
from opendbc.can import CANDefine, CANParser
from opendbc.car import Bus, create_button_events, structs, DT_CTRL
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.honda.hondacan import CanBus
from opendbc.car.honda.values import CAR, DBC, STEER_THRESHOLD, HONDA_BOSCH, HONDA_BOSCH_ALT_RADAR, HONDA_BOSCH_CANFD, \
from iqdbc.can import CANDefine, CANParser
from iqdbc.car import Bus, create_button_events, structs, DT_CTRL
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.honda.hondacan import CanBus
from iqdbc.car.honda.values import CAR, DBC, STEER_THRESHOLD, HONDA_BOSCH, HONDA_BOSCH_ALT_RADAR, HONDA_BOSCH_CANFD, \
HONDA_NIDEC_ALT_SCM_MESSAGES, HONDA_BOSCH_RADARLESS, HONDA_BOSCH_TJA_CONTROL, \
HondaFlags, CruiseButtons, CruiseSettings, GearShifter, CarControllerParams
from opendbc.car.interfaces import CarStateBase
from iqdbc.car.interfaces import CarStateBase
from opendbc.iqpilot.car.honda.carstate_ext import CarStateExt
from iqdbc.iqpilot.car.honda.carstate_ext import CarStateExt
TransmissionType = structs.CarParams.TransmissionType
ButtonType = structs.CarState.ButtonEvent.Type
@@ -1,9 +1,9 @@
""" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from opendbc.car.structs import CarParams
from opendbc.car.honda.values import CAR
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
from iqdbc.car.structs import CarParams
from iqdbc.car.honda.values import CAR
from opendbc.iqpilot.car.fingerprints_ext import merge_fw_versions
from opendbc.iqpilot.car.honda.fingerprints_ext import FW_VERSIONS_EXT
from iqdbc.iqpilot.car.fingerprints_ext import merge_fw_versions
from iqdbc.iqpilot.car.honda.fingerprints_ext import FW_VERSIONS_EXT
Ecu = CarParams.Ecu
@@ -1,8 +1,8 @@
from opendbc.car import CanBusBase
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.honda.values import (HondaFlags, HONDA_BOSCH, HONDA_BOSCH_ALT_RADAR, HONDA_BOSCH_RADARLESS,
from iqdbc.car import CanBusBase
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.honda.values import (HondaFlags, HONDA_BOSCH, HONDA_BOSCH_ALT_RADAR, HONDA_BOSCH_RADARLESS,
HONDA_BOSCH_CANFD, CarControllerParams)
from opendbc.iqpilot.car.honda.values_ext import HondaFlagsIQ
from iqdbc.iqpilot.car.honda.values_ext import HondaFlagsIQ
# CAN bus layout with relay
# 0 = ACC-CAN - radar side
@@ -1,17 +1,17 @@
#!/usr/bin/env python3
import numpy as np
from opendbc.car import get_safety_config, structs, uds
from opendbc.car.common.conversions import Conversions as CV
from opendbc.car.disable_ecu import disable_ecu
from opendbc.car.honda.hondacan import CanBus
from opendbc.car.honda.values import CarControllerParams, HondaFlags, CAR, HONDA_BOSCH, HONDA_BOSCH_CANFD, \
from iqdbc.car import get_safety_config, structs, uds
from iqdbc.car.common.conversions import Conversions as CV
from iqdbc.car.disable_ecu import disable_ecu
from iqdbc.car.honda.hondacan import CanBus
from iqdbc.car.honda.values import CarControllerParams, HondaFlags, CAR, HONDA_BOSCH, HONDA_BOSCH_CANFD, \
HONDA_NIDEC_ALT_SCM_MESSAGES, HONDA_BOSCH_RADARLESS, HondaSafetyFlags
from opendbc.car.honda.carcontroller import CarController
from opendbc.car.honda.carstate import CarState
from opendbc.car.honda.radar_interface import RadarInterface
from opendbc.car.interfaces import CarInterfaceBase
from iqdbc.car.honda.carcontroller import CarController
from iqdbc.car.honda.carstate import CarState
from iqdbc.car.honda.radar_interface import RadarInterface
from iqdbc.car.interfaces import CarInterfaceBase
from opendbc.iqpilot.car.honda.values_ext import HondaFlagsIQ, HondaSafetyFlagsIQ
from iqdbc.iqpilot.car.honda.values_ext import HondaFlagsIQ, HondaSafetyFlagsIQ
TransmissionType = structs.CarParams.TransmissionType
@@ -215,7 +215,7 @@ class CarInterface(CarInterfaceBase):
ret.lateralTuning.pid.kpBP, ret.lateralTuning.pid.kpV = [[0, 10], [0.05, 0.5]]
ret.lateralTuning.pid.kiBP, ret.lateralTuning.pid.kiV = [[0, 10], [0.0125, 0.125]]
# TODO-IQ: remove when https://github.com/commaai/opendbc/pull/2687 is merged
# TODO-IQ: remove when https://github.com/commaai/iqdbc/pull/2687 is merged
elif candidate == CAR.HONDA_CLARITY:
pass

Some files were not shown because too many files have changed in this diff Show More