Project Structure
Looking at the file structure of a project like this can feel intimidating. This document describes the structure of this project, so you know where to find stuff.
.githubcontains files used by GitHub to perform some actions.github/ISSUE_TEMPLATEcontains the templates that are used for new issues
docscontains documentation and documentation generation config filesfirmwarecontains static libraries that are used to compile ZestCodeincludecontains the header filesinclude/commonheaders used in various parts of the projectinclude/prosheaders that are distributed to user projectsinclude/rtosheaders for the scheduler (FreeRTOS)include/systemheaders for low-level system functionalityinclude/system/devheaders for serial I/O and file managementinclude/system/user_functionsa horrifying mess that should be destroyed
include/vdmlheaders for the VEX Data Management Layer (VDML), a system to ensure thread-safety when interacting with VEX devices
scriptscontains scripts used for building ZestCode and projects that use ZestCodesrccontains the source filessrc/commonsources defining symbols used throughout the projectsrc/devicesimplementations of VEX device abstractions. Files prefixed withvdml_indicate that the file makes use of the VDMLsrc/rtossources, build scripts, and misc files of FreeRTOSsrc/systemsources for low-level system functionalitysrc/system/devsources for serial I/O and file management
src/testscontain tests to ensure certain features work