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

folder

The containsarm 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.
See



In src/arm_board there is main.c

This is the code that will be ran when building and uploading using pio. Main should contain some multithreading for running separate tasks.



In ERC-Protobufs/components/arm_board there are the protobuffers for this subsystem

These are used to communicate between software, control and embedded about the motors on the arm.