MotorWare f2806x Module API Documentation

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Macros | Enumerations | Functions
hal_both.h File Reference
`#include "hal_obj.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 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_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_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 int16_t minwidth)
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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | intNumber | The interrupt number

Definition at line 180 of file hal_both.h.

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

static void HAL_acqPwmInt | ( | HAL_Handle | handle,
|  | const PWM_Number_e | pwmNumber
| ) |  |
| inline static

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | pwmNumber | The PWM number

Definition at line 200 of file hal_both.h.

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

static void HAL_acqTimer0Int | ( | HAL_Handle | handle | ) |
| inline static

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle

Definition at line 223 of file hal_both.h.

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

static void HAL_disablePwm | ( | HAL_Handle | handle | ) |
| inline static

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] | handle | The hardware abstraction layer (HAL) handle

Definition at line 261 of file hal_both.h.

References _HAL_Obj_::pwmHandle.

static void HAL_enablePwm | ( | HAL_Handle | handle | ) |
| inline static

Enables the PWM devices.

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle

Definition at line 303 of file hal_both.h.

References _HAL_Obj_::pwmHandle.

static ADC_SocSampleDelay_e HAL_getAdcSocSampleDelay | ( | HAL_Handle | handle,
|  | const ADC_SocNumber_e | socNumber
| ) |  |
| inline static

Gets the ADC delay value.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | socNumber | The ADC SOC number

Returns
  The ADC delay value

Definition at line 329 of file hal_both.h.

References _HAL_Obj_::adcHandle.

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

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] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number

Returns
  The ADC bias value

Definition at line 346 of file hal_both.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 | ) |
| inline static

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] | handle | The hardware abstraction layer (HAL) handle

Returns
  The current scale factor

Definition at line 373 of file hal_both.h.

References _HAL_Obj_::current_sf.

Referenced by HAL_readAdcData().

static uint_least8_t HAL_getNumCurrentSensors | ( | HAL_Handle | handle | ) |
| inline static

Gets the number of current sensors.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle

Returns
  The number of current sensors

Definition at line 384 of file hal_both.h.

References _HAL_Obj_::numCurrentSensors.

Referenced by HAL_updateAdcBias().

static uint_least8_t HAL_getNumVoltageSensors | ( | HAL_Handle | handle | ) |
| inline static

Gets the number of voltage sensors.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle

Returns
  The number of voltage sensors

Definition at line 396 of file hal_both.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
| ) |  |
| inline static

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] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number

Returns
  The value used to set the low pass filter pole, pu

Definition at line 412 of file hal_both.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
| ) |  |
| inline static

Gets the offset value.

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number

Returns
  The offset value

Definition at line 440 of file hal_both.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
| ) |  |
| inline static

Gets the timer period.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | timerNumber | The timer number, 0,1 or 2

Returns
  The timer period

Definition at line 648 of file hal_both.h.

References _HAL_Obj_::timerHandle.

static _iq HAL_getVoltageScaleFactor | ( | HAL_Handle | handle | ) |
| inline static

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] | handle | The hardware abstraction layer (HAL) handle

Returns
  The voltage scale factor

Definition at line 468 of file hal_both.h.

References _HAL_Obj_::voltage_sf.

Referenced by HAL_readAdcData().

static void HAL_initIntVectorTable | ( | HAL_Handle | handle | ) |
| inline static

Initializes the interrupt vector table.

Points ADCINT1 to mainISR

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle

Definition at line 497 of file hal_both.h.

References mainISR(), and _HAL_Obj_::pieHandle.

static void HAL_readAdcData | ( | HAL_Handle | handle,
|  | HAL_AdcData_t * | pAdcData
| ) |  |
| inline static

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] | handle | The hardware abstraction layer (HAL) handle
  [in] | pAdcData | A pointer to the ADC data buffer

Definition at line 520 of file hal_both.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 bool HAL_readGpio | ( | HAL_Handle | handle,
|  | const GPIO_Number_e | gpioNumber
| ) |  |
| inline static

Reads the specified GPIO pin.

Takes in the enumeration GPIO_Number_e and reads that GPIO

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | gpioNumber | The GPIO number

Definition at line 721 of file hal_both.h.

References _HAL_Obj_::gpioHandle.

static uint16_t HAL_readPwmCmpA | ( | HAL_Handle | handle,
|  | const PWM_Number_e | pwmNumber
| ) |  |
| inline static

Reads PWM compare register A.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | pwmNumber | The PWM number

Returns
  The PWM compare value

Definition at line 1067 of file hal_both.h.

References _HAL_Obj_::pwmHandle.

static uint16_t HAL_readPwmCmpB | ( | HAL_Handle | handle,
|  | const PWM_Number_e | pwmNumber
| ) |  |
| inline static

Reads PWM compare register B.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | pwmNumber | The PWM number

Returns
  The PWM compare value

Definition at line 1084 of file hal_both.h.

References _HAL_Obj_::pwmHandle.

static uint16_t HAL_readPwmPeriod | ( | HAL_Handle | handle,
|  | const PWM_Number_e | pwmNumber
| ) |  |
| inline static

Reads PWM period register.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | pwmNumber | The PWM number

Returns
  The PWM period value

Definition at line 1101 of file hal_both.h.

References _HAL_Obj_::pwmHandle.

static uint32_t HAL_readTimerCnt | ( | HAL_Handle | handle,
|  | const uint_least8_t | timerNumber
| ) |  |
| inline static

Reads the timer count.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | timerNumber | The timer number, 0,1 or 2

Returns
  The timer count

Definition at line 573 of file hal_both.h.

References _HAL_Obj_::timerHandle.

static void HAL_reloadTimer | ( | HAL_Handle | handle,
|  | const uint_least8_t | timerNumber
| ) |  |
| inline static

Reloads the timer.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | timerNumber | The timer number, 0,1 or 2

Definition at line 585 of file hal_both.h.

References _HAL_Obj_::timerHandle.

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

Sets the ADC SOC sample delay value.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | socNumber | The SOC number
  [in] | sampleDelay | The delay value for the ADC

Definition at line 662 of file hal_both.h.

References _HAL_Obj_::adcHandle.

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

Sets the ADC bias value.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number
  [in] | bias | The ADC bias value

Definition at line 679 of file hal_both.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
| ) |  |
| inline static

Sets the current scale factor in the hardware abstraction layer.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | current_sf | The current scale factor

Definition at line 767 of file hal_both.h.

References _HAL_Obj_::current_sf.

static void HAL_setGpioHigh | ( | HAL_Handle | handle,
|  | const GPIO_Number_e | gpioNumber
| ) |  |
| inline static

Sets the GPIO pin high.

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | gpioNumber | The GPIO number

Definition at line 705 of file hal_both.h.

References _HAL_Obj_::gpioHandle.

static void HAL_setGpioLow | ( | HAL_Handle | handle,
|  | const GPIO_Number_e | gpioNumber
| ) |  |
| inline static

Sets the GPIO pin low.

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | gpioNumber | The GPIO number

Definition at line 752 of file hal_both.h.

References _HAL_Obj_::gpioHandle.

static void HAL_setNumCurrentSensors | ( | HAL_Handle | handle,
|  | const uint_least8_t | numCurrentSensors
| ) |  |
| inline static

Sets the number of current sensors.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | numCurrentSensors | The number of current sensors

Definition at line 781 of file hal_both.h.

References _HAL_Obj_::numCurrentSensors.

static void HAL_setNumVoltageSensors | ( | HAL_Handle | handle,
|  | const uint_least8_t | numVoltageSensors
| ) |  |
| inline static

Sets the number of voltage sensors.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | numVoltageSensors | The number of voltage sensors

Definition at line 795 of file hal_both.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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number
  [in] | beta_lp_pu | The value used to set the low pass filter pole, pu

Definition at line 811 of file hal_both.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
| ) |  |
| inline static

Sets the offset initial condition value for offset estimation.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number
  [in] | initCond | The initial condition value

Definition at line 836 of file hal_both.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
| ) |  |
| inline static

Sets the initial offset value for offset estimation.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | sensorType | The sensor type
  [in] | sensorNumber | The sensor number
  [in] | value | The initial offset value

Definition at line 861 of file hal_both.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
| ) |  |
| inline static

Sets the timer period.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | timerNumber | The timer number, 0,1 or 2
  [in] | period | The timer period

Definition at line 633 of file hal_both.h.

References _HAL_Obj_::timerHandle.

static void HAL_setVoltageScaleFactor | ( | HAL_Handle | handle,
|  | const _iq | voltage_sf
| ) |  |
| inline static

Sets the voltage scale factor in the hardware abstraction layer.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | voltage_sf | The voltage scale factor

Definition at line 884 of file hal_both.h.

References _HAL_Obj_::voltage_sf.

static void HAL_startTimer | ( | HAL_Handle | handle,
|  | const uint_least8_t | timerNumber
| ) |  |
| inline static

Starts the timer.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | timerNumber | The timer number, 0,1 or 2

Definition at line 604 of file hal_both.h.

References _HAL_Obj_::timerHandle.

static void HAL_stopTimer | ( | HAL_Handle | handle,
|  | const uint_least8_t | timerNumber
| ) |  |
| inline static

Stops the timer.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | timerNumber | The timer number, 0,1 or 2

Definition at line 618 of file hal_both.h.

References _HAL_Obj_::timerHandle.

static void HAL_toggleGpio | ( | HAL_Handle | handle,
|  | const GPIO_Number_e | gpioNumber
| ) |  |
| inline static

Toggles the GPIO pin.

Takes in the enumeration GPIO_Number_e and toggles that GPIO pin.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | gpioNumber | The GPIO number

Definition at line 735 of file hal_both.h.

References _HAL_Obj_::gpioHandle.

static void HAL_updateAdcBias | ( | HAL_Handle | handle | ) |
| inline static

Updates the ADC bias values.

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle

Definition at line 975 of file hal_both.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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | pDacData | The pointer to the DAC data

Definition at line 1010 of file hal_both.h.

References _IQtoIQ15, _HAL_Obj_::pwmDacHandle, and _HAL_DacData_t_::value.

static void HAL_writePwmData | ( | HAL_Handle | handle,
|  | HAL_PwmData_t * | pPwmData
| ) |  |
| inline static

Writes PWM data to the PWM comparators for motor control.

Parameters

  [in] | handle | The hardware abstraction layer (HAL) handle
  [in] | pPwmData | The pointer to the PWM data

Definition at line 1033 of file hal_both.h.

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