Name
|
Value
|
Command data
|
Description
|
Direction
|
GET_HW_VERSION
|
1
|
none
|
Requesting the hardware version
|
PC->MC
|
HW_VERSION
|
2
|
String
|
Response to GET_HW_VERSION
|
MC->PC
|
GET_SW_VERSION
|
3
|
none
|
Requesting the software version
|
PC->MC
|
SW_VERSION
|
4
|
String
|
Response to GET_SW_VERSION
|
MC->PC
|
GET_DISTANCE_SENSOR_READINGS
|
5
|
none
|
Requesting the readings of all infrared distance sensors
|
PC->MC
|
DISTANCE_SENSOR_READINGS
|
6
|
Byte
|
Type
|
Description
|
0-1
|
uint16
|
raw ADC reading of distance sensor 0
|
...
|
16-17
|
uint16
|
raw ADC reading of distance sensor 8
|
|
Response to GET_DISTANCE_SENSOR_READINGS. See GET_ADC_PARAMETERS.
|
MC->PC
|
GET_ADC_PARAMETERS
|
7
|
none
|
Requesting the parameters of the AD converter(s).
|
PC->MC
|
ADC_PARAMETERS
|
8
|
Byte
|
Type
|
Description
|
0
|
uint8
|
bit resolution of the ADC
|
1-4
|
float
|
ADC reference voltage in Volts
|
|
Response to GET_ADC_PARAMETERS.
|
MC->PC
|
SET_MOTOR_SPEED
|
9
|
Byte
|
Type
|
Description
|
0
|
uint8
|
motor number
|
1-2
|
int16
|
speed set-point in rpm (rounds per minute)
|
|
Set the speed set-point for one motor
|
PC->MC
|
GET_ALL_MOTOR_SPEEDS
|
10
|
none
|
Requesting the speed of all motors
|
PC->MC
|
ALL_MOTOR_SPEEDS
|
11
|
Byte
|
Type
|
Description
|
0-1
|
int16
|
speed of motor 0 in rpm
|
...
|
6-7
|
int16
|
speed of motor 3 in rpm
|
|
Response to GET_ALL_MOTOR_SPEEDS.
|
MC->PC
|
SET_MOTOR_POSITION
|
12
|
Byte
|
Type
|
Description
|
0
|
uint8
|
motor number
|
1-4
|
int32
|
motor position in encoder ticks
|
|
Set the position counter of one motor
|
PC->MC
|
GET_ALL_MOTOR_POSITIONS
|
13
|
none
|
Requesting the position of all motors
|
PC->MC
|
ALL_MOTOR_POSITIONS
|
14
|
Byte
|
Type
|
Description
|
0-3
|
int32
|
position of motor 0
|
...
|
12-15
|
int32
|
position of motor 4
|
|
Response to GET_ALL_MOTOR_POSITIONS.
|
MC->PC
|
SET_MOTOR_PID_PARAMETERS
|
15
|
Byte
|
Type
|
Description
|
0
|
uint8
|
motor number
|
1-4
|
float
|
kp (a value less than 0 sets kp to the build in default)
|
5-8
|
float
|
ki (a value less than 0 sets ki to the build in default)
|
9-12
|
float
|
kd (currently not used)
|
|
Set PID parameters of one motor.
|
PC->MC
|
GET_ALL_MOTOR_PID_PARAMETERS
|
16
|
none
|
Requesting the PID controller parameters of all motors
|
PC->MC
|
ALL_MOTOR_PID_PARAMETERS
|
17
|
Byte
|
Type
|
Description
|
0-3
|
float
|
kp of motor 0
|
4-7
|
float
|
ki of motor 0
|
8-11
|
float
|
kd of motor 0
|
...
|
35-39
|
float
|
kp of motor 3
|
40-43
|
float
|
ki of motor 3
|
44-47
|
float
|
kd of motor 3
|
|
Response to GET_ALL_MOTOR_PID_PARAMETERS.
|
MC->PC
|
SET_ALL_DIGITAL_OUTPUTS
|
18
|
Byte
|
Type
|
Description
|
0
|
uint8
|
each bit reflects the setting of one digital outputs port at Robotino's IO connector
|
|
Set digital output ports at Robotino's IO connector.
|
PC->MC
|
SET_ALL_RELAYS
|
19
|
Byte
|
Type
|
Description
|
0
|
uint8
|
bit 0 is the set-state of relay 0 at Robotino's IO connector
bit 1 is the set-state of relay 1 at Robotino's IO connector
|
|
Set the relays at Robotino's IO connector.
|
PC->MC
|
SET_ODOMETRY
|
20
|
Byte
|
Type
|
Description
|
0-3
|
float
|
x-position in meters
|
4-7
|
float
|
y-position in meters
|
8-11
|
float
|
rotation in radians
|
|
Set the odometry to the given pose
|
PC->MC
|
SET_ODOMETRY_ROTATION
|
21
|
Byte
|
Type
|
Description
|
0-3
|
float
|
rotation in radians
|
|
Set the odometry to the given rotation. Used when a gyroscope is connected to the PC to forward the gyroscope readings to the MC where the odometry is processed.
|
PC->MC
|
GET_ODOMETRY
|
22
|
none
|
Request odometry readings from the MC
|
PC->MC
|
ODOMETRY
|
23
|
Byte
|
Type
|
Description
|
0-3
|
float
|
x-position in meters
|
4-7
|
float
|
y-position in meters
|
8-11
|
float
|
rotation in radians
|
|
Response to GET_ODOMETRY
|
MC->PC
|
GET_MOTOR_CURRENT_CONVERSION_FACTOR
|
24
|
none
|
Request the motor current conversion factor from the MC
|
PC->MC
|
MOTOR_CURRENT_CONVERSION_FACTOR
|
25
|
float
|
Response to GET_MOTOR_CURRENT_CONVERSION_FACTOR. The factor in A/V (Ampere/Volt) to convert the motor current readings from the ADC into Ampere.
|
MC->PC
|
GET_ALL_MOTOR_CURRENT_READINGS
|
26
|
none
|
Request current readings from all motors
|
PC->MC
|
ALL_MOTOR_CURRENT_READINGS
|
27
|
Byte
|
Type
|
Description
|
0-1
|
uint16
|
ADC readings from motor 0 current sensor
|
...
|
6-7
|
uint16
|
ADC readings from motor 3 current sensor
|
|
Response to GET_ALL_MOTOR_CURRENT_READINGS.
|
MC->PC
|
GET_DISTANCE_SENSOR_AMPLIFICATION
|
28
|
none
|
Request the amplification between the distance sensor signal an the ADC input.
|
PC->MC
|
DISTANCE_SENSOR_AMPLIFICATION
|
29
|
float
|
Response to GET_DISTANCE_SENSOR_AMPLIFICATION. Amplification between the distance sensor signal an the ADC input.
|
MC->PC
|
GET_ANALOG_INPUT_AMPLIFICATION
|
30
|
none
|
Request the amplification between the analog input ports at Robotino's IO connector an the ADC input.
|
PC->MC
|
ANALOG_INPUT_AMPLIFICATION
|
31
|
float
|
Response to GET_ANALOG_INPUT_AMPLIFICATION. Amplification between the analog input port signal an the ADC input.
|
MC->PC
|
GET_ALL_ANALOG_INPUTS
|
32
|
none
|
Request all analog input readings.
|
PC->MC
|
ALL_ANALOG_INPUTS
|
33
|
Byte
|
Type
|
Description
|
0-1
|
uint16
|
ADC readings from analog input port 0
|
...
|
14-15
|
uint16
|
ADC readings from analog input port 8
|
|
Response to GET_ALL_ANALOG_INPUTS. Readings of all analog input ports.
|
MC->PC
|
GET_ALL_DIGITAL_INPUTS
|
34
|
none
|
Request all digital input readings.
|
PC->MC
|
ALL_DIGITAL_INPUTS
|
35
|
uint8
|
Response to GET_ALL_DIGITAL_INPUTS. Readings of all digital input ports.
|
MC->PC
|
GET_BUMPER
|
36
|
none
|
Request all digital input readings.
|
PC->MC
|
BUMPER
|
37
|
uint8
|
Response to GET_BUMPER. The bumpers state.
|
MC->PC
|
GET_POWER_BUTTON
|
38
|
none
|
Request all digital input readings.
|
PC->MC
|
POWER_BUTTON
|
39
|
uint8
|
Response to GET_POWER_BUTTON. The power button state.
|
MC->PC
|
SET_FPGA_POWER
|
40
|
uint8
|
Set the FPGA to hold the power supply
|
PC->MC
|
GET_FPGA_POWER
|
41
|
none
|
Get the FPGA power supply hold status
|
PC->MC
|
FPGA_POWER
|
42
|
uint8
|
Response to SET_FPGA_POWER and GET_FPGA_POWER. The FPGA power supply hold status.
|
MC->PC
|
GET_PWR_OK_STATE
|
43
|
uint8
|
Request status of the PWR_OK line.
|
PC->MC
|
PWR_OK_STATE
|
44
|
uint8
|
Response to GET_PWR_OK_STATE. Power OK status signal generated by the ATX power
supply to notify the module that the DC operating
voltages are within the ranges required for proper
operation.
|
MC->PC
|
SET_PWR_OK_STATE
|
45
|
uint8
|
Set the PWR_OK line.
|
PC->MC
|
SET_PWM
|
46
|
Byte
|
Type
|
Description
|
0
|
uint8
|
PWM output of the LPC2378. Number in range [1-6].
|
1
|
uint8
|
PWM ratio. 0 is signal constant low. 255 is signal constant high.
|
|
Set the PWM ratio of a single PWM output.
|
PC->MC
|
SET_MOTOR_ON
|
47
|
Byte
|
Type
|
Description
|
0
|
uint8
|
Number of motor in range [0-3].
|
1
|
uint8
|
0 switches off the high side of the motor's H-bridge. 1 switches the high side of the motor's H-bridge on.
|
|
Enable/Disable a single motor.
|
PC->MC
|
SET_PWRBTN
|
48
|
uint8
|
Set PWRBTN# line. Power button low active signal used to wake up the
system from S5 state (soft off). This signal is
triggered on the falling edge.
|
PC->MC
|
SET_SYS_RESET
|
49
|
uint8
|
Reset input signal. This signal may be driven to low
by external circuitry such as a reset button to hold
the system module in hardware reset.
|
PC->MC
|
GET_SUS_STATES
|
50
|
none
|
Request status of the suspend lines.
|
PC->MC
|
SUS_STATES
|
51
|
Byte
|
Type
|
Description
|
0
|
uint8
|
SUS_S3#. S3 Sleep control signal indicating that the system
resides in S3 state (Suspend to RAM).
|
1
|
uint8
|
SUS_S4#. S4 Sleep control signal indicating that the system
resides in S4 state (Suspend to Disk).
|
2
|
uint8
|
SUS_S5#. S5 Sleep Control signal indicating that the system
resides in S5 State (Soft Off).
|
3
|
uint8
|
THRM#. Thermal Alarm active low signal generated by the
external hardware to indicate an over temperature
situation. This signal can be used to initiate thermal
throttling.
|
|
Response to GET_SUS_STATES.
|
MC->PC
|
GET_ALL_MOTOR_READINGS
|
52
|
none
|
Request speeds, positions, currents from all motors.
|
PC->MC
|
ALL_MOTOR_READINGS
|
53
|
Byte
|
Type
|
Description
|
0-1
|
int16
|
speed of motor 0 in rpm.
|
...
|
6-7
|
int16
|
speed of motor 4 in rpm.
|
8-11
|
int32
|
position of motor 0.
|
...
|
20-23
|
int32
|
position of motor 4.
|
24-25
|
uint16
|
ADC readings from motor 0 current sensor.
|
...
|
30-31
|
uint16
|
ADC readings from motor 4 current sensor.
|
|
Response to GET_ALL_MOTOR_READINGS.
|
MC->PC
|
GET_IP_ADDRESS
|
54
|
none
|
Request IP4 address.
|
PC->MC
|
IP_ADDRESS
|
54
|
Byte
|
Type
|
Description
|
0-3
|
uint32
|
IP address
|
4-7
|
uint32
|
Netmask
|
|
Response to GET_IP_ADDRESS.
|
MC->PC
|
SET_IP_ADDRESS
|
55
|
Byte
|
Type
|
Description
|
0-3
|
uint32
|
IP address
|
4-7
|
uint32
|
Netmask
|
|
Set IP4 address.
|
PC->MC
|
SET_EMERGENCY_BUMPER
|
57
|
uint8
|
1 enables the emergency bumper feature. 0 disables it. If enabled all motors are stopped for 2s if the Robotino's bumper is hit.
|
PC->MC
|
SET_MOTOR_MODE
|
58
|
Byte
|
Type
|
Description
|
0
|
uint8
|
motor
|
1
|
uint8
|
mode
- 0: velocity control mode
- 1: position control mode
- 2: gripper mode (only accepted for motor 3)
|
|
Set the control mode of one motor.
|
PC->MC
|
RESET_LPC
|
59
|
Byte
|
Type
|
Description
|
0
|
uint8
|
0: Simple reset
1: Enter USB bootloader
|
|
Reset the LPC2378 microcontroller.
|
PC->MC
|
INFO
|
250
|
String
|
Transmitted to inform about some event.
|
MC->PC
|
WARNING
|
251
|
String
|
Transmitted in case of a warning.
|
MC->PC
|
ERROR
|
252
|
String
|
Transmitted in case of a communication error.
|
MC->PC
|