From 7fd008992e8915175207b493788ba559d609b820 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 10 Feb 2023 16:56:38 +0900 Subject: [PATCH] ODROID-XU3/4: Fix wiringPiISR. If a pin is exported, ISR does not work on XU4. We will clear pin before using with wiringPiISR function. Signed-off-by: Steve Jeong Change-Id: Ibc747fe30fda20253eb77d9bbe5f6bcc8c2180b8 --- wiringPi/wiringPi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c index 4d7b239..42e86ad 100644 --- a/wiringPi/wiringPi.c +++ b/wiringPi/wiringPi.c @@ -894,6 +894,14 @@ int wiringPiISR (int pin, int mode, void (*function)(void)) if (mode != INT_EDGE_SETUP) { sprintf (pinS, "%d", GpioPin) ; + char temp[64]; + sprintf(temp, "/sys/class/gpio/gpio%d", GpioPin); + if (access(temp, F_OK) == 0) { + FILE *unexport = fopen("/sys/class/gpio/unexport", "w"); + fprintf (unexport, "%d\n", GpioPin); + fclose(unexport); + } + FILE *export, *direct, *edge; int count;