wip
This commit is contained in:
@@ -1,5 +1,38 @@
|
|||||||
|
|
||||||
|
- Test if activation fix works for op long, submit to frog maintain
|
||||||
|
- no lateral on turn signal - only enforce if model curvature > 10 degrees, hands on wheel, or wheel override (maybe curve not necessary?)
|
||||||
|
|
||||||
|
- disable all turn signal output commands - they are causing issues
|
||||||
|
|
||||||
|
- test "create_acc_cancel" on canfd on cc engaged on boot
|
||||||
|
|
||||||
|
- work on /data/userspace/qtwaylandbuild/qt5 and see if we can get it to include webview
|
||||||
|
- try extract boot image, maybe we can replace the boot logo
|
||||||
|
|
||||||
- Test and fix activation on button + brakes
|
- Test and fix activation on button + brakes
|
||||||
|
|
||||||
|
- Create clearpilot process. manages behaviors.
|
||||||
|
|
||||||
|
- experiment with reduced jerk values
|
||||||
|
|
||||||
|
- if thermal warning on dash, do ghost on a beach with sun image until cooled down
|
||||||
|
|
||||||
|
- test toggle stop all canbus output
|
||||||
|
|
||||||
|
- make functions
|
||||||
|
--- get_curvature
|
||||||
|
--- get_wheel_angle
|
||||||
|
--- get_distance_to_left_lane
|
||||||
|
--- get_distance_to_right_lane
|
||||||
|
--- distance traveled for lane change
|
||||||
|
|
||||||
|
behaviors:
|
||||||
|
- lane change wrong way reenable lateral
|
||||||
|
- blinker signal wheel angle minor enable lateral
|
||||||
|
- wheel angle sharp only engage lateral if over lane edge unless hands not on wheel
|
||||||
|
|
||||||
|
- debug mode activated bu lkas
|
||||||
|
|
||||||
- If possible, debug what happened to frogpilot process on may 4th
|
- If possible, debug what happened to frogpilot process on may 4th
|
||||||
- See where disk free is going with NCDU and add smarter log rotation
|
- See where disk free is going with NCDU and add smarter log rotation
|
||||||
- Maybe this has logs where it could show what happened to frogpilot process?
|
- Maybe this has logs where it could show what happened to frogpilot process?
|
||||||
@@ -14,6 +47,9 @@
|
|||||||
- set up dash cam recordings
|
- set up dash cam recordings
|
||||||
- disable dash cam and record in real logger mode if debug mode is entered
|
- disable dash cam and record in real logger mode if debug mode is entered
|
||||||
|
|
||||||
|
- Integrate here maps api for traffic data
|
||||||
|
- maybe even speed limit data? and location data?
|
||||||
|
|
||||||
- write a debug function for python that cats data to a screen terminal and optionally a log file
|
- write a debug function for python that cats data to a screen terminal and optionally a log file
|
||||||
- if cruise already engaged when boot, just enable lateral
|
- if cruise already engaged when boot, just enable lateral
|
||||||
- reengage lateral if changing lanes and changing the wrong way
|
- reengage lateral if changing lanes and changing the wrong way
|
||||||
@@ -28,3 +64,7 @@
|
|||||||
- change disk used on sidebar to disk free / percent used
|
- change disk used on sidebar to disk free / percent used
|
||||||
- show distance to lead on dash
|
- show distance to lead on dash
|
||||||
- warn if lead is going more than 30 under my speed or 20 if auto mode is off
|
- warn if lead is going more than 30 under my speed or 20 if auto mode is off
|
||||||
|
|
||||||
|
- mark os version different than release, forcing a os reinstall
|
||||||
|
- no prompt on os reinstall
|
||||||
|
|
||||||
|
|||||||
@@ -12,31 +12,49 @@ Today:
|
|||||||
- Can I get a web ui running?
|
- Can I get a web ui running?
|
||||||
|
|
||||||
Settings Design:
|
Settings Design:
|
||||||
Main:
|
Main: Basic curated settings:
|
||||||
|
- Enable openpilot
|
||||||
|
- Enable dashcam
|
||||||
|
- Driving assist when cruise control not engaged
|
||||||
|
- Reduce speed on curves
|
||||||
|
- Hold speed for auto speed limit
|
||||||
|
- Speed limit offset
|
||||||
|
- Lane change assist on / off (off = pause on lane change)
|
||||||
|
- LKAS button behavior
|
||||||
|
- Reset all other settings to defaults
|
||||||
|
- Require steering wheel Always / At Night / Never
|
||||||
Driving:
|
Driving:
|
||||||
- Openpilot - On (D), off (all stock)
|
- Openpilot - On (D), off (all stock)
|
||||||
- Lane Change Assist: None (D), Nudge, Nudgeless
|
- Lane Change Assist: None, No lateral, Nudge, Nudgeless
|
||||||
- Always On Lat: OP, Stock, Off. OP: Pause below X mph
|
- Op Long / Button Spam Long / Stock Long
|
||||||
|
- Always On Lat: OP, Stock, Off. OP: Pause below X mph, OP: Except when wheel not turning
|
||||||
- Auto Stock Lat: Cruise Off + Wheel, Off
|
- Auto Stock Lat: Cruise Off + Wheel, Off
|
||||||
- Reduce speed on curves: On (D) / Off
|
- Reduce speed on curves: On (D) / Off
|
||||||
- (V2) Hold speed on lane change: On / Off
|
- (V2) Hold speed on lane change: On / Off
|
||||||
- Resume from stop on cruise: On (D) / Off
|
|
||||||
- Auto Speed Offsets - (make display green when speed matches mph)
|
- Auto Speed Offsets - (make display green when speed matches mph)
|
||||||
|
- Resume from stop on cruise: On (D) / Off
|
||||||
- Increase Speed with lead when Auto
|
- Increase Speed with lead when Auto
|
||||||
- Speed up / down - toggle match speed to limit
|
- Speed up / down - toggle match speed to limit
|
||||||
Controls:
|
- LKAS button behavior tap / hold
|
||||||
- (V2) LKAS button:
|
- screen on / off
|
||||||
- Standard behavior is tap for screen on / off.
|
- cycle info screens
|
||||||
- Options:
|
- extended info overlay on/off
|
||||||
- Tap: for on / off, on / wireframe / off, on / weather / off, op lat, stock lat, no lat, match speed, toggle auto speed
|
|
||||||
- Hold: Same ^
|
|
||||||
- Info buttons:
|
|
||||||
- (Depends on what i can input / output on info bus)
|
|
||||||
Display:
|
Display:
|
||||||
- Display - On, On when engaged, Wireframe with passenger, Off with passenger, Off
|
- Display - On, On when engaged, Wireframe with passenger, Off with passenger, Off
|
||||||
- Engagement indicator: Border, small label, icon
|
- Engagement indicator: Border, small label, icon
|
||||||
- Parked: Weather, trip stats / map, static image, off
|
- Parked: Weather, trip stats / map, static image, off
|
||||||
- Boot Icon: Comma, clearpilot, pacman, car make, custom, off
|
- Boot Icon: Comma, clearpilot, pacman, car make, custom, off'
|
||||||
|
- Info in overlay or large status bar
|
||||||
|
- Info screens (enable in transit, stopped):
|
||||||
|
- Colors for lines on display
|
||||||
|
--- Settings: Hold time (time to reset), default screen
|
||||||
|
--- Weather (hourly forecast, radar)
|
||||||
|
--- World map
|
||||||
|
--- Drive info (curvature, speed, speed to lead, etc)
|
||||||
|
--- System info (temp, space, system load, connectivity)
|
||||||
|
--- Debug info (data read from canbus, button states)
|
||||||
|
--- Generic logo
|
||||||
|
--- Screen off
|
||||||
Safety & Alerts:
|
Safety & Alerts:
|
||||||
- Attention Monitor: Strict, (D) Relaxed Daytime / No Lead / Low Traffic, Relaxed (Privledged), Off (Privledged)
|
- Attention Monitor: Strict, (D) Relaxed Daytime / No Lead / Low Traffic, Relaxed (Privledged), Off (Privledged)
|
||||||
- ATN: Strict on unrecognized driver
|
- ATN: Strict on unrecognized driver
|
||||||
@@ -49,26 +67,67 @@ Safety & Alerts:
|
|||||||
- Lead Departure Warning
|
- Lead Departure Warning
|
||||||
- Over Speed Warning
|
- Over Speed Warning
|
||||||
- Weather alerts
|
- Weather alerts
|
||||||
|
- Enable / Disable UI elements
|
||||||
|
--- MPH
|
||||||
|
--- Location
|
||||||
|
--- GPS, Wifi connectivity on
|
||||||
|
--- GPS, Wifi connectivity off
|
||||||
|
--- Experimental MPH
|
||||||
|
--- Distance to lead
|
||||||
|
--- Speed for lead
|
||||||
|
--- Current speed limit
|
||||||
Car:
|
Car:
|
||||||
- Auto set climate
|
- Auto set climate
|
||||||
- Auto close sunroof / windows
|
- Auto close sunroof / windows
|
||||||
- Auto open sunroof shield night / close day
|
- Auto open sunroof shield night / close day
|
||||||
- Auto set "SMART"
|
- Auto set "SMART"
|
||||||
- Auto set UI MPH
|
- Auto set UI MPH
|
||||||
|
Recording:
|
||||||
|
- Record routes
|
||||||
|
- Record dashcam
|
||||||
|
- Show dashcam recording blinking
|
||||||
|
- Record passenger camera (requires blinking)
|
||||||
|
- Record passenger audio (requires mic, requires notice)
|
||||||
|
- Serve on wifi
|
||||||
|
- Upload on wifi
|
||||||
System:
|
System:
|
||||||
- (V2) Enable OpenPilot - Always, on recognized driver, off
|
- (V2) Enable OpenPilot - Always, on recognized driver, off
|
||||||
- (V2) Register recognized driver (requires a bt dongle)
|
- (V2) Register recognized driver (requires a bt dongle)
|
||||||
- (V2) Settings lockout pin
|
- (V2) Settings lockout pin
|
||||||
- (V2) Dash Cam - Off, retention days, upload endpoint, record gps
|
|
||||||
- (V2) Metered Wifi Network
|
- (V2) Metered Wifi Network
|
||||||
- (V2) High BW Wifi Network
|
- (V2) High BW Wifi Network
|
||||||
- (V2) Hotspot (select secondary wifi)
|
- (V2) Hotspot (select secondary wifi)
|
||||||
|
- Clearpilot base (set a url / access token for server control)
|
||||||
|
--- Provides:
|
||||||
|
--- Settings backup / restore
|
||||||
|
--- Settings lockout
|
||||||
|
--- File overrides (beat the monitor)
|
||||||
|
--- Current location / image
|
||||||
|
--- Dashcam recordings
|
||||||
|
--- Route history
|
||||||
|
--- SSH tunnel
|
||||||
|
--- Debugger console
|
||||||
- Wifi Settings
|
- Wifi Settings
|
||||||
- SSH Access
|
-- No bandwidth limit networks
|
||||||
|
-- Bandwidth limited networks
|
||||||
|
-- Hotspot device / network (requires external dongle)
|
||||||
|
- Bluetooth setting (requires external dongle)
|
||||||
|
-- Pair a keypad
|
||||||
|
-- Emulate a device for tasker automations
|
||||||
|
- SSH Access (get rid of the github model)
|
||||||
|
- Device Shutdown Timer
|
||||||
|
- Override temp warnings
|
||||||
|
Tools:
|
||||||
|
- Reset calibration
|
||||||
|
- Update software
|
||||||
|
- Switch branches
|
||||||
|
- Reboot clearpilot
|
||||||
|
- Reset clearpilot
|
||||||
|
- Uninstall clearpilot
|
||||||
- Canbus tools
|
- Canbus tools
|
||||||
- Record Canbus
|
- Record Canbus
|
||||||
- Show I/O State (overrides driving UI while engaged)
|
- Show I/O State (overrides driving UI while engaged)
|
||||||
- Test Output
|
- Test Output
|
||||||
- Reset calibration
|
- Test OP Canbus functionality (blinkers, disengage, etc)
|
||||||
- Reset device
|
Advanced:
|
||||||
- Device Shutdown Timer
|
- Selected frogpilot settings
|
||||||
@@ -285,6 +285,8 @@ class CarState(CarStateBase):
|
|||||||
# test if this blocks trying to engage while pressin brakes
|
# test if this blocks trying to engage while pressin brakes
|
||||||
if self.main_buttons[-1] != 0 and ret.brakePressed and self.main_enabled == False:
|
if self.main_buttons[-1] != 0 and ret.brakePressed and self.main_enabled == False:
|
||||||
self.main_buttons[-1] = 0
|
self.main_buttons[-1] = 0
|
||||||
|
# Suprisingly this works. Test with op long and submit.
|
||||||
|
|
||||||
# But enable always on lateral if self.main_enabled = false
|
# But enable always on lateral if self.main_enabled = false
|
||||||
# I think this may require an override variable?
|
# I think this may require an override variable?
|
||||||
# It looks like always on lat is only set when cruise control is enabled
|
# It looks like always on lat is only set when cruise control is enabled
|
||||||
|
|||||||
@@ -169,9 +169,10 @@ def create_acc_control(packer, CAN, enabled, accel_last, accel, stopping, gas_ov
|
|||||||
|
|
||||||
return packer.make_can_msg("SCC_CONTROL", CAN.ECAN, values)
|
return packer.make_can_msg("SCC_CONTROL", CAN.ECAN, values)
|
||||||
|
|
||||||
|
# Disabled blinker messages
|
||||||
def create_spas_messages(packer, CAN, frame, left_blink, right_blink):
|
def create_spas_messages(packer, CAN, frame, left_blink, right_blink):
|
||||||
ret = []
|
ret = []
|
||||||
|
return ret
|
||||||
|
|
||||||
values = {
|
values = {
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
selfdrive/clearpilot/theme/clearpilot/images/hot.png
Normal file
BIN
selfdrive/clearpilot/theme/clearpilot/images/hot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
BIN
selfdrive/clearpilot/theme/clearpilot/images/hot.png~
Normal file
BIN
selfdrive/clearpilot/theme/clearpilot/images/hot.png~
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -65,9 +65,6 @@ def frogpilot_thread():
|
|||||||
|
|
||||||
CP = None
|
CP = None
|
||||||
|
|
||||||
automatic_updates = params.get_bool("AutomaticUpdates")
|
|
||||||
first_run = True
|
|
||||||
model_list_empty = params.get("AvailableModelsNames", encoding='utf-8') is None
|
|
||||||
time_validated = system_time_valid()
|
time_validated = system_time_valid()
|
||||||
|
|
||||||
pm = messaging.PubMaster(['frogpilotPlan'])
|
pm = messaging.PubMaster(['frogpilotPlan'])
|
||||||
@@ -93,37 +90,15 @@ def frogpilot_thread():
|
|||||||
sm['liveLocationKalman'], sm['modelV2'], sm['radarState'])
|
sm['liveLocationKalman'], sm['modelV2'], sm['radarState'])
|
||||||
frogpilot_planner.publish(sm, pm)
|
frogpilot_planner.publish(sm, pm)
|
||||||
|
|
||||||
if params_memory.get("ModelToDownload", encoding='utf-8') is not None and github_pinged():
|
|
||||||
download_model()
|
|
||||||
|
|
||||||
if params_memory.get_bool("FrogPilotTogglesUpdated"):
|
|
||||||
automatic_updates = params.get_bool("AutomaticUpdates")
|
|
||||||
|
|
||||||
if not params.get_bool("ModelSelector"):
|
|
||||||
params.put("Model", DEFAULT_MODEL)
|
|
||||||
params.put("ModelName", DEFAULT_MODEL_NAME)
|
|
||||||
|
|
||||||
if started:
|
|
||||||
frogpilot_planner.update_frogpilot_params()
|
|
||||||
else:
|
|
||||||
frogpilot_functions.backup_toggles()
|
|
||||||
|
|
||||||
if not time_validated:
|
if not time_validated:
|
||||||
time_validated = system_time_valid()
|
time_validated = system_time_valid()
|
||||||
if not time_validated:
|
if not time_validated:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if datetime.datetime.now().second == 0 or first_run or model_list_empty or params_memory.get_bool("ManualUpdateInitiated"):
|
|
||||||
if not started or model_list_empty:
|
|
||||||
time_checks(automatic_updates, deviceState, params)
|
|
||||||
model_list_empty = params.get("AvailableModelsNames", encoding='utf-8') is None
|
|
||||||
|
|
||||||
theme_manager.update_holiday()
|
|
||||||
|
|
||||||
first_run = False
|
|
||||||
|
|
||||||
time.sleep(DT_MDL)
|
time.sleep(DT_MDL)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
frogpilot_thread()
|
frogpilot_thread()
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ procs = [
|
|||||||
|
|
||||||
# FrogPilot processes
|
# FrogPilot processes
|
||||||
PythonProcess("fleet_manager", "selfdrive.frogpilot.fleetmanager.fleet_manager", always_run),
|
PythonProcess("fleet_manager", "selfdrive.frogpilot.fleetmanager.fleet_manager", always_run),
|
||||||
# PythonProcess("frogpilot_process", "selfdrive.frogpilot.frogpilot_process", always_run),
|
PythonProcess("frogpilot_process", "selfdrive.frogpilot.frogpilot_process", always_run),
|
||||||
PythonProcess("mapd", "selfdrive.frogpilot.navigation.mapd", always_run),
|
PythonProcess("mapd", "selfdrive.frogpilot.navigation.mapd", always_run),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -30,12 +30,12 @@ class DRIVER_MONITOR_SETTINGS():
|
|||||||
# Goals:
|
# Goals:
|
||||||
# - Temp only if daytime and privledged
|
# - Temp only if daytime and privledged
|
||||||
# - Continuously lower speed if in crit state
|
# - Continuously lower speed if in crit state
|
||||||
self._AWARENESS_TIME = 50. # passive wheeltouch total timeout
|
self._AWARENESS_TIME = 30. # passive wheeltouch total timeout
|
||||||
self._AWARENESS_PRE_TIME_TILL_TERMINAL = 30.
|
self._AWARENESS_PRE_TIME_TILL_TERMINAL = 20.
|
||||||
self._AWARENESS_PROMPT_TIME_TILL_TERMINAL = 10.
|
self._AWARENESS_PROMPT_TIME_TILL_TERMINAL = 14.
|
||||||
self._DISTRACTED_TIME = 50. # active monitoring total timeout
|
self._DISTRACTED_TIME = 30. # active monitoring total timeout
|
||||||
self._DISTRACTED_PRE_TIME_TILL_TERMINAL = 30.
|
self._DISTRACTED_PRE_TIME_TILL_TERMINAL = 24.
|
||||||
self._DISTRACTED_PROMPT_TIME_TILL_TERMINAL = 10.
|
self._DISTRACTED_PROMPT_TIME_TILL_TERMINAL = 14.
|
||||||
|
|
||||||
self._FACE_THRESHOLD = 0.7
|
self._FACE_THRESHOLD = 0.7
|
||||||
self._EYE_THRESHOLD = 0.65
|
self._EYE_THRESHOLD = 0.65
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ typedef enum UIStatus {
|
|||||||
const float CENTER_LANE_ALPHA = 0.75;
|
const float CENTER_LANE_ALPHA = 0.75;
|
||||||
const float OTHER_LANE_ALPHA = 0.75;
|
const float OTHER_LANE_ALPHA = 0.75;
|
||||||
|
|
||||||
const int CENTER_LANE_WIDTH = 75;
|
const int CENTER_LANE_WIDTH = 70;
|
||||||
const int OTHER_LANE_WIDTH = 16;
|
const int OTHER_LANE_WIDTH = 16;
|
||||||
|
|
||||||
// Clearpilot custom colors
|
// Clearpilot custom colors
|
||||||
@@ -44,7 +44,7 @@ const QColor bg_colors [] = {
|
|||||||
[STATUS_DISENGAGED] = QColor(0x17, 0x33, 0x49, 0xc8),
|
[STATUS_DISENGAGED] = QColor(0x17, 0x33, 0x49, 0xc8),
|
||||||
[STATUS_OVERRIDE] = QColor(94, 112, 255, 0xd1), // When you nudge the steering wheel while engaged
|
[STATUS_OVERRIDE] = QColor(94, 112, 255, 0xd1), // When you nudge the steering wheel while engaged
|
||||||
[STATUS_ENGAGED] = QColor(94, 112, 255, 0xd1), // Bright Blue
|
[STATUS_ENGAGED] = QColor(94, 112, 255, 0xd1), // Bright Blue
|
||||||
[STATUS_ALWAYS_ON_LATERAL_ACTIVE] = QColor(143, 204, 235, 0xd1), // Lighter Blue
|
[STATUS_ALWAYS_ON_LATERAL_ACTIVE] = QColor(0, 0, 255, 0xd1), // True Blue
|
||||||
[STATUS_TRAFFIC_MODE_ACTIVE] = QColor(0xc9, 0x22, 0x31, 0xd1), // ? unused?
|
[STATUS_TRAFFIC_MODE_ACTIVE] = QColor(0xc9, 0x22, 0x31, 0xd1), // ? unused?
|
||||||
[STATUS_EXPERIMENTAL_ACTIVE] = QColor(201, 41, 204, 0xd1), // Magenta
|
[STATUS_EXPERIMENTAL_ACTIVE] = QColor(201, 41, 204, 0xd1), // Magenta
|
||||||
[CENTER_LANE_COLOR] = QColor(150, 150, 150, 0xd1), // Gray
|
[CENTER_LANE_COLOR] = QColor(150, 150, 150, 0xd1), // Gray
|
||||||
|
|||||||
Reference in New Issue
Block a user