blob: 0ea54e5c985b04d113a0680e8eb260d30e9c8bac [file] [log] [blame]
Alex Perrycb7da4b2019-08-28 19:35:56 -07001namespace y2016.control_loops.shooter;
2
3table ShooterSideStatus {
4 // True if the shooter side is up to speed and stable.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -08005 ready:bool (id: 0);
Alex Perrycb7da4b2019-08-28 19:35:56 -07006 // The current average velocity in radians/second.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -08007 avg_angular_velocity:double (id: 1);
Alex Perrycb7da4b2019-08-28 19:35:56 -07008 // The current instantaneous filtered velocity in radians/second.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -08009 angular_velocity:double (id: 2);
Alex Perrycb7da4b2019-08-28 19:35:56 -070010}
11
12table Status {
13 // Left side status.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -080014 left:ShooterSideStatus (id: 0);
Alex Perrycb7da4b2019-08-28 19:35:56 -070015 // Right side status.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -080016 right:ShooterSideStatus (id: 1);
Alex Perrycb7da4b2019-08-28 19:35:56 -070017
18 // True if the shooter is ready. It is better to compare the velocities
19 // directly so there isn't confusion on if the goal is up to date.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -080020 ready:bool (id: 2);
Alex Perrycb7da4b2019-08-28 19:35:56 -070021
22 // The number of shots that have been fired since the start of the shooter
23 // control loop.
Ravago Jonesfb6a7a52020-11-14 13:47:46 -080024 shots:uint (id: 3);
Alex Perrycb7da4b2019-08-28 19:35:56 -070025}
26
27root_type Status;