diff options
Diffstat (limited to 'lib/libgpio/gpio.c')
-rw-r--r-- | lib/libgpio/gpio.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libgpio/gpio.c b/lib/libgpio/gpio.c index 7ec0955..8170822 100644 --- a/lib/libgpio/gpio.c +++ b/lib/libgpio/gpio.c @@ -181,14 +181,14 @@ gpio_pin_set(gpio_handle_t handle, gpio_pin_t pin, gpio_value_t value) int gpio_pin_toggle(gpio_handle_t handle, gpio_pin_t pin) { - gpio_value_t value; + struct gpio_req gpreq; - value = gpio_pin_get(handle, pin); - if (value == GPIO_VALUE_INVALID) + bzero(&gpreq, sizeof(gpreq)); + gpreq.gp_pin = pin; + if (ioctl(handle, GPIOTOGGLE, &gpreq) < 0) return (-1); - value = !value; - return (gpio_pin_set(handle, pin, value)); + return (0); } int |