- Arduino Library
- PlatformIO
We're using PlatformIO to manage our code and board dependancies. Here's the getting started guide: https://docs.platformio.org/en/latest/ide/vscode.html#installation It:
- is an extension for VSCode that allows programming and debugging of many uC.
- Manages libraries and code better than the Arduino IDE
- Syntax highlighting and autocomplete etc. Has a debugger.
- allows use of Arduino framework and libraries with the STM32 Nucleo-F401RE board.
The PlatformIO ide provides the build, flash, and serial monitor in the bottom toolbar. The board settings are in the platformio.ini
file.
Elements of the robot's functionality are broken down into 'tasks'. Each task has it's own files in the src/task
folder.
The firmware structure is based on 'state machines' and 'tasks'.
Interrupts will be avoided except for setting flags. Exception is motor encoder interrupts.
- Serial.println() on STM32 board will send a message up to PC. Can view this with the Arduino IDE serial plotter
- PRINT_DEBUG()