Jump to main content

##

# 3.3.21.6 tmcSup_State_s Struct

## C

    /* Structure defining the state parameters for open loop start-up: Floating point version */
    typedef struct
    {
        bool enable;                         /* Flag indicating open loop start-up module enable status */
        bool initDone;                       /* Flag indicating open loop start-up module initialization status */
        tmcSup_State_e StartupState;         /* Current state of the start-up sequence */
        uint8_t oneTimeAlignDone;            /* Flag indicating whether the one-time alignment is done */
        float32_t alignmentCurrent;          /* Alignement current */
        float32_t openLoopCurrent;           /* open loop current */
        float32_t currentRampRate;           /* Rate at which the current is ramped up during the start-up sequence*/
        float32_t speedRampRate;             /* Rate at which the speed is ramped up during the start-up sequence*/
        float32_t speedToAngle;              /* Conversion factor for speed to angle */
        float32_t openLoopSpeed;             /* Current speed during the open-loop start-up sequence */
        float32_t openLoopAngle;             /* Current angle during the open-loop start-up sequence */
        float32_t openLoopFinalSpeed;        /* Target final speed to be achieved during the open-loop ramp phase */
        uint32_t alignmentTimeLoopCount;     /* Target final speed to be achieved during the open-loop ramp phase */
        uint32_t halfAlignmentTimeLoopCount; /* Number of loop counts for half of the alignment phase */
        uint32_t openLoopRampTimeLoopCount;  /* Number of loop counts for the ramp phasee */
        uint32_t openLoopStabTimeLoopCount;  /* Number of loop counts for the open-loop stabilization phase */
        uint32_t zCounter;                   /* A counter used during the start-up sequence to track progress */
    }tmcSup_State_s;

    /* Structure defining the state parameters for open loop start-up: Fixed point version */
    typedef struct
    {
        bool enable;                           /* Flag indicating open loop start-up module enable status */
        bool initDone;                         /* Flag indicating open loop start-up module initialization status */
        tmcSup_State_e StartupState;           /* Current state of the start-up sequence. */
        int16_t alignmentCurrent;              /* Alignement current */
        int16_t openLoopCurrent;               /* open loop current */
        int16_t currentRampRate;               /* Value for current ramp rate */
        int16_t speedRampRate;                 /* Value for speed ramp rate */
        int16_t speedToAngle;                  /* Value for speed to angle conversion */
        int16_t openLoopSpeed;                 /* Current speed during the open-loop start-up sequence */
        int16_t openLoopFinalSpeed;            /* Target final speed to be achieved during the open-loop ramp phase */
        uint32_t alignmentTimeLoopCount;       /* Target final speed to be achieved during the open-loop ramp phase */
        uint32_t halfAlignmentTimeLoopCount;   /* Number of loop counts for half of the alignment phase */
        uint32_t openLoopRampTimeLoopCount;    /* Number of loop counts for the ramp phase */
        uint32_t openLoopStabTimeLoopCount;    /* Number of loop counts for the open-loop stabilization phase */
        uint32_t zCounter;                     /* A counter used during the start-up sequence to track progress */
    } tmcSup_State_s;

## Summary

Open loop start-up module structure.

## Description

This structure holds the state and parameters for the open loop start-up module. It includes control flags, state variables, and various control parameters.

## Remarks

Refer the generated header file for the exact typedef signature.