mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-19 08:53:54 +08:00
* 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 commitdaf0ad62Revert "fix changed events" This reverts commit31d8c97f* 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 commit6d64a4dd9c. * allow in all * Revert "allow in all" This reverts commit6375f14891. * 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 commit5160bee543. * 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 to82c0278* 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 todd41005* Apply suggestions from code review * fix mads button not allowed * bump submodules * bump submodule * test_processes: update ref logs to0a0b998* has multiple lists * Revert "has multiple lists" This reverts commita37c1d26fe. * base * Reapply "has multiple lists" This reverts commitd1cd8dcc81. * 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 toefa9c32--------- 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())
|