IQ.Pilot Release Commit @ 482798a

This commit is contained in:
IQ.Lvbs CI [bot]
2026-08-23 15:33:29 -05:00
parent 750892168c
commit 7954d43e00
53 changed files with 1020 additions and 515 deletions

View File

@@ -51,8 +51,8 @@
}, },
"python/_iqclosure/iqpilot/common/realtime.py": { "python/_iqclosure/iqpilot/common/realtime.py": {
"mode": 420, "mode": 420,
"sha256": "ff112acc1fdc227e2ffa4b0fa74f27b967a488bb72fe21c5be82fc70d1104f02", "sha256": "f137ef62c1602a1f7c329731883dc518c62288bd25596891858d460ae3209ae2",
"size": 3488 "size": 3966
}, },
"python/_iqclosure/iqpilot/common/slc_utilities.py": { "python/_iqclosure/iqpilot/common/slc_utilities.py": {
"mode": 420, "mode": 420,
@@ -186,7 +186,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": "09570dc0155dfac0ee0f43a7c648c0cdeff927d900616c67bd5fc427f910cfe6", "sha256": "be5f9700cc95bf33007afb85745c5aef7d6de4f1f1e3971956bdf4f9c4524922",
"size": 67616 "size": 67616
}, },
"python/iqpilot_private/navd/__init__.py": { "python/iqpilot_private/navd/__init__.py": {
@@ -196,103 +196,103 @@
}, },
"python/iqpilot_private/navd/amap_client.cpython-312-aarch64-linux-gnu.so": { "python/iqpilot_private/navd/amap_client.cpython-312-aarch64-linux-gnu.so": {
"mode": 493, "mode": 493,
"sha256": "a97ae99ab0a40db0f484c2f160568f4d6490e27ad0f41bfe8db0e68fde7d4a7e", "sha256": "c9bb61739b00f9b241d689851e671cf261001f2fe867802afa2c7ed47ec59eab",
"size": 202040 "size": 202040
}, },
"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": "5ad083f16196c7bbfa31706c9b3e2838d3930ff99d902629bfe83dbb886da834", "sha256": "150db8f37b8237bfb2e145d9a3bd2e824f15238a21b5c84ba62498bbb0f83300",
"size": 136944 "size": 136960
}, },
"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": "f605d2a075a54f849ef78a3e9bab17388e79c5c0c6fbcccbb9d220280ae80a7b", "sha256": "f945d8440598055e7de1902af3c99f4b58f42a664160c46a98d0b6c501e2ddb2",
"size": 135936 "size": 135960
}, },
"python/iqpilot_private/navd/incident_feed.cpython-312-aarch64-linux-gnu.so": { "python/iqpilot_private/navd/incident_feed.cpython-312-aarch64-linux-gnu.so": {
"mode": 493, "mode": 493,
"sha256": "2a53684448796dae21cdf163408741682272319aeb25ba16dc8a01568d02c0c6", "sha256": "829175e4f8a14caf06dd5d7bc99fca728a34dd527625329f43138ff60af00105",
"size": 135496 "size": 135528
}, },
"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": "21460301b6e7f50e6229120f69c014721cd7582988c180585ce62572b49fdbe4", "sha256": "f361ab42f1a8682a2c36c65ef2c2126d225d80fdcb7301b346b1566eb1248ca0",
"size": 135608 "size": 135632
}, },
"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": "c3c26ee2723a170cf15e45ad2763b26bc94fb05f09f25e45ed45e0bce1ce84b9", "sha256": "f65a487d3316e672a3cce96dd1bf1f3629f5ae7d60529494e41420b3b5a7d0f9",
"size": 69728 "size": 69752
}, },
"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": "abae4e7ff3ec6f32784708815f06e88d9f9e3db8613f997872240147faf76787", "sha256": "638115c15efc7db1e33cf003eeadd5c1c416a0ada7d786df721ff2c03f99e3e9",
"size": 68144 "size": 68144
}, },
"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": "b820fcdacd75f085cf59ca0275ccf54a8393f2ccd2318f7004169271f7b9de4d", "sha256": "205750c1ce62efe88c2de65c7be25ccbc3fe28055f147a262f65f3b440da1bfa",
"size": 135576 "size": 135600
}, },
"python/iqpilot_private/navd/nav_turn_signals.cpython-312-aarch64-linux-gnu.so": { "python/iqpilot_private/navd/nav_turn_signals.cpython-312-aarch64-linux-gnu.so": {
"mode": 493, "mode": 493,
"sha256": "628d0c440e7b815a104a927a68c3fde36298482f5f4e2db7fb425fec4b038a4f", "sha256": "379f7bc251937da2c6edbb039ec249773c83c7145e19a5f375d9afa2a5bcffb7",
"size": 135544 "size": 135560
}, },
"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": "17178f3c4e435def59d6a5217cf7017f3ac0ec0cc86112b79de7fb106555e150", "sha256": "0c43fd3566bfa772dde16209aeafa01a1831294d46d6b4b57b818aafb1729647",
"size": 797272 "size": 797296
}, },
"python/iqpilot_private/navd/navincidentd.cpython-312-aarch64-linux-gnu.so": { "python/iqpilot_private/navd/navincidentd.cpython-312-aarch64-linux-gnu.so": {
"mode": 493, "mode": 493,
"sha256": "91485f5f804e78df018cc8f8e2141bcd4f195f72b1c5f90354be0048d3049dca", "sha256": "37c9074d18a0492d58c1176d2dade4d452c60d0f4e47d83d59ea859111629c6e",
"size": 135320 "size": 135344
}, },
"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": "bcff7c84933fc8d9ddb9bf9bbbfc1fd5c88b56c8c38ecf10eb323d363812b3a0", "sha256": "fd74128599c4c4cc6a0d5c545430f292aceb9b0dadcda9b7a37c0a868176bb6a",
"size": 135560 "size": 135584
}, },
"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": "037ecb86f7a34f858353d4f63b59d80e8882e33036f07e3fef9ef3f21f361df7", "sha256": "b8f93b885107e0c2a36b717bc3fa80873505c8a7d067861342dc33283f2052c0",
"size": 136368 "size": 136392
}, },
"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": "f795ddf5145457fe03e998c9d59bb09cf92fdc7a131a5d9206c8de8e0211ca24", "sha256": "4c5a07107ba60783d67810def5dd4df285dbb67482ad239f48350e38a46b8e9e",
"size": 136192 "size": 136216
}, },
"python/iqpilot_private/navd/road_incidents.cpython-312-aarch64-linux-gnu.so": { "python/iqpilot_private/navd/road_incidents.cpython-312-aarch64-linux-gnu.so": {
"mode": 493, "mode": 493,
"sha256": "a4901645dc73c97718056562a8ddb7054c755fb96527a16a81c0b74e3fe3cfc2", "sha256": "969d6d5b6f42193ff476b989b0dad034dd1a18d1633e8d1fb268f03b63b4ced2",
"size": 203112 "size": 203136
}, },
"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": "e87493497fa8eb3a5d9515b348c288c5856c4ad1c5c8c3c48e96d380c12319af", "sha256": "bb9694f32928acfb5402dba9ca5a7755f44f3ab32078813991b6497dfe213d63",
"size": 877832 "size": 877864
}, },
"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": "ac4def546038345a83c2a3bab96f49c7c356629cde881b741af83097f91d64c5", "sha256": "309f170a1f21ba35e8ff30680a582a959178622a236e8ecf52a92a932818ffd7",
"size": 135752 "size": 135760
}, },
"python/iqpilot_private/navd/traffic.cpython-312-aarch64-linux-gnu.so": { "python/iqpilot_private/navd/traffic.cpython-312-aarch64-linux-gnu.so": {
"mode": 493, "mode": 493,
"sha256": "6d396fefa3abccf457233e601a50eb884b2c6c2b33d9176e6141c0a8f0d520db", "sha256": "4568e6b232a4f57d52152d04cfe819e0a3c614130a027ec46e881554dfe91355",
"size": 69704 "size": 69720
}, },
"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": "769fa2929212886d99d6b38b0f9ae573a91245aad909f8330389de536effe7da", "sha256": "f8200244ca7a21c4593a1fc5ad4243ccfab49b6cf2b5e4a94d4a703a0b449d9a",
"size": 69752 "size": 69768
}, },
"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": "3545b34b58014870e4ba11813f0a3a9361f8ecf4c179e9cac83b237fd8925eda", "sha256": "ed05513ace7c59ba86d3d9b813dd1b87efffd039424ec403fc87a47ecc2cb0e7",
"size": 201384 "size": 201400
}, },
"runtime": { "runtime": {
"entries": { "entries": {
@@ -331,26 +331,26 @@
} }
}, },
"signatures": { "signatures": {
"python/iqpilot_private/navd/__init__.cpython-312-aarch64-linux-gnu.so": "yl55nNL7twb8/AbcwWig55B0ZRl38OjDSOa3/KW75gCRXedL5+AuyqyfZoea1gvnaqIHIP4Un5mqGzBJbYxJCA==", "python/iqpilot_private/navd/__init__.cpython-312-aarch64-linux-gnu.so": "Bym+fZhzakHRgZxpugkxuqC1r6maOmNhWskzqaL/+wg6XkC0MviLzM8D+XJJ3H8alcbO1Dc9W4QNPmAv/U2HCg==",
"python/iqpilot_private/navd/amap_client.cpython-312-aarch64-linux-gnu.so": "HSfuPN8O3FYCdK1TgE2V8Xgp9sETxzD3WzOiZFkt9qwDj9EBQWvdeZfaWNsiayxBQn2j/CroPtt87caThEQBCw==", "python/iqpilot_private/navd/amap_client.cpython-312-aarch64-linux-gnu.so": "A/nm3hEKPsdXJSMxUFIYvTjAHMkgfstExgRnZYz0PF51stMz++1J43i13xLAyrokupD0ScBt/0k1n3tfpSpqDA==",
"python/iqpilot_private/navd/event_builder.cpython-312-aarch64-linux-gnu.so": "s3METdDm+vPRPE6/AdtQwuMZgwPfuRS2RK7AtUa6GDbbrEEGUzJ65vF4gJwMGzDPYlXPm2/aXpQCozIF6nKnCQ==", "python/iqpilot_private/navd/event_builder.cpython-312-aarch64-linux-gnu.so": "D/rORB3ZH8FnXpPEyXsiGO7sQydBx56DKfd8WYAhwiuwFtjiftKNfVygpYET8QebyWL953SGi+w3roztjbumDQ==",
"python/iqpilot_private/navd/helpers.cpython-312-aarch64-linux-gnu.so": "nFAKqKowI7kSPyh+fAG1yc6BArFr7VZe6Gihag1WRWrhCf872yynJvrrEvB+5ckIgxW/R+dR6IfqDT6zEng8Bw==", "python/iqpilot_private/navd/helpers.cpython-312-aarch64-linux-gnu.so": "cfzYrfQCUw9BZbapQoz6/zRyIIEujw08sE5HFdbsM9pRl7JEyaleQUWqE01BxizHN/JCYqKQVPkvJFuwpnbVAw==",
"python/iqpilot_private/navd/incident_feed.cpython-312-aarch64-linux-gnu.so": "xVYK7jJkOWGok37YrhDGErg1LN9wAXg/G/vvXJTMwkS/aL/ntVT13mTj9+4fMfuED0j/xpORS9nXanQvuL9VBA==", "python/iqpilot_private/navd/incident_feed.cpython-312-aarch64-linux-gnu.so": "tmj9dLFSCQad5OHKnkuy3cguWDd0A0timHw1V75vushxaRmqwlxAt5xT9YoAPm7ZUKHBQqmC/bjfbmLqMKPkDA==",
"python/iqpilot_private/navd/iqmapd.cpython-312-aarch64-linux-gnu.so": "et1IszCWS1xeeq0DCiAHqh4wyKOywFUY1nvBwIwdrKvYEklddK3zF7YoVN5Z6rPluw2n1AEWlQE92JsY6curDg==", "python/iqpilot_private/navd/iqmapd.cpython-312-aarch64-linux-gnu.so": "GEet1xOOsahT0sdJ9bInk+7YjMFj/aAqQCpmFxVY8JVEKpAJlNAZ3SgNoTz352nS1c1iKvqRHV1o0qzjdIp3Dw==",
"python/iqpilot_private/navd/long_decel.cpython-312-aarch64-linux-gnu.so": "99iE6KCnINCOnW5QU7NLRl+mGMtngCDpNiYekjKxkYhGf8EJVBysv0rUA9oVK8EbtymTgRcU1TwOEFbawDe6CA==", "python/iqpilot_private/navd/long_decel.cpython-312-aarch64-linux-gnu.so": "ZxX5vhARJ++kMGlLY2WOdVQa85TXoDiVPrBwt9wOVchDVkvTNJk6qVHRYZBo0AfdbQsnThjyZwN/omZRvr87Cg==",
"python/iqpilot_private/navd/mapbox_client.cpython-312-aarch64-linux-gnu.so": "EveeEaNk8Q++H+5XU5DyZavY+BDogi7053aR+EF/cuHjk5037bqndUCdaOIlKvqUdrVaiJcEOA2Mt+8yV6LpCQ==", "python/iqpilot_private/navd/mapbox_client.cpython-312-aarch64-linux-gnu.so": "pIrMiS6pex0rzXiFZomlloKH+2VwWa/+DiIqaDzV0/dVSz6u9CCP5IHXFfe0mtuO7t3UYElJtMPPo8WiXvJIDQ==",
"python/iqpilot_private/navd/nav_cameras.cpython-312-aarch64-linux-gnu.so": "rHtL7+GUTm2VL8gSwnYtYqbOhmqFHUSa+/KJpfB8ncjkQYbDD6Uic6DGuSJzzk2BQN32LFB1sTlLDj4U+oOEDQ==", "python/iqpilot_private/navd/nav_cameras.cpython-312-aarch64-linux-gnu.so": "HGJYD9jqC/FT6wg32BtuMWkwNUyiurcYnXraycJ5XwX1k6RU4cNeiVhEBNy3Cl+kJ0Z0S3uZPMGnNWucabwYDA==",
"python/iqpilot_private/navd/nav_turn_signals.cpython-312-aarch64-linux-gnu.so": "vQSmPNd7Dwsf/CwGcS/iL0pw4WxaKHXrU0O1Df2q3bBdwAkAMwN9DIou/tOQRtM5YqCtPO98qkX8Ut3Zp1dJCQ==", "python/iqpilot_private/navd/nav_turn_signals.cpython-312-aarch64-linux-gnu.so": "70G6k1Zuv9ZFU6s64PjH5M2ik2Lx3IFuCFMjHw3GmoOZ+BEg7WheHK0yJyzDLjznAYaoakvZmwnc1yx8q2k5Dw==",
"python/iqpilot_private/navd/navd.cpython-312-aarch64-linux-gnu.so": "pMr7NwjDNwma7y1mUf/ZAbl42LcKA7qvZdmG6o1flfHYGkXpzHnBsgTkmtJHW757rKYFWZYVwWs6tUeAiNnnDw==", "python/iqpilot_private/navd/navd.cpython-312-aarch64-linux-gnu.so": "3Z74roPOVqxeKoCJ8YJfn//HQXiTvxtLAboGMIKRwxraVkZNvN76YgrAsCDt4Afm4HgJYqh5WsZa0KgmwXnfBA==",
"python/iqpilot_private/navd/navincidentd.cpython-312-aarch64-linux-gnu.so": "SXTuhzNb1o/GPLhBR0MQj1CaZVxo74z3c/k3rlbeeYQgbip/uCLq2kEE3qtCgByD8T+of3Jz8Q6eD/+ldk6AAQ==", "python/iqpilot_private/navd/navincidentd.cpython-312-aarch64-linux-gnu.so": "uKZkF9G18QvfZq4hpRJLaBCLUfXq9akzGngbnfqNnYvk3hOZmpH0wPOKk/a6uRSq3U2Sa5QAGgbaqnSkg98FBQ==",
"python/iqpilot_private/navd/navrenderd.cpython-312-aarch64-linux-gnu.so": "IfGrgWQtLBnU0qHoqGzPxtyNGOVaWo0HE9UVe9j+zCtpqrdAySkoEAcjcKW6kH/5bEz7x23ZAL9xXvWpm2xBAw==", "python/iqpilot_private/navd/navrenderd.cpython-312-aarch64-linux-gnu.so": "SrCbs4y1iLpqUDphjbBiLjBkh6eMzB385g6qckMjZuAdZNMVFleUTb7y5a6w4+wzIuq9c5/CnaKt8zD51C9HBQ==",
"python/iqpilot_private/navd/osm_cameras.cpython-312-aarch64-linux-gnu.so": "QY17ZHn3PcCf6Qt8i5TM1sqfRCTZng9Rpln+UJpHycGidh7EsxrBtw1IHru9mkaL7SUrq1faBhneW6GsPoyIAA==", "python/iqpilot_private/navd/osm_cameras.cpython-312-aarch64-linux-gnu.so": "H8QMggB9nBDH7FJpg0nSzZyvD+gAOAzH9Tdh5Vxz54J/n6nrK9f2r9hZQlytxS+todSFB0mZ/74QyVykTrOnCA==",
"python/iqpilot_private/navd/reroute.cpython-312-aarch64-linux-gnu.so": "e8lxcce1x0l44bOMcOj8Qhv8gxITV7YiIlY2pL9HWZx4QKy1Dfi5fbfZJgxGNaWKPZSLYBxvzcj9mV6Lxv7XBw==", "python/iqpilot_private/navd/reroute.cpython-312-aarch64-linux-gnu.so": "mypKWKF1VCOraNagzwyBmDXCmBjaczS5QUzLfojmMCIdM5ZDd/1+sh1iiGLnbjpPMqJOwy4TjmUB6lSU5BTsBA==",
"python/iqpilot_private/navd/road_incidents.cpython-312-aarch64-linux-gnu.so": "cMi1i3Zdq6o8lycjJm/ehiPqGp1ROfMuLTge3ByIWdcLigeFMoWPeK1/jt/TDRqZa0nLtIEBB5Scd2tN+jgQBg==", "python/iqpilot_private/navd/road_incidents.cpython-312-aarch64-linux-gnu.so": "49f0GOsPRfZ4+olg8XyZOH+L+SFxf2OIM8Gg0UWyO77xjjqbrk07aLsnT69y+tctlrI8vJfsD9zLDjMK6ft5Cw==",
"python/iqpilot_private/navd/route_manager.cpython-312-aarch64-linux-gnu.so": "pYlvQW60hCPcNgXDF+AC9Gce2flCPgxrd2m4Trxhj7H+VeKheMjGE3ghiXK2L7tE7YT5p+iNqO0z+GMInNv3DQ==", "python/iqpilot_private/navd/route_manager.cpython-312-aarch64-linux-gnu.so": "uH7oan6d8TJwFt1G++mr0mdjjOIPH7SOc9LoJ/YbyZG50WAo+diuylGcgrP1PVm5irBdHRRL5tG/aSfNReMiDQ==",
"python/iqpilot_private/navd/runtime_common.cpython-312-aarch64-linux-gnu.so": "hp1fhtfzGO7YwllryCsnvweQd9A2o4fdDBeLNVfBEm3d1P/tROK7R7nLRIdlTK8/fc8rqxFHY5lYERyU9sN3AA==", "python/iqpilot_private/navd/runtime_common.cpython-312-aarch64-linux-gnu.so": "+SSt76X4/yF4Vw4Th9yRXGhoQWpMsWLeuxZBwf/cZFQeYYBNt5b6Ak60QpvoBjvSzPf9NEfotXfSHyo8MmxUCQ==",
"python/iqpilot_private/navd/traffic.cpython-312-aarch64-linux-gnu.so": "5ApZT2zRewbOCe7iZuBMLzsUvc13iX5+1O28NSIIqgmd3OobJIZGuXxeit7CvsR2sucxJt9Xuw4QKFehHJ2sDw==", "python/iqpilot_private/navd/traffic.cpython-312-aarch64-linux-gnu.so": "49QjqzjQVF7pSzxScl6BpTHIiknMkSi+y3vR3H09XIixFsjbAhBo4RCMwhTBvVv9bYe1dELhvT2YNUGu4lPYDA==",
"python/iqpilot_private/navd/turn_desire.cpython-312-aarch64-linux-gnu.so": "RW9KnywXYAkZL+NM6tAqcTamMi8RA0wqoXntM1n3B851+PXrJF8ThLl6agHGawBqaKYLAPsehF7ayCN4mzmdAA==", "python/iqpilot_private/navd/turn_desire.cpython-312-aarch64-linux-gnu.so": "tMufwFdf87IWEraRxzA1FKJmqTHLYvREg89dxAHqDNfPHVldaTQMccl2sxvk7fBJHs13D0r/Cb1NsfG9oyEWDw==",
"python/iqpilot_private/navd/web_server.cpython-312-aarch64-linux-gnu.so": "3iozDeFP76pN0cIDHohtBvYzr3KZW9vOHDI5H7da5bv+ZCDGMtrnhqWWt5ujnZExl29mPnerQ/3Ogm+y7Z4RCQ==" "python/iqpilot_private/navd/web_server.cpython-312-aarch64-linux-gnu.so": "KbRqUHWVJSPq3bmhYaX2ZWTJTxNqhpWAuhmvjhrUTcDI70qFvyD8Wx/T7fvhh01CgKI7rVvAuT7nZX+fhYKfCw=="
} }
} }

View File

@@ -1 +1 @@
11YORph+xdz7ZCuSqO+hm75pQoo2oQPoaspCpBitlCSZZSN0VXLqiL78R99dNIhYqt9A1GOb2slFFE0WDlVwBA== j1FfVkm/xulHA9W24Ipwnx3XKOZeoIp5yl+/iPAyKihtRp+NWavwvTQpdBgLKrprhskq4ihlY0g7ZPE2gjkJDg==

View File

@@ -41,6 +41,12 @@ def config_realtime_process(cores: int | list[int], priority: int) -> None:
set_core_affinity(c) set_core_affinity(c)
def config_background_thread() -> None:
if sys.platform == 'linux' and not PC:
os.sched_setscheduler(0, os.SCHED_OTHER, os.sched_param(0))
set_core_affinity(list(range(os.cpu_count() or 1)))
def lock_memory() -> None: def lock_memory() -> None:
"""mlockall this process so memory reclaim/compaction can't stall it. RT control """mlockall this process so memory reclaim/compaction can't stall it. RT control
procs only (locking ui/modeld would worsen pressure). Best-effort.""" procs only (locking ui/modeld would worsen pressure). Best-effort."""
@@ -76,6 +82,13 @@ class Ratekeeper:
self.avg_dt = MovingAverage(100) self.avg_dt = MovingAverage(100)
self.avg_dt.add_value(self._interval) self.avg_dt.add_value(self._interval)
def reset(self) -> None:
self._remaining = 0.0
self._last_monitor_time = -1.
self._next_frame_time = -1.
self.avg_dt = MovingAverage(100)
self.avg_dt.add_value(self._interval)
@property @property
def frame(self) -> int: def frame(self) -> int:
return self._frame return self._frame
@@ -84,6 +97,10 @@ class Ratekeeper:
def remaining(self) -> float: def remaining(self) -> float:
return self._remaining return self._remaining
@property
def lag(self) -> float:
return max(0., -self._remaining)
@property @property
def lagging(self) -> bool: def lagging(self) -> bool:
expected_dt = self._interval * (1 / 0.9) expected_dt = self._interval * (1 / 0.9)

View File

@@ -366,7 +366,7 @@ class CarController(CarControllerBase):
min_power = max(self.steering_power_last - self.CCP.STEERING_POWER_STEP, self.CCP.STEERING_POWER_MIN) min_power = max(self.steering_power_last - self.CCP.STEERING_POWER_STEP, self.CCP.STEERING_POWER_MIN)
max_power = min(self.steering_power_last + self.CCP.STEERING_POWER_STEP, self.CCP.STEERING_POWER_MAX) max_power = min(self.steering_power_last + self.CCP.STEERING_POWER_STEP, self.CCP.STEERING_POWER_MAX)
target_power_driver = int(np.interp(CS.out.steeringTorque, [self.CCP.STEER_DRIVER_ALLOWANCE, self.CCP.STEER_DRIVER_MAX], target_power_driver = int(np.interp(abs(CS.out.steeringTorque), [self.CCP.STEER_DRIVER_ALLOWANCE, self.CCP.STEER_DRIVER_MAX],
[self.CCP.STEERING_POWER_MAX, self.CCP.STEERING_POWER_MIN])) [self.CCP.STEERING_POWER_MAX, self.CCP.STEERING_POWER_MIN]))
target_power = int(np.interp(CS.out.vEgo, [0., 0.5], [self.CCP.STEERING_POWER_MIN, target_power_driver])) target_power = int(np.interp(CS.out.vEgo, [0., 0.5], [self.CCP.STEERING_POWER_MIN, target_power_driver]))
steering_power = min(max(target_power, min_power), max_power) steering_power = min(max(target_power, min_power), max_power)
@@ -486,7 +486,7 @@ class CarController(CarControllerBase):
acc_control = self.CCS.acc_control_value(CS.out.cruiseState.available, CS.out.accFaulted, CC.enabled, long_override) acc_control = self.CCS.acc_control_value(CS.out.cruiseState.available, CS.out.accFaulted, CC.enabled, long_override)
acc_hold_type, self.acc_hold_ramp_counter = self.CCS.acc_hold_type( acc_hold_type, self.acc_hold_ramp_counter = self.CCS.acc_hold_type(
CS.out.cruiseState.available, CS.out.accFaulted, CC.enabled, starting, stopping, CS.out.cruiseState.available, CS.out.accFaulted, CC.enabled, starting, stopping,
CS.esp_hold_confirmation, long_override, self.acc_hold_type_last, self.acc_hold_ramp_counter) CS.esp_hold_confirmation, CS.out.vEgo, self.acc_hold_type_last, self.acc_hold_ramp_counter)
self.acc_hold_type_last = acc_hold_type self.acc_hold_type_last = acc_hold_type
can_sends.extend(self.CCS.create_acc_accel_control( can_sends.extend(self.CCS.create_acc_accel_control(
self.packer_pt, self.CAN.pt, self.CP, CS.acc_type, CC.enabled, self.packer_pt, self.CAN.pt, self.CP, CS.acc_type, CC.enabled,

View File

@@ -17,6 +17,7 @@ ACC_HMS_RELEASE = 4
ACC_HMS_HOLD = 1 ACC_HMS_HOLD = 1
ACC_HMS_NO_REQUEST = 0 ACC_HMS_NO_REQUEST = 0
ACC_HMS_RAMP_FRAMES = 5 ACC_HMS_RAMP_FRAMES = 5
ACC_HMS_RELEASE_SPEED = 5 * CV.KPH_TO_MS
ACC_HUD_ERROR = 6 ACC_HUD_ERROR = 6
ACC_HUD_OVERRIDE = 4 ACC_HUD_OVERRIDE = 4
@@ -161,33 +162,34 @@ def acc_control_value(main_switch_on, acc_faulted, long_active, override):
return acc_control return acc_control
def acc_hold_type(main_switch_on, acc_faulted, long_active, starting, stopping, esp_hold, override, def acc_hold_type(main_switch_on, acc_faulted, long_active, starting, stopping, esp_hold, v_ego,
prev_acc_hold_type, ramp_counter): prev_acc_hold_type, ramp_counter):
# warning: car is reacting to hold mechanic even with long control off # warning: car is reacting to hold mechanic even with long control off
# HALTEN or ANFAHREN straight to KEINE_ANFORDERUNG faults the car into park, so a ramp always sits
# in between: going inactive ramps for a fixed time, and a release while engaged ramps until the
# car is actually rolling
active = long_active and not acc_faulted
if acc_faulted: if not active:
acc_hold_type = ACC_HMS_NO_REQUEST # no hold request if ramp_counter > 0:
elif not long_active:
acc_hold_type = ACC_HMS_NO_REQUEST # no hold request
elif override:
acc_hold_type = ACC_HMS_NO_REQUEST # overriding / no request
elif starting:
acc_hold_type = ACC_HMS_RELEASE # release request and startup
elif stopping or esp_hold:
acc_hold_type = ACC_HMS_HOLD # hold or hold request
else:
acc_hold_type = ACC_HMS_NO_REQUEST # no hold request
if acc_hold_type == ACC_HMS_HOLD:
ramp_counter = 0
elif prev_acc_hold_type == ACC_HMS_HOLD and acc_hold_type == ACC_HMS_NO_REQUEST:
acc_hold_type = ACC_HMS_RAMP_RELEASE
ramp_counter = ACC_HMS_RAMP_FRAMES
elif ramp_counter > 0:
acc_hold_type = ACC_HMS_RAMP_RELEASE acc_hold_type = ACC_HMS_RAMP_RELEASE
ramp_counter -= 1 ramp_counter -= 1
else: else:
pass acc_hold_type = ACC_HMS_NO_REQUEST
else:
was_active = ramp_counter == ACC_HMS_RAMP_FRAMES
ramp_counter = ACC_HMS_RAMP_FRAMES
if stopping:
acc_hold_type = ACC_HMS_HOLD
elif starting:
acc_hold_type = ACC_HMS_RELEASE
else:
releasing = was_active and prev_acc_hold_type in (ACC_HMS_HOLD, ACC_HMS_RELEASE, ACC_HMS_RAMP_RELEASE)
if releasing and v_ego < ACC_HMS_RELEASE_SPEED:
acc_hold_type = ACC_HMS_RAMP_RELEASE
else:
acc_hold_type = ACC_HMS_NO_REQUEST
return acc_hold_type, ramp_counter return acc_hold_type, ramp_counter

View File

@@ -398,6 +398,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
{"OfflineRoutingOnly", {PERSISTENT, BOOL, "0"}}, {"OfflineRoutingOnly", {PERSISTENT, BOOL, "0"}},
{"OfflineRoutingHost", {PERSISTENT, STRING, "http://127.0.0.1:8002"}}, {"OfflineRoutingHost", {PERSISTENT, STRING, "http://127.0.0.1:8002"}},
{"EnableCurvatureController", {PERSISTENT, BOOL, "0"}}, {"EnableCurvatureController", {PERSISTENT, BOOL, "0"}},
{"EnableSmoothSteer", {PERSISTENT, BOOL, "0"}},
{"EnableSpeedLimitControl", {PERSISTENT, BOOL, "0"}}, {"EnableSpeedLimitControl", {PERSISTENT, BOOL, "0"}},
{"MapCurveSpeedController", {PERSISTENT, BOOL, "0"}}, {"MapCurveSpeedController", {PERSISTENT, BOOL, "0"}},
{"VisionCurveSpeedController", {PERSISTENT, BOOL, "0"}}, {"VisionCurveSpeedController", {PERSISTENT, BOOL, "0"}},

40
iqpilot/common/pt2.py Normal file
View File

@@ -0,0 +1,40 @@
import math
class PT2Filter:
def __init__(self, w0: float, zeta: float, dt: float):
self.w0 = w0
self.zeta = zeta
self.dt = dt
self.a1, self.a2, self.b0, self.b1, self.b2 = self._design(w0, zeta, dt)
self.y1 = 0.0
self.y2 = 0.0
self.u1 = 0.0
self.u2 = 0.0
@staticmethod
def _design(w0: float, zeta: float, dt: float):
# bilinear transform of H(s) = w0^2 / (s^2 + 2*zeta*w0*s + w0^2)
alpha = 2.0 / dt
a2_den = alpha**2 + (2.0 * zeta * w0 * alpha) + w0**2
a1_den = (-2.0 * alpha**2) + (2.0 * w0**2)
a0_den = alpha**2 - (2.0 * zeta * w0 * alpha) + w0**2
return (a1_den / a2_den, a0_den / a2_den,
w0**2 / a2_den, 2.0 * w0**2 / a2_den, w0**2 / a2_den)
def reset(self, value: float = 0.0) -> None:
self.y1 = value
self.y2 = value
self.u1 = value
self.u2 = value
def update(self, u: float) -> float:
y = (-self.a1 * self.y1) - (self.a2 * self.y2) + (self.b0 * u) + (self.b1 * self.u1) + (self.b2 * self.u2)
self.y2 = self.y1
self.y1 = y
self.u2 = self.u1
self.u1 = u
return y
def steady_state_steps(self) -> int:
return math.ceil((4.0 / (self.zeta * self.w0)) / self.dt)

View File

@@ -8,6 +8,7 @@ import iqpilot.cereal.messaging as messaging
from iqpilot.common.constants import CV from iqpilot.common.constants import CV
from iqpilot.common.iq_perf import PerfSample, PerfTraceEmitter, PerfTraceRing from iqpilot.common.iq_perf import PerfSample, PerfTraceEmitter, PerfTraceRing
from iqpilot.common.params import Params from iqpilot.common.params import Params
from iqpilot.common.pt2 import PT2Filter
from iqpilot.common.realtime import config_realtime_process, lock_memory, DT_CTRL, Priority, Ratekeeper from iqpilot.common.realtime import config_realtime_process, lock_memory, DT_CTRL, Priority, Ratekeeper
from iqpilot.common.swaglog import cloudlog from iqpilot.common.swaglog import cloudlog
@@ -45,6 +46,8 @@ CTRL_PHASE_WARN_US = 8_000
CTRL_TAIL_WARN_US = 8_000 CTRL_TAIL_WARN_US = 8_000
CTRL_FLAG_MISSING_INPUTS = 1 << 0 CTRL_FLAG_MISSING_INPUTS = 1 << 0
CTRL_FLAG_RK_OVERRUN = 1 << 1 CTRL_FLAG_RK_OVERRUN = 1 << 1
SMOOTH_STEER_W0 = 46.0
SMOOTH_STEER_ZETA = 1.0
LAT_SMOOTH_SECONDS = 0.0 LAT_SMOOTH_SECONDS = 0.0
@@ -77,6 +80,7 @@ class Controls(IQControlsLayer):
self._param_update_time = 0.0 self._param_update_time = 0.0
self.enable_curvature_controller = False self.enable_curvature_controller = False
self.enable_smooth_steer = False
self.enable_speed_limit_control = False self.enable_speed_limit_control = False
self.enable_speed_limit_predicative = False self.enable_speed_limit_predicative = False
self.enable_pred_react_to_speed_limits = False self.enable_pred_react_to_speed_limits = False
@@ -94,6 +98,11 @@ class Controls(IQControlsLayer):
self.LoC = LongControl(self.CP, self.CP_IQ) self.LoC = LongControl(self.CP, self.CP_IQ)
self.VM = VehicleModel(self.CP) self.VM = VehicleModel(self.CP)
self.smooth_steer = PT2Filter(SMOOTH_STEER_W0, SMOOTH_STEER_ZETA, DT_CTRL)
self.is_curvature_car = self.CP.steerControlType == car.CarParams.SteerControlType.curvatureDEPRECATED
if self.is_curvature_car and self.params.get("EnableSmoothSteer") is None:
self.params.put_bool("EnableSmoothSteer", True)
self.LaC: LatControl self.LaC: LatControl
if self.CP.steerControlType in (car.CarParams.SteerControlType.angle, car.CarParams.SteerControlType.curvatureDEPRECATED): if self.CP.steerControlType in (car.CarParams.SteerControlType.angle, car.CarParams.SteerControlType.curvatureDEPRECATED):
self.LaC = LatControlAngle(self.CP, self.CP_IQ, self.CI, DT_CTRL) self.LaC = LatControlAngle(self.CP, self.CP_IQ, self.CI, DT_CTRL)
@@ -119,6 +128,7 @@ class Controls(IQControlsLayer):
def _update_params(self) -> None: def _update_params(self) -> None:
self.enable_curvature_controller = self.params.get_bool("EnableCurvatureController") self.enable_curvature_controller = self.params.get_bool("EnableCurvatureController")
self.enable_smooth_steer = self.params.get_bool("EnableSmoothSteer")
self.enable_speed_limit_control = self.params.get_bool("EnableSpeedLimitControl") self.enable_speed_limit_control = self.params.get_bool("EnableSpeedLimitControl")
self.enable_speed_limit_predicative = self.params.get_bool("EnableSpeedLimitPredicative") self.enable_speed_limit_predicative = self.params.get_bool("EnableSpeedLimitPredicative")
self.enable_pred_react_to_speed_limits = self.params.get_bool("EnableSLPredReactToSL") self.enable_pred_react_to_speed_limits = self.params.get_bool("EnableSLPredReactToSL")
@@ -225,6 +235,11 @@ class Controls(IQControlsLayer):
else: else:
new_desired_curvature = model_v2.action.desiredCurvature new_desired_curvature = model_v2.action.desiredCurvature
if self.is_curvature_car and self.enable_smooth_steer and CC.latActive:
new_desired_curvature = self.smooth_steer.update(new_desired_curvature)
else:
self.smooth_steer.reset(new_desired_curvature)
lat_accel_override = bool(CS.gasPressed) or bool(self.sm['iqState'].aol.active) lat_accel_override = bool(CS.gasPressed) or bool(self.sm['iqState'].aol.active)
self.desired_curvature, curvature_limited = clip_curvature(CS.vEgo, self.desired_curvature, new_desired_curvature, lp.roll, lat_accel_override) self.desired_curvature, curvature_limited = clip_curvature(CS.vEgo, self.desired_curvature, new_desired_curvature, lp.roll, lat_accel_override)
lat_delay = lateral_action_delay(self.params, self.CP, self.sm["lateralDelay"].lateralDelay) + LAT_SMOOTH_SECONDS lat_delay = lateral_action_delay(self.params, self.CP, self.sm["lateralDelay"].lateralDelay) + LAT_SMOOTH_SECONDS

View File

@@ -198,7 +198,8 @@ class MiciHomeLayout(Widget):
# Expect "version / branch / commit / date"; be tolerant of other formats # Expect "version / branch / commit / date"; be tolerant of other formats
try: try:
version, branch, commit, date = description.split(" / ") version, branch, commit, date = description.split(" / ")
return version, branch, commit, date # version/date/branch share one 536px line: the brand prefix and clock time push the branch off screen
return version.removeprefix(HOME_TITLE_TEXT).strip() or version, branch, commit, date.split(" ")[0]
except Exception: except Exception:
return None return None

View File

@@ -321,7 +321,7 @@ class TargetBranchButton(BigButton):
class DisableUpdatesButton(BigButton): class DisableUpdatesButton(BigButton):
def __init__(self): def __init__(self):
super().__init__(tr("disable\nupdates"), tr("currently on")) super().__init__(tr("automatic\nupdates"), tr("on"))
self.set_enabled(lambda: ui_state.is_offroad()) self.set_enabled(lambda: ui_state.is_offroad())
self.set_press_effect_enabled(False) self.set_press_effect_enabled(False)
self._label.set_font_size(40) self._label.set_font_size(40)
@@ -335,8 +335,7 @@ class DisableUpdatesButton(BigButton):
def _sync_from_params(self): def _sync_from_params(self):
disabled = ui_state.params.get_bool("DisableUpdates") disabled = ui_state.params.get_bool("DisableUpdates")
self.set_text(tr("enable\nupdates") if disabled else tr("disable\nupdates")) self.set_value(tr("off") if disabled else tr("on"))
self.set_value(tr("currently off") if disabled else tr("currently on"))
def _update_state(self): def _update_state(self):
super()._update_state() super()._update_state()

View File

@@ -80,6 +80,8 @@ class VehicleLayoutMici(NavScroller):
self._vw_lateral = BigParamControl(tr("lateral when cruise faulted"), "AllowLateralWhenLongUnavailable") self._vw_lateral = BigParamControl(tr("lateral when cruise faulted"), "AllowLateralWhenLongUnavailable")
self._vw_mqb_acc_resume = BigParamControl(tr("MQB ACC resume"), "iqMqbAccResume") self._vw_mqb_acc_resume = BigParamControl(tr("MQB ACC resume"), "iqMqbAccResume")
self._vw_mqb_steering_lockout = BigParamControl(tr("MQB steering lockout"), "iqMqbSteeringLockout") self._vw_mqb_steering_lockout = BigParamControl(tr("MQB steering lockout"), "iqMqbSteeringLockout")
self._vw_curvature_controller = BigParamControl(tr("curvature controller"), "EnableCurvatureController")
self._vw_smooth_steer = BigParamControl(tr("smooth steering"), "EnableSmoothSteer")
self._tesla_vtb = BigParamControl(tr("virtual torque blending"), "IQTeslaTorqueBlend") self._tesla_vtb = BigParamControl(tr("virtual torque blending"), "IQTeslaTorqueBlend")
self._tesla_fsd_visualization = BigParamControl(tr("FSD visuals"), "IQTeslaFsdVisualization") self._tesla_fsd_visualization = BigParamControl(tr("FSD visuals"), "IQTeslaFsdVisualization")
@@ -87,7 +89,8 @@ class VehicleLayoutMici(NavScroller):
"toyota": [self._toyota_long], "toyota": [self._toyota_long],
"hyundai": [self._hyundai_tuning], "hyundai": [self._hyundai_tuning],
"subaru": [self._subaru_snag, self._subaru_manual], "subaru": [self._subaru_snag, self._subaru_manual],
"volkswagen": [self._vw_pq_hca, self._vw_lateral, self._vw_mqb_acc_resume, self._vw_mqb_steering_lockout], "volkswagen": [self._vw_pq_hca, self._vw_lateral, self._vw_mqb_acc_resume, self._vw_mqb_steering_lockout,
self._vw_curvature_controller, self._vw_smooth_steer],
"tesla": [self._tesla_vtb, self._tesla_fsd_visualization], "tesla": [self._tesla_vtb, self._tesla_fsd_visualization],
} }
self._all_brand_widgets = [w for ws in self._brand_widgets.values() for w in ws] self._all_brand_widgets = [w for ws in self._brand_widgets.values() for w in ws]
@@ -123,6 +126,10 @@ class VehicleLayoutMici(NavScroller):
flags = self._vw_flags() flags = self._vw_flags()
return not bool(flags & (VolkswagenFlags.PQ | VolkswagenFlags.MLB | VolkswagenFlags.MEB | VolkswagenFlags.MEB_GEN2 | VolkswagenFlags.MQB_EVO)) return not bool(flags & (VolkswagenFlags.PQ | VolkswagenFlags.MLB | VolkswagenFlags.MEB | VolkswagenFlags.MEB_GEN2 | VolkswagenFlags.MQB_EVO))
def _is_vw_curvature_car(self) -> bool:
from iqdbc.car.volkswagen.values import VolkswagenFlags
return bool(self._vw_flags() & (VolkswagenFlags.MEB | VolkswagenFlags.MQB_EVO))
def _supports_vw_lateral_when_faulted(self) -> bool: def _supports_vw_lateral_when_faulted(self) -> bool:
from iqdbc.car.volkswagen.values import VolkswagenFlags from iqdbc.car.volkswagen.values import VolkswagenFlags
# PQ, MEB, MQB_EVO and base MQB all implement cruiseFaultLateralMode in carstate.py. # PQ, MEB, MQB_EVO and base MQB all implement cruiseFaultLateralMode in carstate.py.
@@ -193,6 +200,7 @@ class VehicleLayoutMici(NavScroller):
uses_hca_status_toggle = self._uses_vw_hca_status_toggle() uses_hca_status_toggle = self._uses_vw_hca_status_toggle()
is_mqb = self._is_vw_mqb() is_mqb = self._is_vw_mqb()
supports_lateral_when_faulted = self._supports_vw_lateral_when_faulted() supports_lateral_when_faulted = self._supports_vw_lateral_when_faulted()
is_curvature_car = self._is_vw_curvature_car()
visible = set(self._brand_widgets.get(brand, [])) visible = set(self._brand_widgets.get(brand, []))
for w in self._all_brand_widgets: for w in self._all_brand_widgets:
show = w in visible show = w in visible
@@ -202,6 +210,8 @@ class VehicleLayoutMici(NavScroller):
show = show and is_mqb show = show and is_mqb
elif w is self._vw_lateral: elif w is self._vw_lateral:
show = show and supports_lateral_when_faulted show = show and supports_lateral_when_faulted
elif w in (self._vw_curvature_controller, self._vw_smooth_steer):
show = show and is_curvature_car
w.set_visible(show) w.set_visible(show)
if show: if show:
w.refresh() w.refresh()

View File

@@ -1,7 +1,7 @@
import colorsys import colorsys
import numpy as np import numpy as np
import pyray as rl import pyray as rl
from iqpilot.cereal import messaging, car from iqpilot.cereal import car
from dataclasses import dataclass, field from dataclasses import dataclass, field
from iqpilot.common.params import Params from iqpilot.common.params import Params
from iqpilot.common.filter_simple import FirstOrderFilter from iqpilot.common.filter_simple import FirstOrderFilter
@@ -9,7 +9,7 @@ from iqpilot.selfdrive.locationd.calibrationd import HEIGHT_INIT
from iqpilot.ui.onroad.hud_overlays import ChevronMetrics from iqpilot.ui.onroad.hud_overlays import ChevronMetrics
from iqpilot.ui.onroad.lead_confidence import driving_confidence from iqpilot.ui.onroad.lead_confidence import driving_confidence
from iqpilot.selfdrive.locationd.calibration_helpers import get_render_path_height from iqpilot.selfdrive.locationd.calibration_helpers import get_render_path_height
from iqpilot.selfdrive.ui.ui_state import ui_state, UIStatus from iqpilot.selfdrive.ui.ui_state import ui_state, UIStatus, log_param_from_bytes
from iqpilot.selfdrive.ui.mici.onroad import blend_colors from iqpilot.selfdrive.ui.mici.onroad import blend_colors
from iqpilot.system.ui.lib.application import gui_app from iqpilot.system.ui.lib.application import gui_app
from iqpilot.system.ui.lib.shader_polygon import draw_polygon, Gradient from iqpilot.system.ui.lib.shader_polygon import draw_polygon, Gradient
@@ -94,8 +94,7 @@ class ModelRenderer(Widget):
) )
# Get longitudinal control setting from car parameters # Get longitudinal control setting from car parameters
if car_params := Params().get("CarParams"): if (cp := log_param_from_bytes(Params(), "CarParams", car.CarParams)) is not None:
cp = messaging.log_from_bytes(car_params, car.CarParams)
self._longitudinal_control = cp.openpilotLongitudinalControl self._longitudinal_control = cp.openpilotLongitudinalControl
def set_transform(self, transform: np.ndarray): def set_transform(self, transform: np.ndarray):

View File

@@ -1,13 +1,13 @@
import colorsys import colorsys
import numpy as np import numpy as np
import pyray as rl import pyray as rl
from iqpilot.cereal import messaging, car, custom from iqpilot.cereal import car, custom
from dataclasses import dataclass, field from dataclasses import dataclass, field
from iqpilot.common.filter_simple import FirstOrderFilter from iqpilot.common.filter_simple import FirstOrderFilter
from iqpilot.common.params import Params from iqpilot.common.params import Params
from iqpilot.selfdrive.locationd.calibrationd import HEIGHT_INIT from iqpilot.selfdrive.locationd.calibrationd import HEIGHT_INIT
from iqpilot.selfdrive.locationd.calibration_helpers import get_render_path_height from iqpilot.selfdrive.locationd.calibration_helpers import get_render_path_height
from iqpilot.selfdrive.ui.ui_state import ui_state from iqpilot.selfdrive.ui.ui_state import ui_state, log_param_from_bytes
from iqpilot.system.ui.lib.application import gui_app from iqpilot.system.ui.lib.application import gui_app
from iqpilot.system.ui.lib.shader_polygon import draw_polygon, Gradient from iqpilot.system.ui.lib.shader_polygon import draw_polygon, Gradient
from iqpilot.system.ui.widgets import Widget from iqpilot.system.ui.widgets import Widget
@@ -108,8 +108,7 @@ class ModelRenderer(Widget):
) )
# Get longitudinal control setting from car parameters # Get longitudinal control setting from car parameters
if car_params := Params().get("CarParams"): if (cp := log_param_from_bytes(Params(), "CarParams", car.CarParams)) is not None:
cp = messaging.log_from_bytes(car_params, car.CarParams)
self._longitudinal_control = cp.openpilotLongitudinalControl self._longitudinal_control = cp.openpilotLongitudinalControl
def set_transform(self, transform: np.ndarray): def set_transform(self, transform: np.ndarray):

View File

@@ -2026,6 +2026,7 @@ msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "" msgstr ""
@@ -2665,29 +2666,16 @@ msgid "target branch"
msgstr "" msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324 #: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"disable\n" "automatic\n"
"updates" "updates"
msgstr "" msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324 #: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338 #: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "" msgid "on"
"enable\n"
"updates"
msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently off"
msgstr "" msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:353 #: openpilot/selfdrive/ui/mici/layouts/settings/software.py:353
@@ -3986,6 +3974,39 @@ msgid ""
"speed LKAS faults." "speed LKAS faults."
msgstr "" msgstr ""
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr ""
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr ""
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format
msgid "curvature controller"
msgstr ""
#: iqpilot/ui/layouts/settings/iq_panels.py:2369 #: iqpilot/ui/layouts/settings/iq_panels.py:2369
#, python-brace-format #, python-brace-format
msgid "PQ HCA Status 7 Mode" msgid "PQ HCA Status 7 Mode"

View File

@@ -450,6 +450,15 @@ msgstr "مسح ذاكرة النموذج المحدد وتنزيله مرة أخ
msgid "Close" msgid "Close"
msgstr "إغلاق" msgstr "إغلاق"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"يغلق حلقة التوجيه في مركبات MEB وMQB Evo. يصحّح IQ.Pilot أمر التوجيه بناءً "
"على الانحناء الفعلي للسيارة بدلاً من إرسال الانحناء المخطط مباشرةً."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -579,6 +588,11 @@ msgstr "مثبّت السرعة"
msgid "Current Version" msgid "Current Version"
msgstr "الإصدار الحالي" msgstr "الإصدار الحالي"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "متحكم الانحناء"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1570,6 +1584,15 @@ msgstr "استباق أدنى"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "تخطيط الانعطاف عند السرعات المنخفضة" msgstr "تخطيط الانعطاف عند السرعات المنخفضة"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"يمرّر الانحناء المخطط عبر مرشّح تمرير منخفض قبل وصوله إلى صندوق التوجيه في "
"مركبات MEB وMQB Evo، ما يخفّف التذبذب الجانبي. مفعّل افتراضيًا لهذه "
"السيارات."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2554,6 +2577,11 @@ msgstr ""
"يعرض اسم الطريق الحالي فوق عرض القيادة.<br>يتطلب تثبيت بيانات الخرائط دون " "يعرض اسم الطريق الحالي فوق عرض القيادة.<br>يتطلب تثبيت بيانات الخرائط دون "
"اتصال لمنطقتك." "اتصال لمنطقتك."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "توجيه سلس"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3200,6 +3228,15 @@ msgstr "تلقائي"
msgid "auto dark" msgid "auto dark"
msgstr "تلقائي داكن" msgstr "تلقائي داكن"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"التحديثات\n"
"التلقائية"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3305,16 +3342,10 @@ msgstr "الانطلاق من الثبات (تجريبي)"
msgid "cruise" msgid "cruise"
msgstr "مثبّت السرعة" msgstr "مثبّت السرعة"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "معطّل حاليًا" msgstr "متحكم الانحناء"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "مفعّل حاليًا"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3355,16 +3386,6 @@ msgstr "الجهاز"
msgid "device ID" msgid "device ID"
msgstr "معرّف الجهاز" msgstr "معرّف الجهاز"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"تعطيل\n"
"التحديثات"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3444,15 +3465,6 @@ msgstr "ديناميكي"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"تفعيل\n"
"التحديثات"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3744,6 +3756,7 @@ msgstr "لمسة على المقود"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "إيقاف" msgstr "إيقاف"
@@ -3753,6 +3766,12 @@ msgstr "إيقاف"
msgid "offline" msgid "offline"
msgstr "غير متصل" msgstr "غير متصل"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "تشغيل"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4008,6 +4027,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "بطيء" msgstr "بطيء"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "توجيه سلس"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -454,6 +454,16 @@ msgstr "Cache des gewählten Modells leeren und erneut herunterladen?"
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr "Schließen"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Schließt den Lenkregelkreis bei MEB- und MQB-Evo-Fahrzeugen. IQ.Pilot "
"korrigiert seinen Lenkbefehl anhand der Krümmung, die das Fahrzeug "
"tatsächlich fährt, statt die geplante Krümmung direkt durchzureichen."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -586,6 +596,11 @@ msgstr "Tempomat"
msgid "Current Version" msgid "Current Version"
msgstr "Aktuelle Version" msgstr "Aktuelle Version"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Krümmungsregler"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1595,6 +1610,15 @@ msgstr "vorausschau niedriger"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Abbiegeplanung bei niedriger Geschwindigkeit" msgstr "Abbiegeplanung bei niedriger Geschwindigkeit"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Filtert die geplante Krümmung bei MEB- und MQB-Evo-Fahrzeugen tiefpass, "
"bevor sie die Lenkung erreicht, und dämpft so seitliches Pendeln. Für "
"diese Fahrzeuge standardmäßig an."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2600,6 +2624,11 @@ msgstr ""
"Zeigt den Namen der aktuellen Straße über der Fahransicht.<br>Erfordert " "Zeigt den Namen der aktuellen Straße über der Fahransicht.<br>Erfordert "
"installierte Offline-Kartendaten für deine Region." "installierte Offline-Kartendaten für deine Region."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Sanfte Lenkung"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3266,6 +3295,15 @@ msgstr "auto"
msgid "auto dark" msgid "auto dark"
msgstr "auto dunkel" msgstr "auto dunkel"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"automatische\n"
"Updates"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3371,16 +3409,10 @@ msgstr "anfahren aus dem stand (beta)"
msgid "cruise" msgid "cruise"
msgstr "tempomat" msgstr "tempomat"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "derzeit aus" msgstr "krümmungsregler"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "derzeit an"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3421,16 +3453,6 @@ msgstr "gerät"
msgid "device ID" msgid "device ID"
msgstr "geräte-ID" msgstr "geräte-ID"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"updates\n"
"deaktivieren"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3510,15 +3532,6 @@ msgstr "dynamisch"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"updates\n"
"aktivieren"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3810,6 +3823,7 @@ msgstr "lenkimpuls"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "aus" msgstr "aus"
@@ -3819,6 +3833,12 @@ msgstr "aus"
msgid "offline" msgid "offline"
msgstr "offline" msgstr "offline"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "an"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4074,6 +4094,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "langsam" msgstr "langsam"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "sanfte lenkung"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -450,6 +450,16 @@ msgstr "Clear the selected model cache and download it again?"
msgid "Close" msgid "Close"
msgstr "Close" msgstr "Close"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -580,6 +590,11 @@ msgstr "Cruise"
msgid "Current Version" msgid "Current Version"
msgstr "Current Version" msgstr "Current Version"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Curvature Controller"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1577,6 +1592,14 @@ msgstr "Lookahead Lower"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Low-Speed Turn Planning" msgstr "Low-Speed Turn Planning"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2567,6 +2590,11 @@ msgstr ""
"Show the current road's name over the driving view.<br>Requires offline map " "Show the current road's name over the driving view.<br>Requires offline map "
"data for your region to be installed." "data for your region to be installed."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Smooth Steering"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3225,6 +3253,15 @@ msgstr "auto"
msgid "auto dark" msgid "auto dark"
msgstr "auto dark" msgstr "auto dark"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"automatic\n"
"updates"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3330,16 +3367,10 @@ msgstr "creep from standstill (beta)"
msgid "cruise" msgid "cruise"
msgstr "cruise" msgstr "cruise"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "currently off" msgstr "curvature controller"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "currently on"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3380,16 +3411,6 @@ msgstr "device"
msgid "device ID" msgid "device ID"
msgstr "device ID" msgstr "device ID"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"disable\n"
"updates"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3469,15 +3490,6 @@ msgstr "dynamic"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"enable\n"
"updates"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3769,6 +3781,7 @@ msgstr "nudge"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "off" msgstr "off"
@@ -3778,6 +3791,12 @@ msgstr "off"
msgid "offline" msgid "offline"
msgstr "offline" msgstr "offline"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "on"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4033,6 +4052,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "slow" msgstr "slow"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "smooth steering"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -453,6 +453,16 @@ msgstr "¿Vaciar la caché del modelo seleccionado y volver a descargarlo?"
msgid "Close" msgid "Close"
msgstr "Cerrar" msgstr "Cerrar"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Cierra el lazo de dirección en vehículos MEB y MQB Evo. IQ.Pilot corrige "
"su comando de dirección según la curvatura que el coche mantiene "
"realmente, en lugar de enviar la curvatura planificada directamente."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -585,6 +595,11 @@ msgstr "Crucero"
msgid "Current Version" msgid "Current Version"
msgstr "Versión actual" msgstr "Versión actual"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Controlador de curvatura"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1601,6 +1616,15 @@ msgstr "anticipación menor"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Planificación de giros a baja velocidad" msgstr "Planificación de giros a baja velocidad"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Filtra la curvatura planificada con un paso bajo antes de que llegue a la "
"cremallera en vehículos MEB y MQB Evo, lo que amortigua la oscilación "
"lateral. Activado por defecto en estos coches."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2603,6 +2627,11 @@ msgstr ""
"Muestra el nombre de la vía actual sobre la vista de conducción.<br>Requiere" "Muestra el nombre de la vía actual sobre la vista de conducción.<br>Requiere"
" tener instalados los mapas sin conexión de tu región." " tener instalados los mapas sin conexión de tu región."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Dirección suave"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3271,6 +3300,15 @@ msgstr "auto"
msgid "auto dark" msgid "auto dark"
msgstr "auto oscuro" msgstr "auto oscuro"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"actualizaciones\n"
"automáticas"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3376,16 +3414,10 @@ msgstr "arranque suave (beta)"
msgid "cruise" msgid "cruise"
msgstr "crucero" msgstr "crucero"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "actualmente desactivado" msgstr "controlador de curvatura"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "actualmente activado"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3426,16 +3458,6 @@ msgstr "dispositivo"
msgid "device ID" msgid "device ID"
msgstr "ID del dispositivo" msgstr "ID del dispositivo"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"desactivar\n"
"actualizaciones"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3515,15 +3537,6 @@ msgstr "dinámico"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"activar\n"
"actualizaciones"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3815,6 +3828,7 @@ msgstr "toque de volante"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "apagado" msgstr "apagado"
@@ -3824,6 +3838,12 @@ msgstr "apagado"
msgid "offline" msgid "offline"
msgstr "sin conexión" msgstr "sin conexión"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "encendido"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4079,6 +4099,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "lento" msgstr "lento"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "dirección suave"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -455,6 +455,16 @@ msgstr "Vider le cache du modèle sélectionné et le retélécharger ?"
msgid "Close" msgid "Close"
msgstr "Fermer" msgstr "Fermer"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Ferme la boucle de direction sur les véhicules MEB et MQB Evo. IQ.Pilot "
"corrige sa commande de direction en fonction de la courbure réellement "
"suivie par la voiture, au lieu d'envoyer directement la courbure planifiée."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -587,6 +597,11 @@ msgstr "Régulateur"
msgid "Current Version" msgid "Current Version"
msgstr "Version actuelle" msgstr "Version actuelle"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Contrôleur de courbure"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1605,6 +1620,15 @@ msgstr "anticipation plus basse"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Planification des virages à basse vitesse" msgstr "Planification des virages à basse vitesse"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Filtre la courbure planifiée en passe-bas avant qu'elle n'atteigne la "
"crémaillère sur les véhicules MEB et MQB Evo, ce qui amortit les "
"oscillations latérales. Activé par défaut sur ces voitures."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2617,6 +2641,11 @@ msgstr ""
"Affiche le nom de la route actuelle sur la vue de conduite.<br>Nécessite " "Affiche le nom de la route actuelle sur la vue de conduite.<br>Nécessite "
"l'installation des cartes hors ligne de votre région." "l'installation des cartes hors ligne de votre région."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Direction douce"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3288,6 +3317,15 @@ msgstr "auto"
msgid "auto dark" msgid "auto dark"
msgstr "auto sombre" msgstr "auto sombre"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"mises à jour\n"
"automatiques"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3393,16 +3431,10 @@ msgstr "démarrage en douceur (bêta)"
msgid "cruise" msgid "cruise"
msgstr "régulateur" msgstr "régulateur"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "actuellement désactivé" msgstr "contrôleur de courbure"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "actuellement activé"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3443,16 +3475,6 @@ msgstr "appareil"
msgid "device ID" msgid "device ID"
msgstr "ID appareil" msgstr "ID appareil"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"désactiver les\n"
"mises à jour"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3532,15 +3554,6 @@ msgstr "dynamique"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"activer les\n"
"mises à jour"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3832,6 +3845,7 @@ msgstr "impulsion"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "arrêt" msgstr "arrêt"
@@ -3841,6 +3855,12 @@ msgstr "arrêt"
msgid "offline" msgid "offline"
msgstr "hors ligne" msgstr "hors ligne"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "marche"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4096,6 +4116,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "lent" msgstr "lent"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "direction douce"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -437,6 +437,15 @@ msgstr "選択したモデルのキャッシュを消去して再ダウンロー
msgid "Close" msgid "Close"
msgstr "閉じる" msgstr "閉じる"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"MEB および MQB Evo 車両でステアリング制御を閉ループにします。IQ.Pilot "
"は計画した曲率をそのまま送るのではなく、車両が実際に描いている曲率に合わせて操舵指令を補正します。"
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -562,6 +571,11 @@ msgstr "クルーズ"
msgid "Current Version" msgid "Current Version"
msgstr "現在のバージョン" msgstr "現在のバージョン"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "曲率コントローラー"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1513,6 +1527,14 @@ msgstr "先読みを短く"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "低速時の右左折プランニング" msgstr "低速時の右左折プランニング"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"MEB および MQB Evo "
"車両で、計画した曲率をステアリングラックに送る前にローパスフィルタで処理し、横方向のふらつきを抑えます。これらの車では既定で有効です。"
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2469,6 +2491,11 @@ msgid ""
"data for your region to be installed." "data for your region to be installed."
msgstr "現在の道路名を走行画面上に表示します。<br>お使いの地域のオフライン地図データがインストールされている必要があります。" msgstr "現在の道路名を走行画面上に表示します。<br>お使いの地域のオフライン地図データがインストールされている必要があります。"
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "スムーズステアリング"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3096,6 +3123,15 @@ msgstr "自動"
msgid "auto dark" msgid "auto dark"
msgstr "自動(暗)" msgstr "自動(暗)"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"自動\n"
"アップデート"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3201,16 +3237,10 @@ msgstr "停止からのクリープ(ベータ)"
msgid "cruise" msgid "cruise"
msgstr "クルーズ" msgstr "クルーズ"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "現在オフ" msgstr "曲率コントローラー"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "現在オン"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3251,16 +3281,6 @@ msgstr "デバイス"
msgid "device ID" msgid "device ID"
msgstr "デバイスID" msgstr "デバイスID"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"アップデートを\n"
"無効化"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3340,15 +3360,6 @@ msgstr "ダイナミック"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"アップデートを\n"
"有効化"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3640,6 +3651,7 @@ msgstr "ハンドル操作"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "オフ" msgstr "オフ"
@@ -3649,6 +3661,12 @@ msgstr "オフ"
msgid "offline" msgid "offline"
msgstr "オフライン" msgstr "オフライン"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "オン"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -3904,6 +3922,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "遅い" msgstr "遅い"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "スムーズステアリング"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -439,6 +439,15 @@ msgstr "선택한 모델의 캐시를 비우고 다시 다운로드할까요?"
msgid "Close" msgid "Close"
msgstr "닫기" msgstr "닫기"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"MEB 및 MQB Evo 차량에서 조향 제어를 폐루프로 동작시킵니다. IQ.Pilot이 계획한 곡률을 그대로 보내지 않고 차량이 "
"실제로 유지하는 곡률에 맞춰 조향 명령을 보정합니다."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -566,6 +575,11 @@ msgstr "크루즈"
msgid "Current Version" msgid "Current Version"
msgstr "현재 버전" msgstr "현재 버전"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "곡률 컨트롤러"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1528,6 +1542,14 @@ msgstr "예측 거리 줄이기"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "저속 회전 경로 계획" msgstr "저속 회전 경로 계획"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"MEB 및 MQB Evo 차량에서 계획한 곡률을 스티어링 랙에 보내기 전에 저역 통과 필터로 처리해 좌우 흔들림을 줄입니다. 해당 "
"차량에서는 기본으로 켜집니다."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2490,6 +2512,11 @@ msgid ""
"data for your region to be installed." "data for your region to be installed."
msgstr "현재 도로 이름을 주행 화면 위에 표시합니다.<br>해당 지역의 오프라인 지도 데이터가 설치되어 있어야 합니다." msgstr "현재 도로 이름을 주행 화면 위에 표시합니다.<br>해당 지역의 오프라인 지도 데이터가 설치되어 있어야 합니다."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "부드러운 조향"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3118,6 +3145,15 @@ msgstr "자동"
msgid "auto dark" msgid "auto dark"
msgstr "자동 어둡게" msgstr "자동 어둡게"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"자동\n"
"업데이트"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3223,16 +3259,10 @@ msgstr "정지 상태에서 출발 (베타)"
msgid "cruise" msgid "cruise"
msgstr "크루즈" msgstr "크루즈"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "현재 꺼짐" msgstr "곡률 컨트롤러"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "현재 켜짐"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3273,16 +3303,6 @@ msgstr "기기"
msgid "device ID" msgid "device ID"
msgstr "기기 ID" msgstr "기기 ID"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"업데이트\n"
"끄기"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3362,15 +3382,6 @@ msgstr "다이내믹"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"업데이트\n"
"켜기"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3662,6 +3673,7 @@ msgstr "핸들 조작"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "끄기" msgstr "끄기"
@@ -3671,6 +3683,12 @@ msgstr "끄기"
msgid "offline" msgid "offline"
msgstr "오프라인" msgstr "오프라인"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "켜기"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -3926,6 +3944,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "느림" msgstr "느림"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "부드러운 조향"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -455,6 +455,16 @@ msgstr "Wyczyścić pamięć wybranego modelu i pobrać go ponownie?"
msgid "Close" msgid "Close"
msgstr "Zamknij" msgstr "Zamknij"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Zamyka pętlę sterowania kierownicą w pojazdach MEB i MQB Evo. IQ.Pilot "
"koryguje polecenie skrętu względem krzywizny, którą samochód faktycznie "
"utrzymuje, zamiast wysyłać zaplanowaną krzywiznę wprost."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -587,6 +597,11 @@ msgstr "Tempomat"
msgid "Current Version" msgid "Current Version"
msgstr "Bieżąca wersja" msgstr "Bieżąca wersja"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Regulator krzywizny"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1597,6 +1612,15 @@ msgstr "wyprzedzenie w dół"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Planowanie skrętu przy niskiej prędkości" msgstr "Planowanie skrętu przy niskiej prędkości"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Filtruje dolnoprzepustowo zaplanowaną krzywiznę, zanim trafi do "
"przekładni, w pojazdach MEB i MQB Evo, co tłumi boczne kołysanie. "
"Domyślnie włączone w tych autach."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2599,6 +2623,11 @@ msgstr ""
"Pokazuje nazwę bieżącej drogi na widoku jazdy.<br>Wymaga zainstalowanych map" "Pokazuje nazwę bieżącej drogi na widoku jazdy.<br>Wymaga zainstalowanych map"
" offline dla Twojego regionu." " offline dla Twojego regionu."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Płynne kierowanie"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3263,6 +3292,15 @@ msgstr "auto"
msgid "auto dark" msgid "auto dark"
msgstr "auto ciemny" msgstr "auto ciemny"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"automatyczne\n"
"aktualizacje"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3368,16 +3406,10 @@ msgstr "ruszanie z postoju (beta)"
msgid "cruise" msgid "cruise"
msgstr "tempomat" msgstr "tempomat"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "obecnie wyłączone" msgstr "regulator krzywizny"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "obecnie włączone"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3418,16 +3450,6 @@ msgstr "urządzenie"
msgid "device ID" msgid "device ID"
msgstr "ID urządzenia" msgstr "ID urządzenia"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"wyłącz\n"
"aktualizacje"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3507,15 +3529,6 @@ msgstr "dynamiczny"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"włącz\n"
"aktualizacje"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3807,6 +3820,7 @@ msgstr "poruszenie"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "wył." msgstr "wył."
@@ -3816,6 +3830,12 @@ msgstr "wył."
msgid "offline" msgid "offline"
msgstr "offline" msgstr "offline"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "wł."
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4071,6 +4091,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "wolno" msgstr "wolno"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "płynne kierowanie"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -455,6 +455,16 @@ msgstr "Limpar o cache do modelo selecionado e baixá-lo novamente?"
msgid "Close" msgid "Close"
msgstr "Fechar" msgstr "Fechar"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Fecha a malha de direção em veículos MEB e MQB Evo. O IQ.Pilot corrige o "
"comando de direção com base na curvatura que o carro realmente mantém, em "
"vez de enviar a curvatura planejada diretamente."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -586,6 +596,11 @@ msgstr "Piloto automático"
msgid "Current Version" msgid "Current Version"
msgstr "Versão Atual" msgstr "Versão Atual"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Controlador de curvatura"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1598,6 +1613,15 @@ msgstr "antecipação menor"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Planejamento de curva em baixa velocidade" msgstr "Planejamento de curva em baixa velocidade"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Filtra a curvatura planejada com um passa-baixa antes de chegar à "
"cremalheira em veículos MEB e MQB Evo, amortecendo a oscilação lateral. "
"Ligado por padrão nesses carros."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2598,6 +2622,11 @@ msgstr ""
"Mostra o nome da via atual sobre a visão de condução.<br>Requer mapas " "Mostra o nome da via atual sobre a visão de condução.<br>Requer mapas "
"offline da sua região instalados." "offline da sua região instalados."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Direção suave"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3265,6 +3294,15 @@ msgstr "auto"
msgid "auto dark" msgid "auto dark"
msgstr "auto escuro" msgstr "auto escuro"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"atualizações\n"
"automáticas"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3370,16 +3408,10 @@ msgstr "arrancada suave (beta)"
msgid "cruise" msgid "cruise"
msgstr "piloto automático" msgstr "piloto automático"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "atualmente desligado" msgstr "controlador de curvatura"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "atualmente ligado"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3420,16 +3452,6 @@ msgstr "dispositivo"
msgid "device ID" msgid "device ID"
msgstr "ID do dispositivo" msgstr "ID do dispositivo"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"desativar\n"
"atualizações"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3509,15 +3531,6 @@ msgstr "dinâmico"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"ativar\n"
"atualizações"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3809,6 +3822,7 @@ msgstr "toque no volante"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "desl." msgstr "desl."
@@ -3818,6 +3832,12 @@ msgstr "desl."
msgid "offline" msgid "offline"
msgstr "offline" msgstr "offline"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "lig."
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4073,6 +4093,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "lento" msgstr "lento"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "direção suave"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -450,6 +450,16 @@ msgstr "ล้างแคชของโมเดลที่เลือกแ
msgid "Close" msgid "Close"
msgstr "ปิด" msgstr "ปิด"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"ปิดลูปควบคุมพวงมาลัยในรถ MEB และ MQB Evo โดย IQ.Pilot "
"จะแก้ไขคำสั่งบังคับเลี้ยวตามความโค้งที่รถทำได้จริง "
"แทนการส่งความโค้งที่วางแผนไว้ออกไปตรง ๆ"
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -580,6 +590,11 @@ msgstr "ครูซคอนโทรล"
msgid "Current Version" msgid "Current Version"
msgstr "เวอร์ชันปัจจุบัน" msgstr "เวอร์ชันปัจจุบัน"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "ตัวควบคุมความโค้ง"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1570,6 +1585,15 @@ msgstr "มองล่วงหน้าน้อยลง"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "การวางแผนเลี้ยวที่ความเร็วต่ำ" msgstr "การวางแผนเลี้ยวที่ความเร็วต่ำ"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"กรองความโค้งที่วางแผนไว้ด้วยตัวกรองความถี่ต่ำก่อนส่งไปยังแร็คพวงมาลัยในรถ "
"MEB และ MQB Evo เพื่อลดอาการส่ายด้านข้าง "
"เปิดใช้งานโดยค่าเริ่มต้นสำหรับรถเหล่านี้"
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2557,6 +2581,11 @@ msgid ""
msgstr "" msgstr ""
"แสดงชื่อถนนปัจจุบันทับภาพขับขี่<br>ต้องติดตั้งข้อมูลแผนที่ออฟไลน์สำหรับภูมิภาคของคุณ" "แสดงชื่อถนนปัจจุบันทับภาพขับขี่<br>ต้องติดตั้งข้อมูลแผนที่ออฟไลน์สำหรับภูมิภาคของคุณ"
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "การบังคับเลี้ยวที่นุ่มนวล"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3205,6 +3234,15 @@ msgstr "อัตโนมัติ"
msgid "auto dark" msgid "auto dark"
msgstr "อัตโนมัติมืด" msgstr "อัตโนมัติมืด"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"อัปเดต\n"
"อัตโนมัติ"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3310,16 +3348,10 @@ msgstr "ค่อย ๆ เคลื่อนจากจุดหยุด (
msgid "cruise" msgid "cruise"
msgstr "ครูซคอนโทรล" msgstr "ครูซคอนโทรล"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "ขณะนี้ปิดอยู่" msgstr "ตัวควบคุมความโค้ง"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "ขณะนี้เปิดอยู่"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3360,16 +3392,6 @@ msgstr "อุปกรณ์"
msgid "device ID" msgid "device ID"
msgstr "รหัสอุปกรณ์" msgstr "รหัสอุปกรณ์"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"ปิด\n"
"การอัปเดต"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3449,15 +3471,6 @@ msgstr "ไดนามิก"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"เปิด\n"
"การอัปเดต"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3749,6 +3762,7 @@ msgstr "ขยับพวงมาลัย"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "ปิด" msgstr "ปิด"
@@ -3758,6 +3772,12 @@ msgstr "ปิด"
msgid "offline" msgid "offline"
msgstr "ออฟไลน์" msgstr "ออฟไลน์"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "เปิด"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4013,6 +4033,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "ช้า" msgstr "ช้า"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "การบังคับเลี้ยวที่นุ่มนวล"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -452,6 +452,16 @@ msgstr "Seçili modelin önbelleği temizlenip yeniden indirilsin mi?"
msgid "Close" msgid "Close"
msgstr "Kapat" msgstr "Kapat"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"MEB ve MQB Evo araçlarda direksiyon kontrolünü kapalı çevrim yapar. "
"IQ.Pilot planlanan eğriliği doğrudan göndermek yerine, aracın gerçekte "
"tuttuğu eğriliğe göre direksiyon komutunu düzeltir."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -582,6 +592,11 @@ msgstr "Hız sabitleyici"
msgid "Current Version" msgid "Current Version"
msgstr "Geçerli Sürüm" msgstr "Geçerli Sürüm"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Eğrilik Denetleyicisi"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1583,6 +1598,15 @@ msgstr "daha düşük öngörü"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Düşük hızda dönüş planlaması" msgstr "Düşük hızda dönüş planlaması"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"MEB ve MQB Evo araçlarda planlanan eğriliği direksiyon kutusuna ulaşmadan "
"önce alçak geçiren filtreden geçirir ve yanal salınımı söndürür. Bu "
"araçlarda varsayılan olarak açıktır."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2579,6 +2603,11 @@ msgstr ""
"Geçerli yolun adını sürüş görünümünün üzerinde gösterir.<br>Bölgeniz için " "Geçerli yolun adını sürüş görünümünün üzerinde gösterir.<br>Bölgeniz için "
"çevrimdışı harita verisinin kurulu olmasını gerektirir." "çevrimdışı harita verisinin kurulu olmasını gerektirir."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Yumuşak Direksiyon"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3240,6 +3269,15 @@ msgstr "otomatik"
msgid "auto dark" msgid "auto dark"
msgstr "otomatik koyu" msgstr "otomatik koyu"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"otomatik\n"
"güncellemeler"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3345,16 +3383,10 @@ msgstr "duraktan yavaş kalkış (beta)"
msgid "cruise" msgid "cruise"
msgstr "hız sabitleyici" msgstr "hız sabitleyici"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "şu anda kapalı" msgstr "eğrilik denetleyicisi"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "şu anda açık"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3395,16 +3427,6 @@ msgstr "cihaz"
msgid "device ID" msgid "device ID"
msgstr "cihaz kimliği" msgstr "cihaz kimliği"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"güncellemeleri\n"
"kapat"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3484,15 +3506,6 @@ msgstr "dinamik"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"güncellemeleri\n"
"aç"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3784,6 +3797,7 @@ msgstr "direksiyon dokunuşu"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "kapalı" msgstr "kapalı"
@@ -3793,6 +3807,12 @@ msgstr "kapalı"
msgid "offline" msgid "offline"
msgstr "çevrimdışı" msgstr "çevrimdışı"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "açık"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4048,6 +4068,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "yavaş" msgstr "yavaş"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "yumuşak direksiyon"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -454,6 +454,16 @@ msgstr "Очистити кеш обраної моделі й завантаж
msgid "Close" msgid "Close"
msgstr "Закрити" msgstr "Закрити"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr ""
"Замикає контур керма на автомобілях MEB і MQB Evo. IQ.Pilot коригує "
"команду керування за кривизною, яку автомобіль реально тримає, замість "
"того щоб надсилати заплановану кривизну напряму."
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -585,6 +595,11 @@ msgstr "Круїз"
msgid "Current Version" msgid "Current Version"
msgstr "Поточна версія" msgstr "Поточна версія"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "Регулятор кривизни"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1590,6 +1605,15 @@ msgstr "менше випередження"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "Планування поворотів на низькій швидкості" msgstr "Планування поворотів на низькій швидкості"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr ""
"Пропускає заплановану кривизну через фільтр низьких частот, перш ніж вона "
"дійде до рейки, на автомобілях MEB і MQB Evo, що гасить бічне коливання. "
"Для цих машин увімкнено типово."
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2590,6 +2614,11 @@ msgstr ""
"Показує назву поточної дороги над видом дороги.<br>Потребує встановлених " "Показує назву поточної дороги над видом дороги.<br>Потребує встановлених "
"офлайн-карт для вашого регіону." "офлайн-карт для вашого регіону."
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "Плавне кермування"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3249,6 +3278,15 @@ msgstr "авто"
msgid "auto dark" msgid "auto dark"
msgstr "авто темний" msgstr "авто темний"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"автоматичні\n"
"оновлення"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3354,16 +3392,10 @@ msgstr "рушання з місця (бета)"
msgid "cruise" msgid "cruise"
msgstr "круїз" msgstr "круїз"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "зараз вимкнено" msgstr "регулятор кривизни"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "зараз увімкнено"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3404,16 +3436,6 @@ msgstr "пристрій"
msgid "device ID" msgid "device ID"
msgstr "ID пристрою" msgstr "ID пристрою"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"вимкнути\n"
"оновлення"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3493,15 +3515,6 @@ msgstr "динамічний"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"увімкнути\n"
"оновлення"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3793,6 +3806,7 @@ msgstr "поштовх керма"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "вимк." msgstr "вимк."
@@ -3802,6 +3816,12 @@ msgstr "вимк."
msgid "offline" msgid "offline"
msgstr "офлайн" msgstr "офлайн"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "увімк."
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -4057,6 +4077,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "повільно" msgstr "повільно"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "плавне кермування"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -436,6 +436,13 @@ msgstr "清除所选模型的缓存并重新下载?"
msgid "Close" msgid "Close"
msgstr "关闭" msgstr "关闭"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr "在 MEB 和 MQB Evo 车型上闭环控制转向。IQ.Pilot 会根据车辆实际保持的曲率修正转向指令,而不是直接下发规划的曲率。"
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -558,6 +565,11 @@ msgstr "巡航"
msgid "Current Version" msgid "Current Version"
msgstr "当前版本" msgstr "当前版本"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "曲率控制器"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1506,6 +1518,12 @@ msgstr "提前量减小"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "低速转弯规划" msgstr "低速转弯规划"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr "在 MEB 和 MQB Evo 车型上,规划的曲率送到转向机之前先经过低通滤波,抑制横向摆动。这些车型默认开启。"
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2459,6 +2477,11 @@ msgid ""
"data for your region to be installed." "data for your region to be installed."
msgstr "在驾驶画面上显示当前道路名称。<br>需要安装你所在地区的离线地图数据。" msgstr "在驾驶画面上显示当前道路名称。<br>需要安装你所在地区的离线地图数据。"
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "平滑转向"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3079,6 +3102,15 @@ msgstr "自动"
msgid "auto dark" msgid "auto dark"
msgstr "自动变暗" msgstr "自动变暗"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"自动\n"
"更新"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3184,16 +3216,10 @@ msgstr "静止起步蠕行Beta"
msgid "cruise" msgid "cruise"
msgstr "巡航" msgstr "巡航"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "当前已关闭" msgstr "曲率控制器"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "当前已开启"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3234,16 +3260,6 @@ msgstr "设备"
msgid "device ID" msgid "device ID"
msgstr "设备 ID" msgstr "设备 ID"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"关闭\n"
"更新"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3323,15 +3339,6 @@ msgstr "动态"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"开启\n"
"更新"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3623,6 +3630,7 @@ msgstr "轻推方向盘"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "关闭" msgstr "关闭"
@@ -3632,6 +3640,12 @@ msgstr "关闭"
msgid "offline" msgid "offline"
msgstr "离线" msgstr "离线"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "开启"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -3887,6 +3901,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "慢" msgstr "慢"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "平滑转向"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -436,6 +436,13 @@ msgstr "清除所選模型的快取並重新下載?"
msgid "Close" msgid "Close"
msgstr "關閉" msgstr "關閉"
#: iqpilot/ui/layouts/settings/iq_panels.py:2245
msgid ""
"Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its "
"steering command against the curvature the car is actually holding, "
"instead of sending the planned curvature straight through."
msgstr "在 MEB 與 MQB Evo 車型上閉環控制轉向。IQ.Pilot 會依據車輛實際維持的曲率修正轉向指令,而非直接送出規劃的曲率。"
#: openpilot/selfdrive/ui/layouts/routes.py:174 #: openpilot/selfdrive/ui/layouts/routes.py:174
#, python-brace-format #, python-brace-format
msgid "Cloud" msgid "Cloud"
@@ -558,6 +565,11 @@ msgstr "巡航"
msgid "Current Version" msgid "Current Version"
msgstr "目前版本" msgstr "目前版本"
#: iqpilot/ui/layouts/settings/iq_panels.py:2288
#, python-brace-format
msgid "Curvature Controller"
msgstr "曲率控制器"
#: iqpilot/ui/layouts/settings/iq_panels.py:412 #: iqpilot/ui/layouts/settings/iq_panels.py:412
#: iqpilot/ui/layouts/settings/iq_panels.py:449 #: iqpilot/ui/layouts/settings/iq_panels.py:449
#, python-brace-format #, python-brace-format
@@ -1506,6 +1518,12 @@ msgstr "提前量減少"
msgid "Low-Speed Turn Planning" msgid "Low-Speed Turn Planning"
msgstr "低速轉彎規劃" msgstr "低速轉彎規劃"
#: iqpilot/ui/layouts/settings/iq_panels.py:2249
msgid ""
"Low-pass the planned curvature before it reaches the rack on MEB and MQB "
"Evo vehicles, which damps lateral wobble. On by default for these cars."
msgstr "在 MEB 與 MQB Evo 車型上,規劃的曲率送到轉向機之前先經過低通濾波,抑制橫向擺動。這些車型預設開啟。"
#: iqpilot/ui/layouts/settings/iq_panels.py:2643 #: iqpilot/ui/layouts/settings/iq_panels.py:2643
#, python-brace-format #, python-brace-format
msgid "MANUAL" msgid "MANUAL"
@@ -2459,6 +2477,11 @@ msgid ""
"data for your region to be installed." "data for your region to be installed."
msgstr "在行車畫面上顯示目前的道路名稱。<br>需要安裝你所在區域的離線地圖資料。" msgstr "在行車畫面上顯示目前的道路名稱。<br>需要安裝你所在區域的離線地圖資料。"
#: iqpilot/ui/layouts/settings/iq_panels.py:2300
#, python-brace-format
msgid "Smooth Steering"
msgstr "平滑轉向"
#: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106 #: openpilot/selfdrive/ui/widgets/offroad_alerts.py:106
#, python-brace-format #, python-brace-format
msgid "Snooze Update" msgid "Snooze Update"
@@ -3081,6 +3104,15 @@ msgstr "自動"
msgid "auto dark" msgid "auto dark"
msgstr "自動變暗" msgstr "自動變暗"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#, python-brace-format
msgid ""
"automatic\n"
"updates"
msgstr ""
"自動\n"
"更新"
#: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405 #: openpilot/selfdrive/ui/mici/layouts/onboarding.py:405
#, python-brace-format #, python-brace-format
msgid "back" msgid "back"
@@ -3186,16 +3218,10 @@ msgstr "靜止起步潛行Beta"
msgid "cruise" msgid "cruise"
msgstr "巡航" msgstr "巡航"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:83
#, python-brace-format #, python-brace-format
msgid "currently off" msgid "curvature controller"
msgstr "目前已關閉" msgstr "曲率控制器"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:339
#, python-brace-format
msgid "currently on"
msgstr "目前已開啟"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:94
#, python-brace-format #, python-brace-format
@@ -3236,16 +3262,6 @@ msgstr "裝置"
msgid "device ID" msgid "device ID"
msgstr "裝置 ID" msgstr "裝置 ID"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"disable\n"
"updates"
msgstr ""
"關閉\n"
"更新"
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:56
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:190
#: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199 #: openpilot/selfdrive/ui/mici/layouts/settings/network/network_layout.py:199
@@ -3325,15 +3341,6 @@ msgstr "動態"
msgid "eSIM" msgid "eSIM"
msgstr "eSIM" msgstr "eSIM"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid ""
"enable\n"
"updates"
msgstr ""
"開啟\n"
"更新"
#: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15 #: openpilot/selfdrive/ui/mici/layouts/settings/dashcam.py:15
#, python-brace-format #, python-brace-format
msgid "enable dashcam" msgid "enable dashcam"
@@ -3625,6 +3632,7 @@ msgstr "輕推方向盤"
#: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87 #: openpilot/selfdrive/ui/mici/layouts/settings/cruise.py:87
#: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75 #: openpilot/selfdrive/ui/mici/layouts/settings/steering.py:75
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76 #: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:76
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format #, python-brace-format
msgid "off" msgid "off"
msgstr "關閉" msgstr "關閉"
@@ -3634,6 +3642,12 @@ msgstr "關閉"
msgid "offline" msgid "offline"
msgstr "離線" msgstr "離線"
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:324
#: openpilot/selfdrive/ui/mici/layouts/settings/software.py:338
#, python-brace-format
msgid "on"
msgstr "開啟"
#: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146 #: openpilot/selfdrive/ui/mici/layouts/settings/device.py:146
#, python-brace-format #, python-brace-format
msgid "online" msgid "online"
@@ -3889,6 +3903,11 @@ msgstr ""
msgid "slow" msgid "slow"
msgstr "慢" msgstr "慢"
#: openpilot/selfdrive/ui/mici/layouts/settings/vehicle.py:84
#, python-brace-format
msgid "smooth steering"
msgstr "平滑轉向"
#: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107 #: openpilot/selfdrive/ui/mici/layouts/settings/settings.py:107
#, python-brace-format #, python-brace-format
msgid "software" msgid "software"

View File

@@ -21,6 +21,19 @@ GuidanceState = custom.AlwaysOnLateral.AlwaysOnLateralState
ONROAD_BRIGHTNESS_TIMER_PAUSED = -1 ONROAD_BRIGHTNESS_TIMER_PAUSED = -1
def log_param_from_bytes(params: Params, key: str, schema):
# a capnp param written by anything other than the daemon that owns it takes the whole UI
# down at import time, and the UI cannot repair it -- read it defensively and carry on
dat = params.get(key)
if not dat:
return None
try:
return messaging.log_from_bytes(dat, schema)
except Exception:
cloudlog.exception(f"ui: ignoring malformed {key}")
return None
class OnroadTimerStatus(Enum): class OnroadTimerStatus(Enum):
NONE = 0 NONE = 0
PAUSE = 1 PAUSE = 1
@@ -158,9 +171,9 @@ class IQUIState:
} }
def update_params(self) -> None: def update_params(self) -> None:
CP_IQ_bytes = self.params.get("IQCarParamsPersistentV2") CP_IQ = log_param_from_bytes(self.params, "IQCarParamsPersistentV2", custom.IQCarParams)
if CP_IQ_bytes is not None: if CP_IQ is not None:
self.CP_IQ = messaging.log_from_bytes(CP_IQ_bytes, custom.IQCarParams) self.CP_IQ = CP_IQ
for attr, (key, kind) in self._PARAM_MIRROR.items(): for attr, (key, kind) in self._PARAM_MIRROR.items():
if kind == "bool": if kind == "bool":
@@ -412,9 +425,9 @@ class UIState(IQUIState):
self._started_prev = self.started self._started_prev = self.started
def update_params(self) -> None: def update_params(self) -> None:
CP_bytes = self.params.get("CarParamsPersistent") CP = log_param_from_bytes(self.params, "CarParamsPersistent", car.CarParams)
if CP_bytes is not None: if CP is not None:
self.CP = messaging.log_from_bytes(CP_bytes, car.CarParams) self.CP = CP
if self.CP.alphaLongitudinalAvailable: if self.CP.alphaLongitudinalAvailable:
self.has_longitudinal_control = self.params.get_bool("AlphaLongitudinalEnabled") self.has_longitudinal_control = self.params.get_bool("AlphaLongitudinalEnabled")
else: else:

View File

@@ -7,6 +7,7 @@ from iqpilot.system.updated.updated import Updater, display_commit_date
def test_display_commit_date(): def test_display_commit_date():
assert display_commit_date("'1786378834 2026-08-10 11:20:34 -0500'") == "2026-08-10 11:20:34" assert display_commit_date("'1786378834 2026-08-10 11:20:34 -0500'") == "2026-08-10 11:20:34"
assert display_commit_date("1786378834 2026-08-10 11:20:34 -0500") == "2026-08-10 11:20:34" assert display_commit_date("1786378834 2026-08-10 11:20:34 -0500") == "2026-08-10 11:20:34"
assert display_commit_date("'1786378834 2026-08-10 11:20:34 -0500'\n") == "2026-08-10 11:20:34"
assert display_commit_date("Jul 02") == "Jul 02" assert display_commit_date("Jul 02") == "Jul 02"

View File

@@ -76,6 +76,7 @@ def has_git_repo(path: str) -> bool:
def display_commit_date(value: str) -> str: def display_commit_date(value: str) -> str:
value = value.strip()
match = re.fullmatch(r"'?\d+ (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) [+-]\d{4}'?", value) match = re.fullmatch(r"'?\d+ (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) [+-]\d{4}'?", value)
return match.group(1) if match else value.strip("'") return match.group(1) if match else value.strip("'")
@@ -479,11 +480,28 @@ def prepare_environment() -> bool:
return False return False
def publish_running_version(params: Params) -> None:
try:
updater = Updater()
release_notes = parse_release_notes(BASEDIR)
params.put("UpdaterState", "idle")
params.put("UpdaterTargetBranch", updater.target_branch)
params.put("UpdaterCurrentDescription", updater.running_description)
params.put("UpdaterCurrentReleaseNotes", release_notes)
params.put("UpdaterNewDescription", updater.running_description)
params.put("UpdaterNewReleaseNotes", release_notes)
params.put_bool("UpdaterFetchAvailable", False)
params.put_bool("UpdateAvailable", False)
except Exception:
cloudlog.exception("updater: failed to publish running version")
def main() -> None: def main() -> None:
params = Params() params = Params()
if params.get_bool("DisableUpdates"): if params.get_bool("DisableUpdates"):
cloudlog.warning("updates are disabled by the DisableUpdates param") cloudlog.warning("updates are disabled by the DisableUpdates param")
publish_running_version(params)
exit(0) exit(0)
with open(LOCK_FILE, 'w') as ov_lock_fd: with open(LOCK_FILE, 'w') as ov_lock_fd:

View File

@@ -2242,6 +2242,14 @@ DESCRIPTIONS = {
'iqMqbSteeringLockout': tr_noop( 'iqMqbSteeringLockout': tr_noop(
'Enable MQB steering lockout handling on Volkswagen MQB vehicles with low speed LKAS faults.' 'Enable MQB steering lockout handling on Volkswagen MQB vehicles with low speed LKAS faults.'
), ),
'EnableCurvatureController': tr_noop(
'Close the steering loop on MEB and MQB Evo vehicles. IQ.Pilot corrects its steering command against '
'the curvature the car is actually holding, instead of sending the planned curvature straight through.'
),
'EnableSmoothSteer': tr_noop(
'Low-pass the planned curvature before it reaches the rack on MEB and MQB Evo vehicles, which damps '
'lateral wobble. On by default for these cars.'
),
} }
class VolkswagenSettings(BrandPanel): class VolkswagenSettings(BrandPanel):
@@ -2280,7 +2288,24 @@ class VolkswagenSettings(BrandPanel):
enabled=lambda: not ui_state.engaged, enabled=lambda: not ui_state.engaged,
) )
self.items = [self.pq_hca_toggle, self.lateral_when_long_unavailable, self.mqb_acc_resume, self.mqb_steering_lockout] self.curvature_controller = toggle_item(
lambda: tr("Curvature Controller"),
description=lambda: tr(DESCRIPTIONS["EnableCurvatureController"]),
initial_state=ui_state.params.get_bool("EnableCurvatureController"),
callback=self._on_curvature_controller,
enabled=lambda: not ui_state.engaged,
)
self.smooth_steer = toggle_item(
lambda: tr("Smooth Steering"),
description=lambda: tr(DESCRIPTIONS["EnableSmoothSteer"]),
initial_state=ui_state.params.get_bool("EnableSmoothSteer"),
callback=self._on_smooth_steer,
enabled=lambda: not ui_state.engaged,
)
self.items = [self.pq_hca_toggle, self.lateral_when_long_unavailable, self.mqb_acc_resume, self.mqb_steering_lockout,
self.curvature_controller, self.smooth_steer]
def _flags(self) -> VolkswagenFlags: def _flags(self) -> VolkswagenFlags:
bundle = ui_state.params.get("CarPlatformBundle") bundle = ui_state.params.get("CarPlatformBundle")
@@ -2305,6 +2330,9 @@ class VolkswagenSettings(BrandPanel):
def _supports_lateral_when_faulted(self) -> bool: def _supports_lateral_when_faulted(self) -> bool:
return not bool(self._flags() & VolkswagenFlags.MLB) return not bool(self._flags() & VolkswagenFlags.MLB)
def _is_curvature_car(self) -> bool:
return bool(self._flags() & (VolkswagenFlags.MEB | VolkswagenFlags.MQB_EVO))
def _on_pq_hca_toggle(self, state: bool): def _on_pq_hca_toggle(self, state: bool):
ui_state.params.put_bool("pqhca5or7Toggle", state) ui_state.params.put_bool("pqhca5or7Toggle", state)
@@ -2317,12 +2345,21 @@ class VolkswagenSettings(BrandPanel):
def _on_mqb_steering_lockout(self, state: bool): def _on_mqb_steering_lockout(self, state: bool):
ui_state.params.put_bool("iqMqbSteeringLockout", state) ui_state.params.put_bool("iqMqbSteeringLockout", state)
def _on_curvature_controller(self, state: bool):
ui_state.params.put_bool("EnableCurvatureController", state)
def _on_smooth_steer(self, state: bool):
ui_state.params.put_bool("EnableSmoothSteer", state)
def update_settings(self): def update_settings(self):
self.pq_hca_toggle.set_visible(self._uses_hca_status_toggle()) self.pq_hca_toggle.set_visible(self._uses_hca_status_toggle())
self.lateral_when_long_unavailable.set_visible(self._supports_lateral_when_faulted()) self.lateral_when_long_unavailable.set_visible(self._supports_lateral_when_faulted())
is_mqb = self._is_mqb() is_mqb = self._is_mqb()
self.mqb_acc_resume.set_visible(is_mqb) self.mqb_acc_resume.set_visible(is_mqb)
self.mqb_steering_lockout.set_visible(is_mqb) self.mqb_steering_lockout.set_visible(is_mqb)
is_curvature_car = self._is_curvature_car()
self.curvature_controller.set_visible(is_curvature_car)
self.smooth_steer.set_visible(is_curvature_car)
_REGISTRY: dict[str, type[BrandPanel]] = { _REGISTRY: dict[str, type[BrandPanel]] = {
"hyundai": HyundaiSettings, "hyundai": HyundaiSettings,