NOTICE: this wiki is incomplete. We are working on updating it.

This wiki contains all the high-level information needed to get started on the TCO project.

Overview

https://viewer.diagrams.net/?border=0&tags={}&highlight=B3B3B3&edit=_blank&layers=1&nav=1&title=TCO.drawio&open=Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1IAgdKtziC59WPdiO4M91trXvDPWQmuf-%26export%3Ddownload

The above diagram shows the different processes running on the Coral Board to operate the car/sim. Notice how the Car and Simulator have the same interface—Actuation is based on Control and input is read from sim/camera. The Car module does not have an arrow writing to the state as this is handled by the Plan Daemon.

Cloning & Building Repositories

Committing

Commits for new features should be put into their own branch, and merged to master when complete and peer reviewed. All commits should be structured as follows :

<verb> <feature>
\\n
  - <description of changes, one per line>

Code Style

For the majority of projects, we use C. Try to avoid bloated libraries where possible. As of the writing of this document, the only large project we use is Gstreamer for the Plan Daemon. Of course, it is okay to use other tools in non mission-critical projects such as tco-ml where python tools are only logical

int ssd1780_write(SSD1780_handle_t *const handle, uint8_t *const buf, size_t size) 
{
...
}