1 #ifndef __SPINTAC_VEL_CTL_H__
2 #define __SPINTAC_VEL_CTL_H__
49 #ifndef __ST_AXIS_ENUM__
50 #define __ST_AXIS_ENUM__
58 #endif //__ST_AXIS_ENUM__
60 #ifndef __ST_CTL_STATUS_ENUM__
61 #define __ST_CTL_STATUS_ENUM__
71 #endif //__ST_CTL_STATUS_ENUM__
365 #endif //__SPINTAC_VEL_CTL_H__
static void STVELCTL_setOutputMaximums(ST_VELCTL_Handle handle, _iq24 outMax, _iq24 outMin)
Sets the Maximum Output (cfg.OutMax) and Minimum Output (cfg.OutMin) for SpinTAC Velocity Controller...
bool ENB
Enable bit { false: disable; true: enable }.
static ST_CtlStatus_e STVELCTL_getStatus(ST_VELCTL_Handle handle)
Gets the Status value (STATUS) for SpinTAC Velocity Controller.
static _iq20 STVELCTL_getBandwidth_radps(ST_VELCTL_Handle handle)
Gets the Bandwidth (Bw_radps) for SpinTAC Velocity Controller.
ST_CtlStatus_e
Enumeration for the Control Status states.
_iq24 OutMax
Control signal upper limit { unit: [PU], value range: (-1.0, 1.0] }.
ST_VELCTL_Handle STVELCTL_init(void *pMemory, const size_t numBytes)
Initializes the SpinTAC Velocity Controller object.
static _iq24 STVELCTL_getOutputMinimum(ST_VELCTL_Handle handle)
Gets the Minimum Output (cfg.OutMin) for SpinTAC Velocity Controller.
static void STVELCTL_setVelocityReference(ST_VELCTL_Handle handle, _iq24 velRef)
Sets the Velocity Reference (VelRef) for SpinTAC Velocity Controller.
ST_Axis_e Axis
Axis ID { ST_AXIS0: axis 0, ST_AXIS1: axis 1}.
static _iq24 STVELCTL_getVelocityFeedback(ST_VELCTL_Handle handle)
Gets the Velocity Feedback (VelFdb) for SpinTAC Velocity Controller.
_iq24 T_sec
Sample time { unit: [s], value range: (0.0, 0.01] }.
bool FiltEN
Enable low-pass Filter { false: Filter Disabled; true: Filter Enabled }.
Defines the ST_VelCtl_t data.
static void STVELCTL_setVelocityFeedback(ST_VELCTL_Handle handle, _iq24 velFdb)
Sets the Velocity Feedback (VelFdb) for SpinTAC Velocity Controller.
static _iq24 STVELCTL_getTorqueReference(ST_VELCTL_Handle handle)
Gets the Torque (Iq) Reference (Out) for SpinTAC Velocity Controller.
static void STVELCTL_setSampleTime_sec(ST_VELCTL_Handle handle, _iq24 sampleTime)
Sets the Sample Time (cfg.T_sec) for SpinTAC Velocity Controller.
_iq24 Out
Control output { unit: [PU], value range: [cfg.OutMin, cfg.OutMax] }.
_iq24 Inertia
System inertia { unit: [PU/(pu/s^2)], value range: positive _IQ24 value }.
ST_CtlStatus_e
Enumeration for the Control Status states.
static void STVELCTL_setFilterEnableFlag(ST_VELCTL_Handle handle, bool filterEnable)
Sets the Feedback Filter Enable Flag (cfg.FiltEN) for SpinTAC Velocity Controller.
static _iq24 STVELCTL_getInertia(ST_VELCTL_Handle handle)
Gets the Inertia (Inertia) for SpinTAC Velocity Controller.
void STVELCTL_run(ST_VELCTL_Handle handle)
Runs the SpinTAC Velocity Control Function.
static _iq24 STVELCTL_getFriction(ST_VELCTL_Handle handle)
Gets the Friction (Friction) from SpinTAC Velocity Controller.
static void STVELCTL_setTorqueReference(ST_VELCTL_Handle handle, _iq24 out)
Sets the Torque (Iq) Reference (Out) for SpinTAC Velocity Controller.
static _iq24 STVELCTL_getVelocityReference(ST_VELCTL_Handle handle)
Gets the Velocity Reference (VelRef) for SpinTAC Velocity Controller.
static _iq24 STVELCTL_getOutputMaximum(ST_VELCTL_Handle handle)
Gets the Maximum Output (cfg.OutMax) for SpinTAC Velocity Controller.
static bool STVELCTL_getEnable(ST_VELCTL_Handle handle)
Gets the Enable signal (ENB) for SpinTAC Velocity Controller.
static void STVELCTL_setAccelerationReference(ST_VELCTL_Handle handle, _iq24 accRef)
Sets the Acceleration Reference (AccRef) for SpinTAC Velocity Controller.
_iq24 VelRef
Reference input { unit: [pu/s], value range: [-1.0, 1.0] }.
Defines the ST_VelCtlCfg_t data.
ST_Axis_e
Enumeration for the Axis Status states.
ST_Axis_e
Enumeration for the Axis Status states.
Public interface, object, and function definitions related to the SpinTAC Version object...
uint16_t ERR_ID
Error ID { 0: no error; others: see error code }.
static uint16_t STVELCTL_getErrorID(ST_VELCTL_Handle handle)
Gets the Error value (ERR_ID) for SpinTAC Velocity Controller.
_iq24 AccRef
Feedforward input { unit: [pu/s^2] }.
_iq20 Bw_radps
Controller Bandwidth {unit: [rad/s], value range: [0.01, min(2000.0, 0.1/T_sec)] }.
static void STVELCTL_setInertia(ST_VELCTL_Handle handle, _iq24 inertia)
Sets the Inertia (Inertia) for SpinTAC Velocity Controller.
struct _ST_VELCTL_Handle_ * ST_VELCTL_Handle
static void STVELCTL_setFriction(ST_VELCTL_Handle handle, _iq24 friction)
Sets the Friction (Friction) for SpinTAC Velocity Controller.
static void STVELCTL_setEnable(ST_VELCTL_Handle handle, bool enb)
Sets the Enable signal (ENB) for SpinTAC Velocity Controller.
_iq24 OutMin
Control signal lower limit { unit: [PU], value range: [-1.0, OutMax) }.
static void STVELCTL_setAxis(ST_VELCTL_Handle handle, ST_Axis_e axis)
Sets the Axis (cfg.Axis) for SpinTAC Velocity Controller.
_iq24 VelFdb
Feedback input { unit: [pu/s], value range: [-1.0, 1.0] }.
ST_CtlStatus_e STATUS
Status { ST_CTL_IDLE, ST_CTL_INIT, ST_CTL_CONF, ST_CTL_BUSY }.
_iq24 Friction
Friction Coefficient { unit: [PU/(pu/s)], value range: positive _IQ24 value }.
static void STVELCTL_setBandwidth_radps(ST_VELCTL_Handle handle, _iq20 bw)
Sets the Bandwidth (Bw_radps) for SpinTAC Velocity Controller.