1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/*
* gpio_ext.h
*
*/
#ifndef SOURCE_GPIO_EXT_H_
#define SOURCE_GPIO_EXT_H_
#include "board.h"
#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "fsl_dspi.h"
struct gpio_id{
PORT_Type *port;
GPIO_Type *gpio;
uint32_t pin;
};
struct gpio_id gpio_list [] = {
{PORTA, GPIOA, 3},
{PORTA, GPIOA, 5},
{PORTA, GPIOA, 17},
#ifndef BOARD_USES_ADC
{PORTB, GPIOB, 1},
{PORTB, GPIOB, 2},
{PORTB, GPIOB, 3},
#endif
#ifndef SDK_DEBUGCONSOLE
{PORTB, GPIOB, 10},
{PORTB, GPIOB, 11},
#endif
{PORTB, GPIOB, 16},
{PORTB, GPIOB, 17},
{PORTB, GPIOB, 18},
{PORTB, GPIOB, 19},
{PORTC, GPIOC, 0},
{PORTC, GPIOC, 1},
{PORTC, GPIOC, 2},
{PORTC, GPIOC, 3},
{PORTC, GPIOC, 4},
{PORTC, GPIOC, 6},
{PORTC, GPIOC, 7},
{PORTD, GPIOD, 0},
{PORTD, GPIOD, 1},
{PORTD, GPIOD, 2},
{PORTD, GPIOD, 3},
{PORTD, GPIOD, 4},
{PORTD, GPIOD, 5},
{PORTD, GPIOD, 6},
{PORTD, GPIOD, 7},
{PORTD, GPIOD, 8},
{PORTD, GPIOD, 9},
{PORTD, GPIOD, 11},
{PORTD, GPIOD, 12},
{PORTD, GPIOD, 13},
{PORTD, GPIOD, 14},
{PORTD, GPIOD, 15},
{PORTE, GPIOE, 0},
{PORTE, GPIOE, 1},
{PORTE, GPIOE, 2},
{PORTE, GPIOE, 3},
{PORTE, GPIOE, 4},
{PORTE, GPIOE, 5},
{PORTE, GPIOE, 24},
{PORTE, GPIOE, 25}
};
int is_gpio_valid(uint8_t pin);
int set_gpio_status(uint8_t status, uint8_t pin);
uint8_t get_gpio_status(uint8_t pin);
int gpio_registers(dspi_transfer_t *spi_transfer);
#endif /* SOURCE_GPIO_EXT_H_ */
|