Contiki-NG
Loading...
Searching...
No Matches
CC1350_LAUNCHXL_433.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017-2019, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32/** ============================================================================
33 * @file CC1350_LAUNCHXL_433.h
34 *
35 * @brief CC1350 LaunchPad Board Specific header file.
36 *
37 * The CC1350_LAUNCHXL_433 header file should be included in an application as
38 * follows:
39 * @code
40 * #include "CC1350_LAUNCHXL_433.h"
41 * @endcode
42 *
43 * ============================================================================
44 */
45#ifndef __CC1350_LAUNCHXL_433_BOARD_H__
46#define __CC1350_LAUNCHXL_433_BOARD_H__
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52#include "contiki-conf.h"
53
54/* Includes */
55#include <ti/drivers/PIN.h>
56#include <ti/devices/DeviceFamily.h>
57#include DeviceFamily_constructPath(driverlib/ioc.h)
58
59/* Externs */
60extern const PIN_Config BoardGpioInitTable[];
61
62/* Defines */
63#define CC1350_LAUNCHXL_433
64
65/* Mapping of pins to board signals using general board aliases
66 * <board signal alias> <pin mapping> <comments>
67 */
68
69/* Analog Capable DIOs */
70#define CC1350_LAUNCHXL_433_DIO23_ANALOG IOID_23
71#define CC1350_LAUNCHXL_433_DIO24_ANALOG IOID_24
72#define CC1350_LAUNCHXL_433_DIO25_ANALOG IOID_25
73#define CC1350_LAUNCHXL_433_DIO26_ANALOG IOID_26
74#define CC1350_LAUNCHXL_433_DIO27_ANALOG IOID_27
75#define CC1350_LAUNCHXL_433_DIO28_ANALOG IOID_28
76#define CC1350_LAUNCHXL_433_DIO29_ANALOG IOID_29
77#define CC1350_LAUNCHXL_433_DIO30_ANALOG IOID_30
78
79/* Digital IOs */
80#define CC1350_LAUNCHXL_433_DIO0 IOID_0
81#define CC1350_LAUNCHXL_433_DIO1_RF_SUB1GHZ IOID_1
82#define CC1350_LAUNCHXL_433_DIO12 IOID_12
83#define CC1350_LAUNCHXL_433_DIO15 IOID_15
84#define CC1350_LAUNCHXL_433_DIO16_TDO IOID_16
85#define CC1350_LAUNCHXL_433_DIO17_TDI IOID_17
86#define CC1350_LAUNCHXL_433_DIO21 IOID_21
87#define CC1350_LAUNCHXL_433_DIO22 IOID_22
88#define CC1350_LAUNCHXL_433_DIO30_RF_POWER IOID_30
89
90/* Discrete Inputs */
91#define CC1350_LAUNCHXL_433_PIN_BTN1 IOID_13
92#define CC1350_LAUNCHXL_433_PIN_BTN2 IOID_14
93
94
95/* GPIO */
96#define CC1350_LAUNCHXL_433_GPIO_LED_ON 1
97#define CC1350_LAUNCHXL_433_GPIO_LED_OFF 0
98
99/* I2C */
100#define CC1350_LAUNCHXL_433_I2C0_SCL0 IOID_4
101#define CC1350_LAUNCHXL_433_I2C0_SDA0 IOID_5
102
103/* I2S */
104#define CC1350_LAUNCHXL_433_I2S_ADO IOID_25
105#define CC1350_LAUNCHXL_433_I2S_ADI IOID_26
106#define CC1350_LAUNCHXL_433_I2S_BCLK IOID_27
107#define CC1350_LAUNCHXL_433_I2S_MCLK PIN_UNASSIGNED
108#define CC1350_LAUNCHXL_433_I2S_WCLK IOID_28
109
110/* LEDs */
111#define CC1350_LAUNCHXL_433_PIN_LED_ON 1
112#define CC1350_LAUNCHXL_433_PIN_LED_OFF 0
113#define CC1350_LAUNCHXL_433_PIN_RLED IOID_6
114#define CC1350_LAUNCHXL_433_PIN_GLED IOID_7
115
116/* PWM Outputs */
117#define CC1350_LAUNCHXL_433_PWMPIN0 CC1350_LAUNCHXL_433_PIN_RLED
118#define CC1350_LAUNCHXL_433_PWMPIN1 CC1350_LAUNCHXL_433_PIN_GLED
119#define CC1350_LAUNCHXL_433_PWMPIN2 PIN_UNASSIGNED
120#define CC1350_LAUNCHXL_433_PWMPIN3 PIN_UNASSIGNED
121#define CC1350_LAUNCHXL_433_PWMPIN4 PIN_UNASSIGNED
122#define CC1350_LAUNCHXL_433_PWMPIN5 PIN_UNASSIGNED
123#define CC1350_LAUNCHXL_433_PWMPIN6 PIN_UNASSIGNED
124#define CC1350_LAUNCHXL_433_PWMPIN7 PIN_UNASSIGNED
125
126/* SPI */
127#define CC1350_LAUNCHXL_433_SPI_FLASH_CS IOID_20
128#define CC1350_LAUNCHXL_433_FLASH_CS_ON 0
129#define CC1350_LAUNCHXL_433_FLASH_CS_OFF 1
130
131/* SPI Board */
132#define CC1350_LAUNCHXL_433_SPI0_MISO IOID_8 /* RF1.20 */
133#define CC1350_LAUNCHXL_433_SPI0_MOSI IOID_9 /* RF1.18 */
134#define CC1350_LAUNCHXL_433_SPI0_CLK IOID_10 /* RF1.16 */
135#define CC1350_LAUNCHXL_433_SPI0_CSN IOID_11
136#define CC1350_LAUNCHXL_433_SPI1_MISO PIN_UNASSIGNED
137#define CC1350_LAUNCHXL_433_SPI1_MOSI PIN_UNASSIGNED
138#define CC1350_LAUNCHXL_433_SPI1_CLK PIN_UNASSIGNED
139#define CC1350_LAUNCHXL_433_SPI1_CSN PIN_UNASSIGNED
140
141/* UART Board */
142#define CC1350_LAUNCHXL_433_UART_RX IOID_2 /* RXD */
143#define CC1350_LAUNCHXL_433_UART_TX IOID_3 /* TXD */
144#define CC1350_LAUNCHXL_433_UART_CTS IOID_19 /* CTS */
145#define CC1350_LAUNCHXL_433_UART_RTS IOID_18 /* RTS */
146
147/*!
148 * @brief Initialize the general board specific settings
149 *
150 * This function initializes the general board specific settings.
151 */
153
154/*!
155 * @brief Turn off the external flash on LaunchPads
156 *
157 */
159
160/*!
161 * @brief Wake up the external flash present on the board files
162 *
163 * This function toggles the chip select for the amount of time needed
164 * to wake the chip up.
165 */
167
168/*!
169 * @def CC1350_LAUNCHXL_433_ADCBufName
170 * @brief Enum of ADCBufs
171 */
172typedef enum CC1350_LAUNCHXL_433_ADCBufName {
173 CC1350_LAUNCHXL_433_ADCBUF0 = 0,
174
175 CC1350_LAUNCHXL_433_ADCBUFCOUNT
176} CC1350_LAUNCHXL_433_ADCBufName;
177
178/*!
179 * @def CC1350_LAUNCHXL_433_ADCBuf0ChannelName
180 * @brief Enum of ADCBuf channels
181 */
182typedef enum CC1350_LAUNCHXL_433_ADCBuf0ChannelName {
183 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL0 = 0,
184 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL1,
185 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL2,
186 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL3,
187 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL4,
188 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL5,
189 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL6,
190 CC1350_LAUNCHXL_433_ADCBUF0CHANNEL7,
191 CC1350_LAUNCHXL_433_ADCBUF0CHANNELVDDS,
192 CC1350_LAUNCHXL_433_ADCBUF0CHANNELDCOUPL,
193 CC1350_LAUNCHXL_433_ADCBUF0CHANNELVSS,
194
195 CC1350_LAUNCHXL_433_ADCBUF0CHANNELCOUNT
196} CC1350_LAUNCHXL_433_ADCBuf0ChannelName;
197
198/*!
199 * @def CC1350_LAUNCHXL_433_ADCName
200 * @brief Enum of ADCs
201 */
202typedef enum CC1350_LAUNCHXL_433_ADCName {
203 CC1350_LAUNCHXL_433_ADC0 = 0,
204 CC1350_LAUNCHXL_433_ADC1,
205 CC1350_LAUNCHXL_433_ADC2,
206 CC1350_LAUNCHXL_433_ADC3,
207 CC1350_LAUNCHXL_433_ADC4,
208 CC1350_LAUNCHXL_433_ADC5,
209 CC1350_LAUNCHXL_433_ADC6,
210 CC1350_LAUNCHXL_433_ADC7,
211 CC1350_LAUNCHXL_433_ADCDCOUPL,
212 CC1350_LAUNCHXL_433_ADCVSS,
213 CC1350_LAUNCHXL_433_ADCVDDS,
214
215 CC1350_LAUNCHXL_433_ADCCOUNT
216} CC1350_LAUNCHXL_433_ADCName;
217
218/*!
219 * @def CC1350_LAUNCHXL_433_CryptoName
220 * @brief Enum of Crypto names
221 */
222typedef enum CC1350_LAUNCHXL_433_CryptoName {
223 CC1350_LAUNCHXL_433_CRYPTO0 = 0,
224
225 CC1350_LAUNCHXL_433_CRYPTOCOUNT
226} CC1350_LAUNCHXL_433_CryptoName;
227
228/*!
229 * @def CC1350_LAUNCHXL_433_AESCCMName
230 * @brief Enum of AESCCM names
231 */
232typedef enum CC1350_LAUNCHXL_433_AESCCMName {
233 CC1350_LAUNCHXL_433_AESCCM0 = 0,
234
235 CC1350_LAUNCHXL_433_AESCCMCOUNT
236} CC1350_LAUNCHXL_433_AESCCMName;
237
238/*!
239 * @def CC1350_LAUNCHXL_433_AESGCMName
240 * @brief Enum of AESGCM names
241 */
242typedef enum CC1350_LAUNCHXL_433_AESGCMName {
243 CC1350_LAUNCHXL_433_AESGCM0 = 0,
244
245 CC1350_LAUNCHXL_433_AESGCMCOUNT
246} CC1350_LAUNCHXL_433_AESGCMName;
247
248/*!
249 * @def CC1350_LAUNCHXL_433_AESCBCName
250 * @brief Enum of AESCBC names
251 */
252typedef enum CC1350_LAUNCHXL_433_AESCBCName {
253 CC1350_LAUNCHXL_433_AESCBC0 = 0,
254
255 CC1350_LAUNCHXL_433_AESCBCCOUNT
256} CC1350_LAUNCHXL_433_AESCBCName;
257
258/*!
259 * @def CC1350_LAUNCHXL_433_AESCTRName
260 * @brief Enum of AESCTR names
261 */
262typedef enum CC1350_LAUNCHXL_433_AESCTRName {
263 CC1350_LAUNCHXL_433_AESCTR0 = 0,
264
265 CC1350_LAUNCHXL_433_AESCTRCOUNT
266} CC1350_LAUNCHXL_433_AESCTRName;
267
268/*!
269 * @def CC1350_LAUNCHXL_433_AESECBName
270 * @brief Enum of AESECB names
271 */
272typedef enum CC1350_LAUNCHXL_433_AESECBName {
273 CC1350_LAUNCHXL_433_AESECB0 = 0,
274
275 CC1350_LAUNCHXL_433_AESECBCOUNT
276} CC1350_LAUNCHXL_433_AESECBName;
277
278/*!
279 * @def CC1350_LAUNCHXL_433_AESCTRDRBGName
280 * @brief Enum of AESCTRDRBG names
281 */
282typedef enum CC1350_LAUNCHXL_433_AESCTRDRBGName {
283 CC1350_LAUNCHXL_433_AESCTRDRBG0 = 0,
284
285 CC1350_LAUNCHXL_433_AESCTRDRBGCOUNT
286} CC1350_LAUNCHXL_433_AESCTRDRBGName;
287
288/*!
289 * @def CC1350_LAUNCHXL_433_TRNGName
290 * @brief Enum of TRNG names
291 */
292typedef enum CC1350_LAUNCHXL_433_TRNGName {
293 CC1350_LAUNCHXL_433_TRNG0 = 0,
294
295 CC1350_LAUNCHXL_433_TRNGCOUNT
296} CC1350_LAUNCHXL_433_TRNGName;
297
298/*!
299 * @def CC1350_LAUNCHXL_433_GPIOName
300 * @brief Enum of GPIO names
301 */
302typedef enum CC1350_LAUNCHXL_433_GPIOName {
303 CC1350_LAUNCHXL_433_GPIO_S1 = 0,
304 CC1350_LAUNCHXL_433_GPIO_S2,
305 CC1350_LAUNCHXL_433_SPI_MASTER_READY,
306 CC1350_LAUNCHXL_433_SPI_SLAVE_READY,
307 CC1350_LAUNCHXL_433_GPIO_LED_GREEN,
308 CC1350_LAUNCHXL_433_GPIO_LED_RED,
309 CC1350_LAUNCHXL_433_GPIO_SPI_FLASH_CS,
310 CC1350_LAUNCHXL_433_SDSPI_CS,
311 CC1350_LAUNCHXL_433_GPIOCOUNT
312} CC1350_LAUNCHXL_433_GPIOName;
313
314/*!
315 * @def CC1350_LAUNCHXL_433_GPTimerName
316 * @brief Enum of GPTimer parts
317 */
318typedef enum CC1350_LAUNCHXL_433_GPTimerName {
319 CC1350_LAUNCHXL_433_GPTIMER0A = 0,
320 CC1350_LAUNCHXL_433_GPTIMER0B,
321 CC1350_LAUNCHXL_433_GPTIMER1A,
322 CC1350_LAUNCHXL_433_GPTIMER1B,
323 CC1350_LAUNCHXL_433_GPTIMER2A,
324 CC1350_LAUNCHXL_433_GPTIMER2B,
325 CC1350_LAUNCHXL_433_GPTIMER3A,
326 CC1350_LAUNCHXL_433_GPTIMER3B,
327
328 CC1350_LAUNCHXL_433_GPTIMERPARTSCOUNT
329} CC1350_LAUNCHXL_433_GPTimerName;
330
331/*!
332 * @def CC1350_LAUNCHXL_433_GPTimers
333 * @brief Enum of GPTimers
334 */
335typedef enum CC1350_LAUNCHXL_433_GPTimers {
336 CC1350_LAUNCHXL_433_GPTIMER0 = 0,
337 CC1350_LAUNCHXL_433_GPTIMER1,
338 CC1350_LAUNCHXL_433_GPTIMER2,
339 CC1350_LAUNCHXL_433_GPTIMER3,
340
341 CC1350_LAUNCHXL_433_GPTIMERCOUNT
342} CC1350_LAUNCHXL_433_GPTimers;
343
344/*!
345 * @def CC1350_LAUNCHXL_433_I2CName
346 * @brief Enum of I2C names
347 */
348typedef enum CC1350_LAUNCHXL_433_I2CName {
349 CC1350_LAUNCHXL_433_I2C0 = 0,
350
351 CC1350_LAUNCHXL_433_I2CCOUNT
352} CC1350_LAUNCHXL_433_I2CName;
353
354/*!
355 * @def CC1350_LAUNCHXL_433_I2SName
356 * @brief Enum of I2S names
357 */
358typedef enum CC1350_LAUNCHXL_433_I2SName {
359 CC1350_LAUNCHXL_433_I2S0 = 0,
360
361 CC1350_LAUNCHXL_433_I2SCOUNT
362} CC1350_LAUNCHXL_433_I2SName;
363
364/*!
365 * @def CC1350_LAUNCHXL_433_NVSName
366 * @brief Enum of NVS names
367 */
368typedef enum CC1350_LAUNCHXL_433_NVSName {
369#ifndef Board_EXCLUDE_NVS_INTERNAL_FLASH
370 CC1350_LAUNCHXL_433_NVSCC26XX0 = 0,
371#endif
372#ifndef Board_EXCLUDE_NVS_EXTERNAL_FLASH
373 CC1350_LAUNCHXL_433_NVSSPI25X0,
374#endif
375
376 CC1350_LAUNCHXL_433_NVSCOUNT
377} CC1350_LAUNCHXL_433_NVSName;
378
379/*!
380 * @def CC1350_LAUNCHXL_433_PWMName
381 * @brief Enum of PWM outputs
382 */
383typedef enum CC1350_LAUNCHXL_433_PWMName {
384 CC1350_LAUNCHXL_433_PWM0 = 0,
385 CC1350_LAUNCHXL_433_PWM1,
386 CC1350_LAUNCHXL_433_PWM2,
387 CC1350_LAUNCHXL_433_PWM3,
388 CC1350_LAUNCHXL_433_PWM4,
389 CC1350_LAUNCHXL_433_PWM5,
390 CC1350_LAUNCHXL_433_PWM6,
391 CC1350_LAUNCHXL_433_PWM7,
392
393 CC1350_LAUNCHXL_433_PWMCOUNT
394} CC1350_LAUNCHXL_433_PWMName;
395
396/*!
397 * @def CC1350_LAUNCHXL_433_SDName
398 * @brief Enum of SD names
399 */
400typedef enum CC1350_LAUNCHXL_433_SDName {
401 CC1350_LAUNCHXL_433_SDSPI0 = 0,
402
403 CC1350_LAUNCHXL_433_SDCOUNT
404} CC1350_LAUNCHXL_433_SDName;
405
406/*!
407 * @def CC1350_LAUNCHXL_433_SPIName
408 * @brief Enum of SPI names
409 */
410typedef enum CC1350_LAUNCHXL_433_SPIName {
411 CC1350_LAUNCHXL_433_SPI0 = 0,
412 CC1350_LAUNCHXL_433_SPI1,
413
414 CC1350_LAUNCHXL_433_SPICOUNT
415} CC1350_LAUNCHXL_433_SPIName;
416
417/*!
418 * @def CC1350_LAUNCHXL_433_UARTName
419 * @brief Enum of UARTs
420 */
421typedef enum CC1350_LAUNCHXL_433_UARTName {
422 CC1350_LAUNCHXL_433_UART0 = 0,
423
424 CC1350_LAUNCHXL_433_UARTCOUNT
425} CC1350_LAUNCHXL_433_UARTName;
426
427/*!
428 * @def CC1350_LAUNCHXL_433_UDMAName
429 * @brief Enum of DMA buffers
430 */
431typedef enum CC1350_LAUNCHXL_433_UDMAName {
432 CC1350_LAUNCHXL_433_UDMA0 = 0,
433
434 CC1350_LAUNCHXL_433_UDMACOUNT
435} CC1350_LAUNCHXL_433_UDMAName;
436
437/*!
438 * @def CC1350_LAUNCHXL_433_WatchdogName
439 * @brief Enum of Watchdogs
440 */
441typedef enum CC1350_LAUNCHXL_433_WatchdogName {
442 CC1350_LAUNCHXL_433_WATCHDOG0 = 0,
443
444 CC1350_LAUNCHXL_433_WATCHDOGCOUNT
445} CC1350_LAUNCHXL_433_WatchdogName;
446
447#ifdef __cplusplus
448}
449#endif
450
451#endif /* __CC1350_LAUNCHXL_433_BOARD_H__ */
void CC1350_LAUNCHXL_433_shutDownExtFlash(void)
Turn off the external flash on LaunchPads.
void CC1350_LAUNCHXL_433_initGeneral(void)
Initialize the general board specific settings.
void CC1350_LAUNCHXL_433_wakeUpExtFlash(void)
Wake up the external flash present on the board files.