# ClearPilot — Feature Goals Each goal below will be discussed in detail before implementation. Background and specifics to be provided by Brian when we get to each item. ## Dashcam - [ ] **Dashcam viewer** — on-screen Qt widget for browsing and playing back recorded footage from the offroad home screen (Dashcam button already placed). See `DASHCAM_PROJECT.md` for architecture notes. - [ ] **Dashcam uploader** — upload footage to a remote server or cloud storage - [ ] **GPS + speed overlay on dashcam footage** — embed GPS coordinates and vehicle speed into the video stream or as metadata - [ ] **Dashcam footage archive** — option to mark a trip's footage as archived (kept in storage but hidden from the main UI) - [ ] **Suspend dashcam / route recording** — on-screen setting to pause recording for a trip and delete footage of the current trip so far (privacy mode) ## Driving Alerts & Safety - [ ] **Chirp on speed change and over speed limit** — audible alert when speed limit changes or vehicle exceeds the limit - [ ] **Warn on traffic standstill ahead** — alert when approaching cars ahead too quickly (closing distance warning) - [ ] **On-screen current speed limit** — display the speed limit as reported by the car's CAN data - [ ] **Fix on-screen speed value for MPH** — correct the speed display to use the proper value for MPH conversion ## Cruise Control & Driving State - [ ] **Auto-set speed via CAN bus** — simulate pressing speed up/down buttons on CAN bus to automatically set cruise to the correct speed via UI interaction (stretch goal) - [ ] **Fix engaged-while-braking state sync** — if openpilot is engaged while brakes are pressed, the system thinks it's active but the car isn't actually in cruise control, causing a sync error that should be recoverable - [ ] **Fix resume-cruise lateral mode bug** — pressing resume cruise control (rather than enable) causes the car to enter a state where it thinks it's in always-on lateral mode and disables driver monitoring - [ ] **Lateral assist in turn lanes** — keep lateral assist active when using turn signal in a turn lane (at low/turning speeds) as opposed to cruising speeds, where lateral currently disengages ## Driver Monitoring - [ ] **Disable driver monitoring on demand** — add a technique to disable DM for 2 minutes via a button or gesture - [ ] **Hands-on-wheel mode** — add a setting requiring the driver to keep hands on the wheel (configurable via settings) ## UI Modes & Display - [ ] **Curves-only UI mode** — show only on-screen curve/path depictions without the camera feed (reduces visual clutter, saves processing) - [ ] **Night mode auto-display-off** — turn off display if device starts at night (determine sunset for current location/datetime or use ambient light levels from car sensors) - [ ] **Update boot/offroad splash logos** — replace the red pac-man ghost with a blue pac-man ghost for boot and offroad full-screen splash - [ ] **Dashcam-only reboot mode** — on-screen option to reboot into a mode that provides no driver assist (reverts to stock OEM lane assist) but keeps dashcam running. For lending the car to friends who shouldn't use comma's driving features. ## Connectivity & Data - [ ] **Offroad weather report screen** — weather display accessible from the offroad home grid (depends on internet connection) - [ ] **Fix GPS tracking** — GPS tracking feature currently broken, processes commented out in process_config ## Vehicle-Specific (Hyundai Tucson HDA2) - [ ] **Warn if panoramic roof is open** — if possible to intercept window/roof state from CAN bus, warn when the top roof is left open when the car is turned off