Firmware for Otto's controlboard. Otto is a differential drive robot.
The main program is located in otto_controller.
If you just want to use the robot you can download the binary file from the releases:
- Download the lastest otto_controller.bin
- Plug your Nucleo board in your PC.
- Copy and paste the .bin file inside your board.
You will need to have a way to open a serial port on your PC.
Serial port configuration:
- Baud rate: 115200
- Parity: No
- Stop bit: 1
- Data bits: 8
- Hardware flow control: disabled
- Before doing anything reset the MCU using the DTR pin in the serial port.
- The MCU will then wait to receive a ConfigMessage.
- After the config message is received the PID loop control starts.
- Every time a VelocityMessage is received Otto will send a StatusMessage.
Refer to otto_messages.h to see how the messages are structured.
The CRC standard used is CRC-32/MPEG-2, tested with python package crccheck
Follow Google C++ guideline while working on the project
Eclipse's formatting configuration file can be found here