![]() |
![]() |
Data Structures | |
struct | _SSIPD_obj_ |
Defines the SSIPD_Obj object. More... | |
Macros | |
#define | SSIPD_DEBUG 1 |
#define | SSIPD_DETECT_NUM 24.0f |
#define | SSIPD_BUFF_NUM (uint16_t)(SSIPD_DETECT_NUM + 2) |
Typedefs | |
typedef struct _SSIPD_obj_ | SSIPD_Obj |
Defines the SSIPD_Obj object. More... | |
typedef struct _SSIPD_obj_ * | SSIPD_Handle |
Defines the SSIPD handle. More... | |
Functions | |
SSIPD_Handle | SSIPD_init (void *pMemory, const size_t numBytes) |
Initializes the SSIPD object. More... | |
void | SSIPD_setParams (SSIPD_Handle handle, const float32_t volSet_V, const float32_t angleInc_rad, const uint16_t pulseWidth) |
Sets the SSIPD parameters. More... | |
static bool | SSIPD_getFlagEnablePWM (SSIPD_Handle handle) |
Gets the enable PWM flag. More... | |
static bool | SSIPD_getRunState (SSIPD_Handle handle) |
Gets the SSIPD state. More... | |
static float32_t | SSIPD_getDoneStatus (SSIPD_Handle handle) |
Gets the SSIPD state. More... | |
static float32_t | SSIPD_getAngleOut_rad (SSIPD_Handle handle) |
Gets the SSIPD state. More... | |
static float32_t | SSIPD_getAngleCmd_rad (SSIPD_Handle handle) |
Gets the SSIPD state. More... | |
static float32_t | SSIPD_getVolInject_V (SSIPD_Handle handle) |
Gets the SSIPD state. More... | |
static void | SSIPD_start (SSIPD_Handle handle) |
Runs six-pulse initial position detection. More... | |
static void | SSIPD_reset (SSIPD_Handle handle) |
Runs six-pulse initial position detection. More... | |
static void | SSIPD_inine_run (SSIPD_Handle handle, MATH_Vec2 *pIab) |
Runs six-pulse initial position detection. More... | |
Variables | |
float32_t | IsPeakBuff [(uint16_t)(24.0f+2)] |
float32_t | AngleBuff [(uint16_t)(24.0f+2)] |
uint16_t | peakBuffcnt |
#define SSIPD_DEBUG 1 |
#define SSIPD_DETECT_NUM 24.0f |
#define SSIPD_BUFF_NUM (uint16_t)(SSIPD_DETECT_NUM + 2) |
typedef struct _SSIPD_obj_ SSIPD_Obj |
Defines the SSIPD_Obj object.
typedef struct _SSIPD_obj_* SSIPD_Handle |
Defines the SSIPD handle.
SSIPD_Handle SSIPD_init | ( | void * | pMemory, |
const size_t | numBytes | ||
) |
Initializes the SSIPD object.
[in] | *pMemory | Pointer in to the SSIPD object |
[in] | numBytes | Size of the object |
void SSIPD_setParams | ( | SSIPD_Handle | handle, |
const float32_t | volSet_V, | ||
const float32_t | angleInc_rad, | ||
const uint16_t | pulseWidth | ||
) |
Sets the SSIPD parameters.
[in] | handle | The SSIPD handle |
[in] | value | The injection voltage |
[in] | value | The angle delta |
|
inlinestatic |
Gets the enable PWM flag.
[in] | handle | The SSIPD handle |
References _SSIPD_obj_::flagEnablePWM.
|
inlinestatic |
Gets the SSIPD state.
[in] | handle | The SSIPD handle |
References _SSIPD_obj_::flagRunState.
|
inlinestatic |
Gets the SSIPD state.
[in] | handle | The SSIPD handle |
References _SSIPD_obj_::flagDoneStatus.
|
inlinestatic |
Gets the SSIPD state.
[in] | handle | The SSIPD handle |
References _SSIPD_obj_::angleOut_rad.
|
inlinestatic |
Gets the SSIPD state.
[in] | handle | The SSIPD handle |
References _SSIPD_obj_::angleCmd_rad.
|
inlinestatic |
Gets the SSIPD state.
[in] | handle | The SSIPD handle |
References _SSIPD_obj_::VqInject_V.
|
inlinestatic |
Runs six-pulse initial position detection.
[in] | handle | The SSIPD handle |
[in] | pIab | The pointer to the input vector |
References _SSIPD_obj_::angleCmd_rad, _SSIPD_obj_::angleOut_rad, _SSIPD_obj_::angleTemp_rad, _SSIPD_obj_::flagDirection, _SSIPD_obj_::flagRunState, _SSIPD_obj_::IsPeak_A, peakBuffcnt, and _SSIPD_obj_::pulseCount.
|
inlinestatic |
Runs six-pulse initial position detection.
[in] | handle | The SSIPD handle |
[in] | pIab | The pointer to the input vector |
References _SSIPD_obj_::angleCmd_rad, _SSIPD_obj_::angleOut_rad, _SSIPD_obj_::angleTemp_rad, _SSIPD_obj_::flagDirection, _SSIPD_obj_::flagDoneStatus, _SSIPD_obj_::flagEnablePWM, _SSIPD_obj_::flagRunState, _SSIPD_obj_::IsPeak_A, peakBuffcnt, and _SSIPD_obj_::pulseCount.
|
inlinestatic |
Runs six-pulse initial position detection.
[in] | handle | The SSIPD handle |
[in] | pIab | The pointer to the input vector |
References AngleBuff, _SSIPD_obj_::angleCmd_rad, _SSIPD_obj_::angleInc_rad, _SSIPD_obj_::angleMax_rad, _SSIPD_obj_::angleOut_rad, _SSIPD_obj_::angleTemp_rad, _SSIPD_obj_::flagDirection, _SSIPD_obj_::flagDoneStatus, _SSIPD_obj_::flagEnablePWM, _SSIPD_obj_::flagRunState, _SSIPD_obj_::IsPeak_A, IsPeakBuff, _SSIPD_obj_::IsTemp_A, MATH_PI, peakBuffcnt, _SSIPD_obj_::pulseCount, _SSIPD_obj_::pulseWidth, SSIPD_BUFF_NUM, _MATH_Vec2_::value, _SSIPD_obj_::VqInject_V, and _SSIPD_obj_::VqSet_V.
float32_t IsPeakBuff[(uint16_t)(24.0f+2)] |
Referenced by SSIPD_inine_run().
float32_t AngleBuff[(uint16_t)(24.0f+2)] |
Referenced by SSIPD_inine_run().
uint16_t peakBuffcnt |
Referenced by SSIPD_inine_run(), SSIPD_reset(), and SSIPD_start().