49 #ifndef ti_drivers_i2cslave_I2CSlaveMSP432__include
50 #define ti_drivers_i2cslave_I2CSlaveMSP432__include
61 #include <ti/drivers/dpl/HwiP.h>
62 #include <ti/drivers/dpl/SemaphoreP.h>
114 #define I2CSLAVEMSP432_P1_6_UCB0SDA 0x00000116
115 #define I2CSLAVEMSP432_P1_7_UCB0SCL 0x00000117
118 #define I2CSLAVEMSP432_P2_0_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x20)
119 #define I2CSLAVEMSP432_P2_0_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x20)
120 #define I2CSLAVEMSP432_P2_0_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x20)
121 #define I2CSLAVEMSP432_P2_0_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x20)
124 #define I2CSLAVEMSP432_P2_1_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x21)
125 #define I2CSLAVEMSP432_P2_1_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x21)
126 #define I2CSLAVEMSP432_P2_1_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x21)
127 #define I2CSLAVEMSP432_P2_1_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x21)
130 #define I2CSLAVEMSP432_P2_2_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x22)
131 #define I2CSLAVEMSP432_P2_2_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x22)
132 #define I2CSLAVEMSP432_P2_2_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x22)
133 #define I2CSLAVEMSP432_P2_2_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x22)
136 #define I2CSLAVEMSP432_P2_3_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x23)
137 #define I2CSLAVEMSP432_P2_3_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x23)
138 #define I2CSLAVEMSP432_P2_3_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x23)
139 #define I2CSLAVEMSP432_P2_3_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x23)
142 #define I2CSLAVEMSP432_P2_4_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x24)
143 #define I2CSLAVEMSP432_P2_4_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x24)
144 #define I2CSLAVEMSP432_P2_4_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x24)
145 #define I2CSLAVEMSP432_P2_4_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x24)
148 #define I2CSLAVEMSP432_P2_5_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x25)
149 #define I2CSLAVEMSP432_P2_5_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x25)
150 #define I2CSLAVEMSP432_P2_5_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x25)
151 #define I2CSLAVEMSP432_P2_5_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x25)
154 #define I2CSLAVEMSP432_P2_6_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x26)
155 #define I2CSLAVEMSP432_P2_6_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x26)
156 #define I2CSLAVEMSP432_P2_6_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x26)
157 #define I2CSLAVEMSP432_P2_6_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x26)
160 #define I2CSLAVEMSP432_P2_7_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x27)
161 #define I2CSLAVEMSP432_P2_7_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x27)
162 #define I2CSLAVEMSP432_P2_7_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x27)
163 #define I2CSLAVEMSP432_P2_7_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x27)
166 #define I2CSLAVEMSP432_P3_0_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x30)
167 #define I2CSLAVEMSP432_P3_0_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x30)
168 #define I2CSLAVEMSP432_P3_0_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x30)
169 #define I2CSLAVEMSP432_P3_0_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x30)
172 #define I2CSLAVEMSP432_P3_1_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x31)
173 #define I2CSLAVEMSP432_P3_1_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x31)
174 #define I2CSLAVEMSP432_P3_1_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x31)
175 #define I2CSLAVEMSP432_P3_1_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x31)
178 #define I2CSLAVEMSP432_P3_2_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x32)
179 #define I2CSLAVEMSP432_P3_2_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x32)
180 #define I2CSLAVEMSP432_P3_2_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x32)
181 #define I2CSLAVEMSP432_P3_2_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x32)
184 #define I2CSLAVEMSP432_P3_3_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x33)
185 #define I2CSLAVEMSP432_P3_3_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x33)
186 #define I2CSLAVEMSP432_P3_3_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x33)
187 #define I2CSLAVEMSP432_P3_3_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x33)
190 #define I2CSLAVEMSP432_P3_4_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x34)
191 #define I2CSLAVEMSP432_P3_4_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x34)
192 #define I2CSLAVEMSP432_P3_4_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x34)
193 #define I2CSLAVEMSP432_P3_4_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x34)
196 #define I2CSLAVEMSP432_P3_5_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x35)
197 #define I2CSLAVEMSP432_P3_5_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x35)
198 #define I2CSLAVEMSP432_P3_5_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x35)
199 #define I2CSLAVEMSP432_P3_5_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x35)
202 #define I2CSLAVEMSP432_P3_6_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x36)
203 #define I2CSLAVEMSP432_P3_6_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x36)
204 #define I2CSLAVEMSP432_P3_6_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x36)
205 #define I2CSLAVEMSP432_P3_6_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x36)
208 #define I2CSLAVEMSP432_P3_7_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x37)
209 #define I2CSLAVEMSP432_P3_7_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x37)
210 #define I2CSLAVEMSP432_P3_7_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x37)
211 #define I2CSLAVEMSP432_P3_7_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x37)
214 #define I2CSLAVEMSP432_P6_4_UCB1SDA 0x00000164
215 #define I2CSLAVEMSP432_P6_5_UCB1SCL 0x00000165
216 #define I2CSLAVEMSP432_P6_6_UCB3SDA 0x00000266
217 #define I2CSLAVEMSP432_P6_7_UCB3SCL 0x00000267
220 #define I2CSLAVEMSP432_P7_0_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x70)
221 #define I2CSLAVEMSP432_P7_0_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x70)
222 #define I2CSLAVEMSP432_P7_0_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x70)
223 #define I2CSLAVEMSP432_P7_0_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x70)
226 #define I2CSLAVEMSP432_P7_1_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x71)
227 #define I2CSLAVEMSP432_P7_1_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x71)
228 #define I2CSLAVEMSP432_P7_1_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x71)
229 #define I2CSLAVEMSP432_P7_1_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x71)
232 #define I2CSLAVEMSP432_P7_2_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x72)
233 #define I2CSLAVEMSP432_P7_2_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x72)
234 #define I2CSLAVEMSP432_P7_2_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x72)
235 #define I2CSLAVEMSP432_P7_2_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x72)
238 #define I2CSLAVEMSP432_P7_3_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x73)
239 #define I2CSLAVEMSP432_P7_3_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x73)
240 #define I2CSLAVEMSP432_P7_3_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x73)
241 #define I2CSLAVEMSP432_P7_3_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x73)
244 #define I2CSLAVEMSP432_P7_4_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x74)
245 #define I2CSLAVEMSP432_P7_4_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x74)
246 #define I2CSLAVEMSP432_P7_4_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x74)
247 #define I2CSLAVEMSP432_P7_4_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x74)
250 #define I2CSLAVEMSP432_P7_5_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x75)
251 #define I2CSLAVEMSP432_P7_5_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x75)
252 #define I2CSLAVEMSP432_P7_5_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x75)
253 #define I2CSLAVEMSP432_P7_5_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x75)
256 #define I2CSLAVEMSP432_P7_6_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x76)
257 #define I2CSLAVEMSP432_P7_6_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x76)
258 #define I2CSLAVEMSP432_P7_6_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x76)
259 #define I2CSLAVEMSP432_P7_6_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x76)
262 #define I2CSLAVEMSP432_P7_7_UCB0SDA ((PMAP_UCB0SDA << 10) | 0x77)
263 #define I2CSLAVEMSP432_P7_7_UCB0SCL ((PMAP_UCB0SCL << 10) | 0x77)
264 #define I2CSLAVEMSP432_P7_7_UCB2SDA ((PMAP_UCB2SDA << 10) | 0x77)
265 #define I2CSLAVEMSP432_P7_7_UCB2SCL ((PMAP_UCB2SCL << 10) | 0x77)
268 #define I2CSLAVEMSP432_P10_2_UCB3SDA 0x000001A2
269 #define I2CSLAVEMSP432_P10_3_UCB3SCL 0x000001A3
uint16_t dataPin
Definition: I2CSlaveMSP432.h:328
uint16_t clkPin
Definition: I2CSlaveMSP432.h:327
enum I2CSlave_Mode_ I2CSlave_Mode
I2CSlave mode.
SemaphoreP_Handle transferComplete
Definition: I2CSlaveMSP432.h:340
volatile I2CSlave_Mode mode
Definition: I2CSlaveMSP432.h:351
SemaphoreP_Handle mutex
Definition: I2CSlaveMSP432.h:338
I2CSlaveMSP432 Object.
Definition: I2CSlaveMSP432.h:337
uint8_t * readBufferIdx
Definition: I2CSlaveMSP432.h:348
uint32_t intNum
Definition: I2CSlaveMSP432.h:324
HwiP_Handle hwiHandle
Definition: I2CSlaveMSP432.h:342
I2CSlaveMSP432 Hardware attributes These fields are used by driverlib APIs and therefore must be popu...
Definition: I2CSlaveMSP432.h:322
I2CSlave driver interface.
uint32_t slaveAddress
Definition: I2CSlaveMSP432.h:326
struct I2CSlaveMSP432_HWAttrs I2CSlaveMSP432_HWAttrs
I2CSlaveMSP432 Hardware attributes These fields are used by driverlib APIs and therefore must be popu...
const I2CSlave_FxnTable I2CSlaveMSP432_fxnTable
I2CSlave_TransferMode transferMode
Definition: I2CSlaveMSP432.h:352
void(* I2CSlave_CallbackFxn)(I2CSlave_Handle handle, bool status)
I2CSlave callback function.
Definition: I2CSlave.h:250
enum I2CSlave_TransferMode_ I2CSlave_TransferMode
I2CSlave transfer mode.
uint32_t baseAddr
Definition: I2CSlaveMSP432.h:323
bool transferInProgress
Definition: I2CSlaveMSP432.h:356
uint32_t intPriority
Definition: I2CSlaveMSP432.h:325
bool isOpen
Definition: I2CSlaveMSP432.h:355
struct I2CSlaveMSP432_Object I2CSlaveMSP432_Object
I2CSlaveMSP432 Object.
const uint8_t * writeBufferIdx
Definition: I2CSlaveMSP432.h:346
I2CSlave_CallbackFxn transferCallbackFxn
Definition: I2CSlaveMSP432.h:344
The definition of a I2CSlave function table that contains the required set of functions to control a ...
Definition: I2CSlave.h:328
size_t countIdx
Definition: I2CSlaveMSP432.h:349