iralabdisco / otto_stm32

Firmware for differential drive robot Otto.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Otto

Firmware for Otto's controlboard. Otto is a differential drive robot.

The main program is located in otto_controller.

Instructions

If you just want to use the robot you can download the binary file from the releases:

  1. Download the lastest otto_controller.bin
  2. Plug your Nucleo board in your PC.
  3. Copy and paste the .bin file inside your board.

Coding a driver for otto

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
  1. Before doing anything reset the MCU using the DTR pin in the serial port.
  2. The MCU will then wait to receive a ConfigMessage.
  3. After the config message is received the PID loop control starts.
  4. 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

Coding style

Follow Google C++ guideline while working on the project

Eclipse's formatting configuration file can be found here

About

Firmware for differential drive robot Otto.

License:GNU General Public License v3.0


Languages

Language:C 99.1%Language:Assembly 0.5%Language:C++ 0.4%Language:HTML 0.0%