mirror of
https://gitlvb.teallvbs.xyz/IQ.Lvbs/IQ.Pilot.git
synced 2026-07-24 04:52:13 +08:00
IQ.Pilot Release Commit @ 322eda2
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'])
|
||||
|
||||
|
||||
@@ -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=="
|
||||
}
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+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;
|
||||
|
||||
+85
-8
@@ -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
@@ -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
@@ -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
@@ -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}},
|
||||
};
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,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__)), "../"))
|
||||
@@ -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:
|
||||
+3
-3
@@ -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):
|
||||
+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
|
||||
|
||||
@@ -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)
|
||||
|
||||
+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]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user