31 #ifndef IOTBUS_GPIO_H_ 32 #define IOTBUS_GPIO_H_ 45 IOTBUS_GPIO_DRIVE_NONE = 0,
46 IOTBUS_GPIO_DRIVE_PULLUP = 1,
47 IOTBUS_GPIO_DRIVE_PULLDOWN = 2,
48 IOTBUS_GPIO_DRIVE_FLOAT = 3, IOTBUS_GPIO_DRIVE_PUSHPULL = 4,
60 IOTBUS_GPIO_DIRECTION_NONE = 0, IOTBUS_GPIO_DIRECTION_OUT = 1,
61 IOTBUS_GPIO_DIRECTION_IN = 2,
74 IOTBUS_GPIO_EDGE_NONE = 0,
75 IOTBUS_GPIO_EDGE_BOTH = 1,
76 IOTBUS_GPIO_EDGE_RISING = 2,
77 IOTBUS_GPIO_EDGE_FALLING = 3
80 struct _iotbus_gpio_s;
92 typedef void (*gpio_isr_cb)(
void *user_data);
int iotbus_gpio_get_edge_mode(iotbus_gpio_context_h dev, iotbus_gpio_edge_e *edge)
gets a edge mode of the gpio.
int iotbus_gpio_set_direction(iotbus_gpio_context_h dev, iotbus_gpio_direction_e dir)
sets gpio direction.
int iotbus_gpio_close(iotbus_gpio_context_h dev)
closes the gpio_context.
int iotbus_gpio_get_pin(iotbus_gpio_context_h dev)
gets a pin number of the gpio.
int iotbus_gpio_unregister_cb(iotbus_gpio_context_h dev)
unregisters event handler callback for interrupt.
iotbus_gpio_edge_e
Enumeration of Gpio edge type for interrupt.
int iotbus_gpio_get_drive_mode(iotbus_gpio_context_h dev, iotbus_gpio_drive_e *drive)
gets a drive mode of the gpio.
int iotbus_gpio_set_edge_mode(iotbus_gpio_context_h dev, iotbus_gpio_edge_e edge)
sets the edge mode on the gpio.
iotbus_gpio_context_h iotbus_gpio_open(int gpiopin)
initializes gpio_context based on gpio pin.
int iotbus_gpio_write(iotbus_gpio_context_h dev, int value)
writes to the gpio value.
int iotbus_gpio_get_direction(iotbus_gpio_context_h dev, iotbus_gpio_direction_e *dir)
gets a direction of the gpio.
iotbus_gpio_drive_e
Enumeration of Gpio output mode.
int iotbus_gpio_register_cb(iotbus_gpio_context_h dev, iotbus_gpio_edge_e edge, gpio_isr_cb isr_cb, void *user_data)
registers event handler callback for interrupt.
struct _iotbus_gpio_s * iotbus_gpio_context_h
Pointer definition to the internal struct iotbus_gpio_s.
iotbus_gpio_direction_e
Enumeration of Gpio direction options.
int iotbus_gpio_read(iotbus_gpio_context_h dev)
reads the gpio value.
int iotbus_gpio_set_drive_mode(iotbus_gpio_context_h dev, iotbus_gpio_drive_e drive)
sets gpio output mode.