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.
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.
--recursive
flag. Without this, you will find it impossible to build the modules. Be sure to read the README.md
file to download all the dependencies. NOTE: These dependencies are listed as named by the apt package manager, other PMs may use different names.build.sh
script to automate the building process. These scripts must be run from their folder as they use relative paths. Be sure to give all sh scripts execution permission with chmod -R +x *.sh
.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>
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
.h
and .c
) file pairprintf()
typedef
and an _t to indicate its type.int ssd1780_write(SSD1780_handle_t *const handle, uint8_t *const buf, size_t size)
{
...
}