#[repr(C)]pub struct MotionProfileStatus {
pub top_buffer_rem: i32,
pub top_buffer_cnt: i32,
pub btm_buffer_cnt: i32,
pub has_underrun: bool,
pub is_underrun: bool,
pub active_point_valid: bool,
pub is_last: bool,
pub profile_slot_select_0: i32,
pub profile_slot_select_1: i32,
pub output_enable: SetValueMotionProfile,
pub time_dur_ms: i32,
}Expand description
Motion Profile Status This is simply a data transer object.
Fields§
§top_buffer_rem: i32The available empty slots in the trajectory buffer.
The robot API holds a “top buffer” of trajectory points, so your applicaion can dump several points at once. The API will then stream them into the Talon’s low-level buffer, allowing the Talon to act on them.
top_buffer_cnt: i32The number of points in the top trajectory buffer.
btm_buffer_cnt: i32The number of points in the low level Talon buffer.
has_underrun: boolSet if is_underrun ever gets set.
Only is cleared by clearMotionProfileHasUnderrun() to ensure
robot logic can react or instrument it.
@see clearMotionProfileHasUnderrun()
is_underrun: boolThis is set if Talon needs to shift a point from its buffer into the active trajectory point however the buffer is empty. This gets cleared automatically when is resolved.
active_point_valid: boolTrue if the active trajectory point has not empty, false otherwise. The members in activePoint are only valid if this signal is set.
is_last: bool§profile_slot_select_0: i32Selected slot for PID Loop 0
profile_slot_select_1: i32Selected slot for PID Loop 0
output_enable: SetValueMotionProfileThe current output mode of the motion profile executer (disabled, enabled, or hold). When changing the set() value in MP mode, it’s important to check this signal to confirm the change takes effect before interacting with the top buffer.
time_dur_ms: i32The applied duration of the active trajectory point