Skip to content

Latest commit

 

History

History

Rescue-Bot

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Firmware project

Tool Description

  • Arduino Library
  • PlatformIO

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.

Structure

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.

Utilities/Logging Tools

  • Serial.println() on STM32 board will send a message up to PC. Can view this with the Arduino IDE serial plotter
  • PRINT_DEBUG()

Arduino Function Reference