Add throw and override modes for the Arm
This lets us throw boxes in teleop, and also get unstuck from under or
over the scale
Change-Id: Ia71824d8ae5801795d7ea21ce1becdfc1d2b55ee
diff --git a/y2018/control_loops/superstructure/arm/arm.h b/y2018/control_loops/superstructure/arm/arm.h
index 9493037..d3dd2df 100644
--- a/y2018/control_loops/superstructure/arm/arm.h
+++ b/y2018/control_loops/superstructure/arm/arm.h
@@ -38,10 +38,11 @@
bool close_claw, const control_loops::ArmPosition *position,
const bool claw_beambreak_triggered,
const bool box_back_beambreak_triggered,
- const bool intake_clear_of_box, double *proximal_output,
+ const bool intake_clear_of_box,
+ bool suicide, bool trajectory_override,
+ double *proximal_output,
double *distal_output, bool *release_arm_brake,
- bool *claw_closed, control_loops::ArmStatus *status,
- bool suicide);
+ bool *claw_closed, control_loops::ArmStatus *status);
void Reset();
@@ -71,6 +72,10 @@
// intake position to release the box when the state machine is lifting.
double max_intake_override() const { return max_intake_override_; }
+ uint32_t current_node() const { return current_node_; }
+
+ double path_distance_to_go() { return follower_.path_distance_to_go(); }
+
private:
bool AtState(uint32_t state) const { return current_node_ == state; }
bool NearEnd(double threshold = 0.03) const {