1 /*
2  * Copyright (c) 2006-2023, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2023-04-13     songw4232    first version
9  */
10 
11 #include <Arduino.h>
12 #include "pins_arduino.h"
13 #include <drv_gpio.h>
14 
15 /*
16  * {Arduino Pin, RT-Thread Pin [, Device Name, Channel]}
17  * [] means optional
18  * Digital pins must NOT give the device name and channel.
19  * Analog pins MUST give the device name and channel(ADC, PWM or DAC).
20  * Arduino Pin must keep in sequence.
21  */
22 const pin_map_t pin_map_table[]=
23 {
24     {D0, GET_PIN(G,8), "uart1"},        /* Serial-RX */
25     {D1, GET_PIN(G,7), "uart1"},        /* Serial-TX */
26     {D2, GET_PIN(F,15)},
27     {D3, GET_PIN(E,13), "pwm1", 3},     /* PWM */
28     {D4, GET_PIN(F,14)},
29     {D5, GET_PIN(E,11), "pwm1", 2},     /* PWM */
30     {D6, GET_PIN(E,9), "pwm1", 1},      /* PWM */
31     {D7, GET_PIN(F,13)},
32     {D8, GET_PIN(F,12)},
33     {D9, GET_PIN(D,15), "pwm4", 4},     /* PWM */
34     {D10, GET_PIN(D,14)},
35     {D11, GET_PIN(A,7), "spi1"},        /* SPI-MOSI */
36     {D12, GET_PIN(A,6), "spi1"},        /* SPI-MISO */
37     {D13, GET_PIN(A,5), "spi1"},        /* SPI-SCK */
38     {D14, GET_PIN(B,9), "i2c1"},        /* I2C-SDA (Wire) */
39     {D15, GET_PIN(B,8), "i2c1"},        /* I2C-SCL (Wire) */
40     {A0, GET_PIN(A,3), "adc1", 8},      /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */
41     {A1, GET_PIN(A,2), "adc1", 7},      /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */
42     {A2, GET_PIN(C,3), "adc1", 4},      /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */
43     {A3, GET_PIN(B,0), "adc1", 15},     /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */
44     {A4, GET_PIN(C,1), "adc1", 2},      /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */
45     {A5, GET_PIN(C,0), "adc1", 1},      /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */
46 };
47