/*GPIO.c*/ #include #include #include #include #include #include "gpio.h" void writeFile(char *filename, char *buffer, size_t count) { int fd = open(filename, O_WRONLY); if(fd == -1) { perror("Fehler bei open "); } write(fd, buffer, count); close(fd); } void registerPin(char *pin) { writeFile(BASEPATH "export", pin, strlen(pin)); } void freePin(char *pin) { writeFile(BASEPATH "unexport", pin, strlen(pin)); } void setDirection(char *pin, char *direction, int dirlen) { char path[50]; sprintf(path, BASEPATH GPIO_FOLDER "direction", pin); writeFile(path, direction, dirlen); } void registerOutput(char *pin) { registerPin(pin); setDirection(pin, "out", 3); } void writeOutput(char *pin, int state) { char path[50]; sprintf(path, BASEPATH GPIO_FOLDER "value", pin); FILE *fd = fopen(path, "w"); fprintf(fd, "%i", state); fclose(fd); }