Add Transfer Roller Flatbuffers
Change-Id: I9eaeee9539364d58d5001fdd731cdea48659da25
Signed-off-by: Aryan Khanna <aryankhanna0312@gmail.com>
diff --git a/y2024/control_loops/superstructure/superstructure_can_position.fbs b/y2024/control_loops/superstructure/superstructure_can_position.fbs
index 46f638c..f9f4ca9 100644
--- a/y2024/control_loops/superstructure/superstructure_can_position.fbs
+++ b/y2024/control_loops/superstructure/superstructure_can_position.fbs
@@ -17,6 +17,9 @@
// CAN Position of the intake pivot falcon
intake_pivot:frc971.control_loops.CANTalonFX (id: 3);
+
+ // CAN Position of the transfer roller falcon
+ transfer_roller:frc971.control_loops.CANTalonFX (id: 4);
}
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 63cbcf0..0af8ca3 100644
--- a/y2024/control_loops/superstructure/superstructure_goal.fbs
+++ b/y2024/control_loops/superstructure/superstructure_goal.fbs
@@ -16,11 +16,22 @@
RETRACTED = 1,
}
+// Represents goal of transfer rollers
+// TRANSFER_IN is for transfering game piece in from the intake to the shooter
+// TRANSFER_OUT is for transfering game piece out to the intake for spitting
+enum TransferRollerGoal : ubyte {
+ NONE = 0,
+ TRANSFER_IN = 1,
+ TRANSFER_OUT = 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);
}
root_type Goal;
diff --git a/y2024/control_loops/superstructure/superstructure_output.fbs b/y2024/control_loops/superstructure/superstructure_output.fbs
index cd5971e..976707d 100644
--- a/y2024/control_loops/superstructure/superstructure_output.fbs
+++ b/y2024/control_loops/superstructure/superstructure_output.fbs
@@ -15,6 +15,11 @@
// Voltage of the catapult
catapult_voltage: double (id: 4);
+
+ // Voltage of transfer rollers
+ // Positive voltage is for transfering in
+ // Negative voltage is for transfering out
+ transfer_roller_voltage:double (id: 5);
}
root_type Output;
diff --git a/y2024/control_loops/superstructure/superstructure_position.fbs b/y2024/control_loops/superstructure/superstructure_position.fbs
index e4f6474..da867a9 100644
--- a/y2024/control_loops/superstructure/superstructure_position.fbs
+++ b/y2024/control_loops/superstructure/superstructure_position.fbs
@@ -15,6 +15,9 @@
// Values of the encoder and potentiometer at the catapult
catapult:frc971.PotAndAbsolutePosition (id: 3);
+
+ // True means there is a game piece in the transfer.
+ transfer_beambreak:bool (id: 4);
}
root_type Position;
diff --git a/y2024/control_loops/superstructure/superstructure_status.fbs b/y2024/control_loops/superstructure/superstructure_status.fbs
index 82756dd..9084361 100644
--- a/y2024/control_loops/superstructure/superstructure_status.fbs
+++ b/y2024/control_loops/superstructure/superstructure_status.fbs
@@ -21,6 +21,13 @@
altitude_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 2);
}
+// Contains status of transfer rollers
+enum TransferRollerState : ubyte {
+ NONE = 0,
+ TRANSFERING_IN = 1,
+ TRANSFERING_OUT = 2,
+}
+
table Status {
// All subsystems know their location.
zeroed:bool (id: 0);
@@ -33,6 +40,9 @@
// Estimated angle and angular velocitiy of the intake.
intake_pivot_state:frc971.control_loops.PotAndAbsoluteEncoderProfiledJointStatus (id: 3);
+
+ // State of transfer rollers
+ transfer_roller_state:TransferRollerState (id: 4);
}
root_type Status;