From 601b8855f6959be1d3d04b0144db938788a62504 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Mon, 18 May 2026 12:58:14 -0500 Subject: [PATCH] redneck Hyundai --- cereal/custom.capnp | 2 + cereal/libcereal.a | Bin 613952 -> 614248 bytes common/libcommon.a | Bin 717184 -> 719024 bytes common/params_keys.h | 1 + common/params_pyx.so | Bin 771872 -> 771872 bytes .../opendbc/car/hyundai/carcontroller.py | 48 +++++++ opendbc_repo/opendbc/car/hyundai/carstate.py | 51 +++++--- .../opendbc/car/hyundai/fingerprints.py | 86 +++++++++++++ opendbc_repo/opendbc/car/hyundai/interface.py | 6 - .../opendbc/car/hyundai/tests/test_hyundai.py | 115 ++++++++++++----- opendbc_repo/opendbc/car/hyundai/values.py | 75 ++++++++++- opendbc_repo/opendbc/car/interfaces.py | 6 + .../opendbc/car/torque_data/substitute.toml | 9 ++ opendbc_repo/opendbc/safety/modes/hyundai.h | 89 ++++++++++++- .../opendbc/safety/modes/hyundai_canfd.h | 9 +- .../opendbc/safety/modes/hyundai_common.h | 31 +++++ .../opendbc/safety/tests/hyundai_common.py | 44 ++++++- .../safety/tests/libsafety/libsafety_py.py | 1 + .../opendbc/safety/tests/test_hyundai.py | 68 +++++++++- .../safety/tests/test_hyundai_canfd.py | 20 +++ selfdrive/car/card.py | 11 ++ selfdrive/car/redneck_cruise.py | 121 ++++++++++++++++++ selfdrive/car/tests/test_redneck_cruise.py | 85 ++++++++++++ .../settings/starpilot/longitudinal.py | 6 + selfdrive/ui/lib/starpilot_state.py | 2 + starpilot/common/starpilot_variables.py | 7 + 26 files changed, 815 insertions(+), 78 deletions(-) create mode 100644 selfdrive/car/redneck_cruise.py create mode 100644 selfdrive/car/tests/test_redneck_cruise.py diff --git a/cereal/custom.capnp b/cereal/custom.capnp index fd20cee92..54b825e59 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -59,6 +59,8 @@ struct StarPilotCarParams @0xaedffd8f31e7b55d { isHDA2 @4 :Bool; openpilotLongitudinalControlDisabled @5 :Bool; safetyConfigs @6 :List(SafetyConfig); + pcmCruiseSpeed @7 :Bool = true; + redneckCruiseAvailable @8 :Bool; struct SafetyConfig { safetyParam @0 :UInt16; diff --git a/cereal/libcereal.a b/cereal/libcereal.a index 7a1b02d1b7c8443eef8e1aee08f03e9338bbbcb5..fbedbfedafb60448629077e62d3266e57a2ee7d7 100644 GIT binary patch delta 3798 zcmZ8k4^ULc8Q=Hr-n(4|Jmmjj@eTn`nD93$5YR&=5e-r_QGo!tOG=D0ia<@HX%aCZ z)T9o@T-vYWqz+oOwo@G->Acj5C{`VGYzLe)1v70gOhz$UN=a%iOl$isZ`aYcGdH{Y z`+fU;yZe3nySsBAr%w!|w|6KVYKN`E-l28q9gYvF)@?7yEzE@jsd|oW^eTZJHIDB< zC{?G1znk_bN*^4!M3aNVy-yo0@6r?}qr^@$;vjlZ8ICiK9-+NVJ+47#iJk&q9Ma?9 z?cdVX@bo9PG-$u5E(oUGNYuV1ggghozo;g|u2MZwQxrn#z>|UVqa%(5Q2j5*0?m#_ z^MfNdVxVTO!wK(as7{zVNfY&Gw9Zr@b4*ErukYxwS~>!4!Ll1M={_8(M8WM45{n-q z#t6^0QXISz^xRB_T!+K1#0C3q#^{eDSf@a7z3MXjr>IwrXnB5ndD}}{zu)v!OA~az zu4F*eSvB6XwRvaLwryLtG&S!u=~XZ7+_|H9U7$IzrD;2&(D#|XI@t4~J?Ot}hwfhL z)plrv95v4L(nX4X0>@`5bnVeo40}HfrA*l=wh4cbr_W<3Z=xL0QOAJ<=rzsF| zoMuAyIXbPsis%IflfT4EEnH@c1^00p56y%0iavzYQ&9#k$kcUxE+OlqjOHOe*%(C# zjWG`WiRQ=Zb7BaIjDyKzG{yLOoW8H4p|FOHC38GpS) zKeK7~a9nGgnWE)NWJ5e5$MAy?c?AM9Y8FgQ(JXj=nqJg?jl?s?BVW-U+O&oQLiWSS zyY$Ce7Y@%r={Gn$i^ECyBM$W`94<_R#xQ+H_aqWhod}aS);8dHFTD0GTEB_Ieu$hw z>kn~QoMarDp{c4~l0-t+Z(wE<#TK?iVbm z>L25x6j^D6g)AH9gO@DQvbmZzltL;SYywE9*xBqSx%O&M&3iF$YZisAo_77i>E9S zemb9hpg)F0W|~nI!%`!a7HD;|pD4Ycc-XT_7y=%aGiMZ&%G*8-4tiL2?R;}ew&=W~ zHBuqw5+B3I!g2pRlkj3m^Y*sD>&z*>4YTzLydFHMEFo#1(}evIX8!@c9qz6X)+4=U zzgU$m`sEmw(-R9!phrZz8ExXHg&lvvyv-B#1JH-=)O{&%C6#3-oj2M0oBA0hnY+CJ z(Ti|XLzoTT5{37FC2$i*vCF=i<%r_9ose z_Y#H??#1^Ae965Oiy)Pz6}f|tgPV0iUK*P1DucCYXm(AQ$&)4HeRH!<;Q*Q?6_%UJ zEAUzK_5-|6PG5&Xq+K&&wR@H%P|; zULoB4Md10uUIZm;=a}{pI)tUjk;yiB&yiUwTL6DOI_rpjAruxNa;L8k5^$WsGX5k1vbndnd@)om% zXy3D@_n!;1QfNgOS{5_v>J*qvNQ9`l(Ez-=81vi(gJ`?wJz*v{vKL<=kKp{C=~`A% zt-uco`zn(rev$v0Z6;7H>Y`BK6T%+TKHJubnm)08cA7;(CQi}?F)bFz>RyNr`G)p2 z!y8_f4MSd(*mGV+*WMGB@`SfV^1>~q%dqhL2Z8IN#^h1kMR82E!u%z8BN0%xge52? zM(q;zcO5mcD3|46w>6i&jMDfypY=j?9(y?{jHSbyTb!2vcEAe72Yon?tyV_iRvsFU zLQ+1?Dj<;0a==}{sN#j_0-iXrb-At%2J|91>XAkdnr1V`dKKhT{@L`wFM8u7%tlY{Bzk43|NB5tf)AT8ps6 zc8O;pmli`&5gtPdZpcDQJZ!+kcB6k;Tq?qP;(i2@S?gmgX=Nmg# z_`Nmo8|2qW{SFBQmb}En7F_B&jeK}Ne(;oF)=}3tlwgTr{|5HT3(!}BS#N{O$a