aboutsummaryrefslogtreecommitdiffstats
path: root/include/rin/gpio.h
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2016-11-10 09:16:35 +0200
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2016-11-10 09:16:35 +0200
commitd8b27510426e95470f9579395f50f353bd105d83 (patch)
tree39d888fe9a25acd96e917486f7db05ded495466c /include/rin/gpio.h
parent5abe95c474262dfc0d43cd8fdd5248c9b48a8ecf (diff)
downloadlibrin-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.h16
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);