mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-11 12:22:14 +08:00
Hey Comma
This commit is contained in:
@@ -15,6 +15,7 @@ ACTION_OPTIONS = [
|
||||
{"id": 5, "name": "Toggle Experimental", "requires_longitudinal": True},
|
||||
{"id": 6, "name": "Toggle Traffic", "requires_longitudinal": True},
|
||||
{"id": 7, "name": "Toggle Switchback"},
|
||||
{"id": 8, "name": "Create Bookmark"},
|
||||
]
|
||||
ACTION_NAMES = [option["name"] for option in ACTION_OPTIONS]
|
||||
ACTION_IDS = {option["name"]: option["id"] for option in ACTION_OPTIONS}
|
||||
|
||||
@@ -126,6 +126,7 @@ BUTTON_FUNCTIONS = {
|
||||
"EXPERIMENTAL_MODE": 5,
|
||||
"TRAFFIC_MODE": 6,
|
||||
"SWITCHBACK_MODE": 7,
|
||||
"BOOKMARK": 8,
|
||||
}
|
||||
|
||||
DEVELOPER_SIDEBAR_METRICS = {
|
||||
@@ -766,6 +767,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_distance = toggle.openpilot_longitudinal and distance_button_control == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_distance = distance_button_control == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_distance = toggle.openpilot_longitudinal and distance_button_control == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_distance = distance_button_control == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
distance_button_control_long = self.get_value("LongDistanceButtonControl", cast=float)
|
||||
toggle.experimental_mode_via_distance_long = toggle.openpilot_longitudinal and distance_button_control_long == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -776,6 +778,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_distance_long = toggle.openpilot_longitudinal and distance_button_control_long == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_distance_long = distance_button_control_long == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_distance_long = toggle.openpilot_longitudinal and distance_button_control_long == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_distance_long = distance_button_control_long == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
distance_button_control_very_long = self.get_value("VeryLongDistanceButtonControl", cast=float)
|
||||
toggle.experimental_mode_via_distance_very_long = toggle.openpilot_longitudinal and distance_button_control_very_long == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -786,6 +789,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_distance_very_long = toggle.openpilot_longitudinal and distance_button_control_very_long == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_distance_very_long = distance_button_control_very_long == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_distance_very_long = toggle.openpilot_longitudinal and distance_button_control_very_long == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_distance_very_long = distance_button_control_very_long == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
toggle.frogsgomoo_tweak = self.get_value("FrogsGoMoosTweak", condition=toggle.openpilot_longitudinal and toggle.car_make == "toyota")
|
||||
toggle.stoppingDecelRate = 0.01 if toggle.frogsgomoo_tweak else toggle.stoppingDecelRate
|
||||
@@ -838,6 +842,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_lkas = toggle.openpilot_longitudinal and lkas_button_control == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_lkas = lkas_button_control == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_lkas = toggle.openpilot_longitudinal and lkas_button_control == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_lkas = lkas_button_control == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
has_canfd_media_buttons = toggle.car_make == "hyundai" and bool(CP.flags & HyundaiFlags.CANFD)
|
||||
mode_button_control = self.get_value("ModeButtonControl", cast=float, condition=has_canfd_media_buttons)
|
||||
@@ -849,6 +854,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_mode = toggle.openpilot_longitudinal and mode_button_control == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_mode = mode_button_control == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_mode = toggle.openpilot_longitudinal and mode_button_control == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_mode = mode_button_control == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
mode_button_control_long = self.get_value("LongModeButtonControl", cast=float, condition=has_canfd_media_buttons)
|
||||
toggle.experimental_mode_via_mode_long = toggle.openpilot_longitudinal and mode_button_control_long == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -859,6 +865,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_mode_long = toggle.openpilot_longitudinal and mode_button_control_long == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_mode_long = mode_button_control_long == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_mode_long = toggle.openpilot_longitudinal and mode_button_control_long == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_mode_long = mode_button_control_long == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
mode_button_control_very_long = self.get_value("VeryLongModeButtonControl", cast=float, condition=has_canfd_media_buttons)
|
||||
toggle.experimental_mode_via_mode_very_long = toggle.openpilot_longitudinal and mode_button_control_very_long == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -869,6 +876,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_mode_very_long = toggle.openpilot_longitudinal and mode_button_control_very_long == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_mode_very_long = mode_button_control_very_long == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_mode_very_long = toggle.openpilot_longitudinal and mode_button_control_very_long == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_mode_very_long = mode_button_control_very_long == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
star_button_control = self.get_value("StarButtonControl", cast=float, condition=has_canfd_media_buttons)
|
||||
toggle.experimental_mode_via_star = toggle.openpilot_longitudinal and star_button_control == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -879,6 +887,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_star = toggle.openpilot_longitudinal and star_button_control == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_star = star_button_control == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_star = toggle.openpilot_longitudinal and star_button_control == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_star = star_button_control == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
star_button_control_long = self.get_value("LongStarButtonControl", cast=float, condition=has_canfd_media_buttons)
|
||||
toggle.experimental_mode_via_star_long = toggle.openpilot_longitudinal and star_button_control_long == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -889,6 +898,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_star_long = toggle.openpilot_longitudinal and star_button_control_long == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_star_long = star_button_control_long == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_star_long = toggle.openpilot_longitudinal and star_button_control_long == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_star_long = star_button_control_long == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
|
||||
star_button_control_very_long = self.get_value("VeryLongStarButtonControl", cast=float, condition=has_canfd_media_buttons)
|
||||
toggle.experimental_mode_via_star_very_long = toggle.openpilot_longitudinal and star_button_control_very_long == BUTTON_FUNCTIONS["EXPERIMENTAL_MODE"]
|
||||
@@ -899,6 +909,7 @@ class StarPilotVariables:
|
||||
toggle.personality_profile_via_star_very_long = toggle.openpilot_longitudinal and star_button_control_very_long == BUTTON_FUNCTIONS["PERSONALITY_PROFILE"]
|
||||
toggle.switchback_mode_via_star_very_long = star_button_control_very_long == BUTTON_FUNCTIONS["SWITCHBACK_MODE"]
|
||||
toggle.traffic_mode_via_star_very_long = toggle.openpilot_longitudinal and star_button_control_very_long == BUTTON_FUNCTIONS["TRAFFIC_MODE"]
|
||||
toggle.bookmark_via_star_very_long = star_button_control_very_long == BUTTON_FUNCTIONS["BOOKMARK"]
|
||||
toggle.has_canfd_media_buttons = has_canfd_media_buttons
|
||||
|
||||
toggle.lock_doors_timer = self.get_value("LockDoorsTimer", cast=float, condition=(toggle.car_make == "toyota"))
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
import cereal.messaging as messaging
|
||||
|
||||
from opendbc.safety import ALTERNATIVE_EXPERIENCE
|
||||
from openpilot.common.params import Params
|
||||
from openpilot.selfdrive.car.cruise import CRUISE_LONG_PRESS, ButtonType
|
||||
@@ -18,6 +20,7 @@ class StarPilotCard:
|
||||
|
||||
self.params = Params(return_defaults=True)
|
||||
self.params_memory = Params(memory=True)
|
||||
self.pm = messaging.PubMaster(["userBookmark"])
|
||||
|
||||
self.accel_pressed = False
|
||||
self.always_on_lateral_allowed = False
|
||||
@@ -47,6 +50,8 @@ class StarPilotCard:
|
||||
def handle_button_event(self, key, sm, starpilot_toggles):
|
||||
if sm["carControl"].longActive and getattr(starpilot_toggles, f"experimental_mode_via_{key}"):
|
||||
self.handle_experimental_mode(sm, starpilot_toggles)
|
||||
elif getattr(starpilot_toggles, f"bookmark_via_{key}"):
|
||||
self.handle_bookmark()
|
||||
elif getattr(starpilot_toggles, f"force_coast_via_{key}"):
|
||||
self.force_coast = not self.force_coast
|
||||
elif getattr(starpilot_toggles, f"pause_lateral_via_{key}"):
|
||||
@@ -59,6 +64,10 @@ class StarPilotCard:
|
||||
elif sm["carControl"].longActive and getattr(starpilot_toggles, f"traffic_mode_via_{key}"):
|
||||
self.traffic_mode_enabled = not self.traffic_mode_enabled
|
||||
|
||||
def handle_bookmark(self):
|
||||
msg = messaging.new_message("userBookmark", valid=True)
|
||||
self.pm.send("userBookmark", msg)
|
||||
|
||||
def handle_experimental_mode(self, sm, starpilot_toggles):
|
||||
if getattr(starpilot_toggles, "safe_mode", False):
|
||||
return
|
||||
|
||||
@@ -2258,6 +2258,10 @@
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2299,6 +2303,10 @@
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2340,6 +2348,10 @@
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2381,6 +2393,280 @@
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "ModeButtonControl",
|
||||
"label": "Mode Button (Short Press)",
|
||||
"description": "Action performed when the \"Mode\" button is pressed. Hyundai CAN-FD only.",
|
||||
"data_type": "int",
|
||||
"ui_type": "dropdown",
|
||||
"options": [
|
||||
{
|
||||
"value": 0,
|
||||
"label": "No Action"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"label": "Change Personality"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"label": "Force Coast"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"label": "Pause Steering"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"label": "Pause Accel/Brake"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"label": "Toggle Experimental"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"label": "Toggle Traffic"
|
||||
},
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "LongModeButtonControl",
|
||||
"label": "Mode Button (Long Press)",
|
||||
"description": "Action performed when the \"Mode\" button is pressed for more than 0.5 seconds. Hyundai CAN-FD only.",
|
||||
"data_type": "int",
|
||||
"ui_type": "dropdown",
|
||||
"options": [
|
||||
{
|
||||
"value": 0,
|
||||
"label": "No Action"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"label": "Change Personality"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"label": "Force Coast"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"label": "Pause Steering"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"label": "Pause Accel/Brake"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"label": "Toggle Experimental"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"label": "Toggle Traffic"
|
||||
},
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "VeryLongModeButtonControl",
|
||||
"label": "Mode Button (Extra Long Press)",
|
||||
"description": "Action performed when the \"Mode\" button is pressed for more than 2.5 seconds. Hyundai CAN-FD only.",
|
||||
"data_type": "int",
|
||||
"ui_type": "dropdown",
|
||||
"options": [
|
||||
{
|
||||
"value": 0,
|
||||
"label": "No Action"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"label": "Change Personality"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"label": "Force Coast"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"label": "Pause Steering"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"label": "Pause Accel/Brake"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"label": "Toggle Experimental"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"label": "Toggle Traffic"
|
||||
},
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "StarButtonControl",
|
||||
"label": "Star Button (Short Press)",
|
||||
"description": "Action performed when the \"Star\" button is pressed. Hyundai CAN-FD only.",
|
||||
"data_type": "int",
|
||||
"ui_type": "dropdown",
|
||||
"options": [
|
||||
{
|
||||
"value": 0,
|
||||
"label": "No Action"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"label": "Change Personality"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"label": "Force Coast"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"label": "Pause Steering"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"label": "Pause Accel/Brake"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"label": "Toggle Experimental"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"label": "Toggle Traffic"
|
||||
},
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "LongStarButtonControl",
|
||||
"label": "Star Button (Long Press)",
|
||||
"description": "Action performed when the \"Star\" button is pressed for more than 0.5 seconds. Hyundai CAN-FD only.",
|
||||
"data_type": "int",
|
||||
"ui_type": "dropdown",
|
||||
"options": [
|
||||
{
|
||||
"value": 0,
|
||||
"label": "No Action"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"label": "Change Personality"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"label": "Force Coast"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"label": "Pause Steering"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"label": "Pause Accel/Brake"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"label": "Toggle Experimental"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"label": "Toggle Traffic"
|
||||
},
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "VeryLongStarButtonControl",
|
||||
"label": "Star Button (Extra Long Press)",
|
||||
"description": "Action performed when the \"Star\" button is pressed for more than 2.5 seconds. Hyundai CAN-FD only.",
|
||||
"data_type": "int",
|
||||
"ui_type": "dropdown",
|
||||
"options": [
|
||||
{
|
||||
"value": 0,
|
||||
"label": "No Action"
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"label": "Change Personality"
|
||||
},
|
||||
{
|
||||
"value": 2,
|
||||
"label": "Force Coast"
|
||||
},
|
||||
{
|
||||
"value": 3,
|
||||
"label": "Pause Steering"
|
||||
},
|
||||
{
|
||||
"value": 4,
|
||||
"label": "Pause Accel/Brake"
|
||||
},
|
||||
{
|
||||
"value": 5,
|
||||
"label": "Toggle Experimental"
|
||||
},
|
||||
{
|
||||
"value": 6,
|
||||
"label": "Toggle Traffic"
|
||||
},
|
||||
{
|
||||
"value": 7,
|
||||
"label": "Toggle Switchback"
|
||||
},
|
||||
{
|
||||
"value": 8,
|
||||
"label": "Create Bookmark"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ QMap<int, QString> getWheelFunctionsMap() {
|
||||
{0, QObject::tr("No Action")},
|
||||
{3, QObject::tr("Pause Steering")},
|
||||
{7, QObject::tr("Toggle \"Switchback Mode\" On/Off")},
|
||||
{8, QObject::tr("Create Bookmark")},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user