IQ.Pilot Release Commit @ 9fe0487
This commit is contained in:
@@ -16,27 +16,27 @@
|
|||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "5ca5099e9b33d6b06a7b09992a444f97605914e96f8a9f1bdd7de278f5574c82",
|
"sha256": "dfc76d7b791879501396d4de4891718d0052d23b1e6cb217b0be01f3e3e6d857",
|
||||||
"size": 135536
|
"size": 135536
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/backups/backup_keys.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/backups/backup_keys.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "b682b580cf7a1e068120a4591b2c61fa8e0b92201779d79566c4d03248c939b1",
|
"sha256": "d1a7fd4e222b08c1e574ed1188943acddecc8d3f5ac02a1983bf90bde5e00a2c",
|
||||||
"size": 67664
|
"size": 67664
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "0b1801c7790aefc4a0c7fd44cb94cebd6bd6c4647913987847d6432d2c856ac7",
|
"sha256": "5393274eb99f50917fef30f994b1ad5fab66860bd535b7d270a86d144d4e25b7",
|
||||||
"size": 204624
|
"size": 204624
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "b729bdb775de9f3bb5362649aa94445bf7f8a102048468e88d1967a2545f7927",
|
"sha256": "9c08c3f6e3dc3b73f1a28d50d5aa76fa0894e9cd83bf02b7e9cc83bda5e84b4e",
|
||||||
"size": 69752
|
"size": 69752
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "969e8544555c9b463c79541f6a73d852a57bfb9ac5121da8b09a2a8dcfc5e636",
|
"sha256": "fb417b7fed56353caad6d5a96429952ff0b87ee1bab7d6a8f0856d1ca40e4b4a",
|
||||||
"size": 203072
|
"size": 203072
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/flockd/__init__.py": {
|
"python/iqpilot_private/konn3kt/flockd/__init__.py": {
|
||||||
@@ -46,12 +46,12 @@
|
|||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/flockd/flockd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/flockd/flockd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "359489fee0ceb758a42de988f24922bd5d70025986f69e5c8c630c349281bd0c",
|
"sha256": "73164bb5c3eafe0a5409508140c093503ec40c1c58d0a8e79281bac3d22d811c",
|
||||||
"size": 202104
|
"size": 202168
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/flockd/signatures.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/flockd/signatures.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "6af9a71b99ac11bda37e32896e660edbe82bef3e6bcbc61ef3710b9c774a6a2e",
|
"sha256": "fb6d56fbec20965d988f936c46e7a70f31def71a2fba27a6506567b3c13574cf",
|
||||||
"size": 68080
|
"size": 68080
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/__init__.py": {
|
"python/iqpilot_private/konn3kt/hephaestus/__init__.py": {
|
||||||
@@ -61,67 +61,67 @@
|
|||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/_vendor/localapi_runtime.zip": {
|
"python/iqpilot_private/konn3kt/hephaestus/_vendor/localapi_runtime.zip": {
|
||||||
"mode": 420,
|
"mode": 420,
|
||||||
"sha256": "59fcfd20cb32cb06e579d72129ca6c5d3b7b63add4d43b8d464e0411afe89ce2",
|
"sha256": "52026a3b96c4e7eee5cb33d70a323896ab0de02557196980653afb99498af84d",
|
||||||
"size": 2100238
|
"size": 2100238
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "ac635ec8e236104ce10942fda1c4dae7b1eb747ad8e4e6c2855c37f1dd98ebe8",
|
"sha256": "aa3530a7f7a44ba1de0d8c1b5de3d26405bf0ee0b9599190bfbbea55d2ed2071",
|
||||||
"size": 268064
|
"size": 268064
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "12e381f1292c44b5eeee603865b4b5fd7da9b5fb7a0a6294d888e71de4988819",
|
"sha256": "5a6bf50d4f8e3ec43603c2b3d9743dd650b37c6dd2075ec19266d0f1368b8cff",
|
||||||
"size": 340584
|
"size": 340584
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "3324404c9a66f90bd2d48b8a43e583abea98ee4b68a7fd0023d0313b1695fd57",
|
"sha256": "ff36bfb143294790a6ab0e2fe3d14852f3b04374185ef19a614231ca56a40999",
|
||||||
"size": 68048
|
"size": 68048
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "a84efbd54a57455a8124aa9b1e54b7e6e8061905b5f76e019d85a30adcfeac3d",
|
"sha256": "ea54bc8d8a2ba2d803ce782898a6987457d248945da81cb9ab08bc32f6763fe1",
|
||||||
"size": 335728
|
"size": 335728
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "91f7b9ec65404dbd2e0b0fffdf46b1607103ce38202df9d0d02f50582278685c",
|
"sha256": "f7706a6cabf49660c48609ca4a85c840c1e22e5e4b17d250114e25b56a7b9c34",
|
||||||
"size": 271680
|
"size": 271680
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "560814088a2e424399aa456ce1886b763cd5a8c8a879a5b10b6049dcab3e127d",
|
"sha256": "5fc96f8ac2c67f3ff660b8c060d14b0e526cba7eaa5ce64fae94f3d0e784d417",
|
||||||
"size": 134408
|
"size": 134408
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "2c14688dc0b066226c8b0899c35f7237726182e9973aab5ceb6817ff559fa564",
|
"sha256": "85ecde61b3fcc0d18dc260855a94eb8d30ab2e02adbfea67e209b3fe320608b1",
|
||||||
"size": 3514416
|
"size": 3514416
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "f32dbf481d03d9867ca768781eae8eb33db0ef24d2303993fb38e9806fb5cdc0",
|
"sha256": "c7b1b7a441f9c4ad395efb3de26d972379d9927f9c7ea9c121d1d06b8170139b",
|
||||||
"size": 136448
|
"size": 136448
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "ce0944eea1c056bb646c28149428aa5c48086e41910ce1dbdf442588db714a77",
|
"sha256": "a7fddf4e77d804f255ae4821fe64eada65ee6f2cc41cfb5c995acd497a0caca4",
|
||||||
"size": 68136
|
"size": 68136
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "d7ed7b723757a1e674baa060847232f460f68d685b6ae000e2aac5141fa9541f",
|
"sha256": "2ff9ebdb8887bb71a971a4d06fd362c51f5a4446595a073a45edc8bb630a642a",
|
||||||
"size": 67840
|
"size": 67840
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "13f24976bb967d69585d9b5e6c975de827ca82a749177a40e61661684ed808b2",
|
"sha256": "789481c2f41a6a38492f4f6e62d90c18c59276ff7a9b60fd8a5063b1754efe82",
|
||||||
"size": 135648
|
"size": 135648
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "da5517566850d263cbc19779e5306b651ec910e89c3ffe997c160daa07406878",
|
"sha256": "280bee6ecfcde50d1856835a319aaa3354ecfdc4c9d552243493ae7070f9f169",
|
||||||
"size": 269568
|
"size": 269568
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/uploaderd/__init__.py": {
|
"python/iqpilot_private/konn3kt/uploaderd/__init__.py": {
|
||||||
@@ -131,11 +131,19 @@
|
|||||||
},
|
},
|
||||||
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "ede763389fe1b7aaf60bb9049b146e56bfab4c58b20beba8f21c15d8e8c7e78a",
|
"sha256": "b1df9786798beaf80ae110b20b79c2e88b7bbdf38c576fa249fc896e360f9ad1",
|
||||||
"size": 204184
|
"size": 204184
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"entries": {
|
"entries": {
|
||||||
|
"iqpilot_private.konn3kt.backups.backup_orchestrator": {
|
||||||
|
"path": "python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so",
|
||||||
|
"type": "python-module"
|
||||||
|
},
|
||||||
|
"iqpilot_private.konn3kt.flockd.flockd": {
|
||||||
|
"path": "python/iqpilot_private/konn3kt/flockd/flockd.cpython-312-aarch64-linux-gnu.so",
|
||||||
|
"type": "python-module"
|
||||||
|
},
|
||||||
"iqpilot_private.konn3kt.hephaestus.ble_transportd": {
|
"iqpilot_private.konn3kt.hephaestus.ble_transportd": {
|
||||||
"path": "python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so",
|
"path": "python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so",
|
||||||
"type": "python-module"
|
"type": "python-module"
|
||||||
@@ -163,25 +171,25 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"signatures": {
|
"signatures": {
|
||||||
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": "q5X7Qd9gy6n/SJj3F4VmjSBgekh6+w9PcBNpsn9CzdgDLsb5ede7fNoL18rNXnoFjCi1AgZ5KocGo92cQPdqCw==",
|
"python/iqpilot_private/konn3kt/backups/archive_codec.cpython-312-aarch64-linux-gnu.so": "/YL6W76Q7ejmJvQraTclgzsGxYGpYbSBF3qql0E8Z40MZBQcm8wy+9mrMm1en5W9xGebuaT5xN2+Rji5MUCrDQ==",
|
||||||
"python/iqpilot_private/konn3kt/backups/backup_keys.cpython-312-aarch64-linux-gnu.so": "KVfZCbChNuMZijXH087FjDVGs4jXshfIj4lahpezUmg04DkR5qkrio7jGvPvJVz8rGsseK28eupI90Do2Xt+Dw==",
|
"python/iqpilot_private/konn3kt/backups/backup_keys.cpython-312-aarch64-linux-gnu.so": "0/MsPs9cfZy51uqtyCEK8/U8paw+eQXgqVnglRdUM3Xx6WaPTku3DXfx7MquCTXl+ia9XlM1xdaH/ax6zxhdAw==",
|
||||||
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": "XqUu52yTF3NgY9kSuDnHhaWXb1MuaLtSJuz3Aff+h60iTtcPzjSrPw+wLRncf87BHekB/czViEYikTgqVyrgDg==",
|
"python/iqpilot_private/konn3kt/backups/backup_orchestrator.cpython-312-aarch64-linux-gnu.so": "1i1wEWih2NTsQ9jgK/cpb8V/B0y5prTk/OHG1wu4qoaMx4Qm1gVm6KAWU7rkvaQHMqC5eZG5lgL7O6tGflgOBA==",
|
||||||
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": "2OwIYW90eoo7Ym34CbeFREjETgP3EvlijyWxL3vNYwU4c1hCp9QPJ/17pG7r5w9FjdK/hZzgTo2Xxyxz3GMyCg==",
|
"python/iqpilot_private/konn3kt/backups/cbc_vault.cpython-312-aarch64-linux-gnu.so": "Q0TBxMRrSRv99t5NIpcYgwRcj26IycOSUSX+Yh4f4S82hY3dXwME3XSqWFLaL2wNF+uG7dMZr0pZkZnHBHmaDg==",
|
||||||
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": "YbF2/FHGNB90lTUSQO7lx4MyThoaSJXZ/sXkTeKOc3DJrv/22hoNq/VlXqhFg/IZ1In5DcyRgEyMNp6GK6zjAw==",
|
"python/iqpilot_private/konn3kt/backups/imahelper.cpython-312-aarch64-linux-gnu.so": "wFMRv5A2/dCAjlBC/x5uN876dq/kMrgMg5F7nmOKjDlrC5lZ014MbZXU0BKzI49CSch9uU3TLbvUR1p9gWPcBA==",
|
||||||
"python/iqpilot_private/konn3kt/flockd/flockd.cpython-312-aarch64-linux-gnu.so": "NXKmudsdaPlY+yXjafjLizXHnVtmspQoxTRUZ+k+am0HLE8pSAjXiussX+HsHZ1OUhN1KgYs2TeMiXRcIr0qAg==",
|
"python/iqpilot_private/konn3kt/flockd/flockd.cpython-312-aarch64-linux-gnu.so": "de2W5b0SVEEAhjf9r1Ht9tg6W4RWldp7Tc/IzUQdphK4XBOzqouXIYCItN5xgEbc1tFTmGgKu2pfMXAoXkgYDw==",
|
||||||
"python/iqpilot_private/konn3kt/flockd/signatures.cpython-312-aarch64-linux-gnu.so": "Ch2bR2MPyeyrZYYe/2qcOZe84iDgtFIt4zRl1O+xDZXJrcUmZ8Q9327n0MO91Fw1nkNLjtT5s40/eB8y+IngCA==",
|
"python/iqpilot_private/konn3kt/flockd/signatures.cpython-312-aarch64-linux-gnu.so": "yEkA8O096lTrh5YTvZgmuGpyuZ0vTnZDvLnLGR7dhBfypiNPsF4dxp2bcgDpz14GRKPHKa3v8O2v/G/06lk4CQ==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": "ffxwqf1uWlPbAt/aBlmcTwcr1BAOJTBmfbOFWfZnzrCSxrsv+muX8JXp2VI9uZHQ4YtgzqXbOdF4mdzJslQ1Cg==",
|
"python/iqpilot_private/konn3kt/hephaestus/ble_auth.cpython-312-aarch64-linux-gnu.so": "fpzjKBczfi9su9/BzPINkMJ8+Qx2KljBmYg/lhpaCRZDQX9kIT2qgcgbu5CqahfEQAjWDH2YKDwRhAGzkx1LBw==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": "TcewpD48/oO4f+JhAmN5boXabdScpA6pLr1KcI8MB4NeLurFocISNmmJx66KczRRkVKhyTB8KTXN1qVUCAP5BA==",
|
"python/iqpilot_private/konn3kt/hephaestus/ble_gatt.cpython-312-aarch64-linux-gnu.so": "mUUGiu3/nIkcp9McjoX+qOTzBwuJlFzxxZdbW3uU2C4ppAlQ+bYMz9p33qnmkUiJUGfjcBwFnJebL8AXo/kXBQ==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": "GektayZTWTUawXwr3dobxYniNfsb6TK574UmQSQnUBNKskOsS4id+4H1xz6oAWb3SrXsG8RgvdBRTrKUtzXuBg==",
|
"python/iqpilot_private/konn3kt/hephaestus/ble_rpc_dispatch.cpython-312-aarch64-linux-gnu.so": "Nge3RnzUjW2gPUjEyBRxh+D6frwx9dJ/N9W0e0vzFWLLvbo+cT5zjrNAT7buA7XAKGfHSy14ssOxL8Jz+uZBBw==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": "YoeFaTgAWR8Hoqpvb0prieEoRq1rNQq1LgpFN/uGoPSQY9J+pihTYMJ375RcO552G9UImtosAzKnlg45KSahAA==",
|
"python/iqpilot_private/konn3kt/hephaestus/ble_transportd.cpython-312-aarch64-linux-gnu.so": "KXjqWoG0lsVWqK8uRhOOChREx/ThGtcdKoFxaDD2WpGtEoFBTz2fDsNP8lgyLcrH+9ETT6ggnXqHMf2SnEabBw==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": "LBEeciHykYL/oUDY44PbfepASHC+Ye9w19JdxN5KTBt2HdXH5rxqYqcuZdKIX4LuDtMfnOxvWzKEfGAzr+iNDw==",
|
"python/iqpilot_private/konn3kt/hephaestus/bt_gamepad.cpython-312-aarch64-linux-gnu.so": "+0ZLw/tXrJtcempSJZFTKz9vlzs7q13YrnzSkuSpHzaGUm4Z2l4H3Syy0rPj3iJ8OLbkMAE9LegxScVq9mb1Bg==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": "TvFMKPdVpOMOpTZex6enVpZN4KIAenz9LpLrwj55WY2ba4zn0SlUXvAdQVlr4QLV8R8HaGvI+8BDwdSAa9irCA==",
|
"python/iqpilot_private/konn3kt/hephaestus/cloud_routes.cpython-312-aarch64-linux-gnu.so": "Q44rxaPzw1QoSLoHyoaCMtW9N45YeYUNhtgPETz6Z1zLJ5o9NPec6yP06673sX9xdOnRXr0maeLfI2ji7iFiBg==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": "5BTV95k52NKkop6eNkl3DQKqiiQD1TIysjP7+nzrYlWuf6/w6OLvu/0J4ZplojCdXKvrVOLBQo/c/n9p5qF9Dg==",
|
"python/iqpilot_private/konn3kt/hephaestus/hephaestusd.cpython-312-aarch64-linux-gnu.so": "MUg6v8qvb7Rhhk5LPoU7krD0CKb39e8wsoh5ER+VvzWYJZ2fnra7Od14xSGfhFZoHIItPwtOlASUbqlbPKReCg==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": "Deepl4pPInDReIdeTeujBmxc73wzzMGqjhNNwZoumQ/pUuRtG27QCpMKTYgf7dDI6HwNtxbfvapDlzezeKRsDQ==",
|
"python/iqpilot_private/konn3kt/hephaestus/kwp2000.cpython-312-aarch64-linux-gnu.so": "ERRMJ3hrOhetsuiNyWrsXH6hwtKzw5CAjg8kB/025JkDyA4OR3yLGMnqXqryygc4r4onUUF0Q55SzTbxxHWzDA==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": "umqH+MbkA6WGHdOMrA5Le8lyC1j8KF+JrbwnRFI7OaOOUiY+ENBg2gHjgdNRM6Q9373GjrVvdNB5MK4zLJLuAA==",
|
"python/iqpilot_private/konn3kt/hephaestus/manage_hephaestusd.cpython-312-aarch64-linux-gnu.so": "+gyiBvn9Uz56mpHovmDtUsNxvlnPYLH8/v5J+f0o8nr/E26f1xvSk2yQbYwYrCeZZ8AOxgY6GmdGRnkly4WCCg==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": "p1EIJ28bitg0sci8UfXLAGxiIhi08CkMNy9J5FpJ5S9GSlSBJBAi9H8Wb818mwdset638UaDv3Dk3SRB7qUlDA==",
|
"python/iqpilot_private/konn3kt/hephaestus/motd.cpython-312-aarch64-linux-gnu.so": "Y/cinSdkb/kWX44T/w4woXX/Ex9+Q1KPtUC318dtygZeTiHDjCM+0IUjfS/BXwbdKETQPEpyIoKLsJaP2Gk1Cw==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": "RMBckUaRqo9QzIIUvJT3JrWu1iZ1HtTO4e6REiiFLvyo2I9d8tBGSVaBmjKRoYR+Sv47ml9ER2t2AsD5XkicDg==",
|
"python/iqpilot_private/konn3kt/hephaestus/tp20.cpython-312-aarch64-linux-gnu.so": "N+JrGIiTUzESxzH9fdgub5y01psxzlmEw75Y1AuxQqFx7mG4Z+Tx20UeeyQtAw27UuOctiKpGPHq9trtijJwBA==",
|
||||||
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": "PGUQnKQcPz6vPNJ3trFJ1GZPWiNRxfYZXsYDDgvUN99Z+m74aCUkXJ9ACmzUT/wFKcuqfgga9GJEOWvAfHGMDw==",
|
"python/iqpilot_private/konn3kt/hephaestus/vw_pq_flasher.cpython-312-aarch64-linux-gnu.so": "1MxRuPAWgjtsNORklvPZBml0OOVqIu8vMluY0QlK/pqE3S8EoC28/Gn39Bhb6hMjk8yTAUaTnTn4HlwkENpvBA==",
|
||||||
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": "LmTDMoU6duKAOJWS7bw1d52z4ByPHbpxWbOaEGk1wmM70FNzmWB4Cf73AtqgliXKkNCmknYdnxjhx3ynLre8BQ=="
|
"python/iqpilot_private/konn3kt/uploaderd/iquploaderd.cpython-312-aarch64-linux-gnu.so": "Uxa3OMIwXvFEYz1LP+UDWB1sVhi4z8yC9bP+Xypzw26LNRAMkJZta2r+drXGPEe1TFg4zgVWrb9Q1+Y3pA9HAQ=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -6,7 +6,7 @@
|
|||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/__init__.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/__init__.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "8b6114f67eb7a83d47e90113a0e75801ffd55d6c732d1db9a6af620f3cfba1d8",
|
"sha256": "449495db52a85f8d0b0e2bb3128ee480598f8bdb5a44ec13153877fe8b372a91",
|
||||||
"size": 67616
|
"size": 67616
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/__init__.py": {
|
"python/iqpilot_private/navd/__init__.py": {
|
||||||
@@ -16,72 +16,72 @@
|
|||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/event_builder.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/event_builder.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "4ebabfe3b85a380441cb22730ea3779c3c477e7ec40a88d0ba4d8130a2827877",
|
"sha256": "ae2b25f52f7c7b02f3c977bbf46f5e9e938bfeda78bdb60f2f897eb04d698e43",
|
||||||
"size": 136944
|
"size": 136944
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/helpers.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/helpers.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "7506530560907e8a39e54c05c988c5be3b86bbdaa5279059ada9d847d1e2889c",
|
"sha256": "f6ad0590f2a0bdbed56e7126203df2f6cdad86074f76ab9dded38b9e1600c8af",
|
||||||
"size": 135936
|
"size": 135936
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/iqmapd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/iqmapd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "905391fcf31991b315abe6126797bc870066352596cd2e9574b289a9c0f386be",
|
"sha256": "b4ed48cada1dfb3383ff8ee106a7d93967bf65115d4c528b60dc3d73112a2f0e",
|
||||||
"size": 135608
|
"size": 135608
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/long_decel.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/long_decel.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "33f91bfad8894347729d4fd072e8a81af766240e5ec8921de0f92230e3d5faf1",
|
"sha256": "e68aca6829cb00c5eda5330e1dfedd6269381ea5831abaca1055adf6df1f53ff",
|
||||||
"size": 69728
|
"size": 69728
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/mapbox_client.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/mapbox_client.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "4572bb1d704de4b9919d4e81e7c28d64197dadbdd8d84f4f1a203ad924d000f6",
|
"sha256": "ebd30c5c34fbbe82d7d24343a2e791919e526997d192fd1441df749b15526704",
|
||||||
"size": 68088
|
"size": 68088
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/nav_cameras.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/nav_cameras.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "5087cd98a1bf042e0f3d19021af43a0d12ae0ce3f502158a0f4d3a0ace2bbabe",
|
"sha256": "6e69c5fcac3c302e401b3ed3735b42f3de4af4e0d188d15a7add7aa02920f4c5",
|
||||||
"size": 135440
|
"size": 135440
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/navd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/navd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "f26cb01eaad63b14c686932496a62a3ec5aef1ebb4f36fb46680c124c77e0e16",
|
"sha256": "55c88f8c5996dd7094c0feaf454fe0f1aec97276aed8926d7e8f6d1597de5a83",
|
||||||
"size": 664448
|
"size": 664480
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/navrenderd.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/navrenderd.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "3e4a79640333390203e50fb226b00b72aa97a78637544e0f616ed54547c40489",
|
"sha256": "b971e1093f5713a633636d6ee74891206a2d5abfb492406c7ae5df7a66bdc0d9",
|
||||||
"size": 135560
|
"size": 135560
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/osm_cameras.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/osm_cameras.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "cc7040441e8ce97be6ba7bdb371761e7f14c3caf99ab15bf343635a69f4e0fb1",
|
"sha256": "882ccc23c3de2e4e34c685a7abb00075f6c5be634eaf7e81cab86461c624449d",
|
||||||
"size": 136368
|
"size": 136368
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/reroute.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/reroute.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "2b9357dd886231d18e4a9b180b91ea2747f5fa23d91d2d349e032286ea330db2",
|
"sha256": "df0bf89d492dba3b6c3792dde1bcb30a60e692f62519be7c62a517ef514ec276",
|
||||||
"size": 136072
|
"size": 136072
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/route_manager.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/route_manager.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "3a85759d30234271a83a9473d6d18af74d672c892f686b5d082e9b6df1b70159",
|
"sha256": "0311a1fbde1510b31055606db21a7c5f74e6872f9f1aabd6fb4a0a501395eaef",
|
||||||
"size": 600528
|
"size": 600528
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/runtime_common.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/runtime_common.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "2423bca9e7637997d1b6a86365cbc9e9a7d47c89f96aa21be4de32a898ad795c",
|
"sha256": "1f08c7c462b4cb08a8de9140d968ef5dc74b31afffe16c9f8fad4e0271bec6cc",
|
||||||
"size": 135752
|
"size": 135752
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/turn_desire.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/turn_desire.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "12b333b4c8904483cae4bae1346016b24b9bee0866d332b2b61dc9fbc30a14b7",
|
"sha256": "aea71be79c99884a0aeaaf8e5c0f70e37bb4f0c0123025cd07df830189774ba9",
|
||||||
"size": 69832
|
"size": 69832
|
||||||
},
|
},
|
||||||
"python/iqpilot_private/navd/web_server.cpython-312-aarch64-linux-gnu.so": {
|
"python/iqpilot_private/navd/web_server.cpython-312-aarch64-linux-gnu.so": {
|
||||||
"mode": 493,
|
"mode": 493,
|
||||||
"sha256": "3954330e8004abad9dd31f3a02b57306dc7e83e73ee0ba4072b1b4ecc7f88dfc",
|
"sha256": "5c7dd6ef7dafb9a35662ee3d22c08b17b02807df736bf146af88cb260f5bbf09",
|
||||||
"size": 201384
|
"size": 201384
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
@@ -105,20 +105,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"signatures": {
|
"signatures": {
|
||||||
"python/iqpilot_private/navd/__init__.cpython-312-aarch64-linux-gnu.so": "j3fNuxY5XzC219Okj5DV4kId8oUAKcwTcZhwLpp8S/kWXpFv4gHo43Van3A+OkWPFa50ZvKqWH7WhoQc8IgPBw==",
|
"python/iqpilot_private/navd/__init__.cpython-312-aarch64-linux-gnu.so": "E3+Gd+btNi+4qFqM+nFMfWgCLJhP21ZgIwZrE/CJjqafB1htd/qOhh9QtrulS46HW5geZ/nwW3jlxPbFeNubBw==",
|
||||||
"python/iqpilot_private/navd/event_builder.cpython-312-aarch64-linux-gnu.so": "+Pj9wj6MC4cZ8YxZvvT4XlrzS/N6gVDf5LGZ6kkWiJhVuolBW4ey5KSjbggp4NSIiZWi9aARMZfGsWabQi+nDA==",
|
"python/iqpilot_private/navd/event_builder.cpython-312-aarch64-linux-gnu.so": "hHQQCCPcxRXdO9vko9476AYbgbfNwhi9bVYpoOzQQStPC8DbIO0QN/RRzaJVGr2kgJGZlXDmnGl85m7EHgC1BA==",
|
||||||
"python/iqpilot_private/navd/helpers.cpython-312-aarch64-linux-gnu.so": "KYCV1qnZ8+mrne7n0H7x+kTu8x/U9H71SXYZt3URy/yIgdtTTXkSS6IQs1UvusfMHzRdBGcT58ado3UcLpsNAg==",
|
"python/iqpilot_private/navd/helpers.cpython-312-aarch64-linux-gnu.so": "Wz5yfWlMeoASj274KqrCWwEJD/wtm5WyxLenceYu7MkXaMlN1QyztvJhq8Y8K8Jfis7R5fQ/aAnlsQgWTIVEBg==",
|
||||||
"python/iqpilot_private/navd/iqmapd.cpython-312-aarch64-linux-gnu.so": "qC8oELP8nBJSvaDsCMo7/JqoiqCZBJa/LeUE0b36DdkT7kzHSLQ+MuGP5Vc8ms8VowBh447LaLq2WWURGB/fAQ==",
|
"python/iqpilot_private/navd/iqmapd.cpython-312-aarch64-linux-gnu.so": "6WFWUXmkyy21rh/9xa7s7S7CTiCRnywOahU859T6iP0447NkVxHRYmXAVCH1/vRDPXASHRNPyUk8oSDLIGK1Ag==",
|
||||||
"python/iqpilot_private/navd/long_decel.cpython-312-aarch64-linux-gnu.so": "6kFnnmSPQPXe1HuiBL14HrPx5cr2XmOYzTcESKHvt7DAL7M5tMKy0BWufo34F/LH4MYXQu1/k5TyzHt4wQ7jBw==",
|
"python/iqpilot_private/navd/long_decel.cpython-312-aarch64-linux-gnu.so": "ZUsjQ/AGPa5pVKAv3IkycDPIVBWh+4jBNor/xrUi7BBPHki8G6T1grv3exeHhr2WF2JiqN727ge3JaqvlU1KDQ==",
|
||||||
"python/iqpilot_private/navd/mapbox_client.cpython-312-aarch64-linux-gnu.so": "F0JFe9uN7YtdFvtSwHXPch4l6Cz7yWTOtKPHOdBxqk9CkHh0vfO2d4EAeGTpvHINFS5Kf2KcF99qyEhWfr31Ag==",
|
"python/iqpilot_private/navd/mapbox_client.cpython-312-aarch64-linux-gnu.so": "t+VHmWhxf7oKcR5e+tJe6hPKy6xz0bMY84WEhujwcwBlWgIXscfc9aNSP6e4N7GITW7cOn+RlDRTTfwQsA6PDA==",
|
||||||
"python/iqpilot_private/navd/nav_cameras.cpython-312-aarch64-linux-gnu.so": "7sQ0zXNASjEVBknO94P5wnMifC+8cVAKaBBbQjfbbaV1lsg18mm/rtTOGlFX7NJD23kJFxyLJmJ+wKjRAZXkBg==",
|
"python/iqpilot_private/navd/nav_cameras.cpython-312-aarch64-linux-gnu.so": "qOrpSi2I+aFLKN4WjBljfzbk2U1rvOgDuyV+p7IvshugeUOoqTKiYYSG9xwyi2/eB/syyfiVFoqAg+ETFXXPDA==",
|
||||||
"python/iqpilot_private/navd/navd.cpython-312-aarch64-linux-gnu.so": "VTg/Ojx4I8+JJz+vf9gDwUSBY9MCUvIg9wGnNJiQwIKDJr/VkSRoaiM4nMoazauhLEgYpmlfX7C8OEAWswKhBQ==",
|
"python/iqpilot_private/navd/navd.cpython-312-aarch64-linux-gnu.so": "PcFJWRYrb52pJCbTdsAPm3IC0OR9zt/7P0uc1GlQr4CVGvzfXukbnt/7sSeL8T29w7drf9MfGkpRe4BjbWwtDw==",
|
||||||
"python/iqpilot_private/navd/navrenderd.cpython-312-aarch64-linux-gnu.so": "4i882AjYz/zCgoGlr1LGNcVGfzyybHPMOL0aKva8VNsHBEtMbnnetecRBurtAzlU6O8+p89gY1GNDaJfyi7OAQ==",
|
"python/iqpilot_private/navd/navrenderd.cpython-312-aarch64-linux-gnu.so": "gp1noPJ35MRVcQL3t4wKbsEH0L0+n9Yf8Zty+VCY7uy9EsK8211kW2YIw7Lcyw879VLLbVntHIWz/BMankSeAw==",
|
||||||
"python/iqpilot_private/navd/osm_cameras.cpython-312-aarch64-linux-gnu.so": "hO9yDTiAaidM3yQCfh4J8vP54R2z42ejhkqU8E6l+wWUXhRrfS4Z6qLyxeQqQGJSPSAMfsWl/yODWogqoH+MDQ==",
|
"python/iqpilot_private/navd/osm_cameras.cpython-312-aarch64-linux-gnu.so": "N6yH0R8V/Cw1J3hYPfFeZXByolRwtACwNe2wHMzPEQ69UTWnSNFRXWjOLCEvtwB8Z+iglAqFx8uztZ6wXZKUCQ==",
|
||||||
"python/iqpilot_private/navd/reroute.cpython-312-aarch64-linux-gnu.so": "xPCGbuG+pQUqCjBx3NijbInbyo/rRteGLCbhVun2odrw1lGMx4JwzSyNUUsEU7xFPEZ+oZwPUaZcVOHRPnknAw==",
|
"python/iqpilot_private/navd/reroute.cpython-312-aarch64-linux-gnu.so": "oQQU70Yp8wzkqB9Ktm2KDEHNVZfB3otqIoG2mkqQNh6QdtVKXraIv6cAbt2Zjob5914C06El2z+NPZQE5NjODQ==",
|
||||||
"python/iqpilot_private/navd/route_manager.cpython-312-aarch64-linux-gnu.so": "ZDojmbuEkZUbZ7a56pPvO8hFcYHM5zB9OvGs+r90swvPzU0GRm4SkEiDRLhG6zSyP+vHhJnrsTs+dvyaBkzvCQ==",
|
"python/iqpilot_private/navd/route_manager.cpython-312-aarch64-linux-gnu.so": "ayPdxCUGA/o+AavLMd9mGDY6zYnZk54gAEVaMQXFYlztjXiREC+IEmV1iETOYcsEFAxr8qtUFfcwZ3p7rXljCw==",
|
||||||
"python/iqpilot_private/navd/runtime_common.cpython-312-aarch64-linux-gnu.so": "888SP/NpbJtdv2BKbsW7WzuD0pKh2rM50YvS4GlD8brL2xq7a7GPPeKM/b5F+pTzVvS7CbUmELqh3HmeAtOKCw==",
|
"python/iqpilot_private/navd/runtime_common.cpython-312-aarch64-linux-gnu.so": "Rh0wUjYjRabedjFSnsE9BAjILjA1+RHMdfuCqTye1AlhFlXVUQMRo6Ier6Z71kyiOYw+CXCOrHUF9fP69cP4DQ==",
|
||||||
"python/iqpilot_private/navd/turn_desire.cpython-312-aarch64-linux-gnu.so": "cmYohrfIfttybS+9x+b9DFzgxyaDGNtgr+olaMWUZ7ytgenB+EvwKAXJHmicFtvBTsKOxYzywKR2zLb71DDFDg==",
|
"python/iqpilot_private/navd/turn_desire.cpython-312-aarch64-linux-gnu.so": "13bqig90oceup9ovo8weu9UpdQN/l/pq7REFm8dwwgqquuh8jJFkzNz7dvIhDlaxIGAQwzWJe4+QzIQfhg0jAA==",
|
||||||
"python/iqpilot_private/navd/web_server.cpython-312-aarch64-linux-gnu.so": "laxlmUb7INupC/eu6k/eok3bXW4c5H7Lui5MDJXLCoSFCiutla374A6rN8Dh+g3AcSY2NfLBzrnyqQDqQH0KBw=="
|
"python/iqpilot_private/navd/web_server.cpython-312-aarch64-linux-gnu.so": "Vm1Inx4XY0BOmLuNizOCRNAl4tPDcvJ/4A+TwVSr1cZuMg7pg1jeFg613e6cFM6t08hYvPsysXc2+gD69zkcBA=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -242,8 +242,8 @@ struct IQPlan @0xda401323ae805f2b {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct E2eAlerts {
|
struct E2eAlerts {
|
||||||
greenLightAlert @0 :Bool;
|
pathOpen @0 :Bool;
|
||||||
leadDepartAlert @1 :Bool;
|
leadPullaway @1 :Bool;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -171,12 +171,12 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
|
|||||||
{"DeviceBootMode", {PERSISTENT, INT, "0"}},
|
{"DeviceBootMode", {PERSISTENT, INT, "0"}},
|
||||||
{"IQDevUIInfo", {PERSISTENT, INT, "0"}},
|
{"IQDevUIInfo", {PERSISTENT, INT, "0"}},
|
||||||
{"EnableEsimProvisioning", {PERSISTENT, BOOL, "1"}},
|
{"EnableEsimProvisioning", {PERSISTENT, BOOL, "1"}},
|
||||||
{"GreenLightAlert", {PERSISTENT, BOOL, "0"}},
|
{"EndToEndAlert", {PERSISTENT, BOOL, "0"}},
|
||||||
{"InteractivityTimeout", {PERSISTENT, INT, "0"}},
|
{"InteractivityTimeout", {PERSISTENT, INT, "0"}},
|
||||||
{"IsDevelopmentBranch", {CLEAR_ON_MANAGER_START, BOOL}},
|
{"IsDevelopmentBranch", {CLEAR_ON_MANAGER_START, BOOL}},
|
||||||
{"IsReleaseIqBranch", {CLEAR_ON_MANAGER_START, BOOL}},
|
{"IsReleaseIqBranch", {CLEAR_ON_MANAGER_START, BOOL}},
|
||||||
{"LastGPSPositionIQLoc", {PERSISTENT, STRING}},
|
{"LastGPSPositionIQLoc", {PERSISTENT, STRING}},
|
||||||
{"LeadDepartAlert", {PERSISTENT, BOOL, "0"}},
|
{"EndToEndLeadAlert", {PERSISTENT, BOOL, "0"}},
|
||||||
{"LongIncrementsEnabled", {PERSISTENT, BOOL, "0"}},
|
{"LongIncrementsEnabled", {PERSISTENT, BOOL, "0"}},
|
||||||
{"LongIncrementTapStep", {PERSISTENT, INT, "1"}},
|
{"LongIncrementTapStep", {PERSISTENT, INT, "1"}},
|
||||||
{"LongIncrementHoldStep", {PERSISTENT, INT, "5"}},
|
{"LongIncrementHoldStep", {PERSISTENT, INT, "5"}},
|
||||||
|
|||||||
@@ -4,6 +4,61 @@ collect_ignore_glob = [
|
|||||||
"iqdbc/safety/tests/misra/cppcheck/",
|
"iqdbc/safety/tests/misra/cppcheck/",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# --- host test harness -------------------------------------------------------
|
||||||
|
# tesla/volkswagen carstate+carcontroller import the closed-source ALC / odometer
|
||||||
|
# runtime via import_verified_module(), which gates on a rootfs integrity manifest
|
||||||
|
# that only exists on-device. Off-device (host CI / dev), install minimal stubs so
|
||||||
|
# the whole car interface set is importable and test_car_interfaces can collect and
|
||||||
|
# run. On-device the manifest is present and these stubs are never installed, so the
|
||||||
|
# real verified modules are used.
|
||||||
|
import os as _os
|
||||||
|
|
||||||
|
if not _os.path.exists("/usr/libexec/iqpilot/runtime_integrity.json"):
|
||||||
|
import sys as _sys
|
||||||
|
import types as _types
|
||||||
|
|
||||||
|
def _stub_module(name, attrs):
|
||||||
|
mod = _types.ModuleType(name)
|
||||||
|
for key, value in attrs.items():
|
||||||
|
setattr(mod, key, value)
|
||||||
|
_sys.modules[name] = mod
|
||||||
|
|
||||||
|
_noop = lambda *args, **kwargs: None # noqa: E731
|
||||||
|
|
||||||
|
class _VehicleOdometerStoreStub:
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def record(self, km):
|
||||||
|
return km
|
||||||
|
|
||||||
|
_stub_module("iqpilot_private.konn3kt.iqlvbs.vehicle_state",
|
||||||
|
{"VehicleOdometerStore": _VehicleOdometerStoreStub})
|
||||||
|
_stub_module("iqpilot_private.konn3kt.iqlvbs.alc", {
|
||||||
|
"angle_lateral_control_enabled": lambda *a, **k: False,
|
||||||
|
"update_vw_alc": _noop,
|
||||||
|
"append_private_apd": _noop,
|
||||||
|
"update_mqb_carstate_alc_state": _noop,
|
||||||
|
"update_mlb_carstate_alc_state": _noop,
|
||||||
|
"update_pq_carstate_alc_state": _noop,
|
||||||
|
})
|
||||||
|
_stub_module("iqpilot_private.konn3kt.iqlvbs.iqlvbs_commander", {
|
||||||
|
"update_turn_signals": _noop,
|
||||||
|
})
|
||||||
|
_stub_module("iqpilot_private.konn3kt.hephaestus.vw_pq_flasher", {})
|
||||||
|
|
||||||
|
try:
|
||||||
|
from openpilot.system.proprietary_runtime import _verified_import as _vi
|
||||||
|
_real_import_verified_module = _vi.import_verified_module
|
||||||
|
|
||||||
|
def _import_verified_module(bundle, module):
|
||||||
|
return _sys.modules.get(module) or _real_import_verified_module(bundle, module)
|
||||||
|
|
||||||
|
_vi.import_verified_module = _import_verified_module
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
# --- end host test harness ---------------------------------------------------
|
||||||
|
|
||||||
_ABSTRACT_BASES = frozenset(("CarSafetyTest", "AolSafetyTestBase", "SafetyTest", "SafetyTestBase"))
|
_ABSTRACT_BASES = frozenset(("CarSafetyTest", "AolSafetyTestBase", "SafetyTest", "SafetyTestBase"))
|
||||||
|
|
||||||
def _method_from_base(cls, method_name):
|
def _method_from_base(cls, method_name):
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from iqdbc.car.mock.values import CAR as MOCK
|
|||||||
from iqdbc.car.values import BRANDS
|
from iqdbc.car.values import BRANDS
|
||||||
from iqdbc.car.vin import get_vin, is_valid_vin, VIN_UNKNOWN
|
from iqdbc.car.vin import get_vin, is_valid_vin, VIN_UNKNOWN
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.interfaces import setup_interfaces as iqpilot_interfaces
|
from iqdbc.lvbs.car.interfaces import apply_iq_car_config as iqpilot_interfaces
|
||||||
|
|
||||||
FRAME_FINGERPRINT = 100 # 1s
|
FRAME_FINGERPRINT = 100 # 1s
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ from iqdbc.car.chrysler import chryslercan
|
|||||||
from iqdbc.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags, RAM_DT
|
from iqdbc.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags, RAM_DT
|
||||||
from iqdbc.car.interfaces import CarControllerBase
|
from iqdbc.car.interfaces import CarControllerBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.chrysler.carcontroller_ext import CarControllerExt
|
from iqdbc.lvbs.car.chrysler.carcontroller_ext import CarControllerExt
|
||||||
from iqdbc.iqpilot.car.chrysler.aol import AolCarController
|
from iqdbc.lvbs.car.chrysler.aol import AolCarController
|
||||||
from iqdbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
|
from iqdbc.lvbs.car.chrysler.values_ext import ChryslerFlagsIQ
|
||||||
|
|
||||||
|
|
||||||
class CarController(CarControllerBase, AolCarController, CarControllerExt):
|
class CarController(CarControllerBase, AolCarController, CarControllerExt):
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ from iqdbc.car.chrysler.values import DBC, STEER_THRESHOLD, RAM_CARS
|
|||||||
from iqdbc.car.common.conversions import Conversions as CV
|
from iqdbc.car.common.conversions import Conversions as CV
|
||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.chrysler.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.chrysler.carstate_ext import CarStateExt
|
||||||
from iqdbc.iqpilot.car.chrysler.aol import AolCarState
|
from iqdbc.lvbs.car.chrysler.aol import AolCarState
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
from iqdbc.car.structs import CarParams
|
from iqdbc.car.structs import CarParams
|
||||||
from iqdbc.car.chrysler.values import CAR
|
from iqdbc.car.chrysler.values import CAR
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.fingerprints_ext import merge_fw_versions
|
from iqdbc.lvbs.car.fingerprints_ext import extend_fw_versions
|
||||||
from iqdbc.iqpilot.car.chrysler.fingerprints_ext import FW_VERSIONS_EXT
|
from iqdbc.lvbs.car.chrysler.fingerprints_ext import FW_VERSIONS_EXT
|
||||||
|
|
||||||
Ecu = CarParams.Ecu
|
Ecu = CarParams.Ecu
|
||||||
|
|
||||||
@@ -789,4 +789,4 @@ FW_VERSIONS = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
FW_VERSIONS = merge_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
FW_VERSIONS = extend_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from iqdbc.car.chrysler.carstate import CarState
|
|||||||
from iqdbc.car.chrysler.radar_interface import RadarInterface
|
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.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags, ChryslerSafetyFlags
|
||||||
from iqdbc.car.interfaces import CarInterfaceBase
|
from iqdbc.car.interfaces import CarInterfaceBase
|
||||||
from iqdbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
|
from iqdbc.lvbs.car.chrysler.values_ext import ChryslerFlagsIQ
|
||||||
|
|
||||||
|
|
||||||
class CarInterface(CarInterfaceBase):
|
class CarInterface(CarInterfaceBase):
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from iqdbc.car.ford.fordcan import CanBus
|
|||||||
from iqdbc.car.ford.values import DBC, CarControllerParams, FordFlags
|
from iqdbc.car.ford.values import DBC, CarControllerParams, FordFlags
|
||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.ford.aol import AolCarState
|
from iqdbc.lvbs.car.ford.aol import AolCarState
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
GearShifter = structs.CarState.GearShifter
|
GearShifter = structs.CarState.GearShifter
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ from iqdbc.car.common.conversions import Conversions as CV
|
|||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
from iqdbc.car.gm.values import DBC, AccState, CruiseButtons, STEER_THRESHOLD, SDGM_CAR, ALT_ACCS
|
from iqdbc.car.gm.values import DBC, AccState, CruiseButtons, STEER_THRESHOLD, SDGM_CAR, ALT_ACCS
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.gm.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.gm.carstate_ext import CarStateExt
|
||||||
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ
|
from iqdbc.lvbs.car.gm.values_ext import GMFlagsIQ
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
TransmissionType = structs.CarParams.TransmissionType
|
TransmissionType = structs.CarParams.TransmissionType
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
|
""" AUTO-FORMATTED USING iqdbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
|
||||||
from iqdbc.car.gm.values import CAR
|
from iqdbc.car.gm.values import CAR
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.fingerprints_ext import merge_fingerprints
|
from iqdbc.lvbs.car.fingerprints_ext import extend_fingerprints
|
||||||
from iqdbc.iqpilot.car.gm.fingerprints_ext import FINGERPRINTS_EXT
|
from iqdbc.lvbs.car.gm.fingerprints_ext import FINGERPRINTS_EXT
|
||||||
|
|
||||||
# Trailblazer also matches as a SILVERADO, TODO: split with fw versions
|
# Trailblazer also matches as a SILVERADO, TODO: split with fw versions
|
||||||
# FIXME: There are Equinox users with different message lengths, specifically 304 and 320
|
# FIXME: There are Equinox users with different message lengths, specifically 304 and 320
|
||||||
@@ -78,4 +78,4 @@ FINGERPRINTS = {
|
|||||||
FW_VERSIONS: dict[str, dict[tuple, list[bytes]]] = {
|
FW_VERSIONS: dict[str, dict[tuple, list[bytes]]] = {
|
||||||
}
|
}
|
||||||
|
|
||||||
FINGERPRINTS = merge_fingerprints(FINGERPRINTS, FINGERPRINTS_EXT)
|
FINGERPRINTS = extend_fingerprints(FINGERPRINTS, FINGERPRINTS_EXT)
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ from iqdbc.car.gm.radar_interface import RadarInterface, RADAR_HEADER_MSG, CAMER
|
|||||||
from iqdbc.car.gm.values import CAR, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, SDGM_CAR, ALT_ACCS, CanBus, GMSafetyFlags
|
from iqdbc.car.gm.values import CAR, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, SDGM_CAR, ALT_ACCS, CanBus, GMSafetyFlags
|
||||||
from iqdbc.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, LateralAccelFromTorqueCallbackType
|
from iqdbc.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, LateralAccelFromTorqueCallbackType
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.gm.interface_ext import CarInterfaceExt
|
from iqdbc.lvbs.car.gm.interface_ext import CarInterfaceExt
|
||||||
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ, GMSafetyFlagsIQ
|
from iqdbc.lvbs.car.gm.values_ext import GMFlagsIQ, GMSafetyFlagsIQ
|
||||||
|
|
||||||
TransmissionType = structs.CarParams.TransmissionType
|
TransmissionType = structs.CarParams.TransmissionType
|
||||||
NetworkLocation = structs.CarParams.NetworkLocation
|
NetworkLocation = structs.CarParams.NetworkLocation
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from iqdbc.car.structs import CarParams
|
|||||||
from iqdbc.car.docs_definitions import CarDocs, CarFootnote, CarHarness, CarParts, Column, SupportType
|
from iqdbc.car.docs_definitions import CarDocs, CarFootnote, CarHarness, CarParts, Column, SupportType
|
||||||
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
|
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ
|
from iqdbc.lvbs.car.gm.values_ext import GMFlagsIQ
|
||||||
|
|
||||||
Ecu = CarParams.Ecu
|
Ecu = CarParams.Ecu
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from iqdbc.car.honda.values import CAR, CruiseButtons, HONDA_BOSCH, HONDA_BOSCH_
|
|||||||
HONDA_BOSCH_TJA_CONTROL, HONDA_NIDEC_ALT_PCM_ACCEL, CarControllerParams
|
HONDA_BOSCH_TJA_CONTROL, HONDA_NIDEC_ALT_PCM_ACCEL, CarControllerParams
|
||||||
from iqdbc.car.interfaces import CarControllerBase
|
from iqdbc.car.interfaces import CarControllerBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.honda.aol import AolCarController
|
from iqdbc.lvbs.car.honda.aol import AolCarController
|
||||||
from iqdbc.iqpilot.car.honda.gas_interceptor import GasInterceptorCarController
|
from iqdbc.lvbs.car.honda.gas_interceptor import GasInterceptorCarController
|
||||||
|
|
||||||
VisualAlert = structs.CarControl.HUDControl.VisualAlert
|
VisualAlert = structs.CarControl.HUDControl.VisualAlert
|
||||||
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from iqdbc.car.honda.values import CAR, DBC, STEER_THRESHOLD, HONDA_BOSCH, HONDA
|
|||||||
HondaFlags, CruiseButtons, CruiseSettings, GearShifter, CarControllerParams
|
HondaFlags, CruiseButtons, CruiseSettings, GearShifter, CarControllerParams
|
||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.honda.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.honda.carstate_ext import CarStateExt
|
||||||
|
|
||||||
TransmissionType = structs.CarParams.TransmissionType
|
TransmissionType = structs.CarParams.TransmissionType
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
from iqdbc.car.structs import CarParams
|
from iqdbc.car.structs import CarParams
|
||||||
from iqdbc.car.honda.values import CAR
|
from iqdbc.car.honda.values import CAR
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.fingerprints_ext import merge_fw_versions
|
from iqdbc.lvbs.car.fingerprints_ext import extend_fw_versions
|
||||||
from iqdbc.iqpilot.car.honda.fingerprints_ext import FW_VERSIONS_EXT
|
from iqdbc.lvbs.car.honda.fingerprints_ext import FW_VERSIONS_EXT
|
||||||
|
|
||||||
Ecu = CarParams.Ecu
|
Ecu = CarParams.Ecu
|
||||||
|
|
||||||
@@ -1098,4 +1098,4 @@ FW_VERSIONS = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
FW_VERSIONS = merge_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
FW_VERSIONS = extend_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from iqdbc.car import CanBusBase
|
|||||||
from iqdbc.car.common.conversions import Conversions as CV
|
from iqdbc.car.common.conversions import Conversions as CV
|
||||||
from iqdbc.car.honda.values import (HondaFlags, HONDA_BOSCH, HONDA_BOSCH_ALT_RADAR, HONDA_BOSCH_RADARLESS,
|
from iqdbc.car.honda.values import (HondaFlags, HONDA_BOSCH, HONDA_BOSCH_ALT_RADAR, HONDA_BOSCH_RADARLESS,
|
||||||
HONDA_BOSCH_CANFD, CarControllerParams)
|
HONDA_BOSCH_CANFD, CarControllerParams)
|
||||||
from iqdbc.iqpilot.car.honda.values_ext import HondaFlagsIQ
|
from iqdbc.lvbs.car.honda.values_ext import HondaFlagsIQ
|
||||||
|
|
||||||
# CAN bus layout with relay
|
# CAN bus layout with relay
|
||||||
# 0 = ACC-CAN - radar side
|
# 0 = ACC-CAN - radar side
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from iqdbc.car.honda.carstate import CarState
|
|||||||
from iqdbc.car.honda.radar_interface import RadarInterface
|
from iqdbc.car.honda.radar_interface import RadarInterface
|
||||||
from iqdbc.car.interfaces import CarInterfaceBase
|
from iqdbc.car.interfaces import CarInterfaceBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.honda.values_ext import HondaFlagsIQ, HondaSafetyFlagsIQ
|
from iqdbc.lvbs.car.honda.values_ext import HondaFlagsIQ, HondaSafetyFlagsIQ
|
||||||
|
|
||||||
TransmissionType = structs.CarParams.TransmissionType
|
TransmissionType = structs.CarParams.TransmissionType
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ from iqdbc.car.hyundai.hyundaicanfd import CanBus
|
|||||||
from iqdbc.car.hyundai.values import HyundaiFlags, Buttons, CarControllerParams, CAR
|
from iqdbc.car.hyundai.values import HyundaiFlags, Buttons, CarControllerParams, CAR
|
||||||
from iqdbc.car.interfaces import CarControllerBase
|
from iqdbc.car.interfaces import CarControllerBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.hyundai.escc import EsccCarController
|
from iqdbc.lvbs.car.hyundai.escc import EsccCarController
|
||||||
from iqdbc.iqpilot.car.hyundai.longitudinal.controller import LongitudinalController
|
from iqdbc.lvbs.car.hyundai.longitudinal.controller import LongitudinalController
|
||||||
from iqdbc.iqpilot.car.hyundai.lead_data_ext import LeadDataCarController
|
from iqdbc.lvbs.car.hyundai.lead_data_ext import LeadDataCarController
|
||||||
from iqdbc.iqpilot.car.hyundai.aol import AolCarController
|
from iqdbc.lvbs.car.hyundai.aol import AolCarController
|
||||||
|
|
||||||
VisualAlert = structs.CarControl.HUDControl.VisualAlert
|
VisualAlert = structs.CarControl.HUDControl.VisualAlert
|
||||||
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ from iqdbc.car.hyundai.hyundaicanfd import CanBus
|
|||||||
from iqdbc.car.hyundai.values import HyundaiFlags, CAR, DBC, Buttons, CarControllerParams
|
from iqdbc.car.hyundai.values import HyundaiFlags, CAR, DBC, Buttons, CarControllerParams
|
||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.hyundai.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.hyundai.carstate_ext import CarStateExt
|
||||||
from iqdbc.iqpilot.car.hyundai.escc import EsccCarStateBase
|
from iqdbc.lvbs.car.hyundai.escc import EsccCarStateBase
|
||||||
from iqdbc.iqpilot.car.hyundai.aol import AolCarState
|
from iqdbc.lvbs.car.hyundai.aol import AolCarState
|
||||||
from iqdbc.iqpilot.car.hyundai.values import HyundaiFlagsIQ
|
from iqdbc.lvbs.car.hyundai.values import HyundaiFlagsIQ
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
from iqdbc.car.structs import CarParams
|
from iqdbc.car.structs import CarParams
|
||||||
from iqdbc.car.hyundai.values import CAR
|
from iqdbc.car.hyundai.values import CAR
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.fingerprints_ext import merge_fw_versions
|
from iqdbc.lvbs.car.fingerprints_ext import extend_fw_versions
|
||||||
from iqdbc.iqpilot.car.hyundai.fingerprints_ext import FW_VERSIONS_EXT
|
from iqdbc.lvbs.car.hyundai.fingerprints_ext import FW_VERSIONS_EXT
|
||||||
|
|
||||||
Ecu = CarParams.Ecu
|
Ecu = CarParams.Ecu
|
||||||
|
|
||||||
@@ -1286,4 +1286,4 @@ FW_VERSIONS = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
FW_VERSIONS = merge_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
FW_VERSIONS = extend_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import crcmod
|
import crcmod
|
||||||
from iqdbc.car.hyundai.values import CAR, HyundaiFlags
|
from iqdbc.car.hyundai.values import CAR, HyundaiFlags
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.hyundai.escc import EnhancedSmartCruiseControl
|
from iqdbc.lvbs.car.hyundai.escc import EnhancedSmartCruiseControl
|
||||||
from iqdbc.iqpilot.car.hyundai.lead_data_ext import CanLeadData
|
from iqdbc.lvbs.car.hyundai.lead_data_ext import CanLeadData
|
||||||
|
|
||||||
hyundai_checksum = crcmod.mkCrcFun(0x11D, initCrc=0xFD, rev=False, xorOut=0xdf)
|
hyundai_checksum = crcmod.mkCrcFun(0x11D, initCrc=0xFD, rev=False, xorOut=0xdf)
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import numpy as np
|
|||||||
from iqdbc.car import CanBusBase
|
from iqdbc.car import CanBusBase
|
||||||
from iqdbc.car.crc import CRC16_XMODEM
|
from iqdbc.car.crc import CRC16_XMODEM
|
||||||
from iqdbc.car.hyundai.values import HyundaiFlags
|
from iqdbc.car.hyundai.values import HyundaiFlags
|
||||||
from iqdbc.iqpilot.car.hyundai.lead_data_ext import CanFdLeadData
|
from iqdbc.lvbs.car.hyundai.lead_data_ext import CanFdLeadData
|
||||||
|
|
||||||
|
|
||||||
class CanBus(CanBusBase):
|
class CanBus(CanBusBase):
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ from iqdbc.car.hyundai.carcontroller import CarController
|
|||||||
from iqdbc.car.hyundai.carstate import CarState
|
from iqdbc.car.hyundai.carstate import CarState
|
||||||
from iqdbc.car.hyundai.radar_interface import RadarInterface
|
from iqdbc.car.hyundai.radar_interface import RadarInterface
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.hyundai.escc import ESCC_MSG
|
from iqdbc.lvbs.car.hyundai.escc import ESCC_MSG
|
||||||
from iqdbc.iqpilot.car.hyundai.longitudinal.helpers import get_longitudinal_tune
|
from iqdbc.lvbs.car.hyundai.longitudinal.helpers import get_longitudinal_tune
|
||||||
from iqdbc.iqpilot.car.hyundai.values import HyundaiFlagsIQ, HyundaiSafetyFlagsIQ
|
from iqdbc.lvbs.car.hyundai.values import HyundaiFlagsIQ, HyundaiSafetyFlagsIQ
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
Ecu = structs.CarParams.Ecu
|
Ecu = structs.CarParams.Ecu
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from iqdbc.car import Bus, structs
|
|||||||
from iqdbc.car.interfaces import RadarInterfaceBase
|
from iqdbc.car.interfaces import RadarInterfaceBase
|
||||||
from iqdbc.car.hyundai.values import DBC
|
from iqdbc.car.hyundai.values import DBC
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.hyundai.radar_interface_ext import RadarInterfaceExt
|
from iqdbc.lvbs.car.hyundai.radar_interface_ext import RadarInterfaceExt
|
||||||
|
|
||||||
RADAR_START_ADDR = 0x500
|
RADAR_START_ADDR = 0x500
|
||||||
RADAR_MSG_COUNT = 32
|
RADAR_MSG_COUNT = 32
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from iqdbc.car.structs import CarParams
|
|||||||
from iqdbc.car.docs_definitions import CarHarness, CarDocs, CarParts, SupportType
|
from iqdbc.car.docs_definitions import CarHarness, CarDocs, CarParts, SupportType
|
||||||
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, p16
|
from iqdbc.car.fw_query_definitions import FwQueryConfig, Request, p16
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.hyundai.values import HyundaiFlagsIQ
|
from iqdbc.lvbs.car.hyundai.values import HyundaiFlagsIQ
|
||||||
|
|
||||||
Ecu = CarParams.Ecu
|
Ecu = CarParams.Ecu
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from iqdbc.car.values import PLATFORMS
|
|||||||
from iqdbc.can import CANParser
|
from iqdbc.can import CANParser
|
||||||
from iqdbc.car.carlog import carlog
|
from iqdbc.car.carlog import carlog
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.interfaces import CarInterfaceBaseIQ
|
from iqdbc.lvbs.car.interfaces import CarInterfaceBaseIQ
|
||||||
|
|
||||||
GearShifter = structs.CarState.GearShifter
|
GearShifter = structs.CarState.GearShifter
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from iqdbc.car import Bus, create_button_events, structs
|
|||||||
from iqdbc.car.common.conversions import Conversions as CV
|
from iqdbc.car.common.conversions import Conversions as CV
|
||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
from iqdbc.car.nissan.values import CAR, DBC, CarControllerParams
|
from iqdbc.car.nissan.values import CAR, DBC, CarControllerParams
|
||||||
from iqdbc.iqpilot.car.nissan.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.nissan.carstate_ext import CarStateExt
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from iqdbc.car.interfaces import CarInterfaceBase
|
|||||||
from iqdbc.car.nissan.carcontroller import CarController
|
from iqdbc.car.nissan.carcontroller import CarController
|
||||||
from iqdbc.car.nissan.carstate import CarState
|
from iqdbc.car.nissan.carstate import CarState
|
||||||
from iqdbc.car.nissan.values import CAR, NissanSafetyFlags
|
from iqdbc.car.nissan.values import CAR, NissanSafetyFlags
|
||||||
from iqdbc.iqpilot.car.nissan.values import NissanSafetyFlagsIQ
|
from iqdbc.lvbs.car.nissan.values import NissanSafetyFlagsIQ
|
||||||
|
|
||||||
class CarInterface(CarInterfaceBase):
|
class CarInterface(CarInterfaceBase):
|
||||||
CarState = CarState
|
CarState = CarState
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from iqdbc.car.interfaces import CarControllerBase
|
|||||||
from iqdbc.car.rivian.riviancan import create_lka_steering, create_longitudinal, create_wheel_touch, create_adas_status
|
from iqdbc.car.rivian.riviancan import create_lka_steering, create_longitudinal, create_wheel_touch, create_adas_status
|
||||||
from iqdbc.car.rivian.values import CarControllerParams
|
from iqdbc.car.rivian.values import CarControllerParams
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.rivian.aol import AolCarController
|
from iqdbc.lvbs.car.rivian.aol import AolCarController
|
||||||
|
|
||||||
|
|
||||||
class CarController(CarControllerBase, AolCarController):
|
class CarController(CarControllerBase, AolCarController):
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from iqdbc.car import Bus, structs
|
|||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
from iqdbc.car.rivian.values import DBC, GEAR_MAP
|
from iqdbc.car.rivian.values import DBC, GEAR_MAP
|
||||||
from iqdbc.car.common.conversions import Conversions as CV
|
from iqdbc.car.common.conversions import Conversions as CV
|
||||||
from iqdbc.iqpilot.car.rivian.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.rivian.carstate_ext import CarStateExt
|
||||||
|
|
||||||
GearShifter = structs.CarState.GearShifter
|
GearShifter = structs.CarState.GearShifter
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from iqdbc.car.rivian.carcontroller import CarController
|
|||||||
from iqdbc.car.rivian.carstate import CarState
|
from iqdbc.car.rivian.carstate import CarState
|
||||||
from iqdbc.car.rivian.radar_interface import RadarInterface
|
from iqdbc.car.rivian.radar_interface import RadarInterface
|
||||||
from iqdbc.car.rivian.values import RivianSafetyFlags
|
from iqdbc.car.rivian.values import RivianSafetyFlags
|
||||||
from iqdbc.iqpilot.car.rivian.values import RivianFlagsIQ
|
from iqdbc.lvbs.car.rivian.values import RivianFlagsIQ
|
||||||
|
|
||||||
|
|
||||||
class CarInterface(CarInterfaceBase):
|
class CarInterface(CarInterfaceBase):
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from iqdbc.car.interfaces import CarControllerBase
|
|||||||
from iqdbc.car.subaru import subarucan
|
from iqdbc.car.subaru import subarucan
|
||||||
from iqdbc.car.subaru.values import DBC, GLOBAL_ES_ADDR, CanBus, CarControllerParams, SubaruFlags
|
from iqdbc.car.subaru.values import DBC, GLOBAL_ES_ADDR, CanBus, CarControllerParams, SubaruFlags
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.subaru.stop_and_go import SnGCarController
|
from iqdbc.lvbs.car.subaru.stop_and_go import IQStopAndGoController
|
||||||
|
|
||||||
# FIXME: These limits aren't exact. The real limit is more than likely over a larger time period and
|
# FIXME: These limits aren't exact. The real limit is more than likely over a larger time period and
|
||||||
# involves the total steering angle change rather than rate, but these limits work well for now
|
# involves the total steering angle change rather than rate, but these limits work well for now
|
||||||
@@ -14,10 +14,10 @@ MAX_STEER_RATE = 25 # deg/s
|
|||||||
MAX_STEER_RATE_FRAMES = 7 # tx control frames needed before torque can be cut
|
MAX_STEER_RATE_FRAMES = 7 # tx control frames needed before torque can be cut
|
||||||
|
|
||||||
|
|
||||||
class CarController(CarControllerBase, SnGCarController):
|
class CarController(CarControllerBase, IQStopAndGoController):
|
||||||
def __init__(self, dbc_names, CP, CP_IQ):
|
def __init__(self, dbc_names, CP, CP_IQ):
|
||||||
CarControllerBase.__init__(self, dbc_names, CP, CP_IQ)
|
CarControllerBase.__init__(self, dbc_names, CP, CP_IQ)
|
||||||
SnGCarController.__init__(self, CP, CP_IQ)
|
IQStopAndGoController.__init__(self, CP, CP_IQ)
|
||||||
self.apply_torque_last = 0
|
self.apply_torque_last = 0
|
||||||
|
|
||||||
self.cruise_button_prev = 0
|
self.cruise_button_prev = 0
|
||||||
@@ -139,7 +139,7 @@ class CarController(CarControllerBase, SnGCarController):
|
|||||||
if self.frame % 2 == 0:
|
if self.frame % 2 == 0:
|
||||||
can_sends.append(subarucan.create_es_static_2(self.packer))
|
can_sends.append(subarucan.create_es_static_2(self.packer))
|
||||||
|
|
||||||
can_sends.extend(SnGCarController.create_stop_and_go(self, self.packer, CC, CS, self.frame))
|
can_sends.extend(IQStopAndGoController.create_stop_and_go(self, self.packer, CC, CS, self.frame))
|
||||||
|
|
||||||
new_actuators = actuators.as_builder()
|
new_actuators = actuators.as_builder()
|
||||||
new_actuators.torque = self.apply_torque_last / self.p.STEER_MAX
|
new_actuators.torque = self.apply_torque_last / self.p.STEER_MAX
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ from iqdbc.car.interfaces import CarStateBase
|
|||||||
from iqdbc.car.subaru.values import DBC, CanBus, SubaruFlags
|
from iqdbc.car.subaru.values import DBC, CanBus, SubaruFlags
|
||||||
from iqdbc.car import CanSignalRateCalculator
|
from iqdbc.car import CanSignalRateCalculator
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.subaru.aol import AolCarState
|
from iqdbc.lvbs.car.subaru.aol import AolCarState
|
||||||
from iqdbc.iqpilot.car.subaru.stop_and_go import SnGCarState
|
from iqdbc.lvbs.car.subaru.stop_and_go import IQStopAndGoState
|
||||||
|
|
||||||
|
|
||||||
class CarState(CarStateBase, AolCarState, SnGCarState):
|
class CarState(CarStateBase, AolCarState, IQStopAndGoState):
|
||||||
def __init__(self, CP, CP_IQ):
|
def __init__(self, CP, CP_IQ):
|
||||||
CarStateBase.__init__(self, CP, CP_IQ)
|
CarStateBase.__init__(self, CP, CP_IQ)
|
||||||
AolCarState.__init__(self, CP, CP_IQ)
|
AolCarState.__init__(self, CP, CP_IQ)
|
||||||
SnGCarState.__init__(self, CP, CP_IQ)
|
IQStopAndGoState.__init__(self, CP, CP_IQ)
|
||||||
can_define = CANDefine(DBC[CP.carFingerprint][Bus.pt])
|
can_define = CANDefine(DBC[CP.carFingerprint][Bus.pt])
|
||||||
self.shifter_values = can_define.dv["Transmission"]["Gear"]
|
self.shifter_values = can_define.dv["Transmission"]["Gear"]
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ class CarState(CarStateBase, AolCarState, SnGCarState):
|
|||||||
self.es_infotainment_msg = copy.copy(cp_cam.vl["ES_Infotainment"])
|
self.es_infotainment_msg = copy.copy(cp_cam.vl["ES_Infotainment"])
|
||||||
|
|
||||||
AolCarState.update_aol(self, ret, can_parsers)
|
AolCarState.update_aol(self, ret, can_parsers)
|
||||||
SnGCarState.update(self, ret, can_parsers)
|
IQStopAndGoState.update(self, ret, can_parsers)
|
||||||
|
|
||||||
return ret, ret_iq
|
return ret, ret_iq
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from iqdbc.car.tesla.teslacan import TeslaCAN
|
|||||||
from iqdbc.car.tesla.values import CarControllerParams
|
from iqdbc.car.tesla.values import CarControllerParams
|
||||||
from iqdbc.car.vehicle_model import VehicleModel
|
from iqdbc.car.vehicle_model import VehicleModel
|
||||||
from openpilot.iqpilot.selfdrive.car.enhanced_stock_longitudinal_control import get_set_speed_kph_from_params
|
from openpilot.iqpilot.selfdrive.car.enhanced_stock_longitudinal_control import get_set_speed_kph_from_params
|
||||||
from iqdbc.iqpilot.car.tesla.coop_steering import CoopSteeringCarController
|
from iqdbc.lvbs.car.tesla.coop_steering import CoopSteeringCarController
|
||||||
|
|
||||||
|
|
||||||
def get_safety_CP():
|
def get_safety_CP():
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from iqdbc.car.interfaces import CarStateBase
|
|||||||
from iqdbc.car.tesla.teslacan import get_steer_ctrl_type
|
from iqdbc.car.tesla.teslacan import get_steer_ctrl_type
|
||||||
from iqdbc.car.tesla.values import DBC, CANBUS, GEAR_MAP, STEER_THRESHOLD, TeslaFlags
|
from iqdbc.car.tesla.values import DBC, CANBUS, GEAR_MAP, STEER_THRESHOLD, TeslaFlags
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.tesla.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.tesla.carstate_ext import CarStateExt
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from iqdbc.car.tesla.carstate import CarState
|
|||||||
from iqdbc.car.tesla.values import TeslaSafetyFlags, TeslaFlags, CANBUS, CAR, DBC, FSD_14_FW, Ecu
|
from iqdbc.car.tesla.values import TeslaSafetyFlags, TeslaFlags, CANBUS, CAR, DBC, FSD_14_FW, Ecu
|
||||||
from iqdbc.car.tesla.radar_interface import RadarInterface, RADAR_START_ADDR
|
from iqdbc.car.tesla.radar_interface import RadarInterface, RADAR_START_ADDR
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.tesla.values import TeslaFlagsIQ, TeslaSafetyFlagsIQ
|
from iqdbc.lvbs.car.tesla.values import TeslaFlagsIQ, TeslaSafetyFlagsIQ
|
||||||
|
|
||||||
|
|
||||||
class CarInterface(CarInterfaceBase):
|
class CarInterface(CarInterfaceBase):
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ from iqdbc.car.toyota.values import CAR, NO_STOP_TIMER_CAR, TSS2_CAR, \
|
|||||||
UNSUPPORTED_DSU_CAR
|
UNSUPPORTED_DSU_CAR
|
||||||
from iqdbc.can import CANPacker
|
from iqdbc.can import CANPacker
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.toyota.gas_interceptor import GasInterceptorCarController
|
from iqdbc.lvbs.car.toyota.gas_interceptor import GasInterceptorCarController
|
||||||
from iqdbc.iqpilot.car.toyota.values import ToyotaFlagsIQ
|
from iqdbc.lvbs.car.toyota.values import ToyotaFlagsIQ
|
||||||
|
|
||||||
Ecu = structs.CarParams.Ecu
|
Ecu = structs.CarParams.Ecu
|
||||||
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from iqdbc.car.interfaces import CarStateBase
|
|||||||
from iqdbc.car.toyota.values import ToyotaFlags, CAR, DBC, STEER_THRESHOLD, NO_STOP_TIMER_CAR, \
|
from iqdbc.car.toyota.values import ToyotaFlags, CAR, DBC, STEER_THRESHOLD, NO_STOP_TIMER_CAR, \
|
||||||
TSS2_CAR, RADAR_ACC_CAR, EPS_SCALE, UNSUPPORTED_DSU_CAR, \
|
TSS2_CAR, RADAR_ACC_CAR, EPS_SCALE, UNSUPPORTED_DSU_CAR, \
|
||||||
SECOC_CAR
|
SECOC_CAR
|
||||||
from iqdbc.iqpilot.car.toyota.carstate_ext import CarStateExt
|
from iqdbc.lvbs.car.toyota.carstate_ext import CarStateExt
|
||||||
from iqdbc.iqpilot.car.toyota.values import ToyotaFlagsIQ
|
from iqdbc.lvbs.car.toyota.values import ToyotaFlagsIQ
|
||||||
|
|
||||||
ButtonType = structs.CarState.ButtonEvent.Type
|
ButtonType = structs.CarState.ButtonEvent.Type
|
||||||
SteerControlType = structs.CarParams.SteerControlType
|
SteerControlType = structs.CarParams.SteerControlType
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
from iqdbc.car.structs import CarParams
|
from iqdbc.car.structs import CarParams
|
||||||
from iqdbc.car.toyota.values import CAR
|
from iqdbc.car.toyota.values import CAR
|
||||||
|
|
||||||
from iqdbc.iqpilot.car.fingerprints_ext import merge_fw_versions
|
from iqdbc.lvbs.car.fingerprints_ext import extend_fw_versions
|
||||||
from iqdbc.iqpilot.car.toyota.fingerprints_ext import FW_VERSIONS_EXT
|
from iqdbc.lvbs.car.toyota.fingerprints_ext import FW_VERSIONS_EXT
|
||||||
|
|
||||||
Ecu = CarParams.Ecu
|
Ecu = CarParams.Ecu
|
||||||
|
|
||||||
@@ -1889,4 +1889,4 @@ FW_VERSIONS = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
FW_VERSIONS = merge_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
FW_VERSIONS = extend_fw_versions(FW_VERSIONS, FW_VERSIONS_EXT)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from iqdbc.car.toyota.values import Ecu, CAR, DBC, ToyotaFlags, CarControllerPar
|
|||||||
ToyotaSafetyFlags, UNSUPPORTED_DSU_CAR
|
ToyotaSafetyFlags, UNSUPPORTED_DSU_CAR
|
||||||
from iqdbc.car.disable_ecu import disable_ecu
|
from iqdbc.car.disable_ecu import disable_ecu
|
||||||
from iqdbc.car.interfaces import CarInterfaceBase
|
from iqdbc.car.interfaces import CarInterfaceBase
|
||||||
from iqdbc.iqpilot.car.toyota.values import ToyotaFlagsIQ, ToyotaSafetyFlagsIQ
|
from iqdbc.lvbs.car.toyota.values import ToyotaFlagsIQ, ToyotaSafetyFlagsIQ
|
||||||
|
|
||||||
SteerControlType = structs.CarParams.SteerControlType
|
SteerControlType = structs.CarParams.SteerControlType
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from iqdbc.car import gen_empty_fingerprint, structs
|
from iqdbc.car import gen_empty_fingerprint, structs
|
||||||
from iqdbc.car.toyota.interface import CarInterface
|
from iqdbc.car.toyota.interface import CarInterface
|
||||||
from iqdbc.car.toyota.values import CAR, ToyotaFlags
|
from iqdbc.car.toyota.values import CAR, ToyotaFlags
|
||||||
from iqdbc.iqpilot.car.toyota.values import ToyotaFlagsIQ
|
from iqdbc.lvbs.car.toyota.values import ToyotaFlagsIQ
|
||||||
|
|
||||||
|
|
||||||
def test_forced_secoc_toyota_clears_dashcam_mode():
|
def test_forced_secoc_toyota_clears_dashcam_mode():
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from collections import namedtuple
|
|||||||
from iqdbc.car import Bus, structs
|
from iqdbc.car import Bus, structs
|
||||||
from iqdbc.car.chrysler.values import RAM_CARS
|
from iqdbc.car.chrysler.values import RAM_CARS
|
||||||
|
|
||||||
from iqdbc.iqpilot.aol_base import AolCarStateBase
|
from iqdbc.lvbs.aol_base import AolCarStateBase
|
||||||
from iqdbc.can.parser import CANParser
|
from iqdbc.can.parser import CANParser
|
||||||
|
|
||||||
AolDataIQ = namedtuple("AolDataIQ",
|
AolDataIQ = namedtuple("AolDataIQ",
|
||||||
@@ -4,7 +4,7 @@ Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed
|
|||||||
from iqdbc.car import structs
|
from iqdbc.car import structs
|
||||||
from iqdbc.car.interfaces import CarStateBase
|
from iqdbc.car.interfaces import CarStateBase
|
||||||
from iqdbc.car.chrysler.values import RAM_DT
|
from iqdbc.car.chrysler.values import RAM_DT
|
||||||
from iqdbc.iqpilot.car.chrysler.values_ext import ChryslerFlagsIQ
|
from iqdbc.lvbs.car.chrysler.values_ext import ChryslerFlagsIQ
|
||||||
|
|
||||||
GearShifter = structs.CarState.GearShifter
|
GearShifter = structs.CarState.GearShifter
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ from enum import StrEnum
|
|||||||
from iqdbc.car import Bus, structs
|
from iqdbc.car import Bus, structs
|
||||||
from iqdbc.can.parser import CANParser
|
from iqdbc.can.parser import CANParser
|
||||||
from iqdbc.car.chrysler.values import RAM_HD
|
from iqdbc.car.chrysler.values import RAM_HD
|
||||||
from iqdbc.iqpilot.car.chrysler.values_ext import BUTTONS
|
from iqdbc.lvbs.car.chrysler.values_ext import BUTTONS
|
||||||
|
|
||||||
|
|
||||||
class CarStateExt:
|
class CarStateExt:
|
||||||
@@ -3,7 +3,7 @@ Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def merge_fw_versions(fw_versions, new_fw_versions):
|
def extend_fw_versions(fw_versions, new_fw_versions):
|
||||||
"""
|
"""
|
||||||
Merge firmware versions by extending lists for matching ECUs,
|
Merge firmware versions by extending lists for matching ECUs,
|
||||||
adding all entries regardless of duplicates.
|
adding all entries regardless of duplicates.
|
||||||
@@ -22,7 +22,7 @@ def merge_fw_versions(fw_versions, new_fw_versions):
|
|||||||
return fw_versions
|
return fw_versions
|
||||||
|
|
||||||
|
|
||||||
def merge_fingerprints(fingerprints, new_fingerprints):
|
def extend_fingerprints(fingerprints, new_fingerprints):
|
||||||
"""
|
"""
|
||||||
Merge fingerprints by extending lists for matching keys,
|
Merge fingerprints by extending lists for matching keys,
|
||||||
adding all entries regardless of duplicates.
|
adding all entries regardless of duplicates.
|
||||||
@@ -6,7 +6,7 @@ from enum import StrEnum
|
|||||||
|
|
||||||
from iqdbc.car import Bus,structs
|
from iqdbc.car import Bus,structs
|
||||||
|
|
||||||
from iqdbc.iqpilot.aol_base import AolCarStateBase
|
from iqdbc.lvbs.aol_base import AolCarStateBase
|
||||||
from iqdbc.can.parser import CANParser
|
from iqdbc.can.parser import CANParser
|
||||||
|
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ from enum import StrEnum
|
|||||||
from iqdbc.car import Bus, structs
|
from iqdbc.car import Bus, structs
|
||||||
from iqdbc.car.common.conversions import Conversions as CV
|
from iqdbc.car.common.conversions import Conversions as CV
|
||||||
from iqdbc.can.parser import CANParser
|
from iqdbc.can.parser import CANParser
|
||||||
from iqdbc.iqpilot.car.gm.values_ext import GMFlagsIQ
|
from iqdbc.lvbs.car.gm.values_ext import GMFlagsIQ
|
||||||
|
|
||||||
|
|
||||||
class CarStateExt:
|
class CarStateExt:
|
||||||
@@ -7,7 +7,7 @@ from math import exp
|
|||||||
from iqdbc.car import structs
|
from iqdbc.car import structs
|
||||||
from iqdbc.car.common.basedir import BASEDIR
|
from iqdbc.car.common.basedir import BASEDIR
|
||||||
from iqdbc.car.gm.interface import CAR
|
from iqdbc.car.gm.interface import CAR
|
||||||
from iqdbc.iqpilot.car.interfaces import LatControlInputs, NanoFFModel, TorqueFromLateralAccelCallbackTypeTorqueSpace
|
from iqdbc.lvbs.car.interfaces import LatControlInputs, NanoFFModel, TorqueFromLateralAccelCallbackTypeTorqueSpace
|
||||||
|
|
||||||
NON_LINEAR_TORQUE_PARAMS = {
|
NON_LINEAR_TORQUE_PARAMS = {
|
||||||
CAR.CHEVROLET_BOLT_EUV: [2.6531724862969748, 1.0, 0.1919764879840985, 0.009054123646805178],
|
CAR.CHEVROLET_BOLT_EUV: [2.6531724862969748, 1.0, 0.1919764879840985, 0.009054123646805178],
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user