MotorWare f2806x Driver API Documentation
Data Structures | Macros | Typedefs | Enumerations | Functions
DRV8301

Data Structures

struct  _DRV_SPI_8301_Stat1_t_
 
struct  _DRV_SPI_8301_Stat2_t_
 
struct  _DRV_SPI_8301_CTRL1_t_
 
struct  _DRV_SPI_8301_CTRL2_t_
 
struct  _DRV_SPI_8301_Vars_t_
 
struct  _DRV8301_Obj_
 Defines the DRV8301 object. More...
 

Macros

#define DRV8301_ADDR_MASK   (0x7800)
 Defines the address mask. More...
 
#define DRV8301_DATA_MASK   (0x07FF)
 Defines the data mask. More...
 
#define DRV8301_RW_MASK   (0x8000)
 Defines the R/W mask. More...
 
#define DRV8301_FAULT_TYPE_MASK   (0x07FF)
 Defines the R/W mask. More...
 
#define DRV8301_STATUS1_FETLC_OC_BITS   (1 << 0)
 Defines the location of the FETLC_OC (FET Low side, Phase C Over Current) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_FETHC_OC_BITS   (1 << 1)
 Defines the location of the FETLC_OC (FET High side, Phase C Over Current) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_FETLB_OC_BITS   (1 << 2)
 Defines the location of the FETLC_OC (FET Low side, Phase B Over Current) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_FETHB_OC_BITS   (1 << 3)
 Defines the location of the FETLC_OC (FET High side, Phase B Over Current) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_FETLA_OC_BITS   (1 << 4)
 Defines the location of the FETLC_OC (FET Low side, Phase A Over Current) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_FETHA_OC_BITS   (1 << 5)
 Defines the location of the FETLC_OC (FET High side, Phase A Over Current) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_OTW_BITS   (1 << 6)
 Defines the location of the OTW (Over Temperature Warning) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_OTSD_BITS   (1 << 7)
 Defines the location of the OTSD (Over Temperature Shut Down) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_PVDD_UV_BITS   (1 << 8)
 Defines the location of the PVDD_UV (Power supply Vdd, Under Voltage) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_GVDD_UV_BITS   (1 << 9)
 Defines the location of the GVDD_UV (DRV8301 Vdd, Under Voltage) bits in the Status 1 register. More...
 
#define DRV8301_STATUS1_FAULT_BITS   (1 << 10)
 Defines the location of the FAULT bits in the Status 1 register. More...
 
#define DRV8301_STATUS2_ID_BITS   (15 << 0)
 Defines the location of the Device ID bits in the Status 2 register. More...
 
#define DRV8301_STATUS2_GVDD_OV_BITS   (1 << 7)
 Defines the location of the GVDD_OV (DRV8301 Vdd, Over Voltage) bits in the Status 2 register. More...
 
#define DRV8301_CTRL1_GATE_CURRENT_BITS   (3 << 0)
 Defines the location of the GATE_CURRENT bits in the Control 1 register. More...
 
#define DRV8301_CTRL1_GATE_RESET_BITS   (1 << 2)
 Defines the location of the GATE_RESET bits in the Control 1 register. More...
 
#define DRV8301_CTRL1_PWM_MODE_BITS   (1 << 3)
 Defines the location of the PWM_MODE bits in the Control 1 register. More...
 
#define DRV8301_CTRL1_OC_MODE_BITS   (3 << 4)
 Defines the location of the OC_MODE bits in the Control 1 register. More...
 
#define DRV8301_CTRL1_OC_ADJ_SET_BITS   (31 << 6)
 Defines the location of the OC_ADJ bits in the Control 1 register. More...
 
#define DRV8301_CTRL2_OCTW_SET_BITS   (3 << 0)
 Defines the location of the OCTW_SET bits in the Control 2 register. More...
 
#define DRV8301_CTRL2_GAIN_BITS   (3 << 2)
 Defines the location of the GAIN bits in the Control 2 register. More...
 
#define DRV8301_CTRL2_DC_CAL_1_BITS   (1 << 4)
 Defines the location of the DC_CAL_1 bits in the Control 2 register. More...
 
#define DRV8301_CTRL2_DC_CAL_2_BITS   (1 << 5)
 Defines the location of the DC_CAL_2 bits in the Control 2 register. More...
 
#define DRV8301_CTRL2_OC_TOFF_BITS   (1 << 6)
 Defines the location of the OC_TOFF bits in the Control 2 register. More...
 

Typedefs

typedef struct _DRV_SPI_8301_Stat1_t_ DRV_SPI_8301_Stat1_t_
 
typedef struct _DRV_SPI_8301_Stat2_t_ DRV_SPI_8301_Stat2_t_
 
typedef struct _DRV_SPI_8301_CTRL1_t_ DRV_SPI_8301_CTRL1_t_
 
typedef struct _DRV_SPI_8301_CTRL2_t_ DRV_SPI_8301_CTRL2_t_
 
typedef struct _DRV_SPI_8301_Vars_t_ DRV_SPI_8301_Vars_t
 
typedef struct _DRV8301_Obj_ DRV8301_Obj
 Defines the DRV8301 object. More...
 
typedef struct _DRV8301_Obj_DRV8301_Handle
 Defines the DRV8301 handle. More...
 
typedef uint16_t DRV8301_Word_t
 Defines the DRV8301 Word type. More...
 

Enumerations

enum  DRV8301_CtrlMode_e { DRV8301_CtrlMode_Read = 1 << 15, DRV8301_CtrlMode_Write = 0 << 15 }
 Enumeration for the R/W modes. More...
 
enum  DRV8301_DcCalMode_e { DRV8301_DcCalMode_Ch1_Load = (0 << 4), DRV8301_DcCalMode_Ch1_NoLoad = (1 << 4), DRV8301_DcCalMode_Ch2_Load = (0 << 5), DRV8301_DcCalMode_Ch2_NoLoad = (1 << 5) }
 Enumeration for the DC calibration modes. More...
 
enum  DRV8301_FaultType_e {
  DRV8301_FaultType_NoFault = (0 << 0), DRV8301_FaultType_FETLC_OC = (1 << 0), DRV8301_FaultType_FETHC_OC = (1 << 1), DRV8301_FaultType_FETLB_OC = (1 << 2),
  DRV8301_FaultType_FETHB_OC = (1 << 3), DRV8301_FaultType_FETLA_OC = (1 << 4), DRV8301_FaultType_FETHA_OC = (1 << 5), DRV8301_FaultType_OTW = (1 << 6),
  DRV8301_FaultType_OTSD = (1 << 7), DRV8301_FaultType_PVDD_UV = (1 << 8), DRV8301_FaultType_GVDD_UV = (1 << 9), DRV8301_FaultType_GVDD_OV = (1 << 10)
}
 Enumeration for the fault types. More...
 
enum  DRV8301_OcMode_e { DRV8301_OcMode_CurrentLimit = 0 << 4, DRV8301_OcMode_LatchShutDown = 1 << 4, DRV8301_OcMode_ReportOnly = 2 << 4, DRV8301_OcMode_Disabled = 3 << 4 }
 Enumeration for the Over Current modes. More...
 
enum  DRV8301_OcOffTimeMode_e { DRV8301_OcOffTimeMode_Normal = 0 << 6, DRV8301_OcOffTimeMode_Ctrl = 1 << 6 }
 Enumeration for the Over Current Off Time modes. More...
 
enum  DRV8301_OcTwMode_e { DRV8301_OcTwMode_Both = 0 << 0, DRV8301_OcTwMode_OT_Only = 1 << 0, DRV8301_OcTwMode_OC_Only = 2 << 0 }
 Enumeration for the Over Current, Temperature Warning modes. More...
 
enum  DRV8301_PeakCurrent_e { DRV8301_PeakCurrent_1p70_A = 0 << 0, DRV8301_PeakCurrent_0p70_A = 1 << 0, DRV8301_PeakCurrent_0p25_A = 2 << 0 }
 Enumeration for the drv8301 peak current levels. More...
 
enum  DRV8301_PwmMode_e { DRV8301_PwmMode_Six_Inputs = 0 << 3, DRV8301_PwmMode_Three_Inputs = 1 << 3 }
 Enumeration for the PWM modes. More...
 
enum  DRV8301_RegName_e { DRV8301_RegName_Status_1 = 0 << 11, DRV8301_RegName_Status_2 = 1 << 11, DRV8301_RegName_Control_1 = 2 << 11, DRV8301_RegName_Control_2 = 3 << 11 }
 Enumeration for the register names. More...
 
enum  DRV8301_Reset_e { DRV8301_Reset_Normal = 0 << 2, DRV8301_Reset_All = 1 << 2 }
 Enumeration for the shunt amplifier gains. More...
 
enum  DRV8301_ShuntAmpGain_e { DRV8301_ShuntAmpGain_10VpV = 0 << 2, DRV8301_ShuntAmpGain_20VpV = 1 << 2, DRV8301_ShuntAmpGain_40VpV = 2 << 2, DRV8301_ShuntAmpGain_80VpV = 3 << 2 }
 Enumeration for the shunt amplifier gains. More...
 
enum  DRV8301_ShuntAmpNumber_e { DRV8301_ShuntAmpNumber_1 = 1, DRV8301_ShuntAmpNumber_2 = 2 }
 Enumeration for the shunt amplifier number. More...
 
enum  DRV8301_VdsLevel_e {
  DRV8301_VdsLevel_0p060_V = 0 << 6, DRV8301_VdsLevel_0p068_V = 1 << 6, DRV8301_VdsLevel_0p076_V = 2 << 6, DRV8301_VdsLevel_0p086_V = 3 << 6,
  DRV8301_VdsLevel_0p097_V = 4 << 6, DRV8301_VdsLevel_0p109_V = 5 << 6, DRV8301_VdsLevel_0p123_V = 6 << 6, DRV8301_VdsLevel_0p138_V = 7 << 6,
  DRV8301_VdsLevel_0p155_V = 8 << 6, DRV8301_VdsLevel_0p175_V = 9 << 6, DRV8301_VdsLevel_0p197_V = 10 << 6, DRV8301_VdsLevel_0p222_V = 11 << 6,
  DRV8301_VdsLevel_0p250_V = 12 << 6, DRV8301_VdsLevel_0p282_V = 13 << 6, DRV8301_VdsLevel_0p317_V = 14 << 6, DRV8301_VdsLevel_0p358_V = 15 << 6,
  DRV8301_VdsLevel_0p403_V = 16 << 6, DRV8301_VdsLevel_0p454_V = 17 << 6, DRV8301_VdsLevel_0p511_V = 18 << 6, DRV8301_VdsLevel_0p576_V = 19 << 6,
  DRV8301_VdsLevel_0p648_V = 20 << 6, DRV8301_VdsLevel_0p730_V = 21 << 6, DRV8301_VdsLevel_0p822_V = 22 << 6, DRV8301_VdsLevel_0p926_V = 23 << 6,
  DRV8301_VdsLevel_1p043_V = 24 << 6, DRV8301_VdsLevel_1p175_V = 25 << 6, DRV8301_VdsLevel_1p324_V = 26 << 6, DRV8301_VdsLevel_1p491_V = 27 << 6,
  DRV8301_VdsLevel_1p679_V = 28 << 6, DRV8301_VdsLevel_1p892_V = 29 << 6, DRV8301_VdsLevel_2p131_V = 30 << 6, DRV8301_VdsLevel_2p400_V = 31 << 6
}
 Enumeration for the Vds level for th over current adjustment. More...
 
enum  Drv8301SpiOutputDataSelect_e { DRV8301_GETID =0 }
 

Functions

static DRV8301_Word_t DRV8301_buildCtrlWord (const DRV8301_CtrlMode_e ctrlMode, const DRV8301_RegName_e regName, const uint16_t data)
 Builds the control word. More...
 
DRV8301_DcCalMode_e DRV8301_getDcCalMode (DRV8301_Handle handle, const DRV8301_ShuntAmpNumber_e ampNumber)
 Gets the DC calibration mode. More...
 
void DRV8301_enable (DRV8301_Handle handle)
 Enables the DRV8301. More...
 
DRV8301_FaultType_e DRV8301_getFaultType (DRV8301_Handle handle)
 Gets the fault type. More...
 
uint16_t DRV8301_getId (DRV8301_Handle handle)
 Gets the device ID. More...
 
DRV8301_VdsLevel_e DRV8301_getOcLevel (DRV8301_Handle handle)
 Gets the over current level. More...
 
DRV8301_OcMode_e DRV8301_getOcMode (DRV8301_Handle handle)
 Gets the over current mode. More...
 
DRV8301_OcOffTimeMode_e DRV8301_getOcOffTimeMode (DRV8301_Handle handle)
 Gets the over current off time mode. More...
 
DRV8301_OcTwMode_e DRV8301_getOcTwMode (DRV8301_Handle handle)
 Gets the over current, temperature warning mode. More...
 
DRV8301_PeakCurrent_e DRV8301_getPeakCurrent (DRV8301_Handle handle)
 Gets the peak current value. More...
 
DRV8301_PwmMode_e DRV8301_getPwmMode (DRV8301_Handle handle)
 Gets the PWM mode. More...
 
DRV8301_ShuntAmpGain_e DRV8301_getShuntAmpGain (DRV8301_Handle handle)
 Gets the shunt amplifier gain value. More...
 
uint16_t DRV8301_getStatusRegister1 (DRV8301_Handle handle)
 Gets the status register 1 value. More...
 
uint16_t DRV8301_getStatusRegister2 (DRV8301_Handle handle)
 Gets the status register 2 value. More...
 
DRV8301_Handle DRV8301_init (void *pMemory, const size_t numBytes)
 Initializes the DRV8301 object. More...
 
bool DRV8301_isFault (DRV8301_Handle handle)
 Determines if DRV8301 fault has occurred. More...
 
bool DRV8301_isReset (DRV8301_Handle handle)
 Determines if DRV8301 is in reset. More...
 
uint16_t DRV8301_readSpi (DRV8301_Handle handle, const DRV8301_RegName_e regName)
 Reads data from the DRV8301 register. More...
 
void DRV8301_reset (DRV8301_Handle handle)
 Resets the DRV8301. More...
 
static void DRV8301_resetEnableTimeout (DRV8301_Handle handle)
 Resets the enable timeout flag. More...
 
static void DRV8301_resetRxTimeout (DRV8301_Handle handle)
 Resets the RX fifo timeout flag. More...
 
void DRV8301_setDcCalMode (DRV8301_Handle handle, const DRV8301_ShuntAmpNumber_e ampNumber, const DRV8301_DcCalMode_e mode)
 Sets the DC calibration mode. More...
 
void DRV8301_setGpioHandle (DRV8301_Handle handle, GPIO_Handle gpioHandle)
 Sets the GPIO handle in the DRV8301. More...
 
void DRV8301_setGpioNumber (DRV8301_Handle handle, GPIO_Number_e gpioNumber)
 Sets the GPIO number in the DRV8301. More...
 
void DRV8301_setOcLevel (DRV8301_Handle handle, const DRV8301_VdsLevel_e VdsLevel)
 Sets the over current level in terms of Vds. More...
 
void DRV8301_setOcMode (DRV8301_Handle handle, const DRV8301_OcMode_e mode)
 Sets the over current mode. More...
 
void DRV8301_setOcOffTimeMode (DRV8301_Handle handle, const DRV8301_OcOffTimeMode_e mode)
 Sets the over current off time mode. More...
 
void DRV8301_setOcTwMode (DRV8301_Handle handle, const DRV8301_OcTwMode_e mode)
 Sets the over current, temperature warning mode. More...
 
void DRV8301_setPeakCurrent (DRV8301_Handle handle, const DRV8301_PeakCurrent_e peakCurrent)
 Sets the peak current value. More...
 
void DRV8301_setPwmMode (DRV8301_Handle handle, const DRV8301_PwmMode_e mode)
 Sets the PWM mode. More...
 
void DRV8301_setShuntAmpGain (DRV8301_Handle handle, const DRV8301_ShuntAmpGain_e gain)
 Sets the shunt amplifier gain value. More...
 
void DRV8301_setSpiHandle (DRV8301_Handle handle, SPI_Handle spiHandle)
 Sets the SPI handle in the DRV8301. More...
 
void DRV8301_writeSpi (DRV8301_Handle handle, const DRV8301_RegName_e regName, const uint16_t data)
 Writes data to the DRV8301 register. More...
 
void DRV8301_writeData (DRV8301_Handle handle, DRV_SPI_8301_Vars_t *Spi_8301_Vars)
 Interface to all 8301 SPI variables. More...
 
void DRV8301_readData (DRV8301_Handle handle, DRV_SPI_8301_Vars_t *Spi_8301_Vars)
 
void DRV8301_setupSpi (DRV8301_Handle handle, DRV_SPI_8301_Vars_t *Spi_8301_Vars)
 Initialize the interface to all 8301 SPI variables. More...
 

Detailed Description


Data Structure Documentation

struct _DRV_SPI_8301_Stat1_t_

Definition at line 363 of file drv8301.h.

Data Fields
bool FAULT
bool FETHA_OC
bool FETHB_OC
bool FETHC_OC
bool FETLA_OC
bool FETLB_OC
bool FETLC_OC
bool GVDD_UV
bool OTSD
bool OTW
bool PVDD_UV
struct _DRV_SPI_8301_Stat2_t_

Definition at line 379 of file drv8301.h.

Data Fields
uint16_t DeviceID
bool GVDD_OV
struct _DRV_SPI_8301_CTRL1_t_

Definition at line 386 of file drv8301.h.

Data Fields
DRV8301_PeakCurrent_e DRV8301_CURRENT
DRV8301_Reset_e DRV8301_RESET
DRV8301_VdsLevel_e OC_ADJ_SET
DRV8301_OcMode_e OC_MODE
DRV8301_PwmMode_e PWM_MODE
struct _DRV_SPI_8301_CTRL2_t_

Definition at line 396 of file drv8301.h.

Data Fields
DRV8301_DcCalMode_e DC_CAL_CH1p2
DRV8301_ShuntAmpGain_e GAIN
DRV8301_OcOffTimeMode_e OC_TOFF
DRV8301_OcTwMode_e OCTW_SET
struct _DRV_SPI_8301_Vars_t_

Definition at line 405 of file drv8301.h.

Data Fields
DRV_SPI_8301_CTRL1_t_ Ctrl_Reg_1
DRV_SPI_8301_CTRL2_t_ Ctrl_Reg_2
bool RcvCmd
bool SndCmd
DRV_SPI_8301_Stat1_t_ Stat_Reg_1
DRV_SPI_8301_Stat2_t_ Stat_Reg_2
struct _DRV8301_Obj_

Defines the DRV8301 object.

Definition at line 418 of file drv8301.h.

Data Fields
bool enableTimeOut the timeout flag for drv8301 enable
GPIO_Handle gpioHandle the gpio handle that is connected to the drv8301 enable pin
GPIO_Number_e gpioNumber the gpio number that is connected to the drv8301 enable pin
bool RxTimeOut the timeout flag for the RX fifo
SPI_Handle spiHandle the handle for the serial peripheral interface

Macro Definition Documentation

#define DRV8301_ADDR_MASK   (0x7800)

Defines the address mask.

Definition at line 72 of file drv8301.h.

#define DRV8301_CTRL1_GATE_CURRENT_BITS   (3 << 0)

Defines the location of the GATE_CURRENT bits in the Control 1 register.

Definition at line 146 of file drv8301.h.

Referenced by DRV8301_getPeakCurrent(), DRV8301_readData(), DRV8301_setPeakCurrent(), and DRV8301_setupSpi().

#define DRV8301_CTRL1_GATE_RESET_BITS   (1 << 2)

Defines the location of the GATE_RESET bits in the Control 1 register.

Definition at line 150 of file drv8301.h.

Referenced by DRV8301_isReset(), DRV8301_readData(), DRV8301_reset(), and DRV8301_setupSpi().

#define DRV8301_CTRL1_OC_ADJ_SET_BITS   (31 << 6)

Defines the location of the OC_ADJ bits in the Control 1 register.

Definition at line 162 of file drv8301.h.

Referenced by DRV8301_getOcLevel(), DRV8301_readData(), DRV8301_setOcLevel(), and DRV8301_setupSpi().

#define DRV8301_CTRL1_OC_MODE_BITS   (3 << 4)

Defines the location of the OC_MODE bits in the Control 1 register.

Definition at line 158 of file drv8301.h.

Referenced by DRV8301_getOcMode(), DRV8301_readData(), DRV8301_setOcMode(), and DRV8301_setupSpi().

#define DRV8301_CTRL1_PWM_MODE_BITS   (1 << 3)

Defines the location of the PWM_MODE bits in the Control 1 register.

Definition at line 154 of file drv8301.h.

Referenced by DRV8301_getPwmMode(), DRV8301_readData(), DRV8301_setPwmMode(), and DRV8301_setupSpi().

#define DRV8301_CTRL2_DC_CAL_1_BITS   (1 << 4)

Defines the location of the DC_CAL_1 bits in the Control 2 register.

Definition at line 175 of file drv8301.h.

Referenced by DRV8301_getDcCalMode(), DRV8301_readData(), DRV8301_setDcCalMode(), and DRV8301_setupSpi().

#define DRV8301_CTRL2_DC_CAL_2_BITS   (1 << 5)

Defines the location of the DC_CAL_2 bits in the Control 2 register.

Definition at line 179 of file drv8301.h.

Referenced by DRV8301_getDcCalMode(), DRV8301_readData(), DRV8301_setDcCalMode(), and DRV8301_setupSpi().

#define DRV8301_CTRL2_GAIN_BITS   (3 << 2)

Defines the location of the GAIN bits in the Control 2 register.

Definition at line 171 of file drv8301.h.

Referenced by DRV8301_getShuntAmpGain(), DRV8301_readData(), DRV8301_setShuntAmpGain(), and DRV8301_setupSpi().

#define DRV8301_CTRL2_OC_TOFF_BITS   (1 << 6)

Defines the location of the OC_TOFF bits in the Control 2 register.

Definition at line 183 of file drv8301.h.

Referenced by DRV8301_getOcOffTimeMode(), DRV8301_readData(), DRV8301_setOcOffTimeMode(), and DRV8301_setupSpi().

#define DRV8301_CTRL2_OCTW_SET_BITS   (3 << 0)

Defines the location of the OCTW_SET bits in the Control 2 register.

Definition at line 167 of file drv8301.h.

Referenced by DRV8301_getOcTwMode(), DRV8301_readData(), DRV8301_setOcTwMode(), and DRV8301_setupSpi().

#define DRV8301_DATA_MASK   (0x07FF)

Defines the data mask.

Definition at line 77 of file drv8301.h.

Referenced by DRV8301_buildCtrlWord(), and DRV8301_readSpi().

#define DRV8301_FAULT_TYPE_MASK   (0x07FF)

Defines the R/W mask.

Definition at line 87 of file drv8301.h.

Referenced by DRV8301_getFaultType().

#define DRV8301_RW_MASK   (0x8000)

Defines the R/W mask.

Definition at line 82 of file drv8301.h.

#define DRV8301_STATUS1_FAULT_BITS   (1 << 10)

Defines the location of the FAULT bits in the Status 1 register.

Definition at line 132 of file drv8301.h.

Referenced by DRV8301_enable(), DRV8301_getFaultType(), DRV8301_isFault(), DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_FETHA_OC_BITS   (1 << 5)

Defines the location of the FETLC_OC (FET High side, Phase A Over Current) bits in the Status 1 register.

Definition at line 112 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_FETHB_OC_BITS   (1 << 3)

Defines the location of the FETLC_OC (FET High side, Phase B Over Current) bits in the Status 1 register.

Definition at line 104 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_FETHC_OC_BITS   (1 << 1)

Defines the location of the FETLC_OC (FET High side, Phase C Over Current) bits in the Status 1 register.

Definition at line 96 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_FETLA_OC_BITS   (1 << 4)

Defines the location of the FETLC_OC (FET Low side, Phase A Over Current) bits in the Status 1 register.

Definition at line 108 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_FETLB_OC_BITS   (1 << 2)

Defines the location of the FETLC_OC (FET Low side, Phase B Over Current) bits in the Status 1 register.

Definition at line 100 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_FETLC_OC_BITS   (1 << 0)

Defines the location of the FETLC_OC (FET Low side, Phase C Over Current) bits in the Status 1 register.

Definition at line 92 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_GVDD_UV_BITS   (1 << 9)

Defines the location of the GVDD_UV (DRV8301 Vdd, Under Voltage) bits in the Status 1 register.

Definition at line 128 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_OTSD_BITS   (1 << 7)

Defines the location of the OTSD (Over Temperature Shut Down) bits in the Status 1 register.

Definition at line 120 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_OTW_BITS   (1 << 6)

Defines the location of the OTW (Over Temperature Warning) bits in the Status 1 register.

Definition at line 116 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS1_PVDD_UV_BITS   (1 << 8)

Defines the location of the PVDD_UV (Power supply Vdd, Under Voltage) bits in the Status 1 register.

Definition at line 124 of file drv8301.h.

Referenced by DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS2_GVDD_OV_BITS   (1 << 7)

Defines the location of the GVDD_OV (DRV8301 Vdd, Over Voltage) bits in the Status 2 register.

Definition at line 141 of file drv8301.h.

Referenced by DRV8301_getFaultType(), DRV8301_readData(), and DRV8301_setupSpi().

#define DRV8301_STATUS2_ID_BITS   (15 << 0)

Defines the location of the Device ID bits in the Status 2 register.

Definition at line 137 of file drv8301.h.

Referenced by DRV8301_getId(), DRV8301_readData(), and DRV8301_setupSpi().

Typedef Documentation

typedef struct _DRV8301_Obj_* DRV8301_Handle

Defines the DRV8301 handle.

Definition at line 430 of file drv8301.h.

typedef struct _DRV8301_Obj_ DRV8301_Obj

Defines the DRV8301 object.

typedef uint16_t DRV8301_Word_t

Defines the DRV8301 Word type.

Definition at line 435 of file drv8301.h.

Enumeration Type Documentation

Enumeration for the R/W modes.

Enumerator
DRV8301_CtrlMode_Read 

Read Mode.

DRV8301_CtrlMode_Write 

Write Mode.

Definition at line 191 of file drv8301.h.

Enumeration for the DC calibration modes.

Enumerator
DRV8301_DcCalMode_Ch1_Load 

Shunt amplifier 1 connected to load via input pins.

DRV8301_DcCalMode_Ch1_NoLoad 

Shunt amplifier 1 disconnected from load and input pins are shorted.

DRV8301_DcCalMode_Ch2_Load 

Shunt amplifier 2 connected to load via input pins.

DRV8301_DcCalMode_Ch2_NoLoad 

Shunt amplifier 2 disconnected from load and input pins are shorted.

Definition at line 200 of file drv8301.h.

Enumeration for the fault types.

Enumerator
DRV8301_FaultType_NoFault 

No fault.

DRV8301_FaultType_FETLC_OC 

FET Low side, Phase C Over Current fault.

DRV8301_FaultType_FETHC_OC 

FET High side, Phase C Over Current fault.

DRV8301_FaultType_FETLB_OC 

FET Low side, Phase B Over Current fault.

DRV8301_FaultType_FETHB_OC 

FET High side, Phase B Over Current fault.

DRV8301_FaultType_FETLA_OC 

FET Low side, Phase A Over Current fault.

DRV8301_FaultType_FETHA_OC 

FET High side, Phase A Over Current fault.

DRV8301_FaultType_OTW 

Over Temperature Warning fault.

DRV8301_FaultType_OTSD 

Over Temperature Shut Down fault.

DRV8301_FaultType_PVDD_UV 

Power supply Vdd Under Voltage fault.

DRV8301_FaultType_GVDD_UV 

DRV8301 Vdd Under Voltage fault.

DRV8301_FaultType_GVDD_OV 

DRV8301 Vdd Over Voltage fault.

Definition at line 211 of file drv8301.h.

Enumeration for the Over Current modes.

Enumerator
DRV8301_OcMode_CurrentLimit 

current limit when OC detected

DRV8301_OcMode_LatchShutDown 

latch shut down when OC detected

DRV8301_OcMode_ReportOnly 

report only when OC detected

DRV8301_OcMode_Disabled 

OC protection disabled.

Definition at line 230 of file drv8301.h.

Enumeration for the Over Current Off Time modes.

Enumerator
DRV8301_OcOffTimeMode_Normal 

normal CBC operation

DRV8301_OcOffTimeMode_Ctrl 

off time control during OC

Definition at line 241 of file drv8301.h.

Enumeration for the Over Current, Temperature Warning modes.

Enumerator
DRV8301_OcTwMode_Both 

report both OT and OC at /OCTW pin

DRV8301_OcTwMode_OT_Only 

report only OT at /OCTW pin

DRV8301_OcTwMode_OC_Only 

report only OC at /OCTW pin

Definition at line 250 of file drv8301.h.

Enumeration for the drv8301 peak current levels.

Enumerator
DRV8301_PeakCurrent_1p70_A 

drv8301 driver peak current 1.70A

DRV8301_PeakCurrent_0p70_A 

drv8301 driver peak current 0.70A

DRV8301_PeakCurrent_0p25_A 

drv8301 driver peak current 0.25A

Definition at line 260 of file drv8301.h.

Enumeration for the PWM modes.

Enumerator
DRV8301_PwmMode_Six_Inputs 

six independent inputs

DRV8301_PwmMode_Three_Inputs 

three independent nputs

Definition at line 270 of file drv8301.h.

Enumeration for the register names.

Enumerator
DRV8301_RegName_Status_1 

Status Register 1.

DRV8301_RegName_Status_2 

Status Register 2.

DRV8301_RegName_Control_1 

Control Register 1.

DRV8301_RegName_Control_2 

Control Register 2.

Definition at line 279 of file drv8301.h.

Enumeration for the shunt amplifier gains.

Enumerator
DRV8301_Reset_Normal 

normal

DRV8301_Reset_All 

reset all

Definition at line 291 of file drv8301.h.

Enumeration for the shunt amplifier gains.

Enumerator
DRV8301_ShuntAmpGain_10VpV 

10 V per V

DRV8301_ShuntAmpGain_20VpV 

20 V per V

DRV8301_ShuntAmpGain_40VpV 

40 V per V

DRV8301_ShuntAmpGain_80VpV 

80 V per V

Definition at line 300 of file drv8301.h.

Enumeration for the shunt amplifier number.

Enumerator
DRV8301_ShuntAmpNumber_1 

Shunt amplifier number 1.

DRV8301_ShuntAmpNumber_2 

Shunt amplifier number 2.

Definition at line 311 of file drv8301.h.

Enumeration for the Vds level for th over current adjustment.

Enumerator
DRV8301_VdsLevel_0p060_V 

Vds = 0.060 V.

DRV8301_VdsLevel_0p068_V 

Vds = 0.068 V.

DRV8301_VdsLevel_0p076_V 

Vds = 0.076 V.

DRV8301_VdsLevel_0p086_V 

Vds = 0.086 V.

DRV8301_VdsLevel_0p097_V 

Vds = 0.097 V.

DRV8301_VdsLevel_0p109_V 

Vds = 0.109 V.

DRV8301_VdsLevel_0p123_V 

Vds = 0.123 V.

DRV8301_VdsLevel_0p138_V 

Vds = 0.138 V.

DRV8301_VdsLevel_0p155_V 

Vds = 0.155 V.

DRV8301_VdsLevel_0p175_V 

Vds = 0.175 V.

DRV8301_VdsLevel_0p197_V 

Vds = 0.197 V.

DRV8301_VdsLevel_0p222_V 

Vds = 0.222 V.

DRV8301_VdsLevel_0p250_V 

Vds = 0.250 V.

DRV8301_VdsLevel_0p282_V 

Vds = 0.282 V.

DRV8301_VdsLevel_0p317_V 

Vds = 0.317 V.

DRV8301_VdsLevel_0p358_V 

Vds = 0.358 V.

DRV8301_VdsLevel_0p403_V 

Vds = 0.403 V.

DRV8301_VdsLevel_0p454_V 

Vds = 0.454 V.

DRV8301_VdsLevel_0p511_V 

Vds = 0.511 V.

DRV8301_VdsLevel_0p576_V 

Vds = 0.576 V.

DRV8301_VdsLevel_0p648_V 

Vds = 0.648 V.

DRV8301_VdsLevel_0p730_V 

Vds = 0.730 V.

DRV8301_VdsLevel_0p822_V 

Vds = 0.822 V.

DRV8301_VdsLevel_0p926_V 

Vds = 0.926 V.

DRV8301_VdsLevel_1p043_V 

Vds = 1.403 V.

DRV8301_VdsLevel_1p175_V 

Vds = 1.175 V.

DRV8301_VdsLevel_1p324_V 

Vds = 1.324 V.

DRV8301_VdsLevel_1p491_V 

Vds = 1.491 V.

DRV8301_VdsLevel_1p679_V 

Vds = 1.679 V.

DRV8301_VdsLevel_1p892_V 

Vds = 1.892 V.

DRV8301_VdsLevel_2p131_V 

Vds = 2.131 V.

DRV8301_VdsLevel_2p400_V 

Vds = 2.400 V.

Definition at line 320 of file drv8301.h.

Enumerator
DRV8301_GETID 

Definition at line 357 of file drv8301.h.

Function Documentation

static DRV8301_Word_t DRV8301_buildCtrlWord ( const DRV8301_CtrlMode_e  ctrlMode,
const DRV8301_RegName_e  regName,
const uint16_t  data 
)
inlinestatic

Builds the control word.

Parameters
[in]ctrlModeThe control mode
[in]regNameThe register name
[in]dataThe data
Returns
The control word

Definition at line 452 of file drv8301.h.

References DRV8301_DATA_MASK.

Referenced by DRV8301_readSpi(), and DRV8301_writeSpi().

void DRV8301_enable ( DRV8301_Handle  handle)

Enables the DRV8301.

Parameters
[in]handleThe DRV8301 handle

Definition at line 66 of file drv8301.c.

References DRV8301_readSpi(), DRV8301_RegName_Status_1, DRV8301_STATUS1_FAULT_BITS, _DRV8301_Obj_::enableTimeOut, GPIO_setHigh(), _DRV8301_Obj_::gpioHandle, and _DRV8301_Obj_::gpioNumber.

DRV8301_DcCalMode_e DRV8301_getDcCalMode ( DRV8301_Handle  handle,
const DRV8301_ShuntAmpNumber_e  ampNumber 
)

Gets the DC calibration mode.

Parameters
[in]handleThe DRV8301 handle
[in]ampNumberThe shunt amplifier number
Returns
The DC calibration mode

Definition at line 93 of file drv8301.c.

References DRV8301_CTRL2_DC_CAL_1_BITS, DRV8301_CTRL2_DC_CAL_2_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_2, DRV8301_ShuntAmpNumber_1, and DRV8301_ShuntAmpNumber_2.

DRV8301_FaultType_e DRV8301_getFaultType ( DRV8301_Handle  handle)

Gets the fault type.

Parameters
[in]handleThe DRV8301 handle
Returns
The fault type

Definition at line 116 of file drv8301.c.

References DRV8301_FAULT_TYPE_MASK, DRV8301_FaultType_GVDD_OV, DRV8301_FaultType_NoFault, DRV8301_readSpi(), DRV8301_RegName_Status_1, DRV8301_RegName_Status_2, DRV8301_STATUS1_FAULT_BITS, and DRV8301_STATUS2_GVDD_OV_BITS.

uint16_t DRV8301_getId ( DRV8301_Handle  handle)

Gets the device ID.

Parameters
[in]handleThe DRV8301 handle
Returns
The device ID

Definition at line 145 of file drv8301.c.

References DRV8301_readSpi(), DRV8301_RegName_Status_2, and DRV8301_STATUS2_ID_BITS.

DRV8301_VdsLevel_e DRV8301_getOcLevel ( DRV8301_Handle  handle)

Gets the over current level.

Parameters
[in]handleThe DRV8301 handle
Returns
The over current level, V

Definition at line 160 of file drv8301.c.

References DRV8301_CTRL1_OC_ADJ_SET_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_1.

DRV8301_OcMode_e DRV8301_getOcMode ( DRV8301_Handle  handle)

Gets the over current mode.

Parameters
[in]handleThe DRV8301 handle
Returns
The over current mode

Definition at line 174 of file drv8301.c.

References DRV8301_CTRL1_OC_MODE_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_1.

DRV8301_OcOffTimeMode_e DRV8301_getOcOffTimeMode ( DRV8301_Handle  handle)

Gets the over current off time mode.

Parameters
[in]handleThe DRV8301 handle
Returns
The over current off time mode

Definition at line 189 of file drv8301.c.

References DRV8301_CTRL2_OC_TOFF_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_2.

DRV8301_OcTwMode_e DRV8301_getOcTwMode ( DRV8301_Handle  handle)

Gets the over current, temperature warning mode.

Parameters
[in]handleThe DRV8301 handle
Returns
The over current, temperature warning mode

Definition at line 204 of file drv8301.c.

References DRV8301_CTRL2_OCTW_SET_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_2.

DRV8301_PeakCurrent_e DRV8301_getPeakCurrent ( DRV8301_Handle  handle)

Gets the peak current value.

Parameters
[in]handleThe DRV8301 handle
Returns
The peak current value

Definition at line 219 of file drv8301.c.

References DRV8301_CTRL1_GATE_CURRENT_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_1.

DRV8301_PwmMode_e DRV8301_getPwmMode ( DRV8301_Handle  handle)

Gets the PWM mode.

Parameters
[in]handleThe DRV8301 handle
Returns
The PWM mode

Definition at line 234 of file drv8301.c.

References DRV8301_CTRL1_PWM_MODE_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_1.

DRV8301_ShuntAmpGain_e DRV8301_getShuntAmpGain ( DRV8301_Handle  handle)

Gets the shunt amplifier gain value.

Parameters
[in]handleThe DRV8301 handle
Returns
The shunt amplifier gain value

Definition at line 249 of file drv8301.c.

References DRV8301_CTRL2_GAIN_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_2.

uint16_t DRV8301_getStatusRegister1 ( DRV8301_Handle  handle)

Gets the status register 1 value.

Parameters
[in]handleThe DRV8301 handle
Returns
The status register1 value
uint16_t DRV8301_getStatusRegister2 ( DRV8301_Handle  handle)

Gets the status register 2 value.

Parameters
[in]handleThe DRV8301 handle
Returns
The status register2 value
DRV8301_Handle DRV8301_init ( void *  pMemory,
const size_t  numBytes 
)

Initializes the DRV8301 object.

Parameters
[in]pMemoryA pointer to the memory for the DRV8301 object
[in]numBytesThe number of bytes allocated for the DRV8301 object, bytes
Returns
The DRV8301 object handle

Definition at line 264 of file drv8301.c.

References DRV8301_resetEnableTimeout(), and DRV8301_resetRxTimeout().

bool DRV8301_isFault ( DRV8301_Handle  handle)

Determines if DRV8301 fault has occurred.

Parameters
[in]handleThe DRV8301 handle
Returns
A boolean value denoting if a fault has occurred (true) or not (false)

Definition at line 317 of file drv8301.c.

References DRV8301_readSpi(), DRV8301_RegName_Status_1, and DRV8301_STATUS1_FAULT_BITS.

bool DRV8301_isReset ( DRV8301_Handle  handle)

Determines if DRV8301 is in reset.

Parameters
[in]handleThe DRV8301 handle
Returns
A boolean value denoting if the DRV8301 is in reset (true) or not (false)

Definition at line 335 of file drv8301.c.

References DRV8301_CTRL1_GATE_RESET_BITS, DRV8301_readSpi(), and DRV8301_RegName_Control_1.

void DRV8301_readData ( DRV8301_Handle  handle,
DRV_SPI_8301_Vars_t Spi_8301_Vars 
)
Parameters
[in]handleThe DRV8301 handle
[in]Spi_8301_VarsThe (DRV_SPI_8301_Vars_t) structure that contains all DRV8301 Status/Control register options

Definition at line 642 of file drv8301.c.

References _DRV_SPI_8301_Vars_t_::Ctrl_Reg_1, _DRV_SPI_8301_Vars_t_::Ctrl_Reg_2, _DRV_SPI_8301_CTRL2_t_::DC_CAL_CH1p2, _DRV_SPI_8301_Stat2_t_::DeviceID, DRV8301_CTRL1_GATE_CURRENT_BITS, DRV8301_CTRL1_GATE_RESET_BITS, DRV8301_CTRL1_OC_ADJ_SET_BITS, DRV8301_CTRL1_OC_MODE_BITS, DRV8301_CTRL1_PWM_MODE_BITS, DRV8301_CTRL2_DC_CAL_1_BITS, DRV8301_CTRL2_DC_CAL_2_BITS, DRV8301_CTRL2_GAIN_BITS, DRV8301_CTRL2_OC_TOFF_BITS, DRV8301_CTRL2_OCTW_SET_BITS, _DRV_SPI_8301_CTRL1_t_::DRV8301_CURRENT, DRV8301_readSpi(), DRV8301_RegName_Control_1, DRV8301_RegName_Control_2, DRV8301_RegName_Status_1, DRV8301_RegName_Status_2, _DRV_SPI_8301_CTRL1_t_::DRV8301_RESET, DRV8301_STATUS1_FAULT_BITS, DRV8301_STATUS1_FETHA_OC_BITS, DRV8301_STATUS1_FETHB_OC_BITS, DRV8301_STATUS1_FETHC_OC_BITS, DRV8301_STATUS1_FETLA_OC_BITS, DRV8301_STATUS1_FETLB_OC_BITS, DRV8301_STATUS1_FETLC_OC_BITS, DRV8301_STATUS1_GVDD_UV_BITS, DRV8301_STATUS1_OTSD_BITS, DRV8301_STATUS1_OTW_BITS, DRV8301_STATUS1_PVDD_UV_BITS, DRV8301_STATUS2_GVDD_OV_BITS, DRV8301_STATUS2_ID_BITS, _DRV_SPI_8301_Stat1_t_::FAULT, _DRV_SPI_8301_Stat1_t_::FETHA_OC, _DRV_SPI_8301_Stat1_t_::FETHB_OC, _DRV_SPI_8301_Stat1_t_::FETHC_OC, _DRV_SPI_8301_Stat1_t_::FETLA_OC, _DRV_SPI_8301_Stat1_t_::FETLB_OC, _DRV_SPI_8301_Stat1_t_::FETLC_OC, _DRV_SPI_8301_CTRL2_t_::GAIN, _DRV_SPI_8301_Stat2_t_::GVDD_OV, _DRV_SPI_8301_Stat1_t_::GVDD_UV, _DRV_SPI_8301_CTRL1_t_::OC_ADJ_SET, _DRV_SPI_8301_CTRL1_t_::OC_MODE, _DRV_SPI_8301_CTRL2_t_::OC_TOFF, _DRV_SPI_8301_CTRL2_t_::OCTW_SET, _DRV_SPI_8301_Stat1_t_::OTSD, _DRV_SPI_8301_Stat1_t_::OTW, _DRV_SPI_8301_Stat1_t_::PVDD_UV, _DRV_SPI_8301_CTRL1_t_::PWM_MODE, _DRV_SPI_8301_Vars_t_::RcvCmd, _DRV_SPI_8301_Vars_t_::Stat_Reg_1, and _DRV_SPI_8301_Vars_t_::Stat_Reg_2.

uint16_t DRV8301_readSpi ( DRV8301_Handle  handle,
const DRV8301_RegName_e  regName 
)
void DRV8301_reset ( DRV8301_Handle  handle)

Resets the DRV8301.

Parameters
[in]handleThe DRV8301 handle

Definition at line 395 of file drv8301.c.

References DRV8301_CTRL1_GATE_RESET_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_1, and DRV8301_writeSpi().

static void DRV8301_resetEnableTimeout ( DRV8301_Handle  handle)
inlinestatic

Resets the enable timeout flag.

Parameters
[in]handleThe DRV8301 handle

Definition at line 573 of file drv8301.h.

References _DRV8301_Obj_::enableTimeOut.

Referenced by DRV8301_init().

static void DRV8301_resetRxTimeout ( DRV8301_Handle  handle)
inlinestatic

Resets the RX fifo timeout flag.

Parameters
[in]handleThe DRV8301 handle

Definition at line 585 of file drv8301.h.

References _DRV8301_Obj_::RxTimeOut.

Referenced by DRV8301_init().

void DRV8301_setDcCalMode ( DRV8301_Handle  handle,
const DRV8301_ShuntAmpNumber_e  ampNumber,
const DRV8301_DcCalMode_e  mode 
)

Sets the DC calibration mode.

Parameters
[in]handleThe DRV8301 handle
[in]ampNumberThe shunt amplifier number
[in]modeThe DC calibration mode

Definition at line 413 of file drv8301.c.

References DRV8301_CTRL2_DC_CAL_1_BITS, DRV8301_CTRL2_DC_CAL_2_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_2, DRV8301_ShuntAmpNumber_1, DRV8301_ShuntAmpNumber_2, and DRV8301_writeSpi().

void DRV8301_setGpioHandle ( DRV8301_Handle  handle,
GPIO_Handle  gpioHandle 
)

Sets the GPIO handle in the DRV8301.

Parameters
[in]handleThe DRV8301 handle
[in]gpioHandleThe GPIO handle to use

Definition at line 284 of file drv8301.c.

References _DRV8301_Obj_::gpioHandle.

void DRV8301_setGpioNumber ( DRV8301_Handle  handle,
GPIO_Number_e  gpioNumber 
)

Sets the GPIO number in the DRV8301.

Parameters
[in]handleThe DRV8301 handle
[in]gpioHandleThe GPIO number to use

Definition at line 295 of file drv8301.c.

References _DRV8301_Obj_::gpioNumber.

void DRV8301_setOcLevel ( DRV8301_Handle  handle,
const DRV8301_VdsLevel_e  VdsLevel 
)

Sets the over current level in terms of Vds.

Parameters
[in]handleThe DRV8301 handle
[in]VdsLevelThe over current level, V

Definition at line 442 of file drv8301.c.

References DRV8301_CTRL1_OC_ADJ_SET_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_1, and DRV8301_writeSpi().

void DRV8301_setOcMode ( DRV8301_Handle  handle,
const DRV8301_OcMode_e  mode 
)

Sets the over current mode.

Parameters
[in]handleThe DRV8301 handle
[in]modeThe over current mode

Definition at line 463 of file drv8301.c.

References DRV8301_CTRL1_OC_MODE_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_1, and DRV8301_writeSpi().

void DRV8301_setOcOffTimeMode ( DRV8301_Handle  handle,
const DRV8301_OcOffTimeMode_e  mode 
)

Sets the over current off time mode.

Parameters
[in]handleThe DRV8301 handle
[in]modeThe over current off time mode

Definition at line 484 of file drv8301.c.

References DRV8301_CTRL2_OC_TOFF_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_2, and DRV8301_writeSpi().

void DRV8301_setOcTwMode ( DRV8301_Handle  handle,
const DRV8301_OcTwMode_e  mode 
)

Sets the over current, temperature warning mode.

Parameters
[in]handleThe DRV8301 handle
[in]modeThe over current, temperature warning mode

Definition at line 505 of file drv8301.c.

References DRV8301_CTRL2_OCTW_SET_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_2, and DRV8301_writeSpi().

void DRV8301_setPeakCurrent ( DRV8301_Handle  handle,
const DRV8301_PeakCurrent_e  peakCurrent 
)

Sets the peak current value.

Parameters
[in]handleThe DRV8301 handle
[in]peakCurrentThe peak current value

Definition at line 526 of file drv8301.c.

References DRV8301_CTRL1_GATE_CURRENT_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_1, and DRV8301_writeSpi().

void DRV8301_setPwmMode ( DRV8301_Handle  handle,
const DRV8301_PwmMode_e  mode 
)

Sets the PWM mode.

Parameters
[in]handleThe DRV8301 handle
[in]modeThe PWM mode

Definition at line 547 of file drv8301.c.

References DRV8301_CTRL1_PWM_MODE_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_1, and DRV8301_writeSpi().

void DRV8301_setShuntAmpGain ( DRV8301_Handle  handle,
const DRV8301_ShuntAmpGain_e  gain 
)

Sets the shunt amplifier gain value.

Parameters
[in]handleThe DRV8301 handle
[in]gainThe shunt amplifier gain value

Definition at line 568 of file drv8301.c.

References DRV8301_CTRL2_GAIN_BITS, DRV8301_readSpi(), DRV8301_RegName_Control_2, and DRV8301_writeSpi().

void DRV8301_setSpiHandle ( DRV8301_Handle  handle,
SPI_Handle  spiHandle 
)

Sets the SPI handle in the DRV8301.

Parameters
[in]handleThe DRV8301 handle
[in]spiHandleThe SPI handle to use

Definition at line 306 of file drv8301.c.

References _DRV8301_Obj_::spiHandle.

void DRV8301_setupSpi ( DRV8301_Handle  handle,
DRV_SPI_8301_Vars_t Spi_8301_Vars 
)

Initialize the interface to all 8301 SPI variables.

Parameters
[in]handleThe DRV8301 handle

Definition at line 695 of file drv8301.c.

References _DRV_SPI_8301_Vars_t_::Ctrl_Reg_1, _DRV_SPI_8301_Vars_t_::Ctrl_Reg_2, _DRV_SPI_8301_CTRL2_t_::DC_CAL_CH1p2, _DRV_SPI_8301_Stat2_t_::DeviceID, DRV8301_CTRL1_GATE_CURRENT_BITS, DRV8301_CTRL1_GATE_RESET_BITS, DRV8301_CTRL1_OC_ADJ_SET_BITS, DRV8301_CTRL1_OC_MODE_BITS, DRV8301_CTRL1_PWM_MODE_BITS, DRV8301_CTRL2_DC_CAL_1_BITS, DRV8301_CTRL2_DC_CAL_2_BITS, DRV8301_CTRL2_GAIN_BITS, DRV8301_CTRL2_OC_TOFF_BITS, DRV8301_CTRL2_OCTW_SET_BITS, _DRV_SPI_8301_CTRL1_t_::DRV8301_CURRENT, DRV8301_DcCalMode_Ch1_Load, DRV8301_DcCalMode_Ch2_Load, DRV8301_OcMode_CurrentLimit, DRV8301_OcOffTimeMode_Normal, DRV8301_OcTwMode_Both, DRV8301_PeakCurrent_0p25_A, DRV8301_PwmMode_Six_Inputs, DRV8301_readSpi(), DRV8301_RegName_Control_1, DRV8301_RegName_Control_2, DRV8301_RegName_Status_1, DRV8301_RegName_Status_2, _DRV_SPI_8301_CTRL1_t_::DRV8301_RESET, DRV8301_Reset_Normal, DRV8301_ShuntAmpGain_10VpV, DRV8301_STATUS1_FAULT_BITS, DRV8301_STATUS1_FETHA_OC_BITS, DRV8301_STATUS1_FETHB_OC_BITS, DRV8301_STATUS1_FETHC_OC_BITS, DRV8301_STATUS1_FETLA_OC_BITS, DRV8301_STATUS1_FETLB_OC_BITS, DRV8301_STATUS1_FETLC_OC_BITS, DRV8301_STATUS1_GVDD_UV_BITS, DRV8301_STATUS1_OTSD_BITS, DRV8301_STATUS1_OTW_BITS, DRV8301_STATUS1_PVDD_UV_BITS, DRV8301_STATUS2_GVDD_OV_BITS, DRV8301_STATUS2_ID_BITS, DRV8301_VdsLevel_0p730_V, DRV8301_writeSpi(), _DRV_SPI_8301_Stat1_t_::FAULT, _DRV_SPI_8301_Stat1_t_::FETHA_OC, _DRV_SPI_8301_Stat1_t_::FETHB_OC, _DRV_SPI_8301_Stat1_t_::FETHC_OC, _DRV_SPI_8301_Stat1_t_::FETLA_OC, _DRV_SPI_8301_Stat1_t_::FETLB_OC, _DRV_SPI_8301_Stat1_t_::FETLC_OC, _DRV_SPI_8301_CTRL2_t_::GAIN, _DRV_SPI_8301_Stat2_t_::GVDD_OV, _DRV_SPI_8301_Stat1_t_::GVDD_UV, _DRV_SPI_8301_CTRL1_t_::OC_ADJ_SET, _DRV_SPI_8301_CTRL1_t_::OC_MODE, _DRV_SPI_8301_CTRL2_t_::OC_TOFF, _DRV_SPI_8301_CTRL2_t_::OCTW_SET, _DRV_SPI_8301_Stat1_t_::OTSD, _DRV_SPI_8301_Stat1_t_::OTW, _DRV_SPI_8301_Stat1_t_::PVDD_UV, _DRV_SPI_8301_CTRL1_t_::PWM_MODE, _DRV_SPI_8301_Vars_t_::RcvCmd, _DRV_SPI_8301_Vars_t_::SndCmd, _DRV_SPI_8301_Vars_t_::Stat_Reg_1, and _DRV_SPI_8301_Vars_t_::Stat_Reg_2.

void DRV8301_writeData ( DRV8301_Handle  handle,
DRV_SPI_8301_Vars_t Spi_8301_Vars 
)

Interface to all 8301 SPI variables.

Call this function periodically to be able to read the DRV8301 Status1, Status2, Control1, and Control2 registers and write the Control1 and Control2 registers. This function updates the members of the structure DRV_SPI_8301_Vars_t. How to use in Setup Code Add the structure declaration DRV_SPI_8301_Vars_t to your code Make sure the SPI and 8301 EN_Gate GPIO are setup for the 8301 by using HAL_init and HAL_setParams During code setup, call HAL_enableDrv and HAL_setupDrvSpi In background loop, call DRV8301_writeData and DRV8301_readData How to use in Runtime Watch window Add the structure, declared by DRV_SPI_8301_Vars_t above, to the watch window Runtime Pull down the menus from the DRV_SPI_8301_Vars_t strcuture to the desired setting Set SndCmd to send the settings to the DRV8301 If a read of the DRV8301 registers is required, se RcvCmd

Parameters
[in]handleThe DRV8301 handle
[in]Spi_8301_VarsThe (DRV_SPI_8301_Vars_t) structure that contains all DRV8301 Status/Control register options

Definition at line 610 of file drv8301.c.

References _DRV_SPI_8301_Vars_t_::Ctrl_Reg_1, _DRV_SPI_8301_Vars_t_::Ctrl_Reg_2, _DRV_SPI_8301_CTRL1_t_::DRV8301_CURRENT, DRV8301_RegName_Control_1, DRV8301_RegName_Control_2, DRV8301_writeSpi(), _DRV_SPI_8301_CTRL2_t_::OCTW_SET, and _DRV_SPI_8301_Vars_t_::SndCmd.

void DRV8301_writeSpi ( DRV8301_Handle  handle,
const DRV8301_RegName_e  regName,
const uint16_t  data 
)