| include "frc971/control_loops/control_loops.fbs"; |
| |
| namespace frc971.control_loops; |
| |
| table ProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.EstimatorState (id: 14); |
| } |
| |
| table HallProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.HallEffectAndPositionEstimatorState (id: 14); |
| } |
| |
| table PotAndAbsoluteEncoderProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.PotAndAbsoluteEncoderEstimatorState (id: 14); |
| } |
| |
| table IndexProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.IndexEstimatorState (id: 14); |
| } |
| |
| table AbsoluteEncoderProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.AbsoluteEncoderEstimatorState (id: 14); |
| } |
| |
| table AbsoluteAndAbsoluteEncoderProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.AbsoluteAndAbsoluteEncoderEstimatorState (id: 14); |
| } |
| |
| table RelativeEncoderProfiledJointStatus { |
| // Is the subsystem zeroed? |
| zeroed:bool (id: 0); |
| |
| // The state of the subsystem, if applicable. -1 otherwise. |
| // TODO(alex): replace with enum. |
| state:int (id: 1); |
| |
| // If true, we have aborted. |
| estopped:bool (id: 2); |
| |
| // Position of the joint. |
| position:float (id: 3); |
| // Velocity of the joint in units/second. |
| velocity:float (id: 4); |
| // Profiled goal position of the joint. |
| goal_position:float (id: 5); |
| // Profiled goal velocity of the joint in units/second. |
| goal_velocity:float (id: 6); |
| // Unprofiled goal position from absoulte zero of the joint. |
| unprofiled_goal_position:float (id: 7); |
| // Unprofiled goal velocity of the joint in units/second. |
| unprofiled_goal_velocity:float (id: 8); |
| |
| // The estimated voltage error. |
| voltage_error:float (id: 9); |
| |
| // The calculated velocity with delta x/delta t |
| calculated_velocity:float (id: 10); |
| |
| // Components of the control loop output |
| position_power:float (id: 11); |
| velocity_power:float (id: 12); |
| feedforwards_power:float (id: 13); |
| |
| // State of the estimator. |
| estimator_state:frc971.RelativeEncoderEstimatorState (id: 14); |
| } |
| |
| table StaticZeroingSingleDOFProfiledSubsystemGoal { |
| unsafe_goal:double (id: 0); |
| |
| profile_params:frc971.ProfileParameters (id: 1); |
| |
| // Sets the goal velocity of the subsystem. |
| goal_velocity:double (id: 2); |
| |
| // If set to true, then we will ignore the profiling on this joint and pass |
| // the goal + goal velocity directly to the control loop. |
| ignore_profile:bool (id: 3); |
| } |