WE310F5  39.00.000
m2mb_gpio.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
31 #ifndef M2M_M2MB_GPIO_API_H
32 #define M2M_M2MB_GPIO_API_H
33 
34 //#include "device.h"
35 
36 /* Global declarations ==========================================================================*/
37 #ifndef NULL
38 #define NULL 0
39 #endif
40 
41 /* Global defines ==============================================================================*/
42 
43 /* Global enums ==============================================================================*/
44 
45 typedef enum
46 {
69 
74 typedef enum
75 {
80 
85 typedef enum
86 {
92 
97 typedef enum
98 {
103 
108 typedef enum
109 {
114 
119 typedef enum
120 {
127 
134 typedef enum
135 {
140 
142 
147 typedef enum
148 {
152 
154 
159 typedef enum
160 {
165 
166 
167 
176 typedef VOID (*M2MB_GPIOINT_CB_T)(UINT32 id, UINT32 event);
177 
179 
181 
182 
183 /* Global typedefs ==============================================================================*/
184 
188 typedef struct
189 {
200 
201 /* Global functions =============================================================================*/
202 
203 /*-----------------------------------------------------------------------------------------------*/
216 INT32 m2mb_gpio_open( const CHAR *path, INT32 flags, ... );
217 
218 
219 /*-----------------------------------------------------------------------------------------------*/
230 
231 /*-----------------------------------------------------------------------------------------------*/
261 
268 
307 
308 
357 INT32 m2mb_gpio_multi_ioctl( INT32 fd, UINT8 nCmds, ... );
358 
359 
376 INT32 m2mb_gpio_read( INT32 fd, M2MB_GPIO_VALUE_E *value );
377 
378 
379 
393 INT32 m2mb_gpio_write( INT32 fd, M2MB_GPIO_VALUE_E value );
394 
405 VOID gpio_toggle_tmr_cb(VOID *ctxt);
406 
417 INT32 m2mb_gpio_toggle_stop( HANDLE h );
431 HANDLE m2mb_gpio_toggle_init( UINT8 gpio_number, UINT32 toggle_timeout, UINT8 toggle_number);
432 
443 INT32 m2mb_gpio_toggle_start( HANDLE h );
444 
455 INT32 m2mb_gpio_toggle_deinit( HANDLE h );
456 
457 
458 
459 #endif /* M2M_M2MB_GPIO_API_H */
460 
461 
INT32 m2mb_gpio_close(INT32 fd)
close a GPIO device
#define ENUM_TO_INT(Prefix)
Definition: m2mb_types.h:207
M2MB_GPIO_DEBOUNCE_E
enum used for gpio interrupt debounce
Definition: m2mb_gpio.h:108
M2MB_GPIO_VALUE_E
GPIO output state specification.
Definition: m2mb_gpio.h:147
INT32 m2mb_gpio_ioctl(INT32 fd, M2MB_GPIO_IOCTL_REQUEST_E cmd, void *arg)
configure a GPIO device
VOID(* M2MB_GPIOINT_CB_T)(UINT32 id, UINT32 event)
GPIO interrupt callback function definition.
Definition: m2mb_gpio.h:176
unsigned char UINT8
Definition: m2mb_types.h:86
M2MB_GPIO_PULL_MODE_E GPIO_PuPd
Definition: m2mb_gpio.h:192
M2MB_GPIO_POLARITY_E
enum used for gpio Interrupt Polarity
Definition: m2mb_gpio.h:97
M2MB_GPIO_POLARITY_E GPIO_ITPolarity
Definition: m2mb_gpio.h:194
M2MB_GPIO_IOCTL_REQUEST_E
Definition: m2mb_gpio.h:45
M2MB_GPIOINT_CALLBACK_DATA_T callback_ctxt
Definition: m2mb_gpio.h:198
M2MB_GPIO_DRIVE_E drive
Definition: m2mb_gpio.h:196
M2MB_GPIO_TRIGGER_E
enum used for gpio Interrupt trigger
Definition: m2mb_gpio.h:85
char CHAR
Definition: m2mb_types.h:76
INT32 m2mb_gpio_multi_ioctl(INT32 fd, UINT8 nCmds,...)
: allow a multiple configuration of a GPIO device. Can not be used in order to get data...
VOID * M2MB_GPIOINT_CALLBACK_DATA_T
Definition: m2mb_gpio.h:180
M2MB_GPIO_DIRECTION_E
enum used for gpio direction
Definition: m2mb_gpio.h:74
void VOID
Definition: m2mb_types.h:74
M2MB_GPIO_DIRECTION_E GPIO_Mode
Definition: m2mb_gpio.h:191
M2MB_GPIOINT_CB_T callback_fn
Definition: m2mb_gpio.h:197
M2MB_GPIO_PIN_E GPIO_Pin
Definition: m2mb_gpio.h:190
M2MB_GPIO_DEBOUNCE_E GPIO_ITDebounce
Definition: m2mb_gpio.h:195
INT32 m2mb_gpio_open(const CHAR *path, INT32 flags,...)
open a GPIO device arguments: path: /dev/GPIO# where # is in decimal format flags currently unused re...
unsigned long int UINT32
Definition: m2mb_types.h:88
M2M_GPIO_INTR_TYPE_E
GPIO ISR type: callback or counter.
Definition: m2mb_gpio.h:159
signed int INT32
Definition: m2mb_types.h:82
void * HANDLE
Definition: m2mb_types.h:98
M2MB_GPIO_PULL_MODE_E
enum used for gpio Pull
Definition: m2mb_gpio.h:119
UINT32 M2MB_GPIO_PIN_E
Definition: m2mb_gpio.h:178
M2MB_GPIO_TRIGGER_E GPIO_ITTrigger
Definition: m2mb_gpio.h:193
M2MB_GPIO_DRIVE_E
GPIO pin drive strength.
Definition: m2mb_gpio.h:134