Directory Structure
The main code repository represents a monorepo containing many parts of the robotic control software and several tools. The directory structure is organized as follows, only touching parts relevant for the framework:
crates/: Contains several crates relevant to the framework, beside other crates for the robotics domain and toolingcode_generation/: Once the source code is analyzed, this crate will generate all necessary code to execute all cyclers and nodescommunication/: The Communication server (for the framework) and client (for debug tooling)context_attribute/: Contains the proc-macro#[context]used in our nodes to augment and prepare them for the execution in the frameworkframework/: Some basic building blocks (future queue and multiple buffers) and other framework typesparameters/: Functionality for de/serializing a parameter directorypath_serde/: Traits needed for all types available via Communicationpath_serde_derive/: Derive macro for thePathSerialize, PathDeserialize, PathIntrospecttrait
etc/: All additional files necessary when deploying the code to a robotparameters/: Parameter files that are deployed to NAOs and are read during startup
tools/: Miscellaneous projects and tools more or less related to the codepepsi/: Mainly a tool for deploying and interacting with the NAOtwix/: Current iteration of a debug tool