diff --git a/README.md b/README.md index 3324cb1..9c554ff 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ ### 说明 -本仓库是将 wiringOP 移植到 MangoPi(H616) 上。需要使用 Orange Pi Zero2的对应的系统镜像。 +本仓库是将 wiringOP 移植到 [Blueberry](https://git.aixiao.me/aixiao/Blueberry) 上。 ### 下载 ```bash -apt-get update -apt-get install -y git -git clone https://github.com/liuls2002/wiringOP-for-MangoPi-H616.git +apt-get update +apt-get install -y git +git clone https://git.aixiao.me/aixiao/wiringPi_Blueberry.git ``` @@ -17,282 +17,7 @@ git clone https://github.com/liuls2002/wiringOP-for-MangoPi-H616.git #### 编译安装 ```bash -cd wiringOP +cd wiringPi_Blueberry ./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) - - - ---- - -### 相较于 Orange Pi 提供的代码的改动 - -Mango Pi(h616) 与 Orange Pi Zero2 使用相同的soc(全志H616),所以基于 Orange Pi Zero2 进行移植修改比较方便。 - - - -Mango Pi(h616) 引脚对应关系如下: - -pins - -总共有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 -``` - - - -替换 `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 -``` - - - - - -#### 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 -``` - - - ---- - -### 结果展示 - -执行`gpio readall` - -readall \ No newline at end of file diff --git a/imgs/pins.png b/imgs/pins.png deleted file mode 100644 index b4b6299..0000000 Binary files a/imgs/pins.png and /dev/null differ diff --git a/imgs/readall.png b/imgs/readall.png deleted file mode 100644 index 40acd18..0000000 Binary files a/imgs/readall.png and /dev/null differ