From f488857879bc21704659174f739865e98d1e7443 Mon Sep 17 00:00:00 2001 From: Angelus Vela Date: Thu, 24 Sep 2026 10:41:24 -0600 Subject: [PATCH] Code with new function --- main.c | 48 +++++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/main.c b/main.c index 0dbdf49..86c9261 100644 --- a/main.c +++ b/main.c @@ -1,18 +1,21 @@ +// Christian Angelus 24/09/2026 +// gpio command tool #include #include #include +#include + +//prototype functions +int gpio_export(const char *gpio); +int gpio_direction(int gpio, const char *direction); +int gpio_write(int gpio, int value); int main (int argc, char *argv[]){ + int fd; - //export - fd = open("/sys/class/gpio/chip0/export", O_WRONLY); - if(fd<0) - { - perror("Error openng the GPIO export path"); - return -1; - } - write(fd, "17",2); - close(fd); + char pin[] = "17"; + gpio_export(pin); + //pin direction fd = open("/sys/class/gpio/chip0/gpio17/direction", O_WRONLY); if(fd<0) @@ -31,17 +34,8 @@ int main (int argc, char *argv[]){ } write(fd, "1",1); close(fd); - sleep(1); //pin apagao - fd = open("/sys/class/gpio/chip0/gpio17/value", O_WRONLY); - if(fd<0) - { - perror("Error openng the GPIO export path"); - return -1; - } - write(fd, "0",1); - close(fd); - sleep(1); + //unexport fd = open("/sys/class/gpio/chip0/unexport", O_WRONLY); @@ -62,3 +56,19 @@ int main (int argc, char *argv[]){ printf("Argument: %s\n", argv[1]); return 0; } + +//Complete functions +// +//gpio export +int gpio_export(const char *gpio){ + int fd; + //export + fd = open("/sys/class/gpio/chip0/export", O_WRONLY); + if(fd<0){ + perror("Error openng the GPIO path"); + return -1; + } + write(fd,gpio, strlen(gpio)); + close(fd); + return 0; +}