diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index cb55d2f831..b14ae65842 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -62,4 +62,4 @@ jobs: git commit -m "build docs" # docs live in different repo to not bloat openpilot's full clone size - git push -f origin tmp:gh-pages2 + git push -f origin tmp:gh-pages diff --git a/docs/docs/car-porting/what-is-a-car-port.md b/docs/docs/car-porting/what-is-a-car-port.md index d089d9513e..b918bb50e0 100644 --- a/docs/docs/car-porting/what-is-a-car-port.md +++ b/docs/docs/car-porting/what-is-a-car-port.md @@ -1,9 +1,22 @@ # What is a car port? -All car ports live in `openpilot/selfdrive/car/`. +A car port enables openpilot support on a particular car. Each car model openpilot supports needs to be individually ported. All car ports live in `openpilot/selfdrive/car/`. -* interface.py: Interface for the car, defines the CarInterface class -* carstate.py: Reads CAN from car and builds openpilot CarState message -* carcontroller.py: Builds CAN messages to send to car -* values.py: Limits for actuation, general constants for cars, and supported car documentation -* radar_interface.py: Interface for parsing radar points from the car +The complexity of a car port varies depending on many factors including: +* existing openpilot support for similar cars +* architecture and APIs available in the car + + +# Structure of a car port +* `interface.py`: Interface for the car, defines the CarInterface class +* `carstate.py`: Reads CAN from car and builds openpilot CarState message +* `carcontroller.py`: Builds CAN messages to send to car +* `values.py`: Limits for actuation, general constants for cars, and supported car documentation +* `radar_interface.py`: Interface for parsing radar points from the car + + +# Overiew + +[Jason Young](https://github.com/jyoung8607) gave a talk at COMMA_CON with an overview of the car porting process. The talk is available on YouTube: + +https://youtu.be/KcfzEHB6ms4?si=5szh1PX6TksOCKmM diff --git a/docs/docs/contributing/architecture.md b/docs/docs/contributing/architecture.md new file mode 100644 index 0000000000..c79bec1ac6 --- /dev/null +++ b/docs/docs/contributing/architecture.md @@ -0,0 +1 @@ +# Architecture diff --git a/docs/docs/contributing/roadmap.md b/docs/docs/contributing/roadmap.md new file mode 100644 index 0000000000..64ccdb3b75 --- /dev/null +++ b/docs/docs/contributing/roadmap.md @@ -0,0 +1,5 @@ +# Roadmap + +Coming soon... + +For now, check out our GitHub [milestones](https://github.com/commaai/openpilot/milestones) and [bounties](https://comma.ai/bounties). diff --git a/docs/docs/getting-started/what-is-openpilot.md b/docs/docs/getting-started/what-is-openpilot.md index de45ae035b..b3c56c8410 100644 --- a/docs/docs/getting-started/what-is-openpilot.md +++ b/docs/docs/getting-started/what-is-openpilot.md @@ -1,6 +1,6 @@ # What is openpilot? -[openpilot](http://github.com/commaai/openpilot) is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of [supported car makes, models, and model years](docs/CARS.md). In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about [the vehicle integration](docs/INTEGRATION.md) and [limitations](docs/LIMITATIONS.md). +[openpilot](http://github.com/commaai/openpilot) is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of [supported car makes, models, and model years](https://github.com/commaai/openpilot/blob/master/docs/CARS.md). In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about [the vehicle integration](https://github.com/commaai/openpilot/blob/master/docs/INTEGRATION.md) and [limitations](https://github.com/commaai/openpilot/blob/master/docs/LIMITATIONS.md). ## How do I use it? diff --git a/tools/ssh/README.md b/docs/docs/how-to/connect-to-comma.md similarity index 63% rename from tools/ssh/README.md rename to docs/docs/how-to/connect-to-comma.md index 588ea71579..53460ac990 100644 --- a/tools/ssh/README.md +++ b/docs/docs/how-to/connect-to-comma.md @@ -1,39 +1,42 @@ -# SSH +# connect to a comma 3/3X -## Quick Start +A comma 3/3X is a normal [Linux](https://github.com/commaai/agnos-builder) computer that exposes [SSH](https://wiki.archlinux.org/title/Secure_Shell) and a [serial console](https://wiki.archlinux.org/title/Working_with_the_serial_console). + +## Serial Console + +On both the comma three and 3X, the serial console is accessible from the main OBD-C port. +Connect the comma 3/3X to your computer with a normal USB C cable, or use a [comma serial](https://comma.ai/shop/comma-serial) for steady 12V power. + +On the comma three, the serial console is exposed through a UART-to-USB chip, and `tools/serial/connect.sh` can be used to connect. + +On the comma 3X, the serial console is accessible through the [panda](https://github.com/commaai/panda) using the `panda/tests/som_debug.sh` script. + +## SSH In order to SSH into your device, you'll need a GitHub account with SSH keys. See this [GitHub article](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) for getting your account setup with SSH keys. * Enable SSH in your device's settings * Enter your GitHub username in the device's settings * Connect to your device - * Username: `comma` - * Port: `22` or `8022` + * Username: `comma` + * Port: `22` Here's an example command for connecting to your device using its tethered connection:
`ssh comma@192.168.43.1` For doing development work on device, it's recommended to use [SSH agent forwarding](https://docs.github.com/en/developers/overview/using-ssh-agent-forwarding). -## Notes +### Notes The public keys are only fetched from your GitHub account once. In order to update your device's authorized keys, you'll need to re-enter your GitHub username. The `id_rsa` key in this directory only works while your device is in the setup state with no software installed. After installation, that default key will be removed. -See the [community wiki](https://github.com/commaai/openpilot/wiki/SSH) for more detailed instructions and information. +#### ssh.comma.ai proxy -# Connecting to ssh.comma.ai -SSH into your comma device from anywhere with `ssh.comma.ai`. Requires a [comma prime subscription](https://comma.ai/connect). +With a [comma prime subscription](https://comma.ai/connect), you can SSH into your comma device from anywhere. -## Setup - -With software version 0.6.1 or newer, enter your GitHub username on your device under Developer Settings. Your GitHub authorized public keys will become your authorized SSH keys for `ssh.comma.ai`. You can add any additional keys in `/system/comma/home/.ssh/authorized_keys.persist`. - -## Recommended .ssh/config - -With the below SSH configuration, you can type `ssh comma-{dongleid}` to connect to your device through `ssh.comma.ai`.
-For example: `ssh comma-ffffffffffffffff` +With the below SSH configuration, you can type `ssh comma-{dongleid}` to connect to your device through `ssh.comma.ai`. ``` Host comma-* @@ -41,6 +44,7 @@ Host comma-* User comma IdentityFile ~/.ssh/my_github_key ProxyCommand ssh %h@ssh.comma.ai -W %h:%p + Host ssh.comma.ai Hostname ssh.comma.ai Port 22 diff --git a/docs/docs/how-to/first-pr.md b/docs/docs/how-to/first-pr.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 120000 index 0000000000..74ea27aeeb --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1 @@ +getting-started/what-is-openpilot.md \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index b0f571954d..45a1503b0c 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -1,6 +1,9 @@ site_name: openpilot docs docs_dir: docs repo_url: https://github.com/commaai/openpilot/ +site_url: https://docs.comma.ai + +strict: true theme: name: terminal @@ -11,8 +14,19 @@ nav: - Getting Started: - What is openpilot?: getting-started/what-is-openpilot.md - How-to: - - Turn the speed blue: how-to/turning-the-speed-blue.md + #- Make my first pull request: how-to/first-pr.md + - Connect to a comma 3/3X: how-to/connect-to-comma.md - Car Porting: - What is a car port?: car-porting/what-is-a-car-port.md - Porting a car brand: car-porting/brand-port.md - Porting a car model: car-porting/model-port.md + - Contributing: + - Roadmap: contributing/roadmap.md + #- Architecture: contributing/architecture.md + - Contributing: https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md + - Links: + - Blog: https://blog.comma.ai + - Bounties: https://comma.ai/bounties + - GitHub: https://github.com/commaai + - Discord: https://discord.comma.ai + - X: https://x.com/comma_ai diff --git a/tools/ssh/id_rsa b/system/hardware/tici/id_rsa similarity index 100% rename from tools/ssh/id_rsa rename to system/hardware/tici/id_rsa