LPS mod
lib_L6470DC.h@6:7ca2eef852fd, 2022-04-01 (annotated)
- Committer:
- jsanchez
- Date:
- Fri Apr 01 11:38:25 2022 +0000
- Revision:
- 6:7ca2eef852fd
- Parent:
- L6470DC_V2.h@5:70dd0713fdb0
- Child:
- 7:2ff9788e2827
LPS
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Lvh | 5:70dd0713fdb0 | 1 | //L6470 libraly maked by Brid |
Lvh | 5:70dd0713fdb0 | 2 | //Modified to Daisy Chain Mode by Lvh - March 2015 |
Lvh | 5:70dd0713fdb0 | 3 | |
Lvh | 5:70dd0713fdb0 | 4 | #ifndef MBED_L6470 |
Lvh | 5:70dd0713fdb0 | 5 | #define MBED_L6470 |
jsanchez | 6:7ca2eef852fd | 6 | |
Lvh | 5:70dd0713fdb0 | 7 | #include "mbed.h" |
Lvh | 5:70dd0713fdb0 | 8 | |
Lvh | 5:70dd0713fdb0 | 9 | #define LEN_ABS_POS 22 |
Lvh | 5:70dd0713fdb0 | 10 | #define LEN_EL_POS 9 |
Lvh | 5:70dd0713fdb0 | 11 | #define LEN_MARK 22 |
Lvh | 5:70dd0713fdb0 | 12 | #define LEN_SPEED 20 |
Lvh | 5:70dd0713fdb0 | 13 | #define LEN_ACC 12 |
Lvh | 5:70dd0713fdb0 | 14 | #define LEN_DEC 12 |
Lvh | 5:70dd0713fdb0 | 15 | #define LEN_MAX_SPEED 10 |
Lvh | 5:70dd0713fdb0 | 16 | #define LEN_MIN_SPEED 13 |
Lvh | 5:70dd0713fdb0 | 17 | #define LEN_KVAL_HOLD 8 |
Lvh | 5:70dd0713fdb0 | 18 | #define LEN_KVAL_RUN 8 |
Lvh | 5:70dd0713fdb0 | 19 | #define LEN_KVAL_ACC 8 |
Lvh | 5:70dd0713fdb0 | 20 | #define LEN_KVAL_DEC 8 |
Lvh | 5:70dd0713fdb0 | 21 | #define LEN_INT_SPD 14 |
Lvh | 5:70dd0713fdb0 | 22 | #define LEN_ST_SLP 8 |
Lvh | 5:70dd0713fdb0 | 23 | #define LEN_FN_SLP_ACC 8 |
Lvh | 5:70dd0713fdb0 | 24 | #define LEN_FN_SLP_DEC 8 |
Lvh | 5:70dd0713fdb0 | 25 | #define LEN_K_THERA 4 |
Lvh | 5:70dd0713fdb0 | 26 | #define LEN_ADC_OUT 5 |
Lvh | 5:70dd0713fdb0 | 27 | #define LEN_OCR_TH 4 |
Lvh | 5:70dd0713fdb0 | 28 | #define LEN_STALL_TH 7 |
Lvh | 5:70dd0713fdb0 | 29 | #define LEN_FS_SPD 10 |
Lvh | 5:70dd0713fdb0 | 30 | #define LEN_STEP_MODE 8 |
Lvh | 5:70dd0713fdb0 | 31 | #define LEN_ARARM_FN 8 |
Lvh | 5:70dd0713fdb0 | 32 | #define LEN_CONFIG 16 |
Lvh | 5:70dd0713fdb0 | 33 | #define LEN_STATUS 16 |
Lvh | 5:70dd0713fdb0 | 34 | |
Lvh | 5:70dd0713fdb0 | 35 | |
Lvh | 5:70dd0713fdb0 | 36 | #define ADD_ABS_POS 0x01 |
Lvh | 5:70dd0713fdb0 | 37 | #define ADD_EL_POS 0x02 |
Lvh | 5:70dd0713fdb0 | 38 | #define ADD_MARK 0x03 |
Lvh | 5:70dd0713fdb0 | 39 | #define ADD_SPEED 0x04 |
Lvh | 5:70dd0713fdb0 | 40 | #define ADD_ACC 0x05 |
Lvh | 5:70dd0713fdb0 | 41 | #define ADD_DEC 0x06 |
Lvh | 5:70dd0713fdb0 | 42 | #define ADD_MAX_SPEED 0x07 |
Lvh | 5:70dd0713fdb0 | 43 | #define ADD_MIN_SPEED 0x08 |
Lvh | 5:70dd0713fdb0 | 44 | #define ADD_KVAL_HOLD 0x09 |
Lvh | 5:70dd0713fdb0 | 45 | #define ADD_KVAL_RUN 0x0A |
Lvh | 5:70dd0713fdb0 | 46 | #define ADD_KVAL_ACC 0x0B |
Lvh | 5:70dd0713fdb0 | 47 | #define ADD_KVAL_DEC 0x0C |
Lvh | 5:70dd0713fdb0 | 48 | #define ADD_INT_SPD 0x0D |
Lvh | 5:70dd0713fdb0 | 49 | #define ADD_ST_SLP 0x0E |
Lvh | 5:70dd0713fdb0 | 50 | #define ADD_FN_SLP_ACC 0x0F |
Lvh | 5:70dd0713fdb0 | 51 | #define ADD_FN_SLP_DEC 0x10 |
Lvh | 5:70dd0713fdb0 | 52 | #define ADD_K_THERA 0x11 |
Lvh | 5:70dd0713fdb0 | 53 | #define ADD_ADC_OUT 0x12 |
Lvh | 5:70dd0713fdb0 | 54 | #define ADD_OCR_TH 0x13 |
Lvh | 5:70dd0713fdb0 | 55 | #define ADD_STALL_TH 0x14 |
Lvh | 5:70dd0713fdb0 | 56 | #define ADD_FS_SPD 0x15 |
Lvh | 5:70dd0713fdb0 | 57 | #define ADD_STEP_MODE 0x16 |
Lvh | 5:70dd0713fdb0 | 58 | #define ADD_ARARM_FN 0x17 |
Lvh | 5:70dd0713fdb0 | 59 | #define ADD_CONFIG 0x18 |
Lvh | 5:70dd0713fdb0 | 60 | #define ADD_STATUS 0x19 |
Lvh | 5:70dd0713fdb0 | 61 | |
jsanchez | 6:7ca2eef852fd | 62 | #define L6470_MAX_POSITION (0x1FFFFF) //!< Max position |
jsanchez | 6:7ca2eef852fd | 63 | #define L6470_MIN_POSITION (-(0x200000)) //!< Min position |
jsanchez | 6:7ca2eef852fd | 64 | #define L6470_POSITION_RANGE ((uint32_t)(L6470_MAX_POSITION - L6470_MIN_POSITION)) //!< Position range |
jsanchez | 6:7ca2eef852fd | 65 | #define L6470_MAX_SPEED (0xFFFFF) //!< max value of SPEED |
jsanchez | 6:7ca2eef852fd | 66 | #define L6470_MAX_ACC (0xFFF) //!< max value of ACC |
jsanchez | 6:7ca2eef852fd | 67 | #define L6470_MAX_DEC (0xFFF) //!< max value of DEC |
jsanchez | 6:7ca2eef852fd | 68 | #define L6470_MAX_MAX_SPEED (0x3FF) //!< max value of MAX_SPEED |
jsanchez | 6:7ca2eef852fd | 69 | #define L6470_MAX_MIN_SPEED (0xFFF) //!< max value of MIN_SPEED |
jsanchez | 6:7ca2eef852fd | 70 | #define L6470_MAX_FS_SPD (0x3FF) //!< max value of FS_SPD |
jsanchez | 6:7ca2eef852fd | 71 | #define L6470_MAX_INT_SPEED (0x3FFF) //!< max value of INT_SPEED |
jsanchez | 6:7ca2eef852fd | 72 | #define L6470_MAX_ST_SLP (0xFF) //!< max value of ST_SLP |
jsanchez | 6:7ca2eef852fd | 73 | #define L6470_MAX_FN_SLP_ACC (0xFF) //!< max value of FN_SLP_ACC |
jsanchez | 6:7ca2eef852fd | 74 | #define L6470_MAX_FN_SLP_DEC (0xFF) //!< max value of FN_SLP_DEC |
jsanchez | 6:7ca2eef852fd | 75 | #define L6470_MAX_OCD_TH (0xF) //!< max value of OCD_TH |
jsanchez | 6:7ca2eef852fd | 76 | #define L6470_MAX_STALL_TH (0x7F) //!< max value of STALL_TH |
Lvh | 5:70dd0713fdb0 | 77 | |
jsanchez | 6:7ca2eef852fd | 78 | #define L6470_MAX_SPEED_VALUE ((float)15610) //!< max value for the speed in step/s |
jsanchez | 6:7ca2eef852fd | 79 | #define L6470_MAX_ACC_VALUE ((float)59590) //!< max value for the acceleration in step/s^2 |
jsanchez | 6:7ca2eef852fd | 80 | #define L6470_MAX_DEC_VALUE ((float)59590) //!< max value for the acceleration in step/s^2 |
jsanchez | 6:7ca2eef852fd | 81 | #define L6470_MAX_DEC_VALUE ((float)59590) //!< max value for the acceleration in step/s^2 |
Lvh | 5:70dd0713fdb0 | 82 | |
jsanchez | 6:7ca2eef852fd | 83 | #define OCD_TH_STEP ((float)375) //!< Minimum step for OCD_TH register in mAmpere |
jsanchez | 6:7ca2eef852fd | 84 | #define STALL_TH_STEP ((float)31.25) //!< Minimum step for STALL_TH register in mAmpere |
jsanchez | 6:7ca2eef852fd | 85 | |
jsanchez | 6:7ca2eef852fd | 86 | #define L6470_ACC_CONV ((float)0.068719) //!< Conversion factor for acceleration value from step/s^2 to the right value |
jsanchez | 6:7ca2eef852fd | 87 | #define L6470_DEC_CONV ((float)0.068719) //!< Conversion factor for deceleration value from step/s^2 to the right value |
jsanchez | 6:7ca2eef852fd | 88 | #define L6470_MAXSPEED_CONV ((float)0.065536) //!< Conversion factor for max speed value from step/s to the right value |
jsanchez | 6:7ca2eef852fd | 89 | #define L6470_MINSPEED_CONV ((float)4.194304) //!< Conversion factor for min speed value from step/s to the right value |
jsanchez | 6:7ca2eef852fd | 90 | #define L6470_SPEED_CONV ((float)67.108864) //!< Conversion factor for speed value from step/s to the right value |
jsanchez | 6:7ca2eef852fd | 91 | |
jsanchez | 6:7ca2eef852fd | 92 | typedef enum { |
jsanchez | 6:7ca2eef852fd | 93 | FULL_STEP = 0x00, //!< Full-step |
jsanchez | 6:7ca2eef852fd | 94 | HALF_STEP = 0x01, //!< Half-step |
jsanchez | 6:7ca2eef852fd | 95 | MICROSTEP_1_4 = 0x02, //!< 1/4 microstep |
jsanchez | 6:7ca2eef852fd | 96 | MICROSTEP_1_8 = 0x03, //!< 1/8 microstep |
jsanchez | 6:7ca2eef852fd | 97 | MICROSTEP_1_16 = 0x04, //!< 1/16 microstep |
jsanchez | 6:7ca2eef852fd | 98 | MICROSTEP_1_32 = 0x05, //!< 1/32 microstep |
jsanchez | 6:7ca2eef852fd | 99 | MICROSTEP_1_64 = 0x06, //!< 1/64 microstep |
jsanchez | 6:7ca2eef852fd | 100 | MICROSTEP_1_128 = 0x07 //!< 1/128 microstep |
jsanchez | 6:7ca2eef852fd | 101 | } L6470_StepMode; |
Lvh | 5:70dd0713fdb0 | 102 | |
jsanchez | 6:7ca2eef852fd | 103 | typedef struct { |
jsanchez | 6:7ca2eef852fd | 104 | float motorvoltage; //!< motor supply voltage in V |
jsanchez | 6:7ca2eef852fd | 105 | int fullstepsperrevolution; //!< min number of steps per revolution for the motor |
jsanchez | 6:7ca2eef852fd | 106 | int position; |
jsanchez | 6:7ca2eef852fd | 107 | int target; //!< target [steps] |
jsanchez | 6:7ca2eef852fd | 108 | float speed; //!< motor initial speed [step/s] |
jsanchez | 6:7ca2eef852fd | 109 | float acc; //!< motor acceleration [step/s^2] (comment for infinite acceleration mode) |
jsanchez | 6:7ca2eef852fd | 110 | float dec; //!< motor deceleration [step/s^2] (comment for infinite deceleration mode) |
jsanchez | 6:7ca2eef852fd | 111 | float maxspeed; //!< motor maximum speed [step/s] |
jsanchez | 6:7ca2eef852fd | 112 | float minspeed; //!< motor minimum speed [step/s] |
jsanchez | 6:7ca2eef852fd | 113 | float fsspd; //!< motor full-step speed threshold [step/s] |
jsanchez | 6:7ca2eef852fd | 114 | float kvalhold; //!< holding kval [V] |
jsanchez | 6:7ca2eef852fd | 115 | float kvalrun; //!< constant speed kval [V] |
jsanchez | 6:7ca2eef852fd | 116 | float kvalacc; //!< acceleration starting kval [V] |
jsanchez | 6:7ca2eef852fd | 117 | float kvaldec; //!< deceleration starting kval [V] |
jsanchez | 6:7ca2eef852fd | 118 | float intspeed; //!< intersect speed for bemf compensation curve slope changing [step/s] |
jsanchez | 6:7ca2eef852fd | 119 | float stslp; //!< start slope [s/step] |
jsanchez | 6:7ca2eef852fd | 120 | float fnslpacc; //!< acceleration final slope [s/step] |
jsanchez | 6:7ca2eef852fd | 121 | float fnslpdec; //!< deceleration final slope [s/step] |
jsanchez | 6:7ca2eef852fd | 122 | uint8_t kterm; //!< thermal compensation factor (range [0, 15]) |
jsanchez | 6:7ca2eef852fd | 123 | float ocdth; //!< ocd threshold [ma] (range [375 ma, 6000 ma]) |
jsanchez | 6:7ca2eef852fd | 124 | float stallth; //!< stall threshold [ma] (range [31.25 ma, 4000 ma]) |
jsanchez | 6:7ca2eef852fd | 125 | uint8_t step_sel; //!< step mode selection |
jsanchez | 6:7ca2eef852fd | 126 | uint8_t alarmen; //!< alarm conditions enable |
jsanchez | 6:7ca2eef852fd | 127 | uint16_t config; //!< ic configuration |
jsanchez | 6:7ca2eef852fd | 128 | } L6470_MotorConf; |
jsanchez | 6:7ca2eef852fd | 129 | |
jsanchez | 6:7ca2eef852fd | 130 | enum L6470_Register { |
jsanchez | 6:7ca2eef852fd | 131 | ABS_POS = 0x01, //!< Current position |
jsanchez | 6:7ca2eef852fd | 132 | EL_POS, //!< Electrical position |
jsanchez | 6:7ca2eef852fd | 133 | MARK, //!< Mark position |
jsanchez | 6:7ca2eef852fd | 134 | SPEED, //!< Current speed |
jsanchez | 6:7ca2eef852fd | 135 | ACC, //!< Acceleration |
jsanchez | 6:7ca2eef852fd | 136 | DEC, //!< Deceleration |
jsanchez | 6:7ca2eef852fd | 137 | MAX_SPEED, //!< Maximum speed |
jsanchez | 6:7ca2eef852fd | 138 | MIN_SPEED, //!< Minimum speed |
jsanchez | 6:7ca2eef852fd | 139 | KVAL_HOLD, //!< Holding KVAL |
jsanchez | 6:7ca2eef852fd | 140 | KVAL_RUN, //!< Constant speed KVAL |
jsanchez | 6:7ca2eef852fd | 141 | KVAL_ACC, //!< Acceleration starting KVAL |
jsanchez | 6:7ca2eef852fd | 142 | KVAL_DEC, //!< Deceleration starting KVAL |
jsanchez | 6:7ca2eef852fd | 143 | INT_SPD, //!< Intersect speed |
jsanchez | 6:7ca2eef852fd | 144 | ST_SLP, //!< Start slope |
jsanchez | 6:7ca2eef852fd | 145 | FN_SLP_ACC, //!< Acceleration final slope |
jsanchez | 6:7ca2eef852fd | 146 | FN_SLP_DEC, //!< Deceleration final slope |
jsanchez | 6:7ca2eef852fd | 147 | K_THERA, //!< Thermal compensation factor |
jsanchez | 6:7ca2eef852fd | 148 | ADC_OUT, //!< ADC output, (the reset value is according to startup conditions) |
jsanchez | 6:7ca2eef852fd | 149 | OCR_TH, //!< OCD threshold |
jsanchez | 6:7ca2eef852fd | 150 | STALL_TH, //!< STALL threshold |
jsanchez | 6:7ca2eef852fd | 151 | FS_SPD, //!< Full-step speed |
jsanchez | 6:7ca2eef852fd | 152 | STEP_MODE, //!< Step mode |
jsanchez | 6:7ca2eef852fd | 153 | ARARM_FN, //!< Alarm enable |
jsanchez | 6:7ca2eef852fd | 154 | CONFIG, //!< IC configuration |
jsanchez | 6:7ca2eef852fd | 155 | STATUS //!< Status, (the reset value is according to startup conditions) |
Lvh | 5:70dd0713fdb0 | 156 | }; |
Lvh | 5:70dd0713fdb0 | 157 | |
jsanchez | 6:7ca2eef852fd | 158 | typedef struct { |
jsanchez | 6:7ca2eef852fd | 159 | uint32_t ABS_POS; //!< CurrentPosition Register |
jsanchez | 6:7ca2eef852fd | 160 | uint16_t EL_POS; //!< ElectricalPosition Register |
jsanchez | 6:7ca2eef852fd | 161 | uint32_t MARK; //!< MarkPosition Register |
jsanchez | 6:7ca2eef852fd | 162 | uint32_t SPEED; //!< CurrentSpeed Register |
jsanchez | 6:7ca2eef852fd | 163 | uint16_t ACC; //!< Acceleration Register |
jsanchez | 6:7ca2eef852fd | 164 | uint16_t DEC; //!< Deceleration Register |
jsanchez | 6:7ca2eef852fd | 165 | uint16_t MAX_SPEED; //!< MaximumSpeed Register |
jsanchez | 6:7ca2eef852fd | 166 | uint16_t MIN_SPEED; //!< MinimumSpeed Register |
jsanchez | 6:7ca2eef852fd | 167 | uint16_t FS_SPD; //!< FullStepSpeed Register |
jsanchez | 6:7ca2eef852fd | 168 | uint8_t KVAL_HOLD; //!< HoldingKval Register |
jsanchez | 6:7ca2eef852fd | 169 | uint8_t KVAL_RUN; //!< ConstantSpeedKval Register |
jsanchez | 6:7ca2eef852fd | 170 | uint8_t KVAL_ACC; //!< AccelerationStartingKval Register |
jsanchez | 6:7ca2eef852fd | 171 | uint8_t KVAL_DEC; //!< DecelerationStartingKval Register |
jsanchez | 6:7ca2eef852fd | 172 | uint16_t INT_SPEED; //!< IntersectSpeed Register |
jsanchez | 6:7ca2eef852fd | 173 | uint8_t ST_SLP; //!< StartSlope Register |
jsanchez | 6:7ca2eef852fd | 174 | uint8_t FN_SLP_ACC; //!< AccelerationFinalSlope Register |
jsanchez | 6:7ca2eef852fd | 175 | uint8_t FN_SLP_DEC; //!< DecelerationFinalSlope Register |
jsanchez | 6:7ca2eef852fd | 176 | uint8_t K_THERM; //!< ThermalCompensationFactor Register |
jsanchez | 6:7ca2eef852fd | 177 | uint8_t ADC_OUT; //!< AdcOutput Register |
jsanchez | 6:7ca2eef852fd | 178 | uint8_t OCD_TH; //!< OcdThreshold Register |
jsanchez | 6:7ca2eef852fd | 179 | uint8_t STALL_TH; //!< StallThreshold Register |
jsanchez | 6:7ca2eef852fd | 180 | uint8_t STEP_MODE; //!< StepMode Register |
jsanchez | 6:7ca2eef852fd | 181 | uint8_t ALARM_EN; //!< AlarmEnable Register |
jsanchez | 6:7ca2eef852fd | 182 | uint16_t CONFIG; //!< Config Register |
jsanchez | 6:7ca2eef852fd | 183 | uint16_t STATUS; //!< Status Register |
jsanchez | 6:7ca2eef852fd | 184 | } StepperMotorRegister; |
jsanchez | 6:7ca2eef852fd | 185 | |
jsanchez | 6:7ca2eef852fd | 186 | class L6470DC |
jsanchez | 6:7ca2eef852fd | 187 | { |
Lvh | 5:70dd0713fdb0 | 188 | public: |
Lvh | 5:70dd0713fdb0 | 189 | //L6470(PinName mosi, PinName miso, PinName sclk, PinName cs); |
Lvh | 5:70dd0713fdb0 | 190 | L6470DC(int nMax, PinName mosi, PinName miso, PinName sclk, PinName cs); //Lvh |
Lvh | 5:70dd0713fdb0 | 191 | |
jsanchez | 6:7ca2eef852fd | 192 | unsigned char send(unsigned char nMOT,unsigned char temp); |
Lvh | 5:70dd0713fdb0 | 193 | void send_bytes(unsigned char nMOT,unsigned char temp[],int i); |
Lvh | 5:70dd0713fdb0 | 194 | void NOP(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 195 | void SetParam(unsigned char nMOT,L6470_Register param,int value); |
Lvh | 5:70dd0713fdb0 | 196 | int GetParam(unsigned char nMOT,L6470_Register param); |
Lvh | 5:70dd0713fdb0 | 197 | void Run(unsigned char nMOT,unsigned char dir,int spd); |
Lvh | 5:70dd0713fdb0 | 198 | void StepClock(unsigned char nMOT,unsigned char dir); |
Lvh | 5:70dd0713fdb0 | 199 | void Move(unsigned char nMOT,unsigned char dir,int n_step); |
Lvh | 5:70dd0713fdb0 | 200 | void GoTo(unsigned char nMOT,int abs_pos); |
Lvh | 5:70dd0713fdb0 | 201 | void GoTo_DIR(unsigned char nMOT,unsigned char dir,int abs_pos); |
Lvh | 5:70dd0713fdb0 | 202 | void GoUntil(unsigned char nMOT,unsigned char act,unsigned char dir,int spd); |
Lvh | 5:70dd0713fdb0 | 203 | void ReleaseSW(unsigned char nMOT,unsigned char act,unsigned char dir); |
Lvh | 5:70dd0713fdb0 | 204 | void GoHome(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 205 | void GoMark(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 206 | void ResetPos(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 207 | void ResetDevice(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 208 | void SoftStop(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 209 | void HardStop(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 210 | void SoftHiZ(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 211 | void HardHiZ(unsigned char nMOT); |
Lvh | 5:70dd0713fdb0 | 212 | void Resets(unsigned char nMOT); |
jsanchez | 6:7ca2eef852fd | 213 | //////////////////////////////////////////////////////////////////////////// |
jsanchez | 6:7ca2eef852fd | 214 | void Config(unsigned char nMOT, L6470_MotorConf *conf); |
jsanchez | 6:7ca2eef852fd | 215 | int GetPosition(int nMOT); |
jsanchez | 6:7ca2eef852fd | 216 | int GetMark(int nMOT); |
jsanchez | 6:7ca2eef852fd | 217 | int GetSpeed(int nMOT); |
jsanchez | 6:7ca2eef852fd | 218 | void SetHome(int nMOT); |
jsanchez | 6:7ca2eef852fd | 219 | void SetMaxSpeed(int nMOT, int speed); |
jsanchez | 6:7ca2eef852fd | 220 | void SetMark(int nMOT, int mark); |
Lvh | 5:70dd0713fdb0 | 221 | |
jsanchez | 6:7ca2eef852fd | 222 | private: |
Lvh | 5:70dd0713fdb0 | 223 | SPI m_spi; |
Lvh | 5:70dd0713fdb0 | 224 | DigitalOut m_cs; |
jsanchez | 6:7ca2eef852fd | 225 | int nMotMax; |
jsanchez | 6:7ca2eef852fd | 226 | |
jsanchez | 6:7ca2eef852fd | 227 | |
jsanchez | 6:7ca2eef852fd | 228 | int32_t L6470_AbsPos_2_Position(uint32_t AbsPos); |
jsanchez | 6:7ca2eef852fd | 229 | uint32_t L6470_Position_2_AbsPos(int32_t Postion); |
jsanchez | 6:7ca2eef852fd | 230 | float L6470_Speed_2_Step_s(uint32_t Speed); |
jsanchez | 6:7ca2eef852fd | 231 | uint32_t L6470_Step_s_2_Speed(float Step_s); |
jsanchez | 6:7ca2eef852fd | 232 | float L6470_Acc_2_Step_s2(uint16_t Acc); |
jsanchez | 6:7ca2eef852fd | 233 | uint16_t L6470_Step_s2_2_Acc(float Step_s2); |
jsanchez | 6:7ca2eef852fd | 234 | float L6470_Dec_2_Step_s2(uint16_t Dec); |
jsanchez | 6:7ca2eef852fd | 235 | uint16_t L6470_Step_s2_2_Dec(float Step_s2); |
jsanchez | 6:7ca2eef852fd | 236 | float L6470_MaxSpeed_2_Step_s(uint16_t MaxSpeed); |
jsanchez | 6:7ca2eef852fd | 237 | uint16_t L6470_Step_s_2_MaxSpeed(float Step_s); |
jsanchez | 6:7ca2eef852fd | 238 | float L6470_MinSpeed_2_Step_s(uint16_t MinSpeed); |
jsanchez | 6:7ca2eef852fd | 239 | uint16_t L6470_Step_s_2_MinSpeed(float Step_s); |
jsanchez | 6:7ca2eef852fd | 240 | float L6470_FsSpd_2_Step_s(uint16_t FsSpd); |
jsanchez | 6:7ca2eef852fd | 241 | uint16_t L6470_Step_s_2_FsSpd(float Step_s); |
jsanchez | 6:7ca2eef852fd | 242 | float L6470_IntSpeed_2_Step_s(uint16_t IntSpeed); |
jsanchez | 6:7ca2eef852fd | 243 | uint16_t L6470_Step_s_2_IntSpeed(float Step_s); |
jsanchez | 6:7ca2eef852fd | 244 | float L6470_StSlp_2_s_Step(uint8_t StSlp); |
jsanchez | 6:7ca2eef852fd | 245 | uint8_t L6470_s_Step_2_StSlp(float s_Step); |
jsanchez | 6:7ca2eef852fd | 246 | float L6470_FnSlpAcc_2_s_Step(uint8_t FnSlpAcc); |
jsanchez | 6:7ca2eef852fd | 247 | uint8_t L6470_s_Step_2_FnSlpAcc(float s_Step); |
jsanchez | 6:7ca2eef852fd | 248 | float L6470_FnSlpDec_2_s_Step(uint8_t FnSlpDec); |
jsanchez | 6:7ca2eef852fd | 249 | uint8_t L6470_s_Step_2_FnSlpDec(float s_Step); |
jsanchez | 6:7ca2eef852fd | 250 | float L6470_OcdTh_2_mA(uint8_t OcdTh); |
jsanchez | 6:7ca2eef852fd | 251 | uint8_t L6470_mA_2_OcdTh(float mA); |
jsanchez | 6:7ca2eef852fd | 252 | float L6470_StallTh_2_mA(uint8_t StallTh); |
jsanchez | 6:7ca2eef852fd | 253 | uint8_t L6470_mA_2_StallTh(float mA); |
jsanchez | 6:7ca2eef852fd | 254 | |
jsanchez | 6:7ca2eef852fd | 255 | |
Lvh | 5:70dd0713fdb0 | 256 | }; |
Lvh | 5:70dd0713fdb0 | 257 | |
jsanchez | 6:7ca2eef852fd | 258 | |
Lvh | 5:70dd0713fdb0 | 259 | #endif |