1 #ifndef __OBJECTS_GPIO_UTILITIES_H__ 2 #define __OBJECTS_GPIO_UTILITIES_H__ 3 4 #include <stdint.h> 5 #include <gio/gio.h> 6 #include <stdbool.h> 7 8 typedef struct { 9 gchar* name; 10 gchar* dev; 11 uint16_t num; 12 uint16_t chip_id; 13 gchar* direction; 14 int fd; 15 bool irq_inited; 16 } GPIO; 17 18 19 //gpio functions 20 #define GPIO_OK 0x00 21 #define GPIO_ERROR 0x01 22 #define GPIO_OPEN_ERROR 0x02 23 #define GPIO_INIT_ERROR 0x04 24 #define GPIO_READ_ERROR 0x08 25 #define GPIO_WRITE_ERROR 0x10 26 #define GPIO_LOOKUP_ERROR 0x20 27 28 void gpio_close(GPIO*); 29 int gpio_open(GPIO*, uint8_t); 30 int gpio_write(GPIO*, uint8_t); 31 int gpio_get_params(GPIO*); 32 int gpio_read(GPIO*,uint8_t*); 33 void gpio_inits_done(); 34 35 #endif 36