no-OS
Loading...
Searching...
No Matches
generic_gpio.c File Reference
#include <stdint.h>
#include "no_os_error.h"
#include "no_os_util.h"
#include "no_os_gpio.h"
Include dependency graph for generic_gpio.c:

Functions

int32_t generic_gpio_get (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Obtain the GPIO decriptor.
 
int32_t generic_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 generic_gpio_remove (struct no_os_gpio_desc *desc)
 Free the resources allocated by no_os_gpio_get().
 
int32_t generic_gpio_direction_input (struct no_os_gpio_desc *desc)
 Enable the input direction of the specified GPIO.
 
int32_t generic_gpio_direction_output (struct no_os_gpio_desc *desc, uint8_t value)
 Enable the output direction of the specified GPIO.
 
int32_t generic_gpio_get_direction (struct no_os_gpio_desc *desc, uint8_t *direction)
 Get the direction of the specified GPIO.
 
int32_t generic_gpio_set_value (struct no_os_gpio_desc *desc, uint8_t value)
 Set the value of the specified GPIO.
 
int32_t generic_gpio_get_value (struct no_os_gpio_desc *desc, uint8_t *value)
 Get the value of the specified GPIO.
 

Variables

const struct no_os_gpio_platform_ops generic_gpio_ops
 Generic platform GPIO ops.
 

Detailed Description

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

Function Documentation

◆ generic_gpio_direction_input()

int32_t generic_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.

◆ generic_gpio_direction_output()

int32_t generic_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.

◆ generic_gpio_get()

int32_t generic_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.

◆ generic_gpio_get_direction()

int32_t generic_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.

◆ generic_gpio_get_optional()

int32_t generic_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.

◆ generic_gpio_get_value()

int32_t generic_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.

◆ generic_gpio_remove()

int32_t generic_gpio_remove ( struct no_os_gpio_desc * desc)

Free the resources allocated by no_os_gpio_get().

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

◆ generic_gpio_set_value()

int32_t generic_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 taken from the enum gpio_values members. Example: NO_OS_GPIO_HIGH NO_OS_GPIO_LOW NO_OS_GPIO_HIGH_Z
Returns
0 in case of success, -1 otherwise.

Variable Documentation

◆ generic_gpio_ops

const struct no_os_gpio_platform_ops generic_gpio_ops
Initial value:
= {
.gpio_ops_get = &generic_gpio_get,
.gpio_ops_get_optional = &generic_gpio_get_optional,
.gpio_ops_remove = &generic_gpio_remove,
.gpio_ops_direction_input = &generic_gpio_direction_input,
.gpio_ops_direction_output = &generic_gpio_direction_output,
.gpio_ops_get_direction = &generic_gpio_get_direction,
.gpio_ops_set_value = &generic_gpio_set_value,
.gpio_ops_get_value = &generic_gpio_get_value,
}
int32_t generic_gpio_get_value(struct no_os_gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition generic_gpio.c:131
int32_t generic_gpio_get_direction(struct no_os_gpio_desc *desc, uint8_t *direction)
Get the direction of the specified GPIO.
Definition generic_gpio.c:96
int32_t generic_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition generic_gpio.c:64
int32_t generic_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition generic_gpio.c:114
int32_t generic_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition generic_gpio.c:21
int32_t generic_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition generic_gpio.c:36
int32_t generic_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition generic_gpio.c:52
int32_t generic_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition generic_gpio.c:79

Generic platform GPIO ops.