FrankWizza Posted January 17, 2021 Posted January 17, 2021 Hello, I am having a bit of an issue. I have mapped my device (Bananapi M2Zero) into the 40pin template according to the schematics the provided here. https://drive.google.com/file/d/0B4PAo2nW2KfnMW5sVkxWSW9qa28/view I then copied it and pasted the contents of that file into the existing bananapim2.h file. After running setup.py install, my mapping.h file seems to match. Here is what I am using. /* * * This file is part of pyA20. * mapping.h is python GPIO extension. * * Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com> * * pyA20 is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * mapping.h from: https://github.com/wdmomoxx/orangepi_ZERO_gpio_pyH2 * */ #ifndef __MAPPING_H #define __MAPPING_H #include "gpio_lib.h" /** Structure that describe all gpio */ typedef struct _pin { char name[10]; // The processor pin int offset; // Memory offset for the pin int pin_number; // Number on the connector }pin_t; typedef struct _gpio { char connector_name[10]; pin_t pins[41]; }gpio_t; gpio_t gpio[] = { /* Description of Pinheader, please don't change pinnumer to keep this library consistent! A 'RPi compatible' pin header (40pin) looks like the following: 3.3V |··| 5V GPIO2 |··| 5V GPIO3 |··| GND GPIO4 |··| GPIO14 GND |··| GPIO15 GPIO17 |··| GPIO18 GPIO27 |··| GND GPIO22 |··| GPIO23 3.3V |··| GPIO24 GPIO10 |··| GND GPIO9 |··| GPIO25 GPIO11 |··| GPIO8 GND |··| GPIO7 GPIO28* |··| GPIO29* GPIO5 |··| GND GPIO6 |··| GPIO12 GPIO13 |··| GND GPIO19 |··| GPIO16 GPIO26 |··| GPIO20 GND |··| GPIO21 (*) on the RPi those two pins are used for official HATS (read out eeprom), since this is never depoyed on SUNXI boards we can use this GPIOs too. ;) replace XZ with the pin which is wired out on this position (e.g. PA10, PG11 etc.) */ {"GPIO", { //'first row' { "GPIO2", SUNXI_GPA(12), 3 }, { "GPIO3", SUNXI_GPA(11), 5 }, { "GPIO4", SUNXI_GPA(6), 7 }, { "GPIO17", SUNXI_GPA(1), 11 }, { "GPIO27", SUNXI_GPA(0), 13 }, { "GPIO22", SUNXI_GPA(3), 15 }, { "GPIO10", SUNXI_GPC(0), 19 }, { "GPIO9", SUNXI_GPC(1), 21 }, { "GPIO11", SUNXI_GPC(2), 23 }, { "GPIO28", SUNXI_GPA(19), 27 }, { "GPIO5", SUNXI_GPA(7), 29 }, { "GPIO6", SUNXI_GPA(8), 31 }, { "GPIO13", SUNXI_GPA(9), 33 }, { "GPIO19", SUNXI_GPA(10), 35 }, { "GPIO26", SUNXI_GPA(17), 37 }, //'second row' { "GPIO14", SUNXI_GPA(13), 8 }, { "GPIO15", SUNXI_GPA(14), 10 }, { "GPIO18", SUNXI_GPA(16), 12 }, { "GPIO23", SUNXI_GPA(15), 16 }, { "GPIO24", SUNXI_GPC(4), 18 }, { "GPIO25", SUNXI_GPA(2), 22 }, { "GPIO8", SUNXI_GPC(3), 24 }, { "GPIO7", SUNXI_GPC(7), 26 }, { "GPIO29", SUNXI_GPA(18), 28 }, { "GPIO12", SUNXI_GPL(2), 32 }, { "GPIO16", SUNXI_GPL(4), 36 }, { "GPIO20", SUNXI_GPA(21), 38 }, { "GPIO21", SUNXI_GPA(20), 40 }, { { 0, 0, 0} }, } }, /* #define PIN_PG0 SUNXI_GPG(0) */ {"LED", { { "POWER_LED", SUNXI_GPL(10), 1 }, { "STATUS_LED", SUNXI_GPA(17), 2 }, { { 0, 0, 0} }, } }, }; #endif The problem is that even though I think I have it mapped correctly, when I run blinkly.py which is sets GPIO4 high, GPIO25 is the one that is getting set high. If anyone knows what I can do to correct this, or point me in the right direction. I would appreciate it. 0 Quote
LakshmiNarasimman Ravi Posted January 2 Posted January 2 Hello Folks, When I try setting up this library on my RockPi-S running Armbian- Quote Linux rockpi-s 6.1.63-current-rockchip64 #1 SMP PREEMPT Mon Nov 20 10:52:19 UTC 2023 aarch64 GNU/Linux I get the below error. Quote [rockpis@rockpi-s:~/pyGPIOS python3 setup.py install running build running build_py running build_ext No processor detected Warning! Detected and target processor mismatch. Do you want to continue [Y/n]? Then I proceeded with a 'y' which resulted in: Quote [Do you want to continue [Y/n]? y Unknown board Automatic board detection failed or your board is not supported (yet). You can use a pin mapping from one of our supported boards or abort the installation. This is only recommended for experienced users! Pin mapping might be false and the library does not work as expected! [1]OrangePi Zero [2]OrangePi Pc Plus [3]OrangePi Plus 2E [4]OrangePi Lite [5]A20-OLinuXino-MICRO [6] A20-OLinuXIno-LIME [7]A20-OLinuXIno-LIME2 [8]NanoPi Duo [9] NanoPi Neo [10] pcDuino3 [11] BananaPi M2 [12] Tritium [99] Abort Any pointers to a standard gpio library with python interface would be of a great help 1 Quote
MNeudorf Posted January 30 Posted January 30 Is this library working for TI-TDA4 SK board too? 0 Quote
user5c Posted April 5 Posted April 5 I made a fork of the pyGPIO to fix the setup.py file https://github.com/chwe17/pyGPIO/pull/8 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.