IQ.Pilot Release Commit @ 322eda2

This commit is contained in:
IQ.Lvbs CI [bot]
2026-07-21 13:54:43 -05:00
parent 5784b1e8b3
commit 215abacc04
717 changed files with 4347 additions and 3060 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'])
@@ -16,23 +16,28 @@
},
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "839bc8e7b29e58f3182ee7b551df1687b858f47b5698ccfe1f4f0da3406727c2",
"sha256": "ec590435888e03a83c9fbfb01102089b077de0840ae0bb2e0969e76213d633aa",
"size": 135536
},
"python/iqpilot_private/konn3kt/backups/backup_keys.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "7188e3de16f358a1dfb7130cf8aa7f12d2861bd68f056bff9a805c14883f3016",
"size": 67664
},
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "ee1376eeef9c4bf72673d4c34092697b2c5a4c86136db354190e9dfdcbee0b7a",
"sha256": "7218ad7ac087c68fe7d466e4c3468a6ab3b48c0fe45711e546e53823039c365b",
"size": 204624
},
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "bdc32de29822d49e40b9190e8116aeb0d6ecf48806ea856d64ab430130835bf7",
"sha256": "56d60b113a982e2d4fee8b4f00eaf111fd09834fbe8bf95f382b49e0bf13c121",
"size": 69752
},
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "59e3669444d7f125f753dcd5c3c4191d375ffb11fc77a9f49062307ceeb055b5",
"size": 203056
"sha256": "75f101e930d93044d2e074129207c8246ff7d94df77b0f83db7de665eef62ab6",
"size": 203072
},
"python/iqpilot_private/konn3kt/hephaestus/__init__.py": {
"mode": 420,
@@ -41,67 +46,67 @@
},
"python/iqpilot_private/konn3kt/hephaestus/_vendor/localapi_runtime.zip": {
"mode": 420,
"sha256": "b77e971e2f1e7ad2561c3da2159e2ad3c7121b57d5adee8767589b7d3988a25a",
"sha256": "acc64ce2fe59583738ab5951f64e79d8043856317eb015dc1d0e6a4bffc51ee2",
"size": 2100238
},
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "25883f278987578fb4bca7051508612fff5b76131e147497ca082f53e69550ed",
"sha256": "ee2330e3ba4f488336d18d887fc19291f76a1733a24c203a642634b7106a85a1",
"size": 268064
},
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "5604a2d97d179922df4f075fb6902310c2dac0a4b5fa5bafd02701767303034f",
"sha256": "71568e01b8c983ca80d825bea610334b140c87da9e6ac3047b21d9c56c136423",
"size": 340584
},
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "b17176800f2ca75c47a824c0cd17ff490e8cfce2e1c4fdda2591dac9ce6d62e5",
"sha256": "7f47eb50931e9df19116736ef6564b2d5480a7424c24cd1d599424dc0da66537",
"size": 68048
},
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "337099e876dd5cd0deeaf2034c5393efdd8101e4ece1edfaeddad1f8794f8b1a",
"sha256": "e4c0882530ab3097ecadbb586ac7e35955b587f81d9af2c57fea1b5450c2e5ef",
"size": 335728
},
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "8fb8d1b6b4e224d936a4908b7bd9d67c9448cbc2e0ab5363b5447482923ab726",
"sha256": "62bbf38d79bece455bdb399d7124b37347c9ec2ebdf35ff2ce4b696b39c59462",
"size": 271680
},
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "f165bcdba3b797c86b515d500265be43893232d32ea6f9df1ffd82afd1e5d397",
"sha256": "b59b5d1bc50e5064206752cb30da118f2fa42f48c4cc2e6529ebbe04b28200a4",
"size": 134408
},
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "f53fb96fe15ac11b2625390a031891f71e1312230bce78955adbd6b439db5ccd",
"size": 3448176
"sha256": "1d7b19f9d33649e91e5707574bdf436bc0e5b6dafd63d4b1aa63949bb6f7be20",
"size": 3448272
},
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "1119f5b0c204999236cbf647f81d7c5d188934c243fe5c12f856db01093d1342",
"sha256": "8a5e6e08eb15a8295f08bd4629f80f6bf2539ec7eea7b6a787af3ed5b2546e35",
"size": 136448
},
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "c82f530ad3faa3239686b416041298f91d4207b842689de176776fee13412dda",
"sha256": "ead654070e296ae23fd8afdbc0a1c2f3eb8d1ff04a905ca3f2fbd8e20316ed6b",
"size": 68136
},
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "ce0e8e963d635499704fcc03358413e3f5c30c541ffc8f74a331066651e8200d",
"sha256": "38c55fe55500aca574ab5bf3ed693e54ca192db276c247a31209470319d6578a",
"size": 67840
},
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "826999c870d16354f1b740247a4c7e81e284e06cafe91dc080a9b63460d7bf3f",
"sha256": "0547db3c95f399b9721ae4f7306b57d4124283adda0213f7df5069a3837a7f98",
"size": 135648
},
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "c69b553bf43c002494df334a8c4e6385f5e65369b7ccc1215b60df2367e6c8ea",
"sha256": "f7788e2023012537b40d6aa5109e9d913b7cb27e1de80eadc0ebe12a2ab7be1a",
"size": 269568
},
"python/iqpilot_private/konn3kt/uploaderd/__init__.py": {
@@ -111,7 +116,7 @@
},
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": {
"mode": 493,
"sha256": "76643345ea8ef0af72daa1b649389fcd1c2574a877d25a14dc1ef061cba8d672",
"sha256": "efbef0e4b63a65d846c4cd50f89cb3fdfe0d12da3301e8b1c9137f9a5f02c753",
"size": 204184
},
"runtime": {
@@ -143,22 +148,23 @@
}
},
"signatures": {
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": "8VLEwluJlz6qARphX2M2OmfZVupPKypS9LnaiPrMoV9thvudyMfKu9UYyPd+9LDI9KQ5Nv0AnBuoVZhqGIXbAw==",
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": "4IAicJpyOSAye7WdpzAbkc71LrwsE37EqAtryK54E6CMDpxetiEGpsqOR28MRDBav01LEW89aHA48Yxz1m85Bg==",
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": "BjisouIbl7J1epsKV/NU69JvByDhlaY4lQeD6syIE0myI81tFauyFenystnDUaOMhmYhkrN+s2Euu8kNas/XCQ==",
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": "9INjJFxL8tPU2L0elHm+D6HifpVLciLkE+kCIkMHL5bfntldk+I7jir7YxH0+vby0Qo807IFcgWJXgY36zPwBg==",
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": "srRZKVgQW7QNDE4hN09mzF94+O2PUIKWCxsffd96n+Gg4heSxrlq3yiEP8Ssati1HlzS8+J8qGyEEYCbBSd/DQ==",
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": "RQnudpb8oix67avhaaWwk3xhv1jxojuTD7Dn+kZRDClaqoMGn7eBX0ny0lN50jTdHGaTNVrqtA7whh66JEwXDQ==",
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": "bWcpgy4X2iF6M9Ac9Dp0fUHgHa0JuEt+EM+ZggzLxHoI84Vla5krD3ZD9UBYbOL9oK0w8W0BGYmpeFqPFwP0Cw==",
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": "+c7G7W5hHKg0tImEff+a6dcxC6LRi2Pk7dNzNTrUoSnahlK+B1F+WCHAX0vhVfj43zg83QEQx53905COgSwXCA==",
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": "pPhZUUmVCbQz9cNz/z0AcC7DosMQ28xoxEa2xvyAj7n/QiO5/Oe2xy3Xl97AoOdY/TaBcR/3iOk9fDN5pfHJAQ==",
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": "oSE9/T3UFz/00VbijRvoYVBThNsu4fuUk2suzo9VPrVMEfzZ95wDsoiqla1wgBQB9pfT9g3CamBbhg87LjT+Ag==",
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": "N+I7b7kyZONsfEpoBZeLXExt3CUOidoU5DRoMyKotbFIUW3WTDZRRZMejWN9Ihh77zQEsiICPM/74GcU1KHNBA==",
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": "Ag5tuuf3MxvxBdgBmvLZEEEftIHLq2jUYyO9R6viD20kpxsuG/t1rJVs5saliBL98ejoCkKzfxiW7XA+tAakCQ==",
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": "8xR3ozu7k/hYlMuW3U3n+yWWkxiII5pCM40qzUPP7DGKcjUBnH3mveHplPzlSnSoWVx+ZGfSbcFR5gz0Oip/AA==",
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": "fODQbD6yDanJ06rrSbBhpMxNbAxXrlQ2KlElOerxBIMKQjJsE/Ew9AnLv0fEPUe7FSM+rL1hH8ur0UHnACyvBw==",
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": "qCY1O6EwcROnnJtGNo0Tx+2bdCaDuG6tDaSaFV5VbwKh4Je1l0vclXJqqcYGhO3BtiDH9ehTSeDfbPGFwX9WCA==",
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": "uNJGaiiojTXNXEDnNejYQZANEzPXktYJfrs7MzBt3a/ERmdzwRnJh+IXDzYPkZXxPUDXUUOkiyAzf+IZEMc7DA==",
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": "2H4eWj9LmvC4sXbxkE8aE7H9M2q4aj06q25muZuwuZGkb42WTfhSq36PNBI07OzngF5B8+zk5+jbS6KPxBSEBA=="
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": "tMSz9Dm9XQQkQzePUaDhhcM065JH2fcqAE3f+dlA2/+264m/j2ayWMYFMXTWZMTDm1YaQT8e9lvBe8sc4JSVDQ==",
"python/iqpilot_private/konn3kt/backups/backup_keys.cpython-312-aarch64-linux-gnu.so": "fvD5Ii/rNZuynr8Nh+K+yNC+AMji7v53spO7rj7Fs61CvO604fWnKVUO7A/2d7KHh26YpUcjbv8wRb8tRTzfCg==",
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": "KcxQfc5HVD8QOLY/KHWsrhWpbYETAxsxR9WjFOqqmYe0aEC7K4njmJPtU1eCU3B2S6MGMmUdABBHs8kr32ViDQ==",
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": "9jTowLTfwEw9Iu3wgfFordJmJ+/+O+nPvq4TP+3CDddW1jISzSMhiw418iyH1f0m7rwB3hGyZYgGLoJszSHpBw==",
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": "YvM513CnlMKSrIrCgrCNG/k7XyFjSlnEupgWH0Jhj0zKrE8dkeCiXek7iU9W+VpgXa6O8P3jTJUWchqLhnONBw==",
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": "bhNLMkcIgi0F/CZsEDHRQsNHyPBD+pVh3DPowBz7mRYxQffVGzk1FeE2Gp3P7xxHsnyKsy635sAkdwKOlZLtBQ==",
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": "Huy5oGlX55p5bhoMQipY9/doTBBAfwnQhgPdM6aeYTrzBS/QOUqwjyk3qjanftHA4m0V4Jab8cVvjEt1OiTsBw==",
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": "2BmMUg8uOE4eoIW/OTbuwrZCMA+Rx4SOZWLBYs4GUbD8JR5Ei0nQ6VKLar31Ue7NYk7qBfpgqFdGPnV1uST/Dw==",
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": "6nFN6dJAmGczneUwRtJr+1TLNrD9reuMQcoa2G2j0np9xaSU401MdBssdVFSFBpse95iqQX1uV8ojQD327z1CA==",
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": "8nKxC5LPkwPihlIdJzcD6OTp42avONqDkNgZrmTaQr8oueczFwXnHsgJ9aZ8jrpDK/nN+GLJrniSdFxZjrUUDA==",
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": "y8dA+6ahkX+Evzn8oSQEPyDB6+d+t//v5rsEdg4zRbjdeLeXs5kqraMEaAALVH80CvNJ6Gba1CcO1ebrK00EBQ==",
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": "jczf5QX+Xm0tOLPBrmvJoPZmcKar5zTrxoX7RAOR1JQgHu3jWPFW+sWOTK8c8ByiVF5PdLeYOPdQgu+0KQvdCg==",
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": "s4HcwSXfBowW/vfY5M4GKg7gEueRJnbmq6zO1dAXx6HrTXYsL9iDZTeGHi7dNu/rw8mUFSkkpWsaFTlaYdK0DA==",
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": "LVgImFZgV/hgoBwMfMVWSEKuXUvc2jR/EPl6SOfmMncoyuIZUkpQa18jjdMTWqXbRGpFvAe+0KocmroFTrbqDg==",
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": "vXffOAHGUAdEkv321fidnhZvUMaX73l2kO5/Y5Sk43+mr9V95Wcv4TR54/2Y2N4UfgtxnGFz8N0llK/DsQLEAw==",
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": "wXVM74ZUEwSVnM7cMqzXQYCWhQwVovszTjxYyMhDFjwZlWtNPPGeq4WghHoghGolGSG9Q4SOLxh8uF67BU2RDw==",
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": "1cBBo9W9EBxW7XF9o2MimKA9Xm26zaCEsUNHLF81zm2zWxkoSkeVlLyrxHE9ZxGhgMRMfW3lz4XUJbWRJpjGDA==",
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": "vqZyPMmER7bN7AvE4gwZVF4HypLwTxBfk4tidjRhVDZ2eKYbbG2yROd2z2xtk5Shf8GhdLsT7UhVrN+BKNnkBA=="
}
}
+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;
+85 -8
View File
@@ -70,12 +70,12 @@ struct OnroadEvent @0xc4fa6047f024e718 {
longitudinalManeuver @30;
steerTempUnavailableSilent @31;
resumeRequired @32;
preDriverDistracted @33;
promptDriverDistracted @34;
driverDistracted @35;
preDriverUnresponsive @36;
promptDriverUnresponsive @37;
driverUnresponsive @38;
driverDistracted1 @33;
driverDistracted2 @34;
driverDistracted3 @35;
driverUnresponsive1 @36;
driverUnresponsive2 @37;
driverUnresponsive3 @38;
belowSteerSpeed @39;
lowBattery @40;
accFaulted @41;
@@ -2183,6 +2183,7 @@ struct DriverStateV2 {
rightBlinkProb @8 :Float32;
sunglassesProb @9 :Float32;
phoneProb @13 :Float32;
sleepProb @14 :Float32;
notReadyProbDEPRECATED @12 :List(Float32);
occludedProbDEPRECATED @10 :Float32;
readyProbDEPRECATED @11 :List(Float32);
@@ -2224,7 +2225,7 @@ struct DriverStateDEPRECATED @0xb83c6cc593ed0a00 {
stdDEPRECATED @2 :Float32;
}
struct DriverMonitoringState @0xb83cda094a1da284 {
struct DriverMonitoringStateDEPRECATED @0xb83cda094a1da284 {
events @18 :List(OnroadEvent);
faceDetected @1 :Bool;
isDistracted @2 :Bool;
@@ -2250,6 +2251,81 @@ struct DriverMonitoringState @0xb83cda094a1da284 {
eventsDEPRECATED @0 :List(Car.OnroadEventDEPRECATED);
}
struct DriverMonitoringState {
lockout @0 :Bool;
lockoutCount @15 :Int8;
lockoutMinutesRemaining @11 :Int8;
alert3Count @12 :Int8;
noResponseCount @13 :Int8;
noResponseForceDecel @14 :Bool;
alwaysOn @3 :Bool;
alwaysOnLockout @4 :Bool;
alertLevel @5 :AlertLevel;
activePolicy @6 :MonitoringPolicy;
isRHD @7 :Bool;
rhdCalibration @8 :CalibrationState;
visionPolicyState @9 :VisionPolicyState;
wheeltouchPolicyState @10 :WheeltouchPolicyState;
enum AlertLevel {
none @0;
one @1;
two @2;
three @3;
}
enum MonitoringPolicy {
wheeltouch @0;
vision @1;
}
struct VisionPolicyState {
awarenessPercent @0 :Int8;
awarenessStep @1 :Float32;
isDistracted @2 :Bool;
distractedTypes @3 :DistractedTypes;
faceDetected @4 :Bool;
pose @5 :Pose;
wheeltouchFallbackPercent @6 :Int8;
uncertainOffroadAlertPercent @7 :Int8;
struct DistractedTypes {
pose @0: Bool;
eye @1: Bool;
phone @2: Bool;
}
struct Pose {
pitch @0 :Float32;
yaw @1 :Float32;
pitchCalib @2 :CalibrationState;
yawCalib @3 :CalibrationState;
calibrated @4 :Bool;
uncertainty @5 :Float32;
}
}
struct WheeltouchPolicyState {
awarenessPercent @0 :Int8;
awarenessStep @1 :Float32;
driverInteracting @2 :Bool;
}
struct CalibrationState {
calibratedPercent @0 :Int8;
offset @1 :Float32;
}
deprecated :group {
alertCountLockoutPercent @1 :Int8;
alertTimeLockoutPercent @2 :Int8;
}
}
struct Boot {
wallTimeNanos @0 :UInt64;
pstore @4 :Map(Text, Data);
@@ -2570,7 +2646,7 @@ struct Event {
thumbnail @66: Thumbnail;
onroadEvents @134: List(OnroadEvent);
carParams @69: Car.CarParams;
driverMonitoringState @71: DriverMonitoringState;
driverMonitoringState @165: DriverMonitoringState;
livePose @129 :LivePose;
modelV2 @75 :ModelDataV2;
drivingModelData @128 :DrivingModelData;
@@ -2693,6 +2769,7 @@ struct Event {
wifiScanDEPRECATED @29 :List(Legacy.WifiScan);
uiNavigationEventDEPRECATED @50 :Legacy.UiNavigationEvent;
liveMapDataDEPRECATED @62 :LiveMapDataDEPRECATED;
driverMonitoringStateDEPRECATED @71 :DriverMonitoringStateDEPRECATED;
gpsPlannerPointsDEPRECATED @40 :Legacy.GPSPlannerPoints;
gpsPlannerPlanDEPRECATED @41 :Legacy.GPSPlannerPlan;
applanixRawDEPRECATED @42 :Data;
+2 -4
View File
@@ -103,12 +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;
for (auto &p : keys) {
if (flag == ALL || (p.second.flags & flag)) {
ret.push_back(p.first);
}
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,
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);
+185 -189
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 | BACKUP, BOOL}},
{"AlwaysOnDM", {PERSISTENT | BACKUP, BOOL}},
{"AdbEnabled", {PERSISTENT, BOOL}},
{"AlwaysOnDM", {PERSISTENT, BOOL}},
{"ApiCache_Device", {PERSISTENT, STRING}},
{"ApiCache_FirehoseStats", {PERSISTENT, JSON}},
{"AssistNowToken", {PERSISTENT, STRING}},
@@ -31,20 +31,21 @@ 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 | BACKUP, BOOL}},
{"DisableUpdates", {PERSISTENT | BACKUP, BOOL, "0"}},
{"UpdaterInstallMode", {PERSISTENT | BACKUP, STRING, "download_and_install"}},
{"DisengageOnAccelerator", {PERSISTENT | 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 | BACKUP, BOOL}},
{"ExperimentalMode", {PERSISTENT | BACKUP, BOOL}},
{"ExperimentalModeConfirmed", {PERSISTENT | BACKUP, BOOL}},
{"FastSleep", {PERSISTENT | BACKUP, BOOL}},
{"DriverLockoutCount", {CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_ON, INT, "0"}},
{"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 +53,21 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"GitCommit", {PERSISTENT, STRING}},
{"GitCommitDate", {PERSISTENT, STRING}},
{"GitDiff", {PERSISTENT, STRING}},
{"GithubSshKeys", {PERSISTENT | BACKUP, STRING}},
{"GithubUsername", {PERSISTENT | BACKUP, STRING}},
{"GithubSshKeys", {PERSISTENT, STRING}},
{"GithubUsername", {PERSISTENT, STRING}},
{"GitRemote", {PERSISTENT, STRING}},
{"GsmApn", {PERSISTENT | BACKUP, STRING}},
{"GsmMetered", {PERSISTENT | BACKUP, BOOL, "1"}},
{"GsmRoaming", {PERSISTENT | 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 | BACKUP, BOOL}},
{"IsLdwEnabled", {PERSISTENT, BOOL}},
{"IsLiveStreaming", {CLEAR_ON_MANAGER_START, BOOL}},
{"IsMetric", {PERSISTENT | BACKUP, BOOL}},
{"IsMetric", {PERSISTENT, BOOL}},
{"IsOffroad", {CLEAR_ON_MANAGER_START, BOOL}},
{"IsOnroad", {PERSISTENT, BOOL}},
{"IsRhdDetected", {PERSISTENT, BOOL}},
@@ -77,7 +78,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 | 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 +90,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"LastUpdateRouteCount", {PERSISTENT, INT, "0"}},
{"LastUpdateTime", {PERSISTENT, TIME}},
{"LastUpdateUptimeOnroad", {PERSISTENT, FLOAT, "0.0"}},
{"LiveDelay", {PERSISTENT | BACKUP, BYTES}},
{"LiveDelay", {PERSISTENT, BYTES}},
{"LiveParameters", {PERSISTENT, JSON}},
{"LiveParametersV2", {PERSISTENT, BYTES}},
{"LivestreamEncoderBitrate", {CLEAR_ON_MANAGER_START | DONT_LOG, INT}},
@@ -97,8 +99,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 | BACKUP, INT, std::to_string(static_cast<int>(cereal::LongitudinalPersonality::STANDARD))}},
{"NetworkMetered", {PERSISTENT | 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 +116,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 | 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 | BACKUP, BOOL}},
{"RecordAudioFeedback", {PERSISTENT | BACKUP, BOOL, "0"}},
{"DashcamEnabled", {PERSISTENT | BACKUP, BOOL, "1"}},
{"RecordFront", {PERSISTENT | 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 | 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 | BACKUP, BOOL}},
{"SshEnabled", {PERSISTENT, BOOL}},
{"TermsVersion", {PERSISTENT, STRING}},
{"TorqueBar", {PERSISTENT | BACKUP, BOOL, "0"}},
{"TorqueBar", {PERSISTENT, BOOL, "0"}},
{"TrainingVersion", {PERSISTENT, STRING}},
{"UbloxAvailable", {PERSISTENT, BOOL}},
{"UsbStorageEnabled", {PERSISTENT | 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 +153,132 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
// --- iqpilot params --- //
{"ApiCache_DriveStats", {PERSISTENT, JSON}},
{"AutoLaneChangeBsmDelay", {PERSISTENT | BACKUP, BOOL, "0"}},
{"AutoLaneChangeTimer", {PERSISTENT | BACKUP, INT, "0"}},
{"NavExitLaneChange", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQBlinkerMinLateralSpeed", {PERSISTENT | BACKUP, INT, "20"}}, // MPH or km/h
{"IQBlinkerPauseLateral", {PERSISTENT | BACKUP, INT, "0"}},
{"Brightness", {PERSISTENT | 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 | BACKUP, JSON}},
{"ChevronInfo", {PERSISTENT | BACKUP, INT, "4"}},
{"DeviceBootMode", {PERSISTENT | BACKUP, INT, "0"}},
{"IQDevUIInfo", {PERSISTENT | BACKUP, INT, "0"}},
{"EnableEsimProvisioning", {PERSISTENT | BACKUP, BOOL, "1"}},
{"GreenLightAlert", {PERSISTENT | BACKUP, BOOL, "0"}},
{"InteractivityTimeout", {PERSISTENT | 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 | BACKUP, BOOL, "0"}},
{"LongIncrementsEnabled", {PERSISTENT | BACKUP, BOOL, "0"}},
{"LongIncrementTapStep", {PERSISTENT | BACKUP, INT, "1"}},
{"LongIncrementHoldStep", {PERSISTENT | BACKUP, INT, "5"}},
{"IQE2ESetSpeedMode", {PERSISTENT | BACKUP, INT, "0"}},
{"IQE2ESetSpeedUseCurrent", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQE2ESetSpeedMph", {PERSISTENT | BACKUP, INT, "65"}},
{"MaxTimeOffroad", {PERSISTENT | BACKUP, INT, "1800"}},
{"NightMode", {PERSISTENT | BACKUP, BOOL, "0"}},
{"newLeadMpc", {PERSISTENT | 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 | BACKUP, INT, "0"}},
{"OnroadScreenOffTimer", {PERSISTENT | BACKUP, INT, "15"}},
{"OnScreenNavigation", {PERSISTENT | BACKUP, BOOL, "0"}},
{"OnlineOSMaps", {PERSISTENT | BACKUP, BOOL, "1"}},
{"OfflineOSMaps", {PERSISTENT | BACKUP, BOOL, "0"}},
{"OSMapsStyleMode", {PERSISTENT | BACKUP, INT, "0"}},
{"OSMapsHeadingUp", {PERSISTENT | 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 | BACKUP, BOOL, "1"}},
{"IQAlertSilence", {PERSISTENT | BACKUP, BOOL, "0"}},
{"RainbowMode", {PERSISTENT | BACKUP, BOOL, "0"}},
{"RocketFuel", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ShowTurnSignals", {PERSISTENT | BACKUP, BOOL, "0"}},
{"StandstillTimer", {PERSISTENT | 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 | BACKUP, BOOL, "1"}},
{"AolMainCruiseAllowed", {PERSISTENT | BACKUP, BOOL, "1"}},
{"AolSteeringMode", {PERSISTENT | BACKUP, INT, "0"}},
{"AolUnifiedEngagementMode", {PERSISTENT | 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 | BACKUP, STRING}},
{"ModelManager_Favs", {PERSISTENT, STRING}},
{"ModelManager_LastSyncTime", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, INT, "0"}},
{"ModelManager_ModelsCache", {PERSISTENT | BACKUP, JSON}},
{"ModelManager_ModelsCache", {PERSISTENT, JSON}},
// Neural Network Feed Forward
{"NeuralNetworkFeedForward", {PERSISTENT | BACKUP, BOOL, "0"}},
{"NeuralNetworkFeedForward", {PERSISTENT, BOOL, "0"}},
// Backup Manager params
{"BackupManager_CreateBackup", {PERSISTENT, BOOL}},
{"BackupManager_RestoreVersion", {PERSISTENT, STRING}},
// iqpilot car specific params
{"HyundaiLongitudinalTuning", {PERSISTENT | BACKUP, INT, "0"}},
{"SubaruStopAndGo", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SubaruStopAndGoManualParkingBrake", {PERSISTENT | BACKUP, BOOL, "0"}},
{"TeslaCoopSteering", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ToyotaEnforceStockLongitudinal", {PERSISTENT | 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 | BACKUP, BOOL, "0"}},
{"pqhca5or7Toggle", {PERSISTENT | BACKUP, BOOL}},
{"iqMqbAccResume", {PERSISTENT | BACKUP, BOOL, "0"}},
{"iqMqbSteeringLockout", {PERSISTENT | BACKUP, BOOL, "0"}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT | BACKUP, BOOL}},
{"ToyotaSnGHack", {PERSISTENT, BOOL, "0"}},
{"pqhca5or7Toggle", {PERSISTENT, BOOL}},
{"iqMqbAccResume", {PERSISTENT, BOOL, "0"}},
{"iqMqbSteeringLockout", {PERSISTENT, BOOL, "0"}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT, BOOL}},
{"IQDynamicMode", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQDynamicBlendStockRadar", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQDynamicConditionalCurves", {PERSISTENT | BACKUP, BOOL, "1"}},
{"IQDynamicConditionalSlowerLead", {PERSISTENT | BACKUP, BOOL, "1"}},
{"IQDynamicConditionalStoppedLead", {PERSISTENT | BACKUP, BOOL, "1"}},
{"IQDynamicConditionalModelStops", {PERSISTENT | BACKUP, BOOL, "1"}},
{"IQDynamicConditionalSLCFallback", {PERSISTENT | BACKUP, BOOL, "1"}},
{"IQDynamicConditionalSpeed", {PERSISTENT | BACKUP, FLOAT, "18.0"}},
{"IQDynamicConditionalLeadSpeed", {PERSISTENT | BACKUP, FLOAT, "24.0"}},
{"IQDynamicModelStopTime", {PERSISTENT | BACKUP, FLOAT, "3.0"}},
{"IQDynamicMinimumForceStopLength", {PERSISTENT | BACKUP, FLOAT, "0.0"}},
{"IQForceStops", {PERSISTENT | BACKUP, BOOL, "1"}},
{"IQCustomStopDistance", {PERSISTENT | BACKUP, INT, "0"}}, // meters, -2..2; negative = stop closer, positive = stop further back; independent of IQForceStops
{"BlindSpot", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQExpandedStatus", {PERSISTENT | 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 | BACKUP, FLOAT, "0.0"}},
{"LagdToggle", {PERSISTENT | BACKUP, BOOL, "1"}},
{"LagdToggleDelay", {PERSISTENT | 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 | BACKUP, INT, "0"}}, // -1 ignore BSD, 0 default, 1 block lane change on BSD
{"LaneChangeContinuous", {PERSISTENT | BACKUP, BOOL, "0"}}, // 0 one-shot per blinker, 1 chain on held blinker (torque-gated)
{"LaneChangeDelay", {PERSISTENT | BACKUP, FLOAT, "0.0"}}, // tenths of a second; scaled by 0.1 in desire_helper
{"LaneChangeNeedTorque", {PERSISTENT | BACKUP, INT, "0"}}, // <0 disable blinker LC, 0 default, >0 require torque
{"IQLaneTurnDesire", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQLaneTurnValue", {PERSISTENT | BACKUP, FLOAT, "19.0"}},
{"PlanplusControl", {PERSISTENT | 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 | BACKUP, BOOL, "0"}},
{"ModelLatSmoothSec", {PERSISTENT | BACKUP, INT, "0"}},
{"ModelSmoothingEnabled", {PERSISTENT, BOOL, "0"}},
{"ModelLatSmoothSec", {PERSISTENT, INT, "0"}},
// IQ.Pilot Parameters:
{"ShowBSMIndicators", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ShowSteeringArc", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ShowRoadName", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ShowRealTimeAcceleration", {PERSISTENT | 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 | BACKUP, BOOL, "0"}},
{"OBrightness", {PERSISTENT | BACKUP, BOOL, "0"}},
{"OBrightnessManual", {PERSISTENT | BACKUP, BOOL, "0"}},
{"OBrightnessDelay", {PERSISTENT | 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 +292,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 | BACKUP, BOOL, "0"}},
{"NavigationDebugFlags", {PERSISTENT | BACKUP, JSON}},
{"NavigationEnabled", {PERSISTENT, BOOL, "0"}},
{"NavigationDebugFlags", {PERSISTENT, JSON}},
{"NavigationManeuvers", {CLEAR_ON_MANAGER_START, JSON}},
{"NavigationPreferences", {PERSISTENT | 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 +313,37 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"OsmStateNames", {PERSISTENT, JSON}},
{"OsmWayTest", {PERSISTENT, STRING}},
{"RoadName", {CLEAR_ON_ONROAD_TRANSITION, STRING}},
{"RoadNameToggle", {PERSISTENT | BACKUP, BOOL, "0"}},
{"IQSpeedAssistMode", {PERSISTENT | BACKUP, INT, "1"}},
{"IQSpeedAssistOffsetType", {PERSISTENT | BACKUP, INT, "0"}},
{"IQSpeedAssistPolicy", {PERSISTENT | BACKUP, INT, "3"}},
{"IQSpeedAssistValueOffset", {PERSISTENT | BACKUP, INT, "0"}},
{"SpeedLimitController", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ConstructionZoneAssist", {PERSISTENT | BACKUP, BOOL, "0"}},
{"VisionVehicleTracks", {PERSISTENT | BACKUP, BOOL, "0"}},
{"AmbientTrackDots", {PERSISTENT | BACKUP, BOOL, "1"}},
{"ConstructionZoneSpeed", {PERSISTENT | BACKUP, INT, "60"}},
{"ShowSpeedLimits", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SLCPolicy", {PERSISTENT | BACKUP, INT, "1"}},
{"SLCAutoConfirm", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SLCSetSpeedToLimit", {PERSISTENT | BACKUP, BOOL, "0"}},
{"speed_limit_offset1", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"speed_limit_offset2", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"speed_limit_offset3", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"speed_limit_offset4", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"speed_limit_offset5", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"speed_limit_offset6", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"speed_limit_offset7", {PERSISTENT | BACKUP, FLOAT, "0"}},
{"SpeedLimitConfirmationHigher", {PERSISTENT | BACKUP, BOOL, "1"}},
{"SpeedLimitConfirmationLower", {PERSISTENT | BACKUP, BOOL, "0"}},
{"MapSpeedLookaheadHigher", {PERSISTENT | BACKUP, FLOAT, "5.0"}},
{"MapSpeedLookaheadLower", {PERSISTENT | BACKUP, FLOAT, "5.0"}},
{"SLCFallbackExperimentalMode", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SLCFallbackSetSpeed", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SLCFallbackPreviousSpeedLimit", {PERSISTENT | BACKUP, BOOL, "1"}},
{"SLCOverrideMethod", {PERSISTENT | BACKUP, INT, "0"}},
{"SLCOnlineFiller", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SLCDataCollection", {PERSISTENT | 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,43 +352,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 | BACKUP, BOOL, "1"}},
{"NavOnlineTargets", {PERSISTENT | BACKUP, BOOL, "1"}},
{"NavOfflineFallback", {PERSISTENT | BACKUP, BOOL, "1"}},
{"NavPreferOfflineSources", {PERSISTENT | BACKUP, BOOL, "0"}},
{"OfflineRoutingEnabled", {PERSISTENT | BACKUP, BOOL, "1"}},
{"OfflineRoutingOnly", {PERSISTENT | BACKUP, BOOL, "0"}},
{"OfflineRoutingHost", {PERSISTENT | BACKUP, STRING, "http://127.0.0.1:8002"}},
{"pqhca5or7Toggle", {PERSISTENT | BACKUP, BOOL}},
{"AllowLateralWhenLongUnavailable", {PERSISTENT | BACKUP, BOOL}},
{"EnableCurvatureController", {PERSISTENT | BACKUP, BOOL, "0"}},
{"EnableSpeedLimitControl", {PERSISTENT | BACKUP, BOOL, "0"}},
{"MapCurveSpeedController", {PERSISTENT | BACKUP, BOOL, "0"}},
{"VisionCurveSpeedController", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SpeedCameraAlerts", {PERSISTENT | BACKUP, BOOL, "0"}},
{"RedLightCameraAlerts", {PERSISTENT | BACKUP, BOOL, "0"}},
{"FlockCameraAlerts", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SpeedCameraSlowdown", {PERSISTENT | BACKUP, BOOL, "0"}},
{"SpeedCameraSafetyFactor", {PERSISTENT | 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 | BACKUP, BOOL, "0"}},
{"EnableSpeedLimitPredicative", {PERSISTENT | BACKUP, BOOL, "0"}},
{"EnableSLPredReactToSL", {PERSISTENT | BACKUP, BOOL, "0"}},
{"EnableSLPredReactToCurves", {PERSISTENT | BACKUP, BOOL, "0"}},
{"ForceRHDForBSM", {PERSISTENT | 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 | BACKUP, BOOL, "0"}},
{"Konn3ktAllowOffroadExternalCanTx", {PERSISTENT | BACKUP, BOOL}},
{"Konn3ktPQFlashHeadlights", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION | CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0"}},
{"Konn3ktPQHighBeamSwitch", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION | CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0"}},
{"Konn3ktPQLeftBlinkerSwitch", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION | CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0"}},
{"Konn3ktPQRightBlinkerSwitch", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION | CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0"}},
{"Konn3ktPQGraSet", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION | CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0"}},
{"Konn3ktPQGraResume", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION | CLEAR_ON_OFFROAD_TRANSITION, BOOL, "0"}},
{"MapboxToken", {PERSISTENT | BACKUP, STRING}},
{"MapboxTokenQRCode", {PERSISTENT | BACKUP, JSON}},
{"TomTomToken", {PERSISTENT | BACKUP, STRING}},
{"UIAccentColor", {PERSISTENT | BACKUP, STRING, "#00FFF5"}},
{"AngleLateralControl", {PERSISTENT | BACKUP, BOOL}},
{"ALCTorqueBlend", {PERSISTENT | 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
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
+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"))
@@ -50,7 +50,7 @@ SOFTWARE.
#### Scope
This licensing is limited to `opendbc_repo/opendbc/car/hyundai` and `opendbc_repo/opendbc/iqpilot/car/hyundai`.
This licensing is limited to `iqdbc_repo/iqdbc/car/hyundai` and `iqdbc_repo/iqdbc/iqpilot/car/hyundai`.
### Hyundai / Kia / Genesis (HKG) - carrotpilot
@@ -80,7 +80,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#### Scope
This licensing is limited to `opendbc_repo/opendbc/car/hyundai` and `opendbc_repo/opendbc/iqpilot/car/hyundai`.
This licensing is limited to `iqdbc_repo/iqdbc/car/hyundai` and `iqdbc_repo/iqdbc/iqpilot/car/hyundai`.
### Honda
@@ -97,4 +97,4 @@ This repository carries Honda tuning work derived from MVL's tuning effort's, th
#### Scope
This licensing is limited to `opendbc_repo/opendbc/car/honda` and `opendbc_repo/opendbc/iqpilot/car/honda`.
This licensing is limited to `iqdbc_repo/iqdbc/car/honda` and `iqdbc_repo/iqdbc/iqpilot/car/honda`.
@@ -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
@@ -75,7 +75,7 @@ class TestCanParserPacker:
~1Hz, must be seen within ~10s" — so if that message is never fed, the
parser is permanently invalid. Declaring an optional/rarely-sent message
with math.nan (or gating the .vl[...] read entirely) is required to avoid
this; see opendbc/car/volkswagen/carstate.py's Diagnose_1/EPB_1 bugs.
this; see iqdbc/car/volkswagen/carstate.py's Diagnose_1/EPB_1 bugs.
"""
parser = CANParser(TEST_DBC, [], 0)
assert parser.can_valid
@@ -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
@@ -464,6 +464,7 @@ struct CarControl {
prompt @6;
promptRepeat @7;
promptDistracted @8;
preAlert @9;
}
}
@@ -486,7 +487,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;
@@ -532,14 +533,9 @@ struct CarParams {
steerLimitAlert @28 :Bool;
steerLimitTimer @47 :Float32; # time before steerLimitAlert is issued
vEgoStopping @29 :Float32; # Speed at which the car goes into stopping state
vEgoStarting @59 :Float32; # Speed at which the car goes into starting state
steerControlType @34 :SteerControlType;
radarUnavailable @35 :Bool; # True when radar objects aren't visible on CAN or aren't parsed out
stopAccel @60 :Float32; # Required acceleration to keep vehicle stationary
stoppingDecelRate @52 :Float32; # m/s^2/s while trying to stop
startAccel @32 :Float32; # Required acceleration to get car moving
startingState @70 :Bool; # Does this car make use of special starting state
steerActuatorDelay @36 :Float32; # Steering wheel actuator delay in seconds
longitudinalActuatorDelay @58 :Float32; # Gas/Brake actuator delay in seconds
@@ -772,4 +768,9 @@ struct CarParams {
stoppingControlDEPRECATED @31 :Bool; # Does the car allow full control even at lows speeds when stopping
radarTimeStepDEPRECATED @45: Float32 = 0.05; # time delta between radar updates, 20Hz is very standard
enableDsuDEPRECATED @5 :Bool; # driving support unit
vEgoStartingDEPRECATED @59 :Float32;
startAccelDEPRECATED @32 :Float32;
startingStateDEPRECATED @70 :Bool;
vEgoStoppingDEPRECATED @29 :Float32;
stoppingDecelRateDEPRECATED @52 :Float32;
}
@@ -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]

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