-
Notifications
You must be signed in to change notification settings - Fork 8
Build Targets Overview
When building aruw-mcb, there are a few targets that one can select to build. In particular, you
may choose to build for either the hosted or MCB target. While running on the hosted target, you may
choose to run either the unit test suite or the simulator.
The hosted target is defined here. Please read this definition before
reading the next section. In the codebase, when the hosted target is enabled, the macro
PLATFORM_HOSTED is defined.
The simulated MCB environment runs the main MCB code on the hosted target (i.e. main is run). The
simulator also encompasses any periphery programs used to fake
GPIO devices that communicate with the MCB.
This is (currently) independent of any simulation CV does.
The unit test environment runs all the unit tests in the directory aruw-mcb-project/tests.
Everything in aruw-mcb-project/src is compiled except for main.cpp and
<robot_type>_control.cpp, where <robot_type> is one of the valid robots. In the codebase, when
the unit test environment is enabled, the ENV_UNIT_TESTS macro is enabled.
Targeting the MCB during compilation simply means that you intend to deploy the code to the MCB.
There are no explicit macros in the codebase used to indicate we are building on the MCB target.
Instead, use the PLATFORM_HOSTED target to differentiate between the MCB and hosted target.
Looking for something else or would like to contribute to the wiki?
This wiki is a readonly mirror of our GitLab wiki. We use mermaid diagrams in this wiki, which are not supported in GitHub. We recommend referring to the GitLab wiki for the best experience or if you would like to contribute.
Architecture Design
- Directory Structure
- Build Targets Overview
- Drivers Architecture
- Command Subsystem Framework
- Generated Documentation
Using Taproot
Software Tools
- Docker Overview
- Debugging Safety Information
- Debugging With ST-Link
- Debugging With J-Link
- Git Tutorial
- How to Chip Erase the MCB
RoboMaster Tools
Software Profiling
System Setup Guides
- Windows Setup
- Debian Linux Setup
- Fedora Linux Setup
- macOS Setup
- Docker Container Setup
- (deprecated) Windows WSL Setup
Control System Design Notes
Miscellaneous and Brainstorming
Submit edits to this wiki via the taproot-wiki-review repo.