Driving Board Protobuffers
This page: each driving_board protobuffer explained.
The protobuffers for the driving_board are passed between software, control and embedded.
DrivingBoardDiagnostics.proto
Embedded → Software / Debugging
This file contains the full diagnostic state of the driving board and all attached motors.
DrivingBoardDiagnostics is the main status message used to report the system state and motor-level health information.
DrivingBoardDiagnostics
This message contains:
- Overall board state (IDLE, OPERATING, CALIBRATING, ERROR)
- Motor information for all driving and steering motors
The board state is used to indicate the current operating mode of the driving board.
MotorInformation fields:
Each motor is reported using the MotorInformation protobuf, which includes:
- motor state
- motor ID
- RPM
- voltage
- encoder angle
Motors included The diagnostics message explicitly contains 10 motors: front_left_motor middle_left_motor back_left_motor front_right_motor middle_right_motor back_right_motor steering_front_left_motor steering_back_left_motor steering_front_right_motor steering_back_right_motor
Notes: This structure is currently fixed-size, meaning all motors are explicitly defined instead of using a repeated field.
DrivingBoardMotorMessage.proto
Software → Embedded
This message is used to send motion commands to the driving board.
DrivingBoardMotorMessage Contains high-level movement instructions:
- distance_to_go → target travel distance
- turning_radius
Purpose: This message defines a movement request from software. The embedded system uses it as input to compute values on the control code.
DrivingBoardMotorPeriodicProgress.proto
Embedded → Software
This message provides runtime feedback during movement execution. DrivingBoardMotorPeriodicProgress
Contains:
- distance_left → remaining distance to target
Purpose This message allows software to track progress of an ongoing movement command in real time. It is typically sent periodically while a movement is being executed.