Skip to content
20 changes: 19 additions & 1 deletion arm.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Version: 1.2
// Version: 1.3

syntax = "proto3";
import "version.proto";
Expand Down Expand Up @@ -42,6 +42,11 @@ message ArmCommand {
Version version = 11;
}

message AugerData {
int32 speedActual = 1;
BoolState augerOn = 2;
}

message GripperData {
MotorData lift = 1;
MotorData rotate = 2;
Expand All @@ -50,6 +55,17 @@ message GripperData {
Version version = 4;
int32 servoAngle = 5;
BoolState laserState = 6;

AugerData augerData = 7;
}

message AugerCommand {
float augerSpeed = 1;

// Indicates that [augerSpeed] = 0 is valid, even though 0 usually means no value.
bool speedSet = 2;

BoolState augerOn = 3;
}

message GripperCommand {
Expand All @@ -70,4 +86,6 @@ message GripperCommand {
Version version = 9;
int32 servoAngle = 10;
BoolState laserState = 11;

AugerCommand auger = 12;
}
25 changes: 12 additions & 13 deletions science.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Version 1.0
// Version 2.0

syntax = "proto3";

Expand Down Expand Up @@ -41,22 +41,19 @@ enum CarouselCommand {
message ScienceCommand {
// Individual control over each motor. Indicates steps to move
float carousel_motor = 1;
float scoop_motor = 2;
float subsurface_motor = 3;

// Control over other hardware
PumpState pumps = 4;
ServoState funnel = 5;
ServoState scoop = 6;
CarouselCommand carousel = 7;
PumpState pumps = 2;
ServoState subsurface = 3;
CarouselCommand carousel = 4;

// High level commands
bool calibrate = 8;
bool stop = 9;
int32 sample = 10;
ScienceState state = 11;
bool calibrate = 5;
bool stop = 6;
int32 sample = 7;
ScienceState state = 8;

Version version = 12;
Version version = 9;
}

/// Data coming from the science subsystem.
Expand All @@ -69,6 +66,8 @@ message ScienceData {
float co2 = 3;
float humidity = 4;
float temperature = 5;

ServoState subsurface = 6;

Version version = 6;
Version version = 7;
}