embkernel
 All Classes Functions Variables Typedefs Groups Pages
DrvTypes.hpp
1 //------------------------------------------------------------------------------
2 //This file is part of embKernel.
3 //See license.txt for the full license governing this code.
4 //------------------------------------------------------------------------------
5 
6 #ifndef DRV_HPP_
7 #define DRV_HPP_
8 
9 #include <stdint.h>
10 
11 class DrvTypes {
12 public:
13  typedef enum {
14  DRV_PORTA = 0,
15  DRV_PORT0 = 0,
16  DRV_PORTB = 1,
17  DRV_PORT1 = 1,
18  DRV_PORTC = 2,
19  DRV_PORT2 = 2,
20  DRV_PORTD = 3,
21  DRV_PORT3 = 3,
22  DRV_PORTE = 4,
23  DRV_PORT4 = 4,
24  DRV_PORTF = 5,
25  DRV_PORT5 = 5,
26  DRV_PORTG = 6,
27  DRV_PORT6 = 6,
28  DRV_PORTH = 7,
29  DRV_PORT7 = 7,
30  DRV_PORTI = 8,
31  DRV_PORT8 = 8
32  } PORT;
33 
34  typedef enum {
35  DRV_PIN0 = 0,
36  DRV_PIN1 = 1,
37  DRV_PIN2 = 2,
38  DRV_PIN3 = 3,
39  DRV_PIN4 = 4,
40  DRV_PIN5 = 5,
41  DRV_PIN6 = 6,
42  DRV_PIN7 = 7,
43  DRV_PIN8 = 8,
44  DRV_PIN9 = 9,
45  DRV_PIN10 = 10,
46  DRV_PIN11 = 11,
47  DRV_PIN12 = 12,
48  DRV_PIN13 = 13,
49  DRV_PIN14 = 14,
50  DRV_PIN15 = 15,
51  DRV_PIN16 = 16,
52  DRV_PIN17 = 17,
53  DRV_PIN18 = 18,
54  DRV_PIN19 = 19,
55  DRV_PIN20 = 20,
56  DRV_PIN21 = 21,
57  DRV_PIN22 = 22,
58  DRV_PIN23 = 23,
59  DRV_PIN24 = 24,
60  DRV_PIN25 = 25,
61  DRV_PIN26 = 26,
62  DRV_PIN27 = 27,
63  DRV_PIN28 = 28,
64  DRV_PIN29 = 29,
65  DRV_PIN30 = 30,
66  DRV_PIN31 = 31
67  } PIN;
68 
69  typedef enum {
70  DRV_UART0 = 0,
71  DRV_UART1 = 1,
72  DRV_UART2 = 2,
73  DRV_UART3 = 3,
74  DRV_UART4 = 4,
75  DRV_UART5 = 5,
76  DRV_UART6 = 6,
77  } UART;
78 
79  typedef enum {
80  DRV_UART_PARITY_NONE,
81  DRV_UART_PARITY_EVEN,
82  DRV_UART_PARITY_ODD
83  } UART_PARITY;
84 
85  typedef enum {
86  DRV_UART_STOP_BITS_1,
87  DRV_UART_STOP_BITS_1_5,
88  DRV_UART_STOP_BITS_2
89  } UART_STOP_BITS;
90 
91  typedef enum {
92  DRV_SPI0 = 0,
93  DRV_SPI1 = 1,
94  DRV_SPI2 = 2,
95  DRV_SPI3 = 3,
96  } SPI;
97 
98  typedef enum {
99  DRV_I2C0 = 0,
100  DRV_I2C1 = 1,
101  DRV_I2C2 = 2,
102  } I2C;
103 
104  typedef enum {
105  DRV_TIMER0 = 0,
106  DRV_TIMER1 = 1,
107  DRV_TIMER2 = 2,
108  DRV_TIMER3 = 3,
109  DRV_TIMER4 = 4,
110  DRV_TIMER5 = 5,
111  DRV_TIMER6 = 6,
112  DRV_TIMER7 = 7,
113  DRV_TIMER8 = 8,
114  DRV_TIMER9 = 9,
115  DRV_TIMER10 = 10,
116  DRV_TIMER11 = 11,
117  DRV_TIMER12 = 12,
118  DRV_TIMER13 = 13,
119  DRV_TIMER14 = 14,
120  DRV_TIMER15 = 15,
121  DRV_TIMER16 = 16,
122  DRV_TIMER17 = 17
123  } TIMER;
124 
125  typedef enum {
126  DRV_MODE_INPUT = 0,
127  DRV_MODE_OUTPUT_PUSH_PULL,
128  DRV_MODE_OUTPUT_OPEN_DRAIN,
129  DRV_MODE_ALTERNATE_FUNCTION,
130  DRV_MODE_ANALOG
131  } GPIO_MODE;
132 
133  typedef enum {
134  PUPD_NONE = 0,
135  PUPD_PULL_UP,
136  PUPD_PULL_DOWN
137  } GPIO_PUPD;
138 
139  typedef enum {
140  DRV_FUNC0 = 0,
141  DRV_FUNC1 = 1,
142  DRV_FUNC2 = 2,
143  DRV_FUNC3 = 3,
144  DRV_FUNC4 = 4,
145  DRV_FUNC5 = 5,
146  DRV_FUNC6 = 6,
147  DRV_FUNC7 = 7,
148  DRV_FUNC8 = 8,
149  DRV_FUNC9 = 9,
150  DRV_FUNC10 = 10,
151  DRV_FUNC11 = 11,
152  DRV_FUNC12 = 12,
153  DRV_FUNC13 = 13,
154  DRV_FUNC14 = 14,
155  DRV_FUNC15 = 15,
156  } GPIO_FUNCTION;
157 
158 };
159 
160 #endif /* DRV_HPP_ */