Skip to content
This repository has been archived by the owner on Sep 27, 2018. It is now read-only.

Propulsion Microcontroller API

Anthony Randell edited this page Nov 18, 2016 · 22 revisions

Propulsion Microcontroller

Command 0x10 – Reset Motor Controller

Request Message:

  • Payload Size: 1 byte (null)

Response Message:

  • Payload Size: 1 byte

Command 0x11 – Set Motor Controller Configuration

Request Message:

Byte Description Valid Range
13 (MSB) MSB of Set Indicator Word 0b00000000 to 0b00001111
12 LSB of Set Indicator Word 0b00000000 to 0b11111111
11 Device ID 0 to 127
10 PWM Parameter 0 to 5
9 Shut Down Motors on Error 0 to 7
8 Serial Timeout 0 to 127
7 Motor M0 Acceleration 0 to 127
6 Motor M1 Acceleration 0 to 127
5 Motor M0 Brake Duration 0 to 127
4 Motor M1 Brake Duration 0 to 127
3 Motor M0 Current Limit / 2 0 to 127
2 Motor M1 Current Limit / 2 0 to 127
1 Motor M0 Current Limit Response 0 to 127
0 (LSB) Motor M1 Current Limit Response 0 to 127

Response Message:

Byte Description Valid Range
12 Reserved for Expansion 0
11 Device ID 0 to 127
10 PWM Parameter 0 to 5
9 Shut Down Motors on Error 0 to 7
8 Serial Timeout 0 to 127
7 Motor M0 Acceleration 0 to 127
6 Motor M1 Acceleration 0 to 127
5 Motor M0 Brake Duration 0 to 127
4 Motor M1 Brake Duration 0 to 127
3 Motor M0 Current Limit / 2 0 to 127
2 Motor M1 Current Limit / 2 0 to 127
1 Motor M0 Current Limit Response 0 to 127
0 (LSB) Motor M1 Current Limit Response 0 to 127

Command 0x12 – Get Motor Controller Configuration

Request Message:

  • Payload Size: 1 byte (null)
  • This command reads the configuration of the motor controller without modifying any of the settings

Response Message:

Byte Description Valid Range
12 Reserved for Expansion 0
11 Device ID 0 to 127
10 PWM Parameter 0 to 5
9 Shut Down Motors on Error 0 to 7
8 Serial Timeout 0 to 127
7 Motor M0 Acceleration 0 to 127
6 Motor M1 Acceleration 0 to 127
5 Motor M0 Brake Duration 0 to 127
4 Motor M1 Brake Duration 0 to 127
3 Motor M0 Current Limit / 2 0 to 127
2 Motor M1 Current Limit / 2 0 to 127
1 Motor M0 Current Limit Response 0 to 127
0 (LSB) Motor M1 Current Limit Response 0 to 127

Command 0x13 – Set Motor Speeds

Request Message:

  • Payload Size: 9 bytes
  • Used to set the speed of both motors simultaneously

Request 0x13 – Set Motor Speeds

Byte Description Valid Range
8 (MSB) Reserved for Expansion 0
7 M0 Speed (MSB) Integer -100 to 100
6 M0 Speed Integer -100 to 100
5 M0 Speed Integer -100 to 100
4 M0 Speed (LSB) Integer -100 to 100
3 M1 Speed (MSB) Integer -100 to 100
2 M1 Speed Integer -100 to 100
1 M1 Speed Integer -100 to 100
0 M1 Speed (LSB) Integer -100 to 100

Response Message:

  • The response from the microcontroller to a set motor speed is to reply with the new motor speed to confirm the set was successful
  • Payload Size: 9 bytes