Skip to main content

Getting started

This page: structure of this subsystem and where to find what.

Make sure you understand the embedded structure: Embedded Infastructure



1) Main

Main.c can be found in src/arm_board

This is the code that will be ran when building and uploading using platformio. Main should contain some multithreading for running separate tasks, otherwise it should use the libraries (common and arm board specific) that are created.



2) Libraries

The libraries for the arm board can be found in components/arm_board

The arm board uses 3 libraries:

  • firmware
  • movement
  • simulink

Firmware contains the generated CubeMX code. You do not need to touch this after generating.

NOTE: do make sure that after generating your code in CubeMX, you run the post generation script. You can set a post generation script in CubeMX itself. However, if you use Windows you may need to run the bash script manually. This script can be found in scripts/post_code_generation.bash.

Movement is currently the only "real" library that is written by hand. It contains the source code for controlling stepper motors.



3) Protobuffers

Information on the arm board protobuffers can be found here: Arm Board Protobuffers