1 /*
2  * Copyright (c) 2022 OpenLuat & AirM2M
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy of
5  * this software and associated documentation files (the "Software"), to deal in
6  * the Software without restriction, including without limitation the rights to
7  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8  * the Software, and to permit persons to whom the Software is furnished to do so,
9  * subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in all
12  * copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20  */
21 
22 #ifndef __PLATFORM_DEFINE_H__
23 #define __PLATFORM_DEFINE_H__
24 enum
25 {
26     UART_DATA_BIT5 = 5,
27     UART_DATA_BIT6 = 6,
28     UART_DATA_BIT7 = 7,
29     UART_DATA_BIT8 = 8,
30     UART_PARITY_NONE = 0,
31     UART_PARITY_ODD,
32     UART_PARITY_EVEN,
33     UART_STOP_BIT1 = 0,
34     UART_STOP_BIT1_5,
35     UART_STOP_BIT2,
36 
37     I2C_OP_READ_REG = 0,    //i2c通用读寄存器,一写一读,自动带start信号
38     I2C_OP_READ,        //i2c通用读,只读
39     I2C_OP_WRITE,       //i2c通用写,只写
40 
41     OP_QUEUE_CMD_END = 0,
42     OP_QUEUE_CMD_ONE_TIME_DELAY,    //只有一次delay
43     OP_QUEUE_CMD_CONTINUE_DELAY,    //连续delay,配合OP_QUEUE_CMD_REPEAT_DELAY使用
44     OP_QUEUE_CMD_REPEAT_DELAY,  //重复OP_QUEUE_CMD_CONTINUE_DELAY
45     OP_QUEUE_CMD_SET_GPIO_DIR_OUT,
46     OP_QUEUE_CMD_SET_GPIO_DIR_IN,
47     OP_QUEUE_CMD_GPIO_OUT,
48     OP_QUEUE_CMD_GPIO_IN,
49     OP_QUEUE_CMD_CB,
50     OP_QUEUE_CMD_CAPTURE_SET,
51     OP_QUEUE_CMD_CAPTURE,
52     OP_QUEUE_CMD_CAPTURE_END,
53     OP_QUEUE_CMD_IO_PULL_NONE = 0,
54     OP_QUEUE_CMD_IO_PULL_UP,
55     OP_QUEUE_CMD_IO_PULL_DOWN,
56     OP_QUEUE_CMD_IO_EXTI_BOTH = 0,  //双边沿中断
57     OP_QUEUE_CMD_IO_EXTI_UP,        //上升沿中断
58     OP_QUEUE_CMD_IO_EXTI_DOWN,      //下降沿中断
59 
60     COLOR_MODE_RGB_565 = 0,
61     COLOR_MODE_GRAY,
62     COLOR_MODE_YCBCR_422_UYVY,
63     COLOR_MODE_YCBCR_422_YUYV,
64 
65     CORE_OTA_MODE_FULL = 0,
66     CORE_OTA_MODE_DIFF,
67     CORE_OTA_IN_FLASH = 0,
68     CORE_OTA_OUT_SPI_FLASH,
69     CORE_OTA_IN_FILE,
70 };
71 
72 enum
73 {
74     USB_ID0 = 0,
75     USB_MAX,
76     I2C_ID0 = 0,
77     I2C_MAX,
78     UART_ID0 = 0,
79     UART_ID1,
80     UART_ID2,
81     UART_ID3,
82 //  UART_ID4,
83 //  UART_ID5,
84     UART_MAX,
85     VIRTUAL_UART0 = 0,
86     VIRTUAL_UART_MAX,
87     HSPI_ID0 = 0,
88     SPI_ID0,
89     SPI_ID1,
90     SPI_ID2,
91     SPI_ID3,
92     SPI_MAX,
93 
94     SPI_MODE_0 = 0,
95     SPI_MODE_1,
96     SPI_MODE_2,
97     SPI_MODE_3,
98 
99     HW_TIMER0 = 0,
100     HW_TIMER1,
101     HW_TIMER2,
102     HW_TIMER3,
103     HW_TIMER4,
104     HW_TIMER5,
105     HW_TIMER_MAX,
106 
107     ADC_CHANNEL_0 = 0,
108     ADC_CHANNEL_1,
109     ADC_CHANNEL_2,
110     ADC_CHANNEL_3,
111     ADC_CHANNEL_4,
112     ADC_CHANNEL_5,
113     ADC_CHANNEL_6,
114     ADC_CHANNEL_MAX,
115 
116     HAL_GPIO_0 = 0,
117     HAL_GPIO_1,
118     HAL_GPIO_2,
119     HAL_GPIO_3,
120     HAL_GPIO_4,
121     HAL_GPIO_5,
122     HAL_GPIO_6,
123     HAL_GPIO_7,
124     HAL_GPIO_8,
125     HAL_GPIO_9,
126     HAL_GPIO_10,
127     HAL_GPIO_11,
128     HAL_GPIO_12,
129     HAL_GPIO_13,
130     HAL_GPIO_14,
131     HAL_GPIO_15,
132     HAL_GPIO_16,
133     HAL_GPIO_17,
134     HAL_GPIO_18,
135     HAL_GPIO_19,
136     HAL_GPIO_20,
137     HAL_GPIO_21,
138     HAL_GPIO_22,
139     HAL_GPIO_23,
140     HAL_GPIO_24,
141     HAL_GPIO_25,
142     HAL_GPIO_26,
143     HAL_GPIO_27,
144     HAL_GPIO_28,
145     HAL_GPIO_29,
146     HAL_GPIO_30,
147     HAL_GPIO_31,
148     HAL_GPIO_32,
149     HAL_GPIO_33,
150     HAL_GPIO_34,
151     HAL_GPIO_35,
152     HAL_GPIO_36,
153     HAL_GPIO_37,
154     HAL_GPIO_38,
155     HAL_GPIO_39,
156     HAL_GPIO_40,
157     HAL_GPIO_41,
158     HAL_GPIO_42,
159     HAL_GPIO_43,
160     HAL_GPIO_44,
161     HAL_GPIO_45,
162     HAL_GPIO_46,
163     HAL_GPIO_47,
164     HAL_GPIO_48,
165     HAL_GPIO_49,
166     HAL_GPIO_50,
167     HAL_GPIO_51,
168     HAL_GPIO_52,
169     HAL_GPIO_53,
170     HAL_GPIO_54,
171     HAL_GPIO_55,
172     HAL_GPIO_56,
173     HAL_GPIO_57,
174     HAL_GPIO_58,
175     HAL_GPIO_59,
176     HAL_GPIO_60,
177     HAL_GPIO_61,
178     HAL_GPIO_62,
179     HAL_GPIO_63,
180     HAL_GPIO_64,
181     HAL_GPIO_65,
182     HAL_GPIO_66,
183     HAL_GPIO_67,
184     HAL_GPIO_68,
185     HAL_GPIO_69,
186     HAL_GPIO_70,
187     HAL_GPIO_71,
188     HAL_GPIO_72,
189     HAL_GPIO_73,
190     HAL_GPIO_74,
191     HAL_GPIO_75,
192     HAL_GPIO_76,
193     HAL_GPIO_77,
194     HAL_GPIO_78,
195     HAL_GPIO_79,
196     HAL_GPIO_80,
197     HAL_GPIO_81,
198     HAL_GPIO_82,
199     HAL_GPIO_83,
200     HAL_GPIO_84,
201     HAL_GPIO_85,
202     HAL_GPIO_86,
203     HAL_GPIO_87,
204     HAL_GPIO_88,
205     HAL_GPIO_89,
206     HAL_GPIO_90,
207     HAL_GPIO_91,
208     HAL_GPIO_92,
209     HAL_GPIO_93,
210     HAL_GPIO_94,
211     HAL_GPIO_95,
212     HAL_GPIO_MAX,
213     HAL_GPIO_NONE = HAL_GPIO_MAX, //大于等于HAL_GPIO_NONE,说明不存在
214 };
215 enum
216 {
217     GPIOA_00 = 0,
218     GPIOA_01,
219     GPIOA_02,
220     GPIOA_03,
221     GPIOA_04,
222     GPIOA_05,
223     GPIOA_06,
224     GPIOA_07,
225     GPIOA_08,
226     GPIOA_09,
227     GPIOA_10,
228     GPIOA_11,
229     GPIOA_12,
230     GPIOA_13,
231     GPIOA_14,
232     GPIOA_15,
233     GPIOB_00,
234     GPIOB_01,
235     GPIOB_02,
236     GPIOB_03,
237     GPIOB_04,
238     GPIOB_05,
239     GPIOB_06,
240     GPIOB_07,
241     GPIOB_08,
242     GPIOB_09,
243     GPIOB_10,
244     GPIOB_11,
245     GPIOB_12,
246     GPIOB_13,
247     GPIOB_14,
248     GPIOB_15,
249     GPIOC_00,
250     GPIOC_01,
251     GPIOC_02,
252     GPIOC_03,
253     GPIOC_04,
254     GPIOC_05,
255     GPIOC_06,
256     GPIOC_07,
257     GPIOC_08,
258     GPIOC_09,
259     GPIOC_10,
260     GPIOC_11,
261     GPIOC_12,
262     GPIOC_13,
263     GPIOC_14,
264     GPIOC_15,
265     GPIOD_00,
266     GPIOD_01,
267     GPIOD_02,
268     GPIOD_03,
269     GPIOD_04,
270     GPIOD_05,
271     GPIOD_06,
272     GPIOD_07,
273     GPIOD_08,
274     GPIOD_09,
275     GPIOD_10,
276     GPIOD_11,
277     GPIOD_12,
278     GPIOD_13,
279     GPIOD_14,
280     GPIOD_15,
281     GPIOE_00,
282     GPIOE_01,
283     GPIOE_02,
284     GPIOE_03,
285     GPIOE_04,
286     GPIOE_05,
287     GPIOE_06,
288     GPIOE_07,
289     GPIOE_08,
290     GPIOE_09,
291     GPIOE_10,
292     GPIOE_11,
293     GPIOE_12,
294     GPIOE_13,
295     GPIOE_14,
296     GPIOE_15,
297     GPIOF_00,
298     GPIOF_01,
299     GPIOF_02,
300     GPIOF_03,
301     GPIOF_04,
302     GPIOF_05,
303     GPIOF_06,
304     GPIOF_07,
305     GPIOF_08,
306     GPIOF_09,
307     GPIOF_10,
308     GPIOF_11,
309     GPIOF_12,
310     GPIOF_13,
311     GPIOF_14,
312     GPIOF_15,
313     GPIO_MAX,
314     GPIO_NONE = GPIO_MAX, //大于等于GPIO_NONE,说明不存在
315 };
316 
317 #endif
318