/* * PowerSTEP01.h * //Based on: * //https://os.mbed.com/teams/ST/code/X_NUCLEO_IHM03A1/file/2fbfe0cd8d4d/Components/powerstep01/powerstep01.h/ * * Created on: Mar 5, 2019 * Author: avi */ #ifndef DRIVERS_FPGA_MOTORS_DRIVER_POWERSTEP01_H_ #define DRIVERS_FPGA_MOTORS_DRIVER_POWERSTEP01_H_ //powerSTEP01 #define x_POWERSTEP01_GATECFG1 0x18 //Gate driver configuration 11 bit #define x_POWERSTEP01_GATECFG2 0x19 //Gate driver configuration 8 bit #define x_POWERSTEP01_STATUS 0x1B //x_GET_STATUS is the same as in L6470 #define x_POWERSTEP01_CONFIG 0x1A #define x_KVAL_TVAL_HOLD 0x09 #define x_KVAL_TVAL_RUN 0x0A #define x_KVAL_TVAL_ACC 0x0B #define x_KVAL_TVAL_DEC 0x0C #define x_ST_SLP_T_FAST 0x0E #define x_FN_SLP_ACC_TON_MIN 0x0F #define x_FN_SLP_DEC_TOFF_MIN 0x10 ///Shift of TCC field in GATECFG1 register #define POWERSTEP01_TCC_SHIFT (0) ///Shift of IGATE field in GATECFG1 register #define POWERSTEP01_IGATE_SHIFT (5) ///Shift of TBOOST field in GATECFG1 register #define POWERSTEP01_TBOOST_SHIFT (8) ///Shift of TBLANK field in GATECFG2 register #define POWERSTEP01_TBLANK_SHIFT (5) ///Shift of TDT field in GATECFG2 register #define POWERSTEP01_TDT_SHIFT (0) /// masks for GATECFG1 register of PowerStep01 typedef enum { POWERSTEP01_GATECFG1_TCC_MASK = ((uint16_t)0x001F), POWERSTEP01_GATECFG1_IGATE_MASK = ((uint16_t)0x00E0), POWERSTEP01_GATECFG1_TBOOST_MASK = ((uint16_t)0x0700), POWERSTEP01_GATECFG1_WD_EN = ((uint16_t)0x0800) } powerstep01_GateCfg1Masks_t; /// Control current Time (field TCC of GATECFG1 register of PowerStep01) typedef enum { POWERSTEP01_TCC_125ns = (((uint8_t)0x00)<