MotorWare f2806x Module API Documentation
Macros | Enumerations | Functions
boostxldrv8301_revB/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...
 

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...