How karlavec1k/starpilot works
StarPilot is a custom openpilot driver-assistance fork. Its core workflow is vehicle-specific: interpret vehicle and CAN data, produce steering and longitudinal commands, then rely on panda safety controls to gate vehicle-bus output. The README also documents navigation, speed and curve controls, driver monitoring, device management, and other vehicle integrations. The graph combines those documented capabilities with relationships visible in the sampled source and SOURCE INDEX; unsampled feature wiring is not asserted.
Main entry points: interfaces.py Car Interfaces · packer.py CAN Encoding · carcontroller.py Vehicle Control · route_engine.py Navigation
Components 22
Vehicle Integration
- Car Interfaces
opendbc_repo/opendbc/car/interfaces.py - Vehicle State
opendbc_repo/opendbc/car/interfaces.py - Vehicle Control
opendbc_repo/opendbc/car/gm/carcontroller.py - Hyundai Control
opendbc_repo/opendbc/car/hyundai/carcontroller.py - Toyota Control
opendbc_repo/opendbc/car/toyota/carcontroller.py - CAN Encoding
opendbc_repo/opendbc/can/packer.py - CAN Safety
opendbc_repo/opendbc/safety/safety.h
Driving Features
- Driving Model
selfdrive/modeld/modeld.py - Speed Limits
starpilot/controls/lib/speed_limit_controller.py - Curve Speed
starpilot/controls/lib/curve_speed_controller.py - Navigation
starpilot/navigation/route_engine.py - Blind-Spot Monitor
starpilot/system/adj_spot_monitor_vision_inference.py - Route Service
Device Platform
- Panda Firmware
panda/board/main.c - Process Manager
system/manager/manager.py - Message Schemas
cereal/__init__.py
Device Services
- Wi-Fi Manager
system/ui/lib/wifi_manager.py - Bluetooth Manager
system/ui/lib/bluetooth_manager.py - Galaxy Portal
system/athena/athenad.py - Settings UI
selfdrive/ui/layouts/settings/starpilot/simple_download_manager.py - Driving UI
selfdrive/ui/layouts/main.py
Other components
- Driver
Connections 19
- Driver → Car Interfaces: selects vehicle
- Car Interfaces → Vehicle State: creates state
opendbc_repo/opendbc/car/interfaces.py - Car Interfaces → Vehicle Control: creates controller
opendbc_repo/opendbc/car/interfaces.py - Vehicle Control → CAN Encoding: packs CAN
opendbc_repo/opendbc/car/gm/carcontroller.py - Hyundai Control → CAN Encoding: packs CAN
opendbc_repo/opendbc/car/hyundai/carcontroller.py - Toyota Control → CAN Encoding: packs CAN
opendbc_repo/opendbc/car/toyota/carcontroller.py - Panda Firmware → CAN Safety: configures safety
panda/board/main.c - Driver → Driving Model: drives with
- Driver → Navigation: requests routes
- Navigation → Route Service: requests directions
- Driver → Speed Limits: uses speed control
- Driver → Curve Speed: uses curve control
- Driver → Blind-Spot Monitor: uses monitoring
- Process Manager → Message Schemas: uses schemas
system/manager/manager.py - Driver → Wi-Fi Manager: configures connectivity
- Driver → Bluetooth Manager: connects accessories
- Driver → Galaxy Portal: manages device
- Driver → Settings UI: changes settings
- Driver → Driving UI: views driving