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.