blob: 3cf6945d91463220e3568356a35ab3bae33b7055 [file] [log] [blame]
include "frc971/control_loops/control_loops.fbs";
namespace y2017.control_loops.superstructure;
table IntakeGoal {
// Zero for the intake is when the front tube is tangent with the front of the
// frame. Positive is out.
// Goal distance of the intake.
distance:double (id: 0);
// Caps on velocity/acceleration for profiling. 0 for the default.
profile_params:frc971.ProfileParameters (id: 1);
// Voltage to send to the rollers. Positive is sucking in.
voltage_rollers:double (id: 2);
// If true, disable the intake so we can hang.
disable_intake:bool (id: 3);
// The gear servo value.
gear_servo:double (id: 4);
}
table IndexerGoal {
// Indexer angular velocity goals in radians/second.
angular_velocity:double (id: 0);
// Roller voltage. Positive is sucking in.
voltage_rollers:double (id: 1);
}
table TurretGoal {
// An angle of zero means the turrent faces toward the front of the
// robot where the intake is located. The angle increases when the turret
// turns clockwise (towards right from the front), and decreases when
// the turrent turns counter-clockwise (towards left from the front).
// These are from a top view above the robot.
angle:double (id: 0);
// If true, ignore the angle and track using vision. If we don't see
// anything, we'll use the turret goal above.
track:bool (id: 1);
// Caps on velocity/acceleration for profiling. 0 for the default.
profile_params:frc971.ProfileParameters (id: 2);
}
table HoodGoal {
// Angle the hood is currently at. An angle of zero is at the lower hard
// stop, angle increases as hood rises.
angle:double (id: 0);
// Caps on velocity/acceleration for profiling. 0 for the default.
profile_params:frc971.ProfileParameters (id: 1);
}
table ShooterGoal {
// Angular velocity goals in radians/second. Positive is shooting out of the
// robot.
angular_velocity:double (id: 0);
}
table Goal {
intake:IntakeGoal (id: 0);
indexer:IndexerGoal (id: 1);
turret:TurretGoal (id: 2);
hood:HoodGoal (id: 3);
shooter:ShooterGoal (id: 4);
lights_on:bool (id: 5);
use_vision_for_shots:bool (id: 6);
}
root_type Goal;