diff options
author | 2016-11-10 09:16:35 +0200 | |
---|---|---|
committer | 2016-11-10 09:16:35 +0200 | |
commit | d8b27510426e95470f9579395f50f353bd105d83 (patch) | |
tree | 39d888fe9a25acd96e917486f7db05ded495466c /include/rin/gpio.h | |
parent | 5abe95c474262dfc0d43cd8fdd5248c9b48a8ecf (diff) | |
download | librin-d8b27510426e95470f9579395f50f353bd105d83.tar.gz librin-d8b27510426e95470f9579395f50f353bd105d83.tar.bz2 librin-d8b27510426e95470f9579395f50f353bd105d83.zip |
gpio: implement some more features.
Diffstat (limited to 'include/rin/gpio.h')
-rw-r--r-- | include/rin/gpio.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/rin/gpio.h b/include/rin/gpio.h index 83ca934..1ca2169 100644 --- a/include/rin/gpio.h +++ b/include/rin/gpio.h @@ -21,16 +21,32 @@ #ifndef LIBRIN_GPIO_INCLUDED #define LIBRIN_GPIO_INCLUDED +#include <limits.h> +#include <time.h> + enum rin_gpiotype { rin_gpio_in, rin_gpio_out, rin_gpio_closed }; +struct rin_gpio_dataset { + unsigned int signalpin; + unsigned int clockpin; + struct timespec *pulseduration; + struct timespec *delay; + void *data; + size_t len; +}; + unsigned int rin_gpio_open(const unsigned int num, const enum rin_gpiotype type); unsigned int rin_gpio_close(const unsigned int num); unsigned int rin_gpio_setval(const unsigned int num, const unsigned int val); unsigned int rin_gpio_readval(const unsigned int num, unsigned int * const val); +unsigned int rin_gpio_writesequence(const struct rin_gpio_dataset * const dataset); +unsigned int rin_gpio_on(const unsigned int num); +unsigned int rin_gpio_off(const unsigned int num); +unsigned int rin_gpio_pulse(const unsigned int num, const struct timespec * const pulselen); unsigned int rin_gpio_pin_exists(const unsigned int pin); unsigned int rin_gpio_get_pincount(void); |