MotorWare f2806x Module API Documentation

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

drv8301kit_revD/f28x/f2806x/src/float/hal_obj.h
Go to the documentation of this file.
1 #ifndef _HAL_OBJ_H_
2 #define _HAL_OBJ_H_
3 /* --COPYRIGHT--,BSD
4 * Copyright (c) 2012, Texas Instruments Incorporated
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
24 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
25 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
26 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
29 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
30 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
31 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 * --/COPYRIGHT--*/
34
39
40
41 // drivers
42 #include "sw/drivers/adc/src/32b/f28x/f2806x/adc.h"
43 #include "sw/drivers/clk/src/32b/f28x/f2806x/clk.h"
44 #include "sw/drivers/cpu/src/32b/f28x/f2806x/cpu.h"
45 #include "sw/drivers/flash/src/32b/f28x/f2806x/flash.h"
46 #include "sw/drivers/gpio/src/32b/f28x/f2806x/gpio.h"
47 #include "sw/drivers/osc/src/32b/f28x/f2806x/osc.h"
48 #include "sw/drivers/pie/src/32b/f28x/f2806x/pie.h"
49 #include "sw/drivers/pll/src/32b/f28x/f2806x/pll.h"
50 #include "sw/drivers/pwm/src/32b/f28x/f2806x/pwm.h"
51 #include "sw/drivers/pwmdac/src/32b/f28x/f2806x/pwmdac.h"
52 #include "sw/drivers/pwr/src/32b/f28x/f2806x/pwr.h"
53 #include "sw/drivers/qep/src/32b/f28x/f2806x/qep.h"
54 #include "sw/drivers/spi/src/32b/f28x/f2806x/spi.h"
55 #include "sw/drivers/timer/src/32b/f28x/f2806x/timer.h"
56 #include "sw/drivers/wdog/src/32b/f28x/f2806x/wdog.h"
57 #include "sw/drivers/drvic/drv8301/src/32b/f28x/f2806x/drv8301.h"
58
59 #ifdef QEP
60 #include "sw/drivers/qep/src/32b/f28x/f2806x/qep.h"
61 #endif
62
63 // modules
64 #include "sw/modules/offset/src/32b/offset.h"
65 #include "sw/modules/types/src/types.h"
66 #include "sw/modules/usDelay/src/32b/usDelay.h"
67 #include "sw/modules/hal/src/float/hal_data.h"
68
69
70
71 // platforms
72 #include "user.h"
73
74
79
80
81
82 #ifdef __cplusplus
83 extern "C" {
84 #endif
85
86
92 typedef struct _HAL_Obj_
93 {
94 ADC_Handle adcHandle;
95
96 CLK_Handle clkHandle;
97
98 CPU_Handle cpuHandle;
99
100 FLASH_Handle flashHandle;
101
102 GPIO_Handle gpioHandle;
103
104 OSC_Handle oscHandle;
105
106 PIE_Handle pieHandle; //<! the PIE handle
107
108 PLL_Handle pllHandle;
109
110 PWM_Handle pwmHandle[3]; //<! the PWM handles
111
112 PWMDAC_Handle pwmDacHandle[3]; //<! the PWMDAC handles
113
114 PWR_Handle pwrHandle; //<! the power handle
115
116 TIMER_Handle timerHandle[3]; //<! the timer handles
117
118 WDOG_Handle wdogHandle;
119
120 HAL_AdcData_t adcBias;
121
122 float_t current_sf;
123
124 float_t voltage_sf;
125
126 uint_least8_t numCurrentSensors;
127 uint_least8_t numVoltageSensors;
128
129 SPI_Handle spiAHandle;
130
131 SPI_Handle spiBHandle;
132 SPI_Obj spiB;
133
134 DRV8301_Handle drv8301Handle;
135 DRV8301_Obj drv8301;
136
137 #ifdef QEP
138 QEP_Handle qepHandle[2];
139 #endif
140 } HAL_Obj;
141
142
148 typedef struct _HAL_Obj_ *HAL_Handle;
149
150
153 extern HAL_Obj hal;
154
155
156 #ifdef __cplusplus
157 }
158 #endif // extern "C"
159
161 #endif // end of _HAL_OBJ_H_ definition
162
types.h
Contains the public interface to the types definitions.
_HAL_Obj_::pwmHandle
PWM_Handle pwmHandle[3]
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:152
_HAL_Obj_::spiBHandle
SPI_Handle spiBHandle
the SPI handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:172
offset.h
Contains the public interface to the offset (OFFSET) module routines.
_HAL_Obj_::voltage_sf
float_t voltage_sf
the voltage scale factor, volts/cnt
Definition: drv8301kit_revD/f28x/f2806x/src/float/hal_obj.h:124
_HAL_Obj_::clkHandle
CLK_Handle clkHandle
the clock handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:132
_HAL_Obj_::drv8301
DRV8301_Obj drv8301
the drv8301 interface object
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:175
hal_data.h
Contains the HAL data structures.
_HAL_Obj_::spiB
SPI_Obj spiB
the SPIB object
Definition: hal_obj_both.h:175
_HAL_Obj_::adcBias
HAL_AdcData_t adcBias
the ADC bias
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:162
_HAL_Obj_::flashHandle
FLASH_Handle flashHandle
the flash handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:136
_HAL_Obj_::pwmDacHandle
PWMDAC_Handle pwmDacHandle[3]
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:154
usDelay.h
Contains public interface to the micro-second delay function.
HAL_Handle
struct _HAL_Obj_ * HAL_Handle
Defines the HAL handle.
Definition: drv8301kit_revD/f28x/f2806x/src/float/hal_obj.h:148
_HAL_Obj_::numCurrentSensors
uint_least8_t numCurrentSensors
the number of current sensors
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:168
_HAL_Obj_::spiAHandle
SPI_Handle spiAHandle
the SPI handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:171
_HAL_Obj_::wdogHandle
WDOG_Handle wdogHandle
the watchdog handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:160
_HAL_Obj_::oscHandle
OSC_Handle oscHandle
the oscillator handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:146
_HAL_Obj_::adcHandle
ADC_Handle adcHandle
the ADC handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:130
_HAL_Obj_::pieHandle
PIE_Handle pieHandle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:148
_HAL_Obj_::cpuHandle
CPU_Handle cpuHandle
the CPU handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:134
HAL_Obj
struct _HAL_Obj_ HAL_Obj
Defines the hardware abstraction layer (HAL) data.
hal
HAL_Obj hal
Defines the HAL object.
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal.c:61
_HAL_Obj_::timerHandle
TIMER_Handle timerHandle[3]
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:158
_HAL_AdcData_t_
Defines the ADC data.
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:88
_HAL_Obj_::pwrHandle
PWR_Handle pwrHandle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:156
_HAL_Obj_::pllHandle
PLL_Handle pllHandle
the PLL handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:150
_HAL_Obj_::drv8301Handle
DRV8301_Handle drv8301Handle
the drv8301 interface handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:174
_HAL_Obj_::numVoltageSensors
uint_least8_t numVoltageSensors
the number of voltage sensors
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:169
_HAL_Obj_::current_sf
float_t current_sf
the current scale factor, amps/cnt
Definition: drv8301kit_revD/f28x/f2806x/src/float/hal_obj.h:122
float_t
float float_t
Defines the portable data type for 32 bit, signed floating-point data.
Definition: types.h:121
_HAL_Obj_
Defines the hardware abstraction layer (HAL) data.
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:128
_HAL_Obj_::gpioHandle
GPIO_Handle gpioHandle
the GPIO handle
Definition: boostxldrv8301_revB/f28x/f2806x/src/hal_obj.h:138