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

Implementation of the GPIO Interface. More...

#include <inttypes.h>
#include "no_os_gpio.h"
#include <stdlib.h>
#include "no_os_error.h"
Include dependency graph for no_os_gpio.c:

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

Implementation of the GPIO Interface.

Author
Antoniu Miclaus (anton.nosp@m.iu.m.nosp@m.iclau.nosp@m.s@an.nosp@m.alog..nosp@m.com)

Copyright 2020(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

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.