|
56800/E Additional Types For SDK Components The following types definitions are generated into the file PETypes.h in the Processor Expert for 56800/E. These types are intended to be used with the algorithms coming from the original SDK library. For more details please refer to the appropriate components documentation. /* SDK types definition */ typedef signed char Word8; typedef unsigned char UWord8; typedef short Word16; typedef unsigned short UWord16; typedef long Word32; typedef unsigned long UWord32; typedef signed char Int8; typedef unsigned char UInt8; typedef int Int16; typedef unsigned int UInt16; typedef long Int32; typedef unsigned long UInt32; typedef union { struct { UWord16 LSBpart; Word16 MSBpart; } RegParts; Word32 Reg32bit; } decoder_uReg32bit; typedef struct { union { Word16 PositionDifferenceHoldReg; Word16 posdh; }; union { Word16 RevolutionHoldReg; Word16 revh; }; union { decoder_uReg32bit PositionHoldReg; Word32 posh; }; }decoder_sState; typedef struct { UWord16 EncPulses; UWord16 RevolutionScale; Int16 scaleDiffPosCoef; UInt16 scalePosCoef; Int16 normDiffPosCoef; Int16 normPosCoef; }decoder_sEncScale; typedef struct { UWord16 Index :1; UWord16 PhaseB :1; UWord16 PhaseA :1; UWord16 Reserved :13; }decoder_sEncSignals; typedef union{ decoder_sEncSignals EncSignals; UWord16 Value; } decoder_uEncSignals; /****************************************************************************** * * This Motor Control section contains generally useful and generic * types that are used throughout the domain of motor control. * ******************************************************************************/ /* Fractional data types for portability */ typedef short Frac16; typedef long Frac32; typedef enum { mcPhaseA, mcPhaseB, mcPhaseC } mc_ePhaseType; typedef struct { Frac16 PhaseA; Frac16 PhaseB; Frac16 PhaseC; } mc_s3PhaseSystem; /* general types, primary used in FOC */ typedef struct { Frac16 alpha; Frac16 beta; } mc_sPhase; typedef struct { Frac16 sine; Frac16 cosine; } mc_sAngle; typedef struct { Frac16 d_axis; Frac16 q_axis; } mc_sDQsystem; typedef struct { Frac16 psi_Rd; Frac16 omega_field; Frac16 i_Sd; Frac16 i_Sq; } mc_sDQEstabl; typedef UWord16 mc_tPWMSignalMask; /* pwm_tSignalMask contains six control bits representing six PWM signals, shown below. The bits can be combined in a numerical value that represents the union of the appropriate bits. For example, the value 0x15 indicates that PWM signals 0, 2, and 4 are set. */ /* general types, primary used in PI, PID and other controllers */ typedef struct { Word16 ProportionalGain; Word16 ProportionalGainScale; Word16 IntegralGain; Word16 IntegralGainScale; Word16 DerivativeGain; Word16 DerivativeGainScale; Word16 PositivePIDLimit; Word16 NegativePIDLimit; Word16 IntegralPortionK_1; Word16 InputErrorK_1; }mc_sPIDparams; typedef struct { Word16 ProportionalGain; Word16 ProportionalGainScale; Word16 IntegralGain; Word16 IntegralGainScale; Word16 PositivePILimit; Word16 NegativePILimit; Word16 IntegralPortionK_1; }mc_sPIparams; #endif /* __PE_Types_H */ #define MC_PWM_SIGNAL_0 0x0001 #define MC_PWM_SIGNAL_1 0x0002 #define MC_PWM_SIGNAL_2 0x0004 #define MC_PWM_SIGNAL_3 0x0008 #define MC_PWM_SIGNAL_4 0x0010 #define MC_PWM_SIGNAL_5 0x0020 #define MC_PWM_NO_SIGNALS 0x0000 /* No (none) PWM signals */ #define MC_PWM_ALL_SIGNALS (MC_PWM_SIGNAL_0 | \ MC_PWM_SIGNAL_1 | \ MC_PWM_SIGNAL_2 | \ MC_PWM_SIGNAL_3 | \ MC_PWM_SIGNAL_4 | \ MC_PWM_SIGNAL_5) Copyright 2013 Freescale Semiconductor, Inc.
PROCESSOR EXPERT is trademark of Freescale Semiconductor, Inc. |