Tizen Native API
5.0
|
The GPIO API provides functions to control GPIO peripherals connected to the IoT device.
#include <peripheral_io.h>
This GPIO API provides functions to control GPIO peripherals connected to the IoT device.
This API is related with the following feature:
It is recommended to use features in your application for reliability.
You can check if a IoT device supports the related features for this API
by using System Information, and control your application's actions accordingly.
To ensure your application is only running on the IoT device with specific features,
please define the features in your manifest file using the manifest editor in the SDK.
More details on featuring your application can be found from Feature Element.
Functions | |
int | peripheral_gpio_open (int gpio_pin, peripheral_gpio_h *gpio) |
Opens a GPIO pin. | |
int | peripheral_gpio_close (peripheral_gpio_h gpio) |
Closes a GPIO pin. | |
int | peripheral_gpio_set_direction (peripheral_gpio_h gpio, peripheral_gpio_direction_e direction) |
Sets the GPIO direction. | |
int | peripheral_gpio_set_edge_mode (peripheral_gpio_h gpio, peripheral_gpio_edge_e edge) |
Sets the GPIO edge mode. | |
int | peripheral_gpio_set_interrupted_cb (peripheral_gpio_h gpio, peripheral_gpio_interrupted_cb callback, void *user_data) |
Sets the GPIO interrupted callback to be invoked when the GPIO interrupt is triggered. | |
int | peripheral_gpio_unset_interrupted_cb (peripheral_gpio_h gpio) |
Unsets the GPIO interrupted callback. | |
int | peripheral_gpio_read (peripheral_gpio_h gpio, uint32_t *value) |
Gets the current value of the GPIO pin. | |
int | peripheral_gpio_write (peripheral_gpio_h gpio, uint32_t value) |
Sets the value of the GPIO pin. | |
Typedefs | |
typedef struct _peripheral_gpio_s * | peripheral_gpio_h |
The handle of a GPIO pin. | |
typedef void(* | peripheral_gpio_interrupted_cb )(peripheral_gpio_h gpio, peripheral_error_e error, void *user_data) |
The GPIO interrupted callback called when the GPIO interrupt is triggered. |
typedef struct _peripheral_gpio_s* peripheral_gpio_h |
The handle of a GPIO pin.
typedef void(* peripheral_gpio_interrupted_cb)(peripheral_gpio_h gpio, peripheral_error_e error, void *user_data) |
The GPIO interrupted callback called when the GPIO interrupt is triggered.
The following errors can be received:
PERIPHERAL_ERROR_NONE Successful
PERIPHERAL_ERROR_IO_ERROR I/O operation failed
PERIPHERAL_ERROR_NO_DEVICE Device does not exist or is removed
PERIPHERAL_ERROR_TRY_AGAIN Try again
PERIPHERAL_ERROR_OUT_OF_MEMORY Memory allocation failed
PERIPHERAL_ERROR_PERMISSION_DENIED Permission denied
PERIPHERAL_ERROR_RESOURCE_BUSY Device is in use
PERIPHERAL_ERROR_INVALID_PARAMETER Invalid parameter
PERIPHERAL_ERROR_NOT_SUPPORTED Not supported
PERIPHERAL_ERROR_UNKNOWN Unknown internal error
[in] | gpio | The GPIO handle |
[in] | error | The GPIO error |
[in] | user_data | The user data passed from the callback registration function |
int peripheral_gpio_close | ( | peripheral_gpio_h | gpio | ) |
Closes a GPIO pin.
[in] | gpio | The GPIO handle |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_IO_ERROR | I/O operation failed |
PERIPHERAL_ERROR_NO_DEVICE | Device does not exist or is removed |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
PERIPHERAL_ERROR_UNKNOWN | Unknown internal error |
int peripheral_gpio_open | ( | int | gpio_pin, |
peripheral_gpio_h * | gpio | ||
) |
Opens a GPIO pin.
[in] | gpio_pin | The GPIO pin number |
[out] | gpio | The GPIO handle is created on success |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_IO_ERROR | I/O operation failed |
PERIPHERAL_ERROR_NO_DEVICE | Device does not exist or is removed |
PERIPHERAL_ERROR_OUT_OF_MEMORY | Memory allocation failed |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_RESOURCE_BUSY | Device is in use |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
PERIPHERAL_ERROR_UNKNOWN | Unknown internal error |
int peripheral_gpio_read | ( | peripheral_gpio_h | gpio, |
uint32_t * | value | ||
) |
Gets the current value of the GPIO pin.
[in] | gpio | The GPIO handle |
[out] | value | The value to get |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_IO_ERROR | I/O operation failed |
PERIPHERAL_ERROR_NO_DEVICE | Device does not exist or is removed |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
PERIPHERAL_ERROR_UNKNOWN | Unknown internal error |
int peripheral_gpio_set_direction | ( | peripheral_gpio_h | gpio, |
peripheral_gpio_direction_e | direction | ||
) |
Sets the GPIO direction.
[in] | gpio | The GPIO handle |
[in] | direction | The direction of the GPIO pin |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_IO_ERROR | I/O operation failed |
PERIPHERAL_ERROR_NO_DEVICE | Device does not exist or is removed |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
PERIPHERAL_ERROR_UNKNOWN | Unknown internal error |
int peripheral_gpio_set_edge_mode | ( | peripheral_gpio_h | gpio, |
peripheral_gpio_edge_e | edge | ||
) |
Sets the GPIO edge mode.
[in] | gpio | The GPIO handle |
[in] | edge | The edge mode of the GPIO pin |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_IO_ERROR | I/O operation failed |
PERIPHERAL_ERROR_NO_DEVICE | Device does not exist or is removed |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
PERIPHERAL_ERROR_UNKNOWN | Unknown internal error |
int peripheral_gpio_set_interrupted_cb | ( | peripheral_gpio_h | gpio, |
peripheral_gpio_interrupted_cb | callback, | ||
void * | user_data | ||
) |
Sets the GPIO interrupted callback to be invoked when the GPIO interrupt is triggered.
[in] | gpio | The GPIO handle |
[in] | callback | The GPIO interrupted callback function to set |
[in] | user_data | The user data to be passed to the callback function |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
Unsets the GPIO interrupted callback.
[in] | gpio | The GPIO handle |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
int peripheral_gpio_write | ( | peripheral_gpio_h | gpio, |
uint32_t | value | ||
) |
Sets the value of the GPIO pin.
[in] | gpio | The GPIO handle |
[in] | value | The value to set (must be 0 or 1) |
PERIPHERAL_ERROR_NONE | Successful |
PERIPHERAL_ERROR_IO_ERROR | I/O operation failed |
PERIPHERAL_ERROR_NO_DEVICE | Device does not exist or is removed |
PERIPHERAL_ERROR_PERMISSION_DENIED | Permission denied |
PERIPHERAL_ERROR_INVALID_PARAMETER | Invalid parameter |
PERIPHERAL_ERROR_NOT_SUPPORTED | Not supported |
PERIPHERAL_ERROR_UNKNOWN | Unknown internal error |