mirror of
https://gitlvb.teallvbs.xyz/IQ.Lvbs/IQ.Pilot.git
synced 2026-07-23 04:22:09 +08:00
IQ.Pilot Release Commit @ fddcfba
This commit is contained in:
@@ -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
@@ -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
@@ -1 +1 @@
|
||||
../opendbc_repo/opendbc/car/car.capnp
|
||||
../iqdbc_repo/iqdbc/car/car.capnp
|
||||
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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}},
|
||||
};
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
include iqdbc/car/car.capnp
|
||||
include iqdbc/car/include/c++.capnp
|
||||
recursive-include iqdbc/safety *.h
|
||||
@@ -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__)), "../"))
|
||||
@@ -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
-1
@@ -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):
|
||||
+3
-3
@@ -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, [
|
||||
+2
-2
@@ -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:
|
||||
+2
-2
@@ -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:
|
||||
+2
-2
@@ -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:
|
||||
+2
-2
@@ -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):
|
||||
+6
-6
@@ -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):
|
||||
+3
-3
@@ -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)
|
||||
|
||||
+9
-9
@@ -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):
|
||||
+7
-7
@@ -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
|
||||
|
||||
+3
-3
@@ -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
|
||||
+5
-5
@@ -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
|
||||
|
||||
+7
-7
@@ -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):
|
||||
+4
-4
@@ -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
|
||||
+4
-4
@@ -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
|
||||
|
||||
+6
-6
@@ -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")
|
||||
+2
-2
@@ -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)
|
||||
+6
-6
@@ -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
|
||||
+3
-3
@@ -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
|
||||
|
||||
+6
-6
@@ -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))
|
||||
|
||||
+3
-3
@@ -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
-4
@@ -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
|
||||
|
||||
+2
-2
@@ -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]
|
||||
+7
-7
@@ -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
|
||||
+4
-4
@@ -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)
|
||||
|
||||
+5
-5
@@ -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
|
||||
+2
-2
@@ -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
|
||||
|
||||
+7
-7
@@ -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
|
||||
+5
-5
@@ -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
|
||||
+11
-11
@@ -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
Reference in New Issue
Block a user