LPS mod

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?

UserRevisionLine numberNew 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