mirror of
https://github.com/xtacocorex/CHIP_IO
synced 2025-07-20 04:43:21 +00:00
add 1s delay in set_direction to allow udev to set permissions
This commit is contained in:
@ -383,11 +383,18 @@ int gpio_set_direction(int gpio, unsigned int in_flag)
|
|||||||
char filename[MAX_FILENAME]; filename[0] = '\0';
|
char filename[MAX_FILENAME]; filename[0] = '\0';
|
||||||
|
|
||||||
snprintf(filename, sizeof(filename), "/sys/class/gpio/gpio%d/direction", gpio); BUF2SMALL(filename);
|
snprintf(filename, sizeof(filename), "/sys/class/gpio/gpio%d/direction", gpio); BUF2SMALL(filename);
|
||||||
|
|
||||||
if ((fd = open(filename, O_WRONLY)) < 0) {
|
if ((fd = open(filename, O_WRONLY)) < 0) {
|
||||||
char err[256];
|
// if called as non-root, udev may need time to adjust file
|
||||||
snprintf(err, sizeof(err), "gpio_set_direction: could not open '%s' (%s)", filename, strerror(errno));
|
// permissions after setting up gpio
|
||||||
add_error_msg(err);
|
sleep(1);
|
||||||
return -1;
|
|
||||||
|
if ((fd = open(filename, O_WRONLY)) < 0) {
|
||||||
|
char err[256];
|
||||||
|
snprintf(err, sizeof(err), "gpio_set_direction: could not open '%s' (%s)", filename, strerror(errno));
|
||||||
|
add_error_msg(err);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char direction[16];
|
char direction[16];
|
||||||
|
Reference in New Issue
Block a user