diff --git a/README.md b/README.md
index 925a7fb..12b1378 100644
--- a/README.md
+++ b/README.md
@@ -1,390 +1,298 @@
-## How to download wiringOP
+### 说明
-```
-# apt-get update
-# apt-get install -y git
-# git clone https://github.com/orangepi-xunlong/wiringOP.git
+本仓库是将 wiringOP 移植到 MangoPi(H616) 上。需要使用 Orange Pi Zero2的对应的系统镜像。
+
+
+
+### 下载
+
+```bash
+apt-get update
+apt-get install -y git
+git clone https://github.com/liuls2002/wiringOP-for-MangoPi-H616.git
```
-## How to build wiringOP
+
+#### 编译安装
+
+```bash
+cd wiringOP
+./build clean
+./build
```
-# cd wiringOP
-# ./build clean
-# ./build
+
+
+
+### Python版本
+
+```bash
+# 下载 orangepi 提供的代码
+git clone --recursive https://github.com/orangepi-xunlong/wiringOP-Python.git
+cd wiringOP-Python
+
+# 使用本工程中的代码替换 wiringOP-Python 目录下的 wiringOP
+cp -r ./wiringOP ./wiringOP-Python
+
+# 安装tools
+sudo apt-get install swig python3-dev python3-setuptools
+
+# Build & install with
+python3 generate-bindings.py > bindings.i
+sudo python3 setup.py install
```
+
+
+### Mango Pi的官方网站
+
+[Mango Pi official website | Tiny and Elegant SBC | mqquad](https://mangopi.org/mqquad)
+
+
+
---
-## The output of the gpio readall command
-## Allwinner H2+
+### 相较于 Orange Pi 提供的代码的改动
-### Orange Pi Zero/R1
+Mango Pi(h616) 与 Orange Pi Zero2 使用相同的soc(全志H616),所以基于 Orange Pi Zero2 进行移植修改比较方便。
-```
- +------+-----+----------+------+---+ OPi H2 +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PWM.1 | OFF | 0 | 7 || 8 | 0 | ALT2 | TXD.1 | 3 | 198 |
- | | | GND | | | 9 || 10 | 0 | ALT2 | RXD.1 | 4 | 199 |
- | 1 | 5 | RXD.2 | ALT2 | 0 | 11 || 12 | 0 | OFF | PA07 | 6 | 7 |
- | 0 | 7 | TXD.2 | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | OFF | 0 | 15 || 16 | 0 | ALT3 | SDA.1 | 9 | 19 |
- | | | 3.3V | | | 17 || 18 | 0 | ALT3 | SCK.1 | 10 | 18 |
- | 15 | 11 | MOSI.1 | ALT2 | 1 | 19 || 20 | | | GND | | |
- | 16 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | OFF | RTS.2 | 13 | 2 |
- | 14 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 13 |
- | | | GND | | | 25 || 26 | 0 | OFF | PA10 | 16 | 10 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ OPi H2 +---+------+----------+-----+------+
+
+
+Mango Pi(h616) 引脚对应关系如下:
+
+
+
+总共有3种编号:board引脚编号,芯片引脚编号,逻辑引脚编号。控制gpio时一般采用逻辑引脚编号。
+
+==我们需要修改这3者的映射关系。为了简便,我将逻辑引脚编号与board的引脚编号保持一致,使用时需要注意。==
+
+
+
+#### 1 修改 gpio/OrangPi.c
+
+将`#ifdef CONFIG_ORANGEPI_ZERO2`包含的代码替换为如下代码:
+
+```c
+#ifdef CONFIG_ORANGEPI_ZERO2
+int pinToGpioOrangePi [64] =
+{
+ -1, // 0
+ -1 , -1 ,
+ 264 , -1 ,
+ 263 , -1 ,
+ 256 , 224 ,
+ -1 , 225 ,
+ 226 , 257 ,
+ 227 , -1 ,
+ 269 , 270 ,
+ -1 , 228 ,
+ 231 , -1 ,
+ 232 , 262 ,
+ 230 , 229 ,
+ -1 , 233 ,
+ 266 , 265 ,
+ 267 , -1 ,
+ 268 , 261 ,
+ 271 , -1 ,
+ 258 , 234 ,
+ 272 , 260 ,
+ -1 , 259 , // 40
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1,-1, // 63
+};
+
+int physToWpi[64] =
+{
+ -1, // 0
+ -1, -1, // 1, 2
+ 3, -1, //3, 4
+ 5, -1, //5, 6
+ 7, 8, //7, 8
+ -1, 10, //9,10
+ 11, 12, //11,12
+ 13, -1, //13,14
+ 15, 16, //15,16
+ -1, 18, //17,18
+ 19, -1, //19,20
+ 21, 22, //21,22
+ 23, 24, //23, 24
+ -1, 26, // 25, 26
+ 27, 28, //27, 28
+ 29, -1, //29, 30
+ 31, 32, //31, 32
+ 33, -1, //33, 34
+ 35, 36, //35, 36
+ 37, 38, //37, 38
+ -1, 40, //39, 40
+ // Padding:
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 56
+ -1, -1, -1, -1, -1, -1, -1, // ... 63
+};
+
+char *physNames[64] =
+{
+ NULL,
+ " 3.3V", "5V ",
+ " TWI1_SDA", "5V ",
+ " TWI1_SCL", "GND ",
+ "I2S0_MCLK", "TX0",
+ " GND", "RX0",
+ " TX5", "I2S_CLK",
+ " RX5", "GND ",
+ " TX4/PWM3", "RX4/PWM4",
+ " 3.3V", "PH4",
+ "SPI1_MOSI", "GND ",
+ "SPI1_MISO", "RX2",
+ " SPI1_CLK", "SPI1_CS0 ",
+ " GND", "SPI1_CS1",
+ " TWI2_SDA", "TWI2_SCL",
+ " PI11", "GND ",
+ " PI12", "LEDC/TX2",
+ " PI15", "GND ",
+ "I2S0_LRCK", "PH10",
+ " PI16", "I2S0_DOUT",
+ " GND", "I2S0_DIN",
+ NULL, NULL,
+ NULL, NULL,
+ NULL, NULL,
+ NULL, NULL,
+ NULL, NULL,
+ NULL, NULL,
+ NULL, NULL,
+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
+};
+#endif
```
-## Allwinner H3
-### Orange Pi Zero Plus 2
-```
- +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PA6 | OFF | 0 | 7 || 8 | 0 | ALT2 | TXD.2 | 3 | 0 |
- | | | GND | | | 9 || 10 | 0 | ALT2 | RXD.2 | 4 | 1 |
- | 352 | 5 | S-SCL | ALT2 | 0 | 11 || 12 | 0 | OFF | PD11 | 6 | 107 |
- | 353 | 7 | S-SDA | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | OFF | 0 | 15 || 16 | 0 | ALT3 | SDA.1 | 9 | 19 |
- | | | 3.3V | | | 17 || 18 | 0 | ALT3 | SCL.1 | 10 | 18 |
- | 15 | 11 | MOSI.1 | ALT2 | 0 | 19 || 20 | | | GND | | |
- | 16 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | OFF | RTS.2 | 13 | 2 |
- | 14 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 13 |
- | | | GND | | | 25 || 26 | 0 | OFF | PD14 | 16 | 110 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+
+替换 `void OrangePiReadAll(void)`函数中的部分代码
+
+```c
+// 替换前
+#elif CONFIG_ORANGEPI_ZERO2
+ for (pin = 1 ; pin <= 34; pin += 2) // orangepi zero2 引出34pin
+// 替换后
+#elif CONFIG_ORANGEPI_ZERO2
+ for (pin = 1 ; pin <= 40; pin += 2) // mangopi 引出40pin
```
-### OrangePi One/Lite/Pc/Plus/PcPlus/Plus2e
-```
- +------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | OUT | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | OUT | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PA6 | OUT | 0 | 7 || 8 | 0 | OUT | TXD.3 | 3 | 13 |
- | | | GND | | | 9 || 10 | 0 | OUT | RXD.3 | 4 | 14 |
- | 1 | 5 | RXD.2 | OUT | 0 | 11 || 12 | 0 | OUT | PD14 | 6 | 110 |
- | 0 | 7 | TXD.2 | OUT | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | OUT | 0 | 15 || 16 | 0 | OUT | PC04 | 9 | 68 |
- | | | 3.3V | | | 17 || 18 | 0 | OUT | PC07 | 10 | 71 |
- | 64 | 11 | MOSI.0 | OUT | 0 | 19 || 20 | | | GND | | |
- | 65 | 12 | MISO.0 | OUT | 0 | 21 || 22 | 0 | OUT | RTS.2 | 13 | 2 |
- | 66 | 14 | SCLK.0 | OUT | 0 | 23 || 24 | 0 | OUT | CE.0 | 15 | 67 |
- | | | GND | | | 25 || 26 | 0 | OUT | PA21 | 16 | 21 |
- | 19 | 17 | SDA.1 | OUT | 0 | 27 || 28 | 0 | OUT | SCL.1 | 18 | 18 |
- | 7 | 19 | PA07 | OUT | 0 | 29 || 30 | | | GND | | |
- | 8 | 20 | PA08 | OUT | 0 | 31 || 32 | 0 | OUT | RTS.1 | 21 | 200 |
- | 9 | 22 | PA09 | OUT | 0 | 33 || 34 | | | GND | | |
- | 10 | 23 | PA10 | OUT | 0 | 35 || 36 | 0 | OUT | CTS.1 | 24 | 201 |
- | 20 | 25 | PA20 | OUT | 0 | 37 || 38 | 0 | OUT | TXD.1 | 26 | 198 |
- | | | GND | | | 39 || 40 | 0 | OUT | RXD.1 | 27 | 199 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+
+
+
+
+#### 2 修改 wiringPi/OrangePi.c
+
+将`#ifdef CONFIG_ORANGEPI_ZERO2`包含的代码替换为如下代码:
+
+```c
+#ifdef CONFIG_ORANGEPI_ZERO2
+int pinToGpioOrangePi [64] =
+{
+ -1, // 0
+ -1 , -1 ,
+ 264 , -1 ,
+ 263 , -1 ,
+ 256 , 224 ,
+ -1 , 225 ,
+ 226 , 257 ,
+ 227 , -1 ,
+ 269 , 270 ,
+ -1 , 228 ,
+ 231 , -1 ,
+ 232 , 262 ,
+ 230 , 229 ,
+ -1 , 233 ,
+ 266 , 265 ,
+ 267 , -1 ,
+ 268 , 261 ,
+ 271 , -1 ,
+ 258 , 234 ,
+ 272 , 260 ,
+ -1 , 259 , // 40
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, // 63
+};
+
+int physToGpioOrangePi [64] =
+{
+ -1, // 0
+ -1 , -1 ,
+ 264 , -1 ,
+ 263 , -1 ,
+ 256 , 224 ,
+ -1 , 225 ,
+ 226 , 257 ,
+ 227 , -1 ,
+ 269 , 270 ,
+ -1 , 228 ,
+ 231 , -1 ,
+ 232 , 262 ,
+ 230 , 229 ,
+ -1 , 233 ,
+ 266 , 265 ,
+ 267 , -1 ,
+ 268 , 261 ,
+ 271 , -1 ,
+ 258 , 234 ,
+ 272 , 260 ,
+ -1 , 259 , // 40
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, // 63
+} ;
+
+int physToPinOrangePi [64] =
+{
+ -1, // 0
+ -1, -1, // 1, 2
+ 3, -1, //3, 4
+ 5, -1, //5, 6
+ 7, 8, //7, 8
+ -1, 10, //9,10
+ 11, 12, //11,12
+ 13, -1, //13,14
+ 15, 16, //15,16
+ -1, 18, //17,18
+ 19, -1, //19,20
+ 21, 22, //21,22
+ 23, 24, //23, 24
+ -1, 26, // 25, 26
+ 27, 28, //27, 28
+ 29, -1, //29, 30
+ 31, 32, //31, 32
+ 33, -1, //33, 34
+ 35, 36, //35, 36
+ 37, 38, //37, 38
+ -1, 40, //39, 40
+ // Padding:
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // ... 56
+ -1, -1, -1, -1, -1, -1, -1, // ... 63
+};
+
+int ORANGEPI_PIN_MASK[12][32] = //[BANK] [INDEX]
+{
+{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PA
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PB
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PC
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PD
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PF
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PG
+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PH
+ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PI
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PJ
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PK
+ {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,},//PE
+};
+#endif
```
-## Allwinner H5
-### Orange Pi Zero Plus
-```
- +------+-----+----------+------+---+ ZEROPLUS +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PA6 | OFF | 0 | 7 || 8 | 0 | ALT2 | TXD.1 | 3 | 198 |
- | | | GND | | | 9 || 10 | 0 | ALT2 | RXD.1 | 4 | 199 |
- | 1 | 5 | RXD.2 | ALT2 | 0 | 11 || 12 | 0 | OFF | PA07 | 6 | 7 |
- | 0 | 7 | TXD.2 | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | OFF | 0 | 15 || 16 | 0 | ALT3 | SDA.1 | 9 | 19 |
- | | | 3.3V | | | 17 || 18 | 0 | ALT3 | SCL.1 | 10 | 18 |
- | 15 | 11 | MOSI.1 | ALT2 | 0 | 19 || 20 | | | GND | | |
- | 16 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | OFF | RTS.2 | 13 | 2 |
- | 14 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 13 |
- | | | GND | | | 25 || 26 | 0 | OFF | PA10 | 16 | 10 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ ZEROPLUS +---+------+----------+-----+------+
-```
+---
-### Orange Pi Zero Plus 2
+### 结果展示
-```
- +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PA6 | OFF | 0 | 7 || 8 | 0 | ALT2 | TXD.2 | 3 | 0 |
- | | | GND | | | 9 || 10 | 0 | ALT2 | RXD.2 | 4 | 1 |
- | 352 | 5 | S-SCL | ALT2 | 0 | 11 || 12 | 0 | OFF | PD11 | 6 | 107 |
- | 353 | 7 | S-SDA | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | OFF | 0 | 15 || 16 | 0 | ALT3 | SDA.1 | 9 | 19 |
- | | | 3.3V | | | 17 || 18 | 0 | ALT3 | SCL.1 | 10 | 18 |
- | 15 | 11 | MOSI.1 | ALT2 | 0 | 19 || 20 | | | GND | | |
- | 16 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | OFF | RTS.2 | 13 | 2 |
- | 14 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 13 |
- | | | GND | | | 25 || 26 | 0 | OFF | PD14 | 16 | 110 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ZEROPLUS 2+---+------+----------+-----+------+
-```
+执行`gpio readall`
-### Orange Pi Pc 2
-
-```
- +------+-----+----------+------+---+ OPi PC2 +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PWM.1 | OFF | 0 | 7 || 8 | 0 | OFF | PC05 | 3 | 69 |
- | | | GND | | | 9 || 10 | 0 | OFF | PC06 | 4 | 70 |
- | 1 | 5 | RXD.2 | ALT2 | 0 | 11 || 12 | 0 | OFF | PD14 | 6 | 110 |
- | 0 | 7 | TXD.2 | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | ALT2 | 0 | 15 || 16 | 0 | OFF | PC04 | 9 | 68 |
- | | | 3.3V | | | 17 || 18 | 0 | OFF | PC07 | 10 | 71 |
- | 15 | 11 | MOSI.1 | ALT2 | 0 | 19 || 20 | | | GND | | |
- | 16 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | ALT2 | RTS.2 | 13 | 2 |
- | 14 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 13 |
- | | | GND | | | 25 || 26 | 0 | OFF | PA21 | 16 | 21 |
- | 19 | 17 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 18 | 18 |
- | 7 | 19 | PA07 | OFF | 0 | 29 || 30 | | | GND | | |
- | 8 | 20 | PA08 | OFF | 0 | 31 || 32 | 0 | ALT2 | RTS.1 | 21 | 200 |
- | 9 | 22 | PA09 | OFF | 0 | 33 || 34 | | | GND | | |
- | 10 | 23 | PA10 | OFF | 0 | 35 || 36 | 0 | ALT2 | CTS.1 | 24 | 201 |
- | 107 | 25 | PD11 | OFF | 0 | 37 || 38 | 0 | ALT2 | TXD.1 | 26 | 198 |
- | | | GND | | | 39 || 40 | 0 | ALT2 | RXD.1 | 27 | 199 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ OPi PC2 +---+------+----------+-----+------+
-```
-
-### Orange Pi Prime
-
-```
- +------+-----+----------+------+---+ PRIME +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 6 | 2 | PWM.1 | OFF | 0 | 7 || 8 | 0 | OFF | PC05 | 3 | 69 |
- | | | GND | | | 9 || 10 | 0 | OFF | PC06 | 4 | 70 |
- | 1 | 5 | RXD.2 | ALT2 | 0 | 11 || 12 | 0 | OFF | PD14 | 6 | 110 |
- | 0 | 7 | TXD.2 | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 3 | 8 | CTS.2 | ALT2 | 0 | 15 || 16 | 0 | OFF | PC04 | 9 | 68 |
- | | | 3.3V | | | 17 || 18 | 0 | OFF | PC07 | 10 | 71 |
- | 15 | 11 | MOSI.1 | ALT2 | 0 | 19 || 20 | | | GND | | |
- | 16 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | ALT2 | RTS.2 | 13 | 2 |
- | 14 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 13 |
- | | | GND | | | 25 || 26 | 0 | OFF | PC08 | 16 | 72 |
- | 19 | 17 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 18 | 18 |
- | 7 | 19 | PA07 | OFF | 0 | 29 || 30 | | | GND | | |
- | 8 | 20 | PA08 | OFF | 0 | 31 || 32 | 0 | OFF | PC09 | 21 | 73 |
- | 9 | 22 | PA09 | OFF | 0 | 33 || 34 | | | GND | | |
- | 10 | 23 | PA10 | OFF | 0 | 35 || 36 | 0 | OFF | PC10 | 24 | 74 |
- | 107 | 25 | PD11 | OFF | 0 | 37 || 38 | 0 | OFF | PC11 | 26 | 75 |
- | | | GND | | | 39 || 40 | 0 | OFF | PC12 | 27 | 76 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ PRIME +---+------+----------+-----+------+
-```
-
-## Allwinner A64
-
-### Orange Pi Win/Winplus
-
-```
- +------+-----+----------+------+---+ OPi Win +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 227 | 0 | SDA.1 | ALT2 | 0 | 3 || 4 | | | 5V | | |
- | 226 | 1 | SCL.1 | ALT2 | 0 | 5 || 6 | | | GND | | |
- | 362 | 2 | PL10 | OFF | 0 | 7 || 8 | 0 | ALT2 | PL02 | 3 | 354 |
- | | | GND | | | 9 || 10 | 0 | ALT2 | PL03 | 4 | 355 |
- | 229 | 5 | RXD.3 | ALT2 | 0 | 11 || 12 | 0 | OFF | PD04 | 6 | 100 |
- | 228 | 7 | TXD.3 | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 231 | 8 | CTS.3 | OUT | 0 | 15 || 16 | 0 | OFF | PL09 | 9 | 361 |
- | | | 3.3V | | | 17 || 18 | 0 | OFF | PC04 | 10 | 68 |
- | 98 | 11 | MOSI.1 | ALT4 | 0 | 19 || 20 | | | GND | | |
- | 99 | 12 | MISO.1 | ALT4 | 0 | 21 || 22 | 0 | OFF | RTS.3 | 13 | 230 |
- | 97 | 14 | SCLK.1 | ALT4 | 0 | 23 || 24 | 0 | ALT4 | CE.1 | 15 | 96 |
- | | | GND | | | 25 || 26 | 0 | OFF | PD06 | 16 | 102 |
- | 143 | 17 | SDA.2 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.2 | 18 | 142 |
- | 36 | 19 | PB04 | OFF | 0 | 29 || 30 | | | GND | | |
- | 37 | 20 | PB05 | OFF | 0 | 31 || 32 | 0 | ALT2 | RTS.2 | 21 | 34 |
- | 38 | 22 | PB06 | OFF | 0 | 33 || 34 | | | GND | | |
- | 39 | 23 | PB07 | OFF | 0 | 35 || 36 | 0 | ALT2 | CTS.2 | 24 | 35 |
- | 101 | 25 | PD05 | OFF | 0 | 37 || 38 | 0 | ALT2 | TXD.2 | 26 | 32 |
- | | | GND | | | 39 || 40 | 0 | ALT2 | RXD.2 | 27 | 33 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ OPi Win +---+------+----------+-----+------+
-```
-
-## Allwinner H6
-
-### Orange Pi 3/3 LTS
-
-```
- +------+-----+----------+------+---+ OPi 3 +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 122 | 0 | SDA.0 | OFF | 0 | 3 || 4 | | | 5V | | |
- | 121 | 1 | SCL.0 | OFF | 0 | 5 || 6 | | | GND | | |
- | 118 | 2 | PWM.0 | OFF | 0 | 7 || 8 | 0 | OFF | PL02 | 3 | 354 |
- | | | GND | | | 9 || 10 | 0 | OFF | PL03 | 4 | 355 |
- | 120 | 5 | RXD.3 | ALT4 | 0 | 11 || 12 | 0 | OFF | PD18 | 6 | 114 |
- | 119 | 7 | TXD.3 | ALT4 | 0 | 13 || 14 | | | GND | | |
- | 362 | 8 | PL10 | OFF | 0 | 15 || 16 | 0 | OFF | PD15 | 9 | 111 |
- | | | 3.3V | | | 17 || 18 | 0 | OFF | PD16 | 10 | 112 |
- | 229 | 11 | MOSI.1 | ALT2 | 0 | 19 || 20 | | | GND | | |
- | 230 | 12 | MISO.1 | ALT2 | 0 | 21 || 22 | 0 | OFF | PD21 | 13 | 117 |
- | 228 | 14 | SCLK.1 | ALT2 | 0 | 23 || 24 | 0 | ALT2 | CE.1 | 15 | 227 |
- | | | GND | | | 25 || 26 | 0 | OFF | PL08 | 16 | 360 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ OPi 3 +---+------+----------+-----+------+
-```
-
-### Orange Pi Lite2/OnePlus
-
-```
- +------+-----+----------+------+---+ OPi H6 +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 230 | 0 | SDA.1 | OFF | 0 | 3 || 4 | | | 5V | | |
- | 229 | 1 | SCL.1 | OFF | 0 | 5 || 6 | | | GND | | |
- | 228 | 2 | PWM1 | OFF | 0 | 7 || 8 | 0 | OFF | PD21 | 3 | 117 |
- | | | GND | | | 9 || 10 | 0 | OFF | PD22 | 4 | 118 |
- | 120 | 5 | RXD.3 | ALT4 | 0 | 11 || 12 | 0 | OFF | PC09 | 6 | 73 |
- | 119 | 7 | TXD.3 | ALT4 | 0 | 13 || 14 | | | GND | | |
- | 122 | 8 | CTS.3 | OFF | 0 | 15 || 16 | 0 | OFF | PC08 | 9 | 72 |
- | | | 3.3V | | | 17 || 18 | 0 | OFF | PC07 | 10 | 71 |
- | 66 | 11 | MOSI.0 | ALT4 | 0 | 19 || 20 | | | GND | | |
- | 67 | 12 | MISO.0 | ALT4 | 0 | 21 || 22 | 0 | OFF | RTS.3 | 13 | 121 |
- | 64 | 14 | SCLK.0 | ALT4 | 0 | 23 || 24 | 0 | ALT4 | CE.0 | 15 | 69 |
- | | | GND | | | 25 || 26 | 0 | OFF | PH03 | 16 | 227 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ OPi H6 +---+------+----------+-----+------+
-```
-
-## Allwinner H616
-
-### Orange Pi Zero2/Zero2 LTS/Zero2 B
-
-```
- +------+-----+----------+------+---+ Zero 2 +---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 229 | 0 | SDA.3 | OFF | 0 | 3 || 4 | | | 5V | | |
- | 228 | 1 | SCL.3 | OFF | 0 | 5 || 6 | | | GND | | |
- | 73 | 2 | PC9 | OFF | 0 | 7 || 8 | 0 | ALT2 | TXD.5 | 3 | 226 |
- | | | GND | | | 9 || 10 | 0 | ALT2 | RXD.5 | 4 | 227 |
- | 70 | 5 | PC6 | ALT5 | 0 | 11 || 12 | 0 | OFF | PC11 | 6 | 75 |
- | 69 | 7 | PC5 | ALT5 | 0 | 13 || 14 | | | GND | | |
- | 72 | 8 | PC8 | OFF | 0 | 15 || 16 | 0 | OFF | PC15 | 9 | 79 |
- | | | 3.3V | | | 17 || 18 | 0 | OFF | PC14 | 10 | 78 |
- | 231 | 11 | MOSI.1 | ALT4 | 0 | 19 || 20 | | | GND | | |
- | 232 | 12 | MISO.1 | ALT4 | 0 | 21 || 22 | 0 | OFF | PC7 | 13 | 71 |
- | 230 | 14 | SCLK.1 | ALT4 | 0 | 23 || 24 | 0 | ALT4 | CE.1 | 15 | 233 |
- | | | GND | | | 25 || 26 | 0 | OFF | PC10 | 16 | 74 |
- | 65 | 17 | PC1 | OFF | 0 | 27 || 28 | | | | | |
- | 272 | 18 | PI16 | OFF | 0 | 29 || 30 | | | | | |
- | 262 | 19 | PI6 | OFF | 0 | 31 || 32 | | | | | |
- | 234 | 20 | PH10 | ALT3 | 0 | 33 || 34 | | | | | |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+ Zero 2 +---+------+----------+-----+------+
-```
-
-## RockChip RK3399
-
-### Orange Pi RK3399
-
-```
- +------+-----+----------+------+---+OPi RK3399+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 43 | 0 | SDA.0 | ALT2 | 1 | 3 || 4 | | | 5V | | |
- | 44 | 1 | SCL.0 | ALT2 | 1 | 5 || 6 | | | GND | | |
- | 64 | 2 | GPIO4 | ALT3 | 0 | 7 || 8 | 0 | ALT2 | Tx | 3 | 148 |
- | | | GND | | | 9 || 10 | 1 | ALT2 | Rx | 4 | 147 |
- | 80 | 5 | GPIO17 | ALT2 | 0 | 11 || 12 | 0 | ALT3 | GPIO18 | 6 | 65 |
- | 81 | 7 | GPIO27 | ALT2 | 0 | 13 || 14 | | | GND | | |
- | 82 | 8 | GPIO22 | ALT2 | 0 | 15 || 16 | 0 | IN | GPIO23 | 9 | 66 |
- | | | 3.3V | | | 17 || 18 | 0 | IN | GPIO24 | 10 | 67 |
- | 39 | 11 | MOSI | ALT2 | 1 | 19 || 20 | | | GND | | |
- | 40 | 12 | MISO | ALT2 | 1 | 21 || 22 | 0 | ALT2 | GPIO25 | 13 | 83 |
- | 41 | 14 | SCLK | ALT3 | 1 | 23 || 24 | 1 | ALT3 | CS0 | 15 | 42 |
- | | | GND | | | 25 || 26 | 0 | ALT2 | CS1 | 16 | 133 |
- | 154 | 17 | DNP1 | IN | 0 | 27 || 28 | 1 | IN | DNP2 | 18 | 50 |
- | 68 | 19 | GPIO5 | OUT | 1 | 29 || 30 | | | GND | | |
- | 69 | 20 | GPIO6 | OUT | 1 | 31 || 32 | 1 | OUT | GPIO12 | 21 | 76 |
- | 70 | 22 | GPIO13 | OUT | 1 | 33 || 34 | | | GND | | |
- | 71 | 23 | GPIO19 | OUT | 1 | 35 || 36 | 1 | OUT | GPIO16 | 24 | 73 |
- | 72 | 25 | GPIO26 | OUT | 1 | 37 || 38 | 0 | IN | GPIO20 | 26 | 74 |
- | | | GND | | | 39 || 40 | 0 | ALT4 | GPIO21 | 27 | 75 |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+OPi RK3399+---+------+----------+-----+------+
- ```
-
- ### Orange Pi 4/4B/4 LTS
-
- ```
- +------+-----+----------+------+---+OrangePi 4+---+---+--+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | | | 3.3V | | | 1 || 2 | | | 5V | | |
- | 64 | 0 | I2C2_SDA | ALT3 | 0 | 3 || 4 | | | 5V | | |
- | 65 | 1 | I2C2_SCL | ALT3 | 0 | 5 || 6 | | | GND | | |
- | 150 | 2 | PWM1 | IN | 0 | 7 || 8 | 1 | ALT2 | I2C3_SCL | 3 | 145 |
- | | | GND | | | 9 || 10 | 1 | ALT2 | I2C3_SDA | 4 | 144 |
- | 33 | 5 | GPIO1_A1 | IN | 0 | 11 || 12 | 1 | IN | GPIO1_C2 | 6 | 50 |
- | 35 | 7 | GPIO1_A3 | OUT | 0 | 13 || 14 | | | GND | | |
- | 92 | 8 | GPIO2_D4 | OUT | 1 | 15 || 16 | 0 | IN | GPIO1_C6 | 9 | 54 |
- | | | 3.3V | | | 17 || 18 | 0 | IN | GPIO1_C7 | 10 | 55 |
- | 40 | 11 | SPI1_TXD | ALT2 | 1 | 19 || 20 | | | GND | | |
- | 39 | 12 | SPI1_RXD | ALT2 | 1 | 21 || 22 | 0 | IN | GPIO1_D0 | 13 | 56 |
- | 41 | 14 | SPI1_CLK | ALT3 | 1 | 23 || 24 | 1 | ALT3 | SPI1_CS | 15 | 42 |
- | | | GND | | | 25 || 26 | 0 | IN | GPIO4_C5 | 16 | 149 |
- | 64 | 17 | I2C2_SDA | ALT3 | 0 | 27 || 28 | 0 | ALT3 | I2C2_SCL | 18 | 65 |
- | | | I2S0_RX | | | 29 || 30 | | | GND | | |
- | | | I2S0_TX | | | 31 || 32 | | | I2S_CLK | | |
- | | | I2S0_SCK | | | 33 || 34 | | | GND | | |
- | | | I2S0_SI0 | | | 35 || 36 | | | I2S0_SO0 | | |
- | | | I2S0_SI1 | | | 37 || 38 | | | I2S0_SI2 | | |
- | | | GND | | | 39 || 40 | | | I2S0_SI3 | | |
- +------+-----+----------+------+---+----++----+---+------+----------+-----+------+
- | GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
- +------+-----+----------+------+---+OrangePi 4+---+---+--+----------+-----+------+
-```
+
\ No newline at end of file
diff --git a/imgs/pins.png b/imgs/pins.png
new file mode 100644
index 0000000..b4b6299
Binary files /dev/null and b/imgs/pins.png differ
diff --git a/imgs/readall.png b/imgs/readall.png
new file mode 100644
index 0000000..40acd18
Binary files /dev/null and b/imgs/readall.png differ