Add Climber Flatbuffers
Signed-off-by: Filip Kujawa <filip.j.kujawa@gmail.com>
Change-Id: I82c15ec9dfc21f3c2d74a4b66112aef6238f0484
diff --git a/y2024/control_loops/superstructure/superstructure_can_position.fbs b/y2024/control_loops/superstructure/superstructure_can_position.fbs
index f9f4ca9..6cd3f1e 100644
--- a/y2024/control_loops/superstructure/superstructure_can_position.fbs
+++ b/y2024/control_loops/superstructure/superstructure_can_position.fbs
@@ -20,6 +20,9 @@
// CAN Position of the transfer roller falcon
transfer_roller:frc971.control_loops.CANTalonFX (id: 4);
+
+ // CAN Position of the climber falcon
+ climber:frc971.control_loops.CANTalonFX (id: 5);
}
root_type CANPosition;
\ No newline at end of file
diff --git a/y2024/control_loops/superstructure/superstructure_goal.fbs b/y2024/control_loops/superstructure/superstructure_goal.fbs
index 0af8ca3..bb7b706 100644
--- a/y2024/control_loops/superstructure/superstructure_goal.fbs
+++ b/y2024/control_loops/superstructure/superstructure_goal.fbs
@@ -25,13 +25,21 @@
TRANSFER_OUT = 2,
}
+// Represents goal for climber
+// FULL_EXTEND is for fully extending the climber
+// HALF_EXTEND is for partially extending the climber
+// RETRACT is for retracting the climber
+enum ClimberGoal : ubyte {
+ FULL_EXTEND = 0,
+ HALF_EXTEND = 1,
+ RETRACT = 2,
+}
+
table Goal {
intake_roller_goal:IntakeRollerGoal (id: 0);
intake_pivot_goal:IntakePivotGoal (id: 1);
-
catapult_goal:frc971.control_loops.catapult.CatapultGoal (id: 2);
-
transfer_roller_goal:TransferRollerGoal (id: 3);
+ climber_goal:ClimberGoal (id: 4);
}
-
root_type Goal;
diff --git a/y2024/control_loops/superstructure/superstructure_output.fbs b/y2024/control_loops/superstructure/superstructure_output.fbs
index 976707d..a429976 100644
--- a/y2024/control_loops/superstructure/superstructure_output.fbs
+++ b/y2024/control_loops/superstructure/superstructure_output.fbs
@@ -20,6 +20,11 @@
// Positive voltage is for transfering in
// Negative voltage is for transfering out
transfer_roller_voltage:double (id: 5);
+
+ // Voltage of climber
+ // Positive voltage is for climber up
+ // Negative voltage is for climber down
+ climber_voltage:double (id: 6);
}
root_type Output;
diff --git a/y2024/control_loops/superstructure/superstructure_position.fbs b/y2024/control_loops/superstructure/superstructure_position.fbs
index da867a9..cd12da0 100644
--- a/y2024/control_loops/superstructure/superstructure_position.fbs
+++ b/y2024/control_loops/superstructure/superstructure_position.fbs
@@ -18,6 +18,10 @@
// True means there is a game piece in the transfer.
transfer_beambreak:bool (id: 4);
+
+ // Values of the encoder and potentiometer at the climber.
+ // Zero is fully retracted, positive is extended upward.
+ climber:frc971.PotAndAbsolutePosition (id: 5);
}
root_type Position;
diff --git a/y2024/control_loops/superstructure/superstructure_status.fbs b/y2024/control_loops/superstructure/superstructure_status.fbs
index 9084361..cd727ac 100644
--- a/y2024/control_loops/superstructure/superstructure_status.fbs
+++ b/y2024/control_loops/superstructure/superstructure_status.fbs
@@ -43,6 +43,9 @@
// State of transfer rollers
transfer_roller_state:TransferRollerState (id: 4);
+
+ // Estimated angle and angular velocitiy of the climber.
+ climber_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 5);
}
root_type Status;