RocketLogger 2.1.3
gpio.h
Go to the documentation of this file.
1
32#ifndef GPIO_H_
33#define GPIO_H_
34
35#include <gpiod.h>
36#include <time.h>
37
39#define GPIO_FHR1 30
41#define GPIO_FHR2 60
43#define GPIO_LED_STATUS 45
45#define GPIO_LED_ERROR 44
47#define GPIO_BUTTON 26
49#define GPIO_POWER 31
50
58
68
72typedef struct gpiod_line gpio_t;
73
79int gpio_init();
80
86void gpio_deinit();
87
99gpio_t *gpio_setup(int gpio_number, gpio_mode_t mode, const char *name);
100
110gpio_t *gpio_setup_interrupt(int gpio_number, gpio_interrupt_t edge,
111 const char *name);
112
118void gpio_release(gpio_t *gpio);
119
127int gpio_set_value(gpio_t *gpio, int value);
128
135int gpio_get_value(gpio_t *gpio);
136
145int gpio_wait_interrupt(gpio_t *gpio, const struct timespec *timeout);
146
147#endif /* GPIO_H_ */
gpio_interrupt
Definition gpio.h:62
@ GPIO_INTERRUPT_FALLING
Interrupt on falling edge.
Definition gpio.h:65
@ GPIO_INTERRUPT_BOTH
Interrupt on both edges.
Definition gpio.h:66
@ GPIO_INTERRUPT_NONE
No interrupt.
Definition gpio.h:63
@ GPIO_INTERRUPT_RISING
Interrupt on rising edge.
Definition gpio.h:64
enum gpio_interrupt gpio_interrupt_t
gpio_mode
Definition gpio.h:54
@ GPIO_MODE_OUT
GPIO write mode.
Definition gpio.h:56
@ GPIO_MODE_IN
GPIO read mode.
Definition gpio.h:55
int gpio_set_value(gpio_t *gpio, int value)
Definition gpio.c:135
int gpio_init()
Definition gpio.c:77
int gpio_get_value(gpio_t *gpio)
Definition gpio.c:146
struct gpiod_line gpio_t
Definition gpio.h:72
void gpio_release(gpio_t *gpio)
Definition gpio.c:130
void gpio_deinit()
Definition gpio.c:92
int gpio_wait_interrupt(gpio_t *gpio, const struct timespec *timeout)
Definition gpio.c:187
enum gpio_mode gpio_mode_t
gpio_t * gpio_setup_interrupt(int gpio_number, gpio_interrupt_t edge, const char *name)
Definition gpio.c:148
gpio_t * gpio_setup(int gpio_number, gpio_mode_t mode, const char *name)
Definition gpio.c:103