cu-me-412/messages/amr_comms.proto

79 lines
1.4 KiB
Protocol Buffer

syntax = "proto2";
package amr_comms;
message TofSensor {
required int32 sensorId = 1;
enum State {
TIMEDOUT = 0;
MEASURING = 1;
ERROR = 2;
}
required State state = 2;
required int32 reading = 3;
}
message EncoderUpdate {
required int32 encoderId = 1;
required int32 ticks = 2;
// timeStep is number of milliseconds
required int32 timeStep = 3;
}
enum CONTROLLER_ID {
CONTROLLER_ID_UNKNOWN = 0;
CONTROLLER_ID_FORWARD_PICO = 1;
CONTROLLER_ID_REAR_PICO = 2;
CONTROLLER_ID_TURRET_PICO = 3;
}
message InitMessage {
required CONTROLLER_ID controllerId = 1;
required int32 numberOfDistanceSensors = 2;
required int32 numberOfEncoders = 3;
required int32 numberOfServos = 4;
}
message DebugMessage {
required string message = 1;
}
message ClientMessages {
oneof msg {
TofSensor tofSensor = 1;
EncoderUpdate encoderUpdate = 2;
InitMessage initMessage = 3;
DebugMessage debugMessage = 4;
}
}
message SetMotor {
required int32 motorId = 1;
required float speed = 2;
}
message SetServo {
required int32 servoId = 1;
required float position = 2;
}
message ShootShooter {
required int32 shooterId = 1;
}
message InitRequest {
}
message ControllerMessages {
oneof msg {
SetMotor setMotor = 1;
SetServo setServo = 2;
InitRequest initRequest = 3;
ShootShooter shootShooter = 4;
}
}