RPI_sysfs_gpio.h (2792B)
1 /***************************************************************************** 2 * | File : sysfs_gpio.h 3 * | Author : Waveshare team 4 * | Function : Drive SC16IS752 GPIO 5 * | Info : Read and write /sys/class/gpio 6 *---------------- 7 * | This version: V1.0 8 * | Date : 2019-06-04 9 * | Info : Basic version 10 * 11 # 12 # Permission is hereby granted, free of charge, to any person obtaining a copy 13 # of this software and associated documnetation files (the "Software"), to deal 14 # in the Software without restriction, including without limitation the rights 15 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 # copies of the Software, and to permit persons to whom the Software is 17 # furished to do so, subject to the following conditions: 18 # 19 # The above copyright notice and this permission notice shall be included in 20 # all copies or substantial portions of the Software. 21 # 22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 # FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 # LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 # THE SOFTWARE. 29 # 30 ******************************************************************************/ 31 #ifndef __SYSFS_GPIO_ 32 #define __SYSFS_GPIO_ 33 34 #include <stdio.h> 35 36 #define SYSFS_GPIO_IN 0 37 #define SYSFS_GPIO_OUT 1 38 39 #define SYSFS_GPIO_LOW 0 40 #define SYSFS_GPIO_HIGH 1 41 42 #define NUM_MAXBUF 4 43 #define DIR_MAXSIZ 60 44 45 #define SYSFS_GPIO_DEBUG 0 46 #if SYSFS_GPIO_DEBUG 47 #define SYSFS_GPIO_Debug(__info,...) printf("Debug: " __info,##__VA_ARGS__) 48 #else 49 #define SYSFS_GPIO_Debug(__info,...) 50 #endif 51 52 // BCM GPIO for Jetson nano 53 #define GPIO4 4 // 7, 4 54 #define GPIO17 7 // 11, 17 55 #define GPIO18 18 // 12, 18 56 #define GPIO27 27 // 13, 27 57 #define GPIO22 22 // 15, 22 58 #define GPIO23 23 // 16, 23 59 #define GPIO24 24 // 18, 24 60 #define SPI0_MOSI 10 // 19, 10 61 #define SPI0_MISO 9 // 21, 9 62 #define GPIO25 28 // 22, 25 63 #define SPI0_SCK 11 // 23, 11 64 #define SPI0_CS0 8 // 24, 8 65 #define SPI0_CS1 7 // 26, 7 66 #define GPIO5 5 // 29, 5 67 #define GPIO6 6 // 31, 6 68 #define GPIO12 12 // 32, 12 69 #define GPIO13 13 // 33, 13 70 #define GPIO19 19 // 35, 19 71 #define GPIO16 16 // 36, 16 72 #define GPIO26 26 // 37, 26 73 #define GPIO20 20 // 38, 20 74 #define GPIO21 21 // 40, 21 75 76 int SYSFS_GPIO_Export(int Pin); 77 int SYSFS_GPIO_Unexport(int Pin); 78 int SYSFS_GPIO_Direction(int Pin, int Dir); 79 int SYSFS_GPIO_Read(int Pin); 80 int SYSFS_GPIO_Write(int Pin, int value); 81 82 #endif