no-OS
Loading...
Searching...
No Matches
no_os_gpio.h File Reference

Header file of GPIO Interface. More...

#include <stdint.h>
Include dependency graph for no_os_gpio.h:

Classes

struct  no_os_gpio_init_param
 Structure holding the parameters for GPIO initialization. More...
 
struct  no_os_gpio_desc
 Structure holding the GPIO descriptor. More...
 
struct  no_os_gpio_platform_ops
 Structure holding gpio function pointers that point to the platform specific function. More...
 

Macros

#define NO_OS_GPIO_OUT   0x01
 
#define NO_OS_GPIO_IN   0x00
 

Enumerations

enum  no_os_gpio_pull_up {
  NO_OS_PULL_NONE ,
  NO_OS_PULL_UP ,
  NO_OS_PULL_DOWN ,
  NO_OS_PULL_UP_WEAK ,
  NO_OS_PULL_DOWN_WEAK
}
 Enum that holds the possible pull up/ pull down resistor configuration. More...
 
enum  no_os_gpio_values {
  NO_OS_GPIO_LOW ,
  NO_OS_GPIO_HIGH ,
  NO_OS_GPIO_HIGH_Z
}
 Enum that holds the possible output states of a GPIO. More...
 

Functions

int32_t no_os_gpio_get (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Obtain the GPIO decriptor.
 
int32_t no_os_gpio_get_optional (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Get the value of an optional GPIO.
 
int32_t no_os_gpio_remove (struct no_os_gpio_desc *desc)
 Free the resources allocated by no_os_gpio_get().
 
int32_t no_os_gpio_direction_input (struct no_os_gpio_desc *desc)
 Enable the input direction of the specified GPIO.
 
int32_t no_os_gpio_direction_output (struct no_os_gpio_desc *desc, uint8_t value)
 Enable the output direction of the specified GPIO.
 
int32_t no_os_gpio_get_direction (struct no_os_gpio_desc *desc, uint8_t *direction)
 Get the direction of the specified GPIO.
 
int32_t no_os_gpio_set_value (struct no_os_gpio_desc *desc, uint8_t value)
 Set the value of the specified GPIO.
 
int32_t no_os_gpio_get_value (struct no_os_gpio_desc *desc, uint8_t *value)
 Get the value of the specified GPIO.
 

Detailed Description

Header file of GPIO Interface.

Author
DBogdan (drago.nosp@m.s.bo.nosp@m.gdan@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2019(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ NO_OS_GPIO_IN

#define NO_OS_GPIO_IN   0x00

◆ NO_OS_GPIO_OUT

#define NO_OS_GPIO_OUT   0x01

Enumeration Type Documentation

◆ no_os_gpio_pull_up

Enum that holds the possible pull up/ pull down resistor configuration.

Enumerator
NO_OS_PULL_NONE 
NO_OS_PULL_UP 

Strong pull up

NO_OS_PULL_DOWN 

Strong pull down

NO_OS_PULL_UP_WEAK 
NO_OS_PULL_DOWN_WEAK 

◆ no_os_gpio_values

Enum that holds the possible output states of a GPIO.

Enumerator
NO_OS_GPIO_LOW 

GPIO logic low

NO_OS_GPIO_HIGH 

GPIO logic high

NO_OS_GPIO_HIGH_Z 

GPIO high impedance

Function Documentation

◆ no_os_gpio_direction_input()

int32_t no_os_gpio_direction_input ( struct no_os_gpio_desc * desc)

Enable the input direction of the specified GPIO.

Parameters
desc- The GPIO descriptor.
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_direction_output()

int32_t no_os_gpio_direction_output ( struct no_os_gpio_desc * desc,
uint8_t value )

Enable the output direction of the specified GPIO.

Parameters
desc- The GPIO descriptor.
value- The value. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_get()

int32_t no_os_gpio_get ( struct no_os_gpio_desc ** desc,
const struct no_os_gpio_init_param * param )

Obtain the GPIO decriptor.

Parameters
desc- The GPIO descriptor.
param- GPIO Initialization parameters.
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_get_direction()

int32_t no_os_gpio_get_direction ( struct no_os_gpio_desc * desc,
uint8_t * direction )

Get the direction of the specified GPIO.

Parameters
desc- The GPIO descriptor.
direction- The direction. Example: NO_OS_GPIO_OUT NO_OS_GPIO_IN
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_get_optional()

int32_t no_os_gpio_get_optional ( struct no_os_gpio_desc ** desc,
const struct no_os_gpio_init_param * param )

Get the value of an optional GPIO.

Parameters
desc- The GPIO descriptor.
param- GPIO Initialization parameters.
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_get_value()

int32_t no_os_gpio_get_value ( struct no_os_gpio_desc * desc,
uint8_t * value )

Get the value of the specified GPIO.

Parameters
desc- The GPIO descriptor.
value- The value. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_remove()

int32_t no_os_gpio_remove ( struct no_os_gpio_desc * desc)

Free the resources allocated by no_os_gpio_get().

Parameters
desc- The GPIO descriptor.
Returns
0 in case of success, -1 otherwise.

◆ no_os_gpio_set_value()

int32_t no_os_gpio_set_value ( struct no_os_gpio_desc * desc,
uint8_t value )

Set the value of the specified GPIO.

Parameters
desc- The GPIO descriptor.
value- The value. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW
Returns
0 in case of success, -1 otherwise.