MotorWare f2806x Module API Documentation
Macros | Enumerations | Functions
drv8301kit_revD/f28x/f2806x/src/hal.h File Reference
#include "hal_obj.h"
#include "sw/modules/svgen/src/32b/svgen_current.h"

Go to the source code of this file.

Macros

#define DRV8301_SPI
 Defines that a DRV8301 chip SPI port is used on the board. More...
 
#define Device_cal   (void (*)(void))0x3D7C80
 
#define FP_SCALE   32768
 Defines used in oscillator calibration functions. More...
 
#define FP_ROUND   FP_SCALE/2
 Defines the quantity added to Q15 numbers before converting to integer to round the number. More...
 
#define OSC_POSTRIM   32
 Defines the amount to add to Q16.15 fixed point number to shift from a fine trim range of. More...
 
#define OSC_POSTRIM_OFF   FP_SCALE*OSC_POSTRIM
 
#define getOsc1FineTrimSlope()   (*(int16_t (*)(void))0x3D7E90)()
 The following functions return reference values stored in OTP. More...
 
#define getOsc1FineTrimOffset()   (*(int16_t (*)(void))0x3D7E93)()
 Defines the oscillator 1 fine trim at high temp. More...
 
#define getOsc1CoarseTrim()   (*(int16_t (*)(void))0x3D7E96)()
 Defines the oscillator 1 coarse trim. More...
 
#define getOsc2FineTrimSlope()   (*(int16_t (*)(void))0x3D7E99)()
 Defines the slope used to compensate oscillator 2 (fine trim steps / ADC code). Stored. More...
 
#define getOsc2FineTrimOffset()   (*(int16_t (*)(void))0x3D7E9C)()
 Defines the oscillator 2 fine trim at high temp. More...
 
#define getOsc2CoarseTrim()   (*(int16_t (*)(void))0x3D7E9F)()
 Defines the oscillator 2 coarse trim. More...
 
#define getRefTempOffset()   (*(int16_t (*)(void))0x3D7EA2)()
 Defines the ADC reading of temperature sensor at reference temperature for compensation. More...
 
#define HAL_PWM_DBFED_CNT   1
 Defines the PWM deadband falling edge delay count (system clocks) More...
 
#define HAL_PWM_DBRED_CNT   1
 Defines the PWM deadband rising edge delay count (system clocks) More...
 
#define HAL_turnLedOff   HAL_setGpioLow
 Defines the function to turn LEDs off. More...
 
#define HAL_turnLedOn   HAL_setGpioHigh
 Defines the function to turn LEDs on. More...
 
#define HAL_toggleLed   HAL_toggleGpio
 Defines the function to turn LEDs on. More...
 
#define HAL_GPIO_SW1   GPIO_Number_9
 Defines the GPIO pin number for drv8301kit_revD Switch 1. More...
 
#define HAL_GPIO_SW2   GPIO_Number_7
 Defines the GPIO pin number for drv8301kit_revD Switch 2. More...
 

Enumerations

enum  HAL_QepSelect_e {
  HAL_Qep_QEP1 =0, HAL_Qep_QEP2 =1, HAL_Qep_QEP1 =0, HAL_Qep_QEP2 =1,
  HAL_Qep_QEP1 =0, HAL_Qep_QEP2 =1, HAL_Qep_QEP1 =0, HAL_Qep_QEP2 =1,
  HAL_Qep_QEP1 =0, HAL_Qep_QEP2 =1
}
 Enumeration for the QEP setup. More...
 
enum  HAL_LedNumber_e {
  HAL_Gpio_LED2 =GPIO_Number_34, HAL_Gpio_LED3 =GPIO_Number_39, HAL_Gpio_LED2 =GPIO_Number_34, HAL_Gpio_LED3 =GPIO_Number_39,
  HAL_Gpio_LED2 =GPIO_Number_31, HAL_Gpio_LED3 =GPIO_Number_34, HAL_Gpio_LED2 =GPIO_Number_31, HAL_Gpio_LED3 =GPIO_Number_34,
  HAL_Gpio_LED2 =GPIO_Number_31, HAL_Gpio_LED3 =GPIO_Number_34, HAL_Gpio_LED2 =GPIO_Number_31, HAL_Gpio_LED3 =GPIO_Number_34,
  HAL_Gpio_LED2 =GPIO_Number_31, HAL_Gpio_LED3 =GPIO_Number_34, HAL_Gpio_LED2 =GPIO_Number_31, HAL_Gpio_LED3 =GPIO_Number_34
}
 Enumeration for the LED numbers. More...
 
enum  HAL_SensorType_e {
  HAL_SensorType_Current =0, HAL_SensorType_Voltage, HAL_SensorType_Current =0, HAL_SensorType_Voltage,
  HAL_SensorType_Current =0, HAL_SensorType_Voltage, HAL_SensorType_Current =0, HAL_SensorType_Voltage,
  HAL_SensorType_Current =0, HAL_SensorType_Voltage, HAL_SensorType_Current =0, HAL_SensorType_Voltage,
  HAL_SensorType_Current =0, HAL_SensorType_Voltage, HAL_SensorType_Current =0, HAL_SensorType_Voltage
}
 Enumeration for the sensor types. More...
 

Functions

interrupt void mainISR (void)
 
static void HAL_acqAdcInt (HAL_Handle handle, const ADC_IntNumber_e intNumber)
 Acknowledges an interrupt from the ADC so that another ADC interrupt can happen again. More...
 
static void HAL_acqPwmInt (HAL_Handle handle, const PWM_Number_e pwmNumber)
 Acknowledges an interrupt from the PWM so that another PWM interrupt can happen again. More...
 
static void HAL_acqTimer0Int (HAL_Handle handle)
 Acknowledges an interrupt from Timer 0 so that another Timer 0 interrupt can happen again. More...
 
void HAL_cal (HAL_Handle handle)
 Executes calibration routines. More...
 
void HAL_disableGlobalInts (HAL_Handle handle)
 Disables global interrupts. More...
 
void HAL_disableWdog (HAL_Handle handle)
 Disables the watch dog. More...
 
static void HAL_disablePwm (HAL_Handle handle)
 Disables the PWM device. More...
 
void HAL_enableAdcInts (HAL_Handle handle)
 Enables the ADC interrupts. More...
 
void HAL_enableDebugInt (HAL_Handle handle)
 Enables the debug interrupt. More...
 
void HAL_enableGlobalInts (HAL_Handle handle)
 Enables global interrupts. More...
 
void HAL_enableDrv (HAL_Handle handle)
 Enables the 8301 device. More...
 
static void HAL_enablePwm (HAL_Handle handle)
 Enables the PWM devices. More...
 
void HAL_enablePwmInt (HAL_Handle handle)
 Enables the PWM interrupt. More...
 
void HAL_enableTimer0Int (HAL_Handle handle)
 Enables the Timer 0 interrupt. More...
 
static ADC_SocSampleDelay_e HAL_getAdcSocSampleDelay (HAL_Handle handle, const ADC_SocNumber_e socNumber)
 Gets the ADC delay value. More...
 
static _iq HAL_getBias (HAL_Handle handle, const HAL_SensorType_e sensorType, uint_least8_t sensorNumber)
 Gets the ADC bias value. More...
 
static _iq HAL_getCurrentScaleFactor (HAL_Handle handle)
 Gets the current scale factor. More...
 
static uint_least8_t HAL_getNumCurrentSensors (HAL_Handle handle)
 Gets the number of current sensors. More...
 
static uint_least8_t HAL_getNumVoltageSensors (HAL_Handle handle)
 Gets the number of voltage sensors. More...
 
static _iq HAL_getOffsetBeta_lp_pu (HAL_Handle handle, const HAL_SensorType_e sensorType, const uint_least8_t sensorNumber)
 Gets the value used to set the low pass filter pole for offset estimation. More...
 
static _iq HAL_getOffsetValue (HAL_Handle handle, const HAL_SensorType_e sensorType, const uint_least8_t sensorNumber)
 Gets the offset value. More...
 
static _iq HAL_getVoltageScaleFactor (HAL_Handle handle)
 Gets the voltage scale factor. More...
 
void HAL_setupFaults (HAL_Handle handle)
 Configures the fault protection logic. More...
 
HAL_Handle HAL_init (void *pMemory, const size_t numBytes)
 Initializes the hardware abstraction layer (HAL) object. More...
 
static void HAL_initIntVectorTable (HAL_Handle handle)
 Initializes the interrupt vector table. More...
 
static void HAL_readAdcData (HAL_Handle handle, HAL_AdcData_t *pAdcData)
 Reads the ADC data. More...
 
static void HAL_readAdcDataWithOffsets (HAL_Handle handle, HAL_AdcData_t *pAdcData)
 Reads the ADC data. More...
 
static uint32_t HAL_readTimerCnt (HAL_Handle handle, const uint_least8_t timerNumber)
 Reads the timer count. More...
 
static void HAL_reloadTimer (HAL_Handle handle, const uint_least8_t timerNumber)
 Reloads the timer. More...
 
void HAL_setupGate (HAL_Handle handle)
 Sets up the GATE object. More...
 
static void HAL_startTimer (HAL_Handle handle, const uint_least8_t timerNumber)
 Starts the timer. More...
 
static void HAL_stopTimer (HAL_Handle handle, const uint_least8_t timerNumber)
 Stops the timer. More...
 
static void HAL_setTimerPeriod (HAL_Handle handle, const uint_least8_t timerNumber, const uint32_t period)
 Sets the timer period. More...
 
static uint32_t HAL_getTimerPeriod (HAL_Handle handle, const uint_least8_t timerNumber)
 Gets the timer period. More...
 
static void HAL_setAdcSocSampleDelay (HAL_Handle handle, const ADC_SocNumber_e socNumber, const ADC_SocSampleDelay_e sampleDelay)
 Sets the ADC SOC sample delay value. More...
 
static void HAL_setBias (HAL_Handle handle, const HAL_SensorType_e sensorType, uint_least8_t sensorNumber, const _iq bias)
 Sets the ADC bias value. More...
 
static void HAL_setGpioHigh (HAL_Handle handle, const GPIO_Number_e gpioNumber)
 Sets the GPIO pin high. More...
 
static bool HAL_readGpio (HAL_Handle handle, const GPIO_Number_e gpioNumber)
 Reads the specified GPIO pin. More...
 
static void HAL_toggleGpio (HAL_Handle handle, const GPIO_Number_e gpioNumber)
 Toggles the GPIO pin. More...
 
static void HAL_setGpioLow (HAL_Handle handle, const GPIO_Number_e gpioNumber)
 Sets the GPIO pin low. More...
 
static void HAL_setCurrentScaleFactor (HAL_Handle handle, const _iq current_sf)
 Sets the current scale factor in the hardware abstraction layer. More...
 
static void HAL_setNumCurrentSensors (HAL_Handle handle, const uint_least8_t numCurrentSensors)
 Sets the number of current sensors. More...
 
static void HAL_setNumVoltageSensors (HAL_Handle handle, const uint_least8_t numVoltageSensors)
 Sets the number of voltage sensors. More...
 
static void HAL_setOffsetBeta_lp_pu (HAL_Handle handle, const HAL_SensorType_e sensorType, const uint_least8_t sensorNumber, const _iq beta_lp_pu)
 Sets the value used to set the low pass filter pole for offset estimation. More...
 
static void HAL_setOffsetInitCond (HAL_Handle handle, const HAL_SensorType_e sensorType, const uint_least8_t sensorNumber, const _iq initCond)
 Sets the offset initial condition value for offset estimation. More...
 
static void HAL_setOffsetValue (HAL_Handle handle, const HAL_SensorType_e sensorType, const uint_least8_t sensorNumber, const _iq value)
 Sets the initial offset value for offset estimation. More...
 
static void HAL_setVoltageScaleFactor (HAL_Handle handle, const _iq voltage_sf)
 Sets the voltage scale factor in the hardware abstraction layer. More...
 
void HAL_setParams (HAL_Handle handle, const USER_Params *pUserParams)
 Sets the hardware abstraction layer parameters. More...
 
void HAL_setupAdcs (HAL_Handle handle)
 Sets up the ADCs (Analog to Digital Converters) More...
 
void HAL_setupClks (HAL_Handle handle)
 Sets up the clocks. More...
 
void HAL_setupFlash (HAL_Handle handle)
 Sets up the FLASH. More...
 
void HAL_setupGpios (HAL_Handle handle)
 Sets up the GPIO (General Purpose I/O) pins. More...
 
void HAL_setupPeripheralClks (HAL_Handle handle)
 Sets up the peripheral clocks. More...
 
void HAL_setupPie (HAL_Handle handle)
 Sets up the PIE (Peripheral Interrupt Expansion) More...
 
void HAL_setupPll (HAL_Handle handle, const PLL_ClkFreq_e clkFreq)
 Sets up the PLL (Phase Lock Loop) More...
 
void HAL_setupPwms (HAL_Handle handle, const float_t systemFreq_MHz, const float_t pwmPeriod_usec, const uint_least16_t numPwmTicksPerIsrTick)
 Sets up the PWMs (Pulse Width Modulators) More...
 
void HAL_setupPwmDacs (HAL_Handle handle)
 Sets up the PWM DACs (Pulse Width Modulator Digital to Analof Converters) More...
 
void HAL_setupQEP (HAL_Handle handle, HAL_QepSelect_e qep)
 Sets up the QEP peripheral. More...
 
void HAL_setupSpiA (HAL_Handle handle)
 Sets up the spiA peripheral. More...
 
void HAL_setupSpiB (HAL_Handle handle)
 Sets up the spiB peripheral. More...
 
void HAL_setupTimers (HAL_Handle handle, const float_t systemFreq_MHz)
 Sets up the timers. More...
 
static void HAL_updateAdcBias (HAL_Handle handle)
 Updates the ADC bias values. More...
 
static void HAL_writeDacData (HAL_Handle handle, HAL_DacData_t *pDacData)
 Writes DAC data to the PWM comparators for DAC (digital-to-analog conversion) output. More...
 
static void HAL_writePwmData (HAL_Handle handle, HAL_PwmData_t *pPwmData)
 Writes PWM data to the PWM comparators for motor control. More...
 
static uint16_t HAL_readPwmCmpA (HAL_Handle handle, const PWM_Number_e pwmNumber)
 Reads PWM compare register A. More...
 
static uint16_t HAL_readPwmCmpAM (HAL_Handle handle, const PWM_Number_e pwmNumber)
 Reads PWM compare mirror register A. More...
 
static uint16_t HAL_readPwmCmpB (HAL_Handle handle, const PWM_Number_e pwmNumber)
 Reads PWM compare register B. More...
 
static uint16_t HAL_readPwmPeriod (HAL_Handle handle, const PWM_Number_e pwmNumber)
 Reads PWM period register. More...
 
static void HAL_setTrigger (HAL_Handle handle, const SVGENCURRENT_IgnoreShunt_e ignoreShunt, const int16_t minwidth, const int16_t cmpOffset)
 
void HAL_AdcCalChanSelect (HAL_Handle handle, const ADC_SocChanNumber_e chanNumber)
 Selects the analog channel used for calibration. More...
 
uint16_t HAL_AdcCalConversion (HAL_Handle handle)
 Reads the converted value from the selected calibration channel. More...
 
void HAL_AdcOffsetSelfCal (HAL_Handle handle)
 Executes the offset calibration of the ADC. More...
 
uint16_t HAL_getOscTrimValue (int16_t coarse, int16_t fine)
 Converts coarse and fine oscillator trim values into a single 16bit word value. More...
 
void HAL_OscTempComp (HAL_Handle handle)
 Executes the oscillator 1 and 2 calibration functions. More...
 
void HAL_osc1Comp (HAL_Handle handle, const int16_t sensorSample)
 Executes the oscillator 1 calibration based on input sample. More...
 
void HAL_osc2Comp (HAL_Handle handle, const int16_t sensorSample)
 Executes the oscillator 2 calibration based on input sample. More...
 
void HAL_writeDrvData (HAL_Handle handle, DRV_SPI_8301_Vars_t *Spi_8301_Vars)
 Writes data to the driver. More...
 
void HAL_readDrvData (HAL_Handle handle, DRV_SPI_8301_Vars_t *Spi_8301_Vars)
 Reads data from the driver. More...
 
void HAL_setupDrvSpi (HAL_Handle handle, DRV_SPI_8301_Vars_t *Spi_8301_Vars)
 Sets up the SPI interface for the driver. More...
 

Function Documentation

static void HAL_acqAdcInt ( HAL_Handle  handle,
const ADC_IntNumber_e  intNumber 
)
inlinestatic

Acknowledges an interrupt from the ADC so that another ADC interrupt can happen again.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]intNumberThe interrupt number

Definition at line 191 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::adcHandle, and _HAL_Obj_::pieHandle.

static void HAL_acqPwmInt ( HAL_Handle  handle,
const PWM_Number_e  pwmNumber 
)
inlinestatic

Acknowledges an interrupt from the PWM so that another PWM interrupt can happen again.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pwmNumberThe PWM number

Definition at line 211 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pieHandle, and _HAL_Obj_::pwmHandle.

static void HAL_acqTimer0Int ( HAL_Handle  handle)
inlinestatic

Acknowledges an interrupt from Timer 0 so that another Timer 0 interrupt can happen again.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle

Definition at line 234 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pieHandle, and _HAL_Obj_::timerHandle.

static void HAL_disablePwm ( HAL_Handle  handle)
inlinestatic

Disables the PWM device.

Turns off the outputs of the EPWM peripherals which will put the power switches into a high impedance state.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle

Definition at line 272 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pwmHandle.

static void HAL_enablePwm ( HAL_Handle  handle)
inlinestatic

Enables the PWM devices.

Turns on the outputs of the EPWM peripheral which will allow the power switches to be controlled.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle

Definition at line 314 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pwmHandle.

static ADC_SocSampleDelay_e HAL_getAdcSocSampleDelay ( HAL_Handle  handle,
const ADC_SocNumber_e  socNumber 
)
inlinestatic

Gets the ADC delay value.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]socNumberThe ADC SOC number
Returns
The ADC delay value

Definition at line 340 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::adcHandle.

static _iq HAL_getBias ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
uint_least8_t  sensorNumber 
)
inlinestatic

Gets the ADC bias value.

The ADC bias contains the feedback circuit's offset and bias. Bias is the mathematical offset used when a bi-polar signal is read into a uni-polar ADC.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
Returns
The ADC bias value

Definition at line 357 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ, _HAL_Obj_::adcBias, HAL_SensorType_Current, HAL_SensorType_Voltage, _HAL_AdcData_t_::I, _HAL_AdcData_t_::V, and _MATH_vec3_::value.

Referenced by HAL_updateAdcBias().

static _iq HAL_getCurrentScaleFactor ( HAL_Handle  handle)
inlinestatic

Gets the current scale factor.

The current scale factor is defined as USER_ADC_FULL_SCALE_CURRENT_A/USER_IQ_FULL_SCALE_CURRENT_A. This scale factor is not used when converting between PU amps and real amps.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
Returns
The current scale factor

Definition at line 384 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::current_sf.

Referenced by HAL_readAdcData(), and HAL_readAdcDataWithOffsets().

static uint_least8_t HAL_getNumCurrentSensors ( HAL_Handle  handle)
inlinestatic

Gets the number of current sensors.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
Returns
The number of current sensors

Definition at line 395 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::numCurrentSensors.

Referenced by HAL_updateAdcBias().

static uint_least8_t HAL_getNumVoltageSensors ( HAL_Handle  handle)
inlinestatic

Gets the number of voltage sensors.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
Returns
The number of voltage sensors

Definition at line 407 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::numVoltageSensors.

Referenced by HAL_updateAdcBias().

static _iq HAL_getOffsetBeta_lp_pu ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
const uint_least8_t  sensorNumber 
)
inlinestatic

Gets the value used to set the low pass filter pole for offset estimation.

An IIR single pole low pass filter is used to find the feedback circuit's offsets. This function returns the value of that pole.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
Returns
The value used to set the low pass filter pole, pu

Definition at line 423 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ, HAL_SensorType_Current, HAL_SensorType_Voltage, OFFSET_getBeta(), _HAL_Obj_::offsetHandle_I, and _HAL_Obj_::offsetHandle_V.

static _iq HAL_getOffsetValue ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
const uint_least8_t  sensorNumber 
)
inlinestatic

Gets the offset value.

The offsets that are calculated during the feedback circuits calibrations are returned from the IIR filter object.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
Returns
The offset value

Definition at line 451 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ, HAL_SensorType_Current, HAL_SensorType_Voltage, OFFSET_getOffset(), _HAL_Obj_::offsetHandle_I, and _HAL_Obj_::offsetHandle_V.

static uint32_t HAL_getTimerPeriod ( HAL_Handle  handle,
const uint_least8_t  timerNumber 
)
inlinestatic

Gets the timer period.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]timerNumberThe timer number, 0,1 or 2
Returns
The timer period

Definition at line 715 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::timerHandle.

static _iq HAL_getVoltageScaleFactor ( HAL_Handle  handle)
inlinestatic

Gets the voltage scale factor.

The voltage scale factor is defined as USER_ADC_FULL_SCALE_VOLTAGE_V/USER_IQ_FULL_SCALE_VOLTAGE_V. This scale factor is not used when converting between PU volts and real volts.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
Returns
The voltage scale factor

Definition at line 479 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::voltage_sf.

Referenced by HAL_readAdcData(), and HAL_readAdcDataWithOffsets().

static void HAL_initIntVectorTable ( HAL_Handle  handle)
inlinestatic

Initializes the interrupt vector table.

Points ADCINT1 to mainISR

Parameters
[in]handleThe hardware abstraction layer (HAL) handle

Definition at line 508 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References mainISR(), and _HAL_Obj_::pieHandle.

static void HAL_readAdcData ( HAL_Handle  handle,
HAL_AdcData_t pAdcData 
)
inlinestatic

Reads the ADC data.

Reads in the ADC result registers, adjusts for offsets, and scales the values according to the settings in user.h. The structure gAdcData holds three phase voltages, three line currents, and one DC bus voltage.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pAdcDataA pointer to the ADC data buffer

Definition at line 531 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ12mpy, _HAL_Obj_::adcBias, _HAL_Obj_::adcHandle, _HAL_AdcData_t_::dcBus, HAL_getCurrentScaleFactor(), HAL_getVoltageScaleFactor(), _HAL_AdcData_t_::I, _HAL_AdcData_t_::V, and _MATH_vec3_::value.

static void HAL_readAdcDataWithOffsets ( HAL_Handle  handle,
HAL_AdcData_t pAdcData 
)
inlinestatic

Reads the ADC data.

Reads in the ADC result registers, and scales the values according to the settings in user.h. The structure gAdcData holds three phase voltages, three line currents, and one DC bus voltage.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pAdcDataA pointer to the ADC data buffer

Definition at line 587 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ12mpy, _HAL_Obj_::adcHandle, _HAL_AdcData_t_::dcBus, HAL_getCurrentScaleFactor(), HAL_getVoltageScaleFactor(), _HAL_AdcData_t_::I, _HAL_AdcData_t_::V, and _MATH_vec3_::value.

static bool HAL_readGpio ( HAL_Handle  handle,
const GPIO_Number_e  gpioNumber 
)
inlinestatic

Reads the specified GPIO pin.

Takes in the enumeration GPIO_Number_e and reads that GPIO

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]gpioNumberThe GPIO number

Definition at line 788 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::gpioHandle.

static uint16_t HAL_readPwmCmpA ( HAL_Handle  handle,
const PWM_Number_e  pwmNumber 
)
inlinestatic

Reads PWM compare register A.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pwmNumberThe PWM number
Returns
The PWM compare value

Definition at line 1151 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pwmHandle.

static uint16_t HAL_readPwmCmpAM ( HAL_Handle  handle,
const PWM_Number_e  pwmNumber 
)
inlinestatic

Reads PWM compare mirror register A.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pwmNumberThe PWM number
Returns
The PWM compare value

Definition at line 1168 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pwmHandle.

static uint16_t HAL_readPwmCmpB ( HAL_Handle  handle,
const PWM_Number_e  pwmNumber 
)
inlinestatic

Reads PWM compare register B.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pwmNumberThe PWM number
Returns
The PWM compare value

Definition at line 1185 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pwmHandle.

static uint16_t HAL_readPwmPeriod ( HAL_Handle  handle,
const PWM_Number_e  pwmNumber 
)
inlinestatic

Reads PWM period register.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pwmNumberThe PWM number
Returns
The PWM period value

Definition at line 1202 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::pwmHandle.

static uint32_t HAL_readTimerCnt ( HAL_Handle  handle,
const uint_least8_t  timerNumber 
)
inlinestatic

Reads the timer count.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]timerNumberThe timer number, 0,1 or 2
Returns
The timer count

Definition at line 640 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::timerHandle.

static void HAL_reloadTimer ( HAL_Handle  handle,
const uint_least8_t  timerNumber 
)
inlinestatic

Reloads the timer.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]timerNumberThe timer number, 0,1 or 2

Definition at line 652 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::timerHandle.

static void HAL_setAdcSocSampleDelay ( HAL_Handle  handle,
const ADC_SocNumber_e  socNumber,
const ADC_SocSampleDelay_e  sampleDelay 
)
inlinestatic

Sets the ADC SOC sample delay value.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]socNumberThe SOC number
[in]sampleDelayThe delay value for the ADC

Definition at line 729 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::adcHandle.

static void HAL_setBias ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
uint_least8_t  sensorNumber,
const _iq  bias 
)
inlinestatic

Sets the ADC bias value.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
[in]biasThe ADC bias value

Definition at line 746 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::adcBias, HAL_SensorType_Current, HAL_SensorType_Voltage, _HAL_AdcData_t_::I, _HAL_AdcData_t_::V, and _MATH_vec3_::value.

Referenced by HAL_updateAdcBias().

static void HAL_setCurrentScaleFactor ( HAL_Handle  handle,
const _iq  current_sf 
)
inlinestatic

Sets the current scale factor in the hardware abstraction layer.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]current_sfThe current scale factor

Definition at line 834 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::current_sf.

static void HAL_setGpioHigh ( HAL_Handle  handle,
const GPIO_Number_e  gpioNumber 
)
inlinestatic

Sets the GPIO pin high.

Takes in the enumeration GPIO_Number_e and sets that GPIO pin high.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]gpioNumberThe GPIO number

Definition at line 772 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::gpioHandle.

static void HAL_setGpioLow ( HAL_Handle  handle,
const GPIO_Number_e  gpioNumber 
)
inlinestatic

Sets the GPIO pin low.

Takes in the enumeration GPIO_Number_e and clears that GPIO pin low.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]gpioNumberThe GPIO number

Definition at line 819 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::gpioHandle.

static void HAL_setNumCurrentSensors ( HAL_Handle  handle,
const uint_least8_t  numCurrentSensors 
)
inlinestatic

Sets the number of current sensors.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]numCurrentSensorsThe number of current sensors

Definition at line 848 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::numCurrentSensors.

static void HAL_setNumVoltageSensors ( HAL_Handle  handle,
const uint_least8_t  numVoltageSensors 
)
inlinestatic

Sets the number of voltage sensors.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]numVoltageSensorsThe number of voltage sensors

Definition at line 862 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::numVoltageSensors.

static void HAL_setOffsetBeta_lp_pu ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
const uint_least8_t  sensorNumber,
const _iq  beta_lp_pu 
)
inlinestatic

Sets the value used to set the low pass filter pole for offset estimation.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
[in]beta_lp_puThe value used to set the low pass filter pole, pu

Definition at line 878 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References HAL_SensorType_Current, HAL_SensorType_Voltage, OFFSET_setBeta(), _HAL_Obj_::offsetHandle_I, and _HAL_Obj_::offsetHandle_V.

static void HAL_setOffsetInitCond ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
const uint_least8_t  sensorNumber,
const _iq  initCond 
)
inlinestatic

Sets the offset initial condition value for offset estimation.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
[in]initCondThe initial condition value

Definition at line 903 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References HAL_SensorType_Current, HAL_SensorType_Voltage, OFFSET_setInitCond(), _HAL_Obj_::offsetHandle_I, and _HAL_Obj_::offsetHandle_V.

static void HAL_setOffsetValue ( HAL_Handle  handle,
const HAL_SensorType_e  sensorType,
const uint_least8_t  sensorNumber,
const _iq  value 
)
inlinestatic

Sets the initial offset value for offset estimation.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]sensorTypeThe sensor type
[in]sensorNumberThe sensor number
[in]valueThe initial offset value

Definition at line 928 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References HAL_SensorType_Current, HAL_SensorType_Voltage, OFFSET_setOffset(), _HAL_Obj_::offsetHandle_I, and _HAL_Obj_::offsetHandle_V.

static void HAL_setTimerPeriod ( HAL_Handle  handle,
const uint_least8_t  timerNumber,
const uint32_t  period 
)
inlinestatic

Sets the timer period.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]timerNumberThe timer number, 0,1 or 2
[in]periodThe timer period

Definition at line 700 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::timerHandle.

static void HAL_setTrigger ( HAL_Handle  handle,
const SVGENCURRENT_IgnoreShunt_e  ignoreShunt,
const int16_t  minwidth,
const int16_t  cmpOffset 
)
inlinestatic
static void HAL_setVoltageScaleFactor ( HAL_Handle  handle,
const _iq  voltage_sf 
)
inlinestatic

Sets the voltage scale factor in the hardware abstraction layer.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]voltage_sfThe voltage scale factor

Definition at line 951 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::voltage_sf.

static void HAL_startTimer ( HAL_Handle  handle,
const uint_least8_t  timerNumber 
)
inlinestatic

Starts the timer.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]timerNumberThe timer number, 0,1 or 2

Definition at line 671 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::timerHandle.

static void HAL_stopTimer ( HAL_Handle  handle,
const uint_least8_t  timerNumber 
)
inlinestatic

Stops the timer.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]timerNumberThe timer number, 0,1 or 2

Definition at line 685 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::timerHandle.

static void HAL_toggleGpio ( HAL_Handle  handle,
const GPIO_Number_e  gpioNumber 
)
inlinestatic

Toggles the GPIO pin.

Takes in the enumeration GPIO_Number_e and toggles that GPIO pin.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]gpioNumberThe GPIO number

Definition at line 802 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _HAL_Obj_::gpioHandle.

static void HAL_updateAdcBias ( HAL_Handle  handle)
inlinestatic

Updates the ADC bias values.

This function is called before the motor is started. It sets the voltage and current measurement offsets.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle

Definition at line 1050 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References HAL_getBias(), HAL_getNumCurrentSensors(), HAL_getNumVoltageSensors(), HAL_SensorType_Current, HAL_SensorType_Voltage, HAL_setBias(), OFFSET_getOffset(), _HAL_Obj_::offsetHandle_I, and _HAL_Obj_::offsetHandle_V.

static void HAL_writeDacData ( HAL_Handle  handle,
HAL_DacData_t pDacData 
)
inlinestatic

Writes DAC data to the PWM comparators for DAC (digital-to-analog conversion) output.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pDacDataThe pointer to the DAC data

Definition at line 1085 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ, _IQmpy, _IQsat, _HAL_Obj_::pwmDacHandle, and _HAL_DacData_t_::value.

static void HAL_writePwmData ( HAL_Handle  handle,
HAL_PwmData_t pPwmData 
)
inlinestatic

Writes PWM data to the PWM comparators for motor control.

Parameters
[in]handleThe hardware abstraction layer (HAL) handle
[in]pPwmDataThe pointer to the PWM data

Definition at line 1117 of file drv8301kit_revD/f28x/f2806x/src/hal.h.

References _IQ, _IQmpy, _IQsat, _HAL_Obj_::pwmHandle, _HAL_PwmData_t_::Tabc, and _MATH_vec3_::value.