mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-01 21:53:42 +08:00
ee5c1c4507
* allow re-regage
* bump opendbc
* bump panda
* apply pause/resume fix for hyundai (should do this in a separate PR)
* bump opendbc
* fix
* rename
* Fix?
* make sure to disengage for allow always cars
* fix
* combine
* more fix
* not needed
* check if engagement is from openpilot's state machine
* Rename
* fix panda safety
* fix
* no fake lfa button for @devtekve ;)
* fix non drive gear re-engage
* fix settings
* combine
* add replace method
* use replace
* remoev already checks if it exists
* fix
* group
* add todo
* reserve events
* cleaner
* hyundai: only allow for cars with lfa button
* sunnyParams
* make sure it's car only
* Move car-specific changes to opendbc
* no need
* bump opendbc
* more fixes
* no more available
* more!
* final?
* always emit user disable
* no longer needed
* move unit test
* add sunnypilot to unit tests
* bump opendbc
* use new cereal
* bump opendbc
* static analysis
* no unittest
* no need available
* UI border update
* show MADS updates
* Add TODO
* no longer needed
* fix changed events
* fix cluster enabled
* don't add pre enable if not long
* should use enabled
* enabled <-> active
* better format
* bump opendbc
* static analysis
* static analysis
* Rename test as collector was dying
* Show our overriding
* Revert "show MADS updates"
This reverts commit daf0ad62
Revert "fix changed events"
This reverts commit 31d8c97f
* ignoring reserved events
* adjusting creation delays
* back to stock
removing allow_cancel
* should be enabled
* revert
* silent lkas disable
* no need
* user disable tests
* just warning
* MUST REMOVE test process replay
* fix no entry
* fixme
* bump opendbc
* need this check
* cleanup
* allow entering paused state if no entry from disabled
* brake hold should apply to all
* in lists
* update unit test
* simpler
* unused
* same thing
* fix
* only mads in enabled state and long in disabled state
* unify silent enable
* do this for dlob
* bump submodules
* fix
* bump submodules
* bump opendbc
* less frequent
* more events
* fix
* allow no entry to paused for non-drive gears
* fix
* use cereal
* Revert "allow no entry to paused for non-drive gears"
This reverts commit 6d64a4dd9c6de5ad14ef1e88dbc3b6ad174232d8.
* allow in all
* Revert "allow in all"
This reverts commit 6375f1489176dc6c69cb7fa388676e482713f80a.
* should not be all!
* rename for clarity
* silent park brake
* flipped
* bump submodules
* Bump to latest mads-new panda
* bump panda
* more nissan
* bump panda
* bump msgq
* bump panda
* bump submodules
* bump opendbc
* bump opendbc
* improving the state
* Revert "PlayStation® model (#34133)"
This reverts commit 5160bee543.
* should be none
* bump panda
* bump opendbc
* Apply suggestions from code review
* bump panda
* bump ref panda
* add todo-sp
* bump panda ref
* bump more panda
* changing refs
* nuke nuke nuke
* use sunny's newer states
* bump with new panda
* bump panda
* Parse more flags from alt exp, more tests, hyundai main cruise allowed
* Parse more flags from alt exp, more tests, hyundai main cruise allowed
* missed
* mutation for controls allowed rising edge
* ford mutation
* license
* remove
* unused
* bump submodules
* use always allowed mads button alt exp
* fix
* whitelist jason's lastname to codespell
* test_processes: update ref logs to 82c0278
* bump submodules
* bump submodules
* bump submodules
* bump panda
* add controls mismatch lateral event
* Simplify lateral disengagement logic for MADS configuration
Reversed the conditional to align the logic with the `disengage_lateral_on_brake` parameter. This ensures that lateral disengagement behavior is more intuitive and matches the expected configuration. Improves code readability and reduces potential misconfigurations.
* remove unified engagement mode in panda
* controls allow should be allowed at all times
* squash! treat MADS button as user entry
* heartbeat for mads
* heartbeat mismatch exit control
* remove always allow mads button from alt
* move to safety_mads
* remove main cruise allowed from alt
* bump panda
* heartbeat engaged mads mismatch mutation test
* bump panda
* use mads the third panda
* ignore pre enable with mads
* only force exit if actually actuating
* use brake signal instead of pedal events when dlob is active
* fix tests
* fix panda tests
* bump panda
* new events to retain long blocks
* format
* uem: do not engage mads if long is engaged
* bump submodules
* fix not allowed engaged bug
* block uem from engaging
* flipped
* use different heartbeat check if dlob
* hard code to skip heartbeat check
* remove toyota lta status for lkas, causes weird behaviors
* block tesla
* bump panda
* bump to merged panda
* bump opendbc
* bump opendbc
* bump opendbc
* bump opendbc
* Apply suggestions from code review
* code ignore spells
* needs to be in carstate
* Bump opendbc
* Update MADS toggle descriptions for clarity.
Added notes to clarify behavior of the "MadsMainCruiseAllowed" setting, particularly its impact on vehicles without LFA/LKAS buttons. This ensures users are informed about potential implications when disabling this feature.
* Updating translations + Adding spanish
* Disengage Lateral on Brake -> Pause Lateral on Brake
* test_processes: update ref logs to dd41005
* Apply suggestions from code review
* fix mads button not allowed
* bump submodules
* bump submodule
* test_processes: update ref logs to 0a0b998
* has multiple lists
* Revert "has multiple lists"
This reverts commit a37c1d26feac02f63bfb86a08f9b6fb06b095cf1.
* base
* Reapply "has multiple lists"
This reverts commit d1cd8dcc815721a4113b26ab98ee2571c071e225.
* migrate mads toggles to sp panel
* this is why it keeps crashing
* house keeping
* more housekeeping
* more housekeeping
* don't show description by default (yet)
* reset to main panel when clicked away
* more
* some more with interactions
* don't stretch cause it looks weird with descriptions
* simpler to handle offroad transition
* some are toggleable while onroad
* remove unused event
* slight cleanup
* default to true for HKG main cruise toggle
* append to list after
* add Customize MADS to UI preview
* simpler
* move to sp list
* how tf was this removed
* update mads settings button on show event
* test_processes: update ref logs to efa9c32
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
127 lines
4.0 KiB
Python
Executable File
127 lines
4.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
from typing import Optional
|
|
|
|
|
|
class Service:
|
|
def __init__(self, should_log: bool, frequency: float, decimation: Optional[int] = None):
|
|
self.should_log = should_log
|
|
self.frequency = frequency
|
|
self.decimation = decimation
|
|
|
|
|
|
_services: dict[str, tuple] = {
|
|
# service: (should_log, frequency, qlog decimation (optional))
|
|
# note: the "EncodeIdx" packets will still be in the log
|
|
"gyroscope": (True, 104., 104),
|
|
"gyroscope2": (True, 100., 100),
|
|
"accelerometer": (True, 104., 104),
|
|
"accelerometer2": (True, 100., 100),
|
|
"magnetometer": (True, 25.),
|
|
"lightSensor": (True, 100., 100),
|
|
"temperatureSensor": (True, 2., 200),
|
|
"temperatureSensor2": (True, 2., 200),
|
|
"gpsNMEA": (True, 9.),
|
|
"deviceState": (True, 2., 1),
|
|
"touch": (True, 20., 1),
|
|
"can": (True, 100., 2053), # decimation gives ~3 msgs in a full segment
|
|
"controlsState": (True, 100., 10),
|
|
"selfdriveState": (True, 100., 10),
|
|
"pandaStates": (True, 10., 1),
|
|
"peripheralState": (True, 2., 1),
|
|
"radarState": (True, 20., 5),
|
|
"roadEncodeIdx": (False, 20., 1),
|
|
"liveTracks": (True, 20.),
|
|
"sendcan": (True, 100., 139),
|
|
"logMessage": (True, 0.),
|
|
"errorLogMessage": (True, 0., 1),
|
|
"liveCalibration": (True, 4., 4),
|
|
"liveTorqueParameters": (True, 4., 1),
|
|
"androidLog": (True, 0.),
|
|
"carState": (True, 100., 10),
|
|
"carControl": (True, 100., 10),
|
|
"carOutput": (True, 100., 10),
|
|
"longitudinalPlan": (True, 20., 10),
|
|
"driverAssistance": (True, 20., 20),
|
|
"procLog": (True, 0.5, 15),
|
|
"gpsLocationExternal": (True, 10., 10),
|
|
"gpsLocation": (True, 1., 1),
|
|
"ubloxGnss": (True, 10.),
|
|
"qcomGnss": (True, 2.),
|
|
"gnssMeasurements": (True, 10., 10),
|
|
"clocks": (True, 0.1, 1),
|
|
"ubloxRaw": (True, 20.),
|
|
"livePose": (True, 20., 4),
|
|
"liveParameters": (True, 20., 5),
|
|
"cameraOdometry": (True, 20., 10),
|
|
"thumbnail": (True, 0.2, 1),
|
|
"onroadEvents": (True, 1., 1),
|
|
"carParams": (True, 0.02, 1),
|
|
"roadCameraState": (True, 20., 20),
|
|
"driverCameraState": (True, 20., 20),
|
|
"driverEncodeIdx": (False, 20., 1),
|
|
"driverStateV2": (True, 20., 10),
|
|
"driverMonitoringState": (True, 20., 10),
|
|
"wideRoadEncodeIdx": (False, 20., 1),
|
|
"wideRoadCameraState": (True, 20., 20),
|
|
"drivingModelData": (True, 20., 10),
|
|
"modelV2": (True, 20.),
|
|
"managerState": (True, 2., 1),
|
|
"uploaderState": (True, 0., 1),
|
|
"navInstruction": (True, 1., 10),
|
|
"navRoute": (True, 0.),
|
|
"navThumbnail": (True, 0.),
|
|
"qRoadEncodeIdx": (False, 20.),
|
|
"userFlag": (True, 0., 1),
|
|
"microphone": (True, 10., 10),
|
|
|
|
# sunnypilot
|
|
"modelManagerSP": (False, 1., 1),
|
|
"selfdriveStateSP": (True, 100., 10),
|
|
|
|
# debug
|
|
"uiDebug": (True, 0., 1),
|
|
"testJoystick": (True, 0.),
|
|
"alertDebug": (True, 20., 5),
|
|
"roadEncodeData": (False, 20.),
|
|
"driverEncodeData": (False, 20.),
|
|
"wideRoadEncodeData": (False, 20.),
|
|
"qRoadEncodeData": (False, 20.),
|
|
"livestreamWideRoadEncodeIdx": (False, 20.),
|
|
"livestreamRoadEncodeIdx": (False, 20.),
|
|
"livestreamDriverEncodeIdx": (False, 20.),
|
|
"livestreamWideRoadEncodeData": (False, 20.),
|
|
"livestreamRoadEncodeData": (False, 20.),
|
|
"livestreamDriverEncodeData": (False, 20.),
|
|
"customReservedRawData0": (True, 0.),
|
|
"customReservedRawData1": (True, 0.),
|
|
"customReservedRawData2": (True, 0.),
|
|
}
|
|
SERVICE_LIST = {name: Service(*vals) for
|
|
idx, (name, vals) in enumerate(_services.items())}
|
|
|
|
|
|
def build_header():
|
|
h = ""
|
|
h += "/* THIS IS AN AUTOGENERATED FILE, PLEASE EDIT services.py */\n"
|
|
h += "#ifndef __SERVICES_H\n"
|
|
h += "#define __SERVICES_H\n"
|
|
|
|
h += "#include <map>\n"
|
|
h += "#include <string>\n"
|
|
|
|
h += "struct service { std::string name; bool should_log; int frequency; int decimation; };\n"
|
|
h += "static std::map<std::string, service> services = {\n"
|
|
for k, v in SERVICE_LIST.items():
|
|
should_log = "true" if v.should_log else "false"
|
|
decimation = -1 if v.decimation is None else v.decimation
|
|
h += ' { "%s", {"%s", %s, %d, %d}},\n' % \
|
|
(k, k, should_log, v.frequency, decimation)
|
|
h += "};\n"
|
|
|
|
h += "#endif\n"
|
|
return h
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(build_header())
|