ISSDK  1.8
IoT Sensing Software Development Kit
Data Structures | Macros | Typedefs | Enumerations | Variables
gpio_driver.h File Reference
#include "Driver_Common.h"
#include "Driver_GPIO.h"
#include "fsl_common.h"
#include "fsl_iocon.h"
#include "fsl_gpio.h"
Include dependency graph for gpio_driver.h:

Go to the source code of this file.

Data Structures

struct  gpioConfigKSDK
 The GPIO Configuration KSDK. More...
 
struct  gpioHandleKSDK
 The GPIO pin handle for KSDK. More...
 
struct  gpioIsrObj
 The gpio isr object. More...
 

Macros

#define MAKE_GPIO_HANDLE(PortName, Base, PinNumber, Irq, ClockName, PortNumber)
 Macro to create a Gpio handle. More...
 
#define GPIO_PIN_ID(PortName, PinNumber)   &(PortName##PinNumber)
 

Typedefs

typedef enum port_number port_number_t
 GPIO PORT NAMES. More...
 
typedef enum _gpio_interrupt gpio_interrupt_t
 
typedef struct gpioConfigKSDK gpioConfigKSDK_t
 The GPIO Configuration KSDK. More...
 
typedef struct gpioHandleKSDK gpioHandleKSDK_t
 The GPIO pin handle for KSDK. More...
 
typedef struct gpioIsrObj gpioIsrObj_t
 The gpio isr object. More...
 

Enumerations

enum  port_number {
  GPIO1_NUM = 0, GPIO2_NUM = 1, GPIO3_NUM = 2, GPIO4_NUM = 3,
  GPIO5_NUM = 4, TOTAL_NUMBER_PORT, GPIO1_NUM = 0, GPIO2_NUM = 1,
  GPIO3_NUM = 2, GPIO4_NUM = 3, GPIO5_NUM = 4, TOTAL_NUMBER_PORT,
  PORTA_NUM = 0, PORTB_NUM = 1, PORTC_NUM = 2, PORTD_NUM = 3,
  PORTE_NUM = 4, TOTAL_NUMBER_PORT, PORTA_NUM = 0, PORTB_NUM = 1,
  TOTAL_NUMBER_PORT
}
 GPIO PORT NAMES. More...
 
enum  _gpio_interrupt { kGPIO_InterruptLogic_0 = 0x0U, kGPIO_InterruptLogic_1 = 0x1U, kGPIO_InterruptRisingEdge = 0x2U, kGPIO_InterruptFallingEdge = 0x3U }
 

Variables

GENERIC_DRIVER_GPIO Driver_GPIO_KSDK
 

Macro Definition Documentation

◆ GPIO_PIN_ID

#define GPIO_PIN_ID (   PortName,
  PinNumber 
)    &(PortName##PinNumber)

Definition at line 84 of file gpio_driver.h.

◆ MAKE_GPIO_HANDLE

#define MAKE_GPIO_HANDLE (   PortName,
  Base,
  PinNumber,
  Irq,
  ClockName,
  PortNumber 
)
Value:
static gpioHandleKSDK_t PortName##PinNumber = {.base = Base, \
.pinNumber = PinNumber, \
.mask = 1 << (PinNumber), \
.irq = Irq, \
.clockName = ClockName, \
.portNumber = PortNumber};
The GPIO pin handle for KSDK.
Definition: gpio_driver.h:49
GPIO_Type * base
Definition: gpio_driver.h:51

Macro to create a Gpio handle.

Definition at line 76 of file gpio_driver.h.

Typedef Documentation

◆ gpio_interrupt_t

◆ gpioConfigKSDK_t

The GPIO Configuration KSDK.

◆ gpioHandleKSDK_t

The GPIO pin handle for KSDK.

◆ gpioIsrObj_t

typedef struct gpioIsrObj gpioIsrObj_t

The gpio isr object.

◆ port_number_t

typedef enum port_number port_number_t

GPIO PORT NAMES.

Enumeration Type Documentation

◆ _gpio_interrupt

Enumerator
kGPIO_InterruptLogic_0 

Interrupt on Logic 0 (Level Low).

kGPIO_InterruptLogic_1 

Interrupt on Logic 1 (Level High).

kGPIO_InterruptRisingEdge 

Interrupt on Rising Edge.

kGPIO_InterruptFallingEdge 

Interrupt on Falling Edge.

Definition at line 33 of file gpio_driver.h.

◆ port_number

GPIO PORT NAMES.

Enumerator
GPIO1_NUM 
GPIO2_NUM 
GPIO3_NUM 
GPIO4_NUM 
GPIO5_NUM 
TOTAL_NUMBER_PORT 
GPIO1_NUM 
GPIO2_NUM 
GPIO3_NUM 
GPIO4_NUM 
GPIO5_NUM 
TOTAL_NUMBER_PORT 
PORTA_NUM 
PORTB_NUM 
PORTC_NUM 
PORTD_NUM 
PORTE_NUM 
TOTAL_NUMBER_PORT 
PORTA_NUM 
PORTB_NUM 
TOTAL_NUMBER_PORT 

Definition at line 26 of file gpio_driver.h.

Variable Documentation

◆ Driver_GPIO_KSDK

GENERIC_DRIVER_GPIO Driver_GPIO_KSDK