no-OS
Functions | Variables
chibios_gpio.c File Reference
#include <stdlib.h>
#include <errno.h>
#include "no_os_util.h"
#include "no_os_gpio.h"
#include "no_os_alloc.h"
#include "chibios_gpio.h"
Include dependency graph for chibios_gpio.c:

Functions

int32_t chibios_gpio_get (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Obtain the GPIO descriptor. More...
 
int32_t chibios_gpio_get_optional (struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
 Get the value of an optional GPIO. More...
 
int32_t chibios_gpio_remove (struct no_os_gpio_desc *desc)
 Free the resources allocated by no_os_gpio_get(). More...
 
int32_t chibios_gpio_direction_input (struct no_os_gpio_desc *desc)
 Enable the input direction of the specified GPIO. More...
 
int32_t chibios_gpio_direction_output (struct no_os_gpio_desc *desc, uint8_t value)
 Enable the output direction of the specified GPIO. More...
 
int32_t chibios_gpio_get_direction (struct no_os_gpio_desc *desc, uint8_t *direction)
 Get the direction of the specified GPIO. More...
 
int32_t chibios_gpio_set_value (struct no_os_gpio_desc *desc, uint8_t value)
 Set the value of the specified GPIO. More...
 
int32_t chibios_gpio_get_value (struct no_os_gpio_desc *desc, uint8_t *value)
 Get the value of the specified GPIO. More...
 

Variables

const struct no_os_gpio_platform_ops chibios_gpio_ops
 chibios platform specific GPIO platform ops structure More...
 

Function Documentation

◆ chibios_gpio_direction_input()

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

◆ chibios_gpio_direction_output()

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

◆ chibios_gpio_get()

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

Obtain the GPIO descriptor.

Parameters
desc- The GPIO descriptor.
param- GPIO initialization parameters
Returns
0 in case of success, -1 otherwise.
Here is the caller graph for this function:

◆ chibios_gpio_get_direction()

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

◆ chibios_gpio_get_optional()

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

◆ chibios_gpio_get_value()

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

◆ chibios_gpio_remove()

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

◆ chibios_gpio_set_value()

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

Variable Documentation

◆ chibios_gpio_ops

const struct no_os_gpio_platform_ops chibios_gpio_ops
Initial value:
= {
.gpio_ops_get = &chibios_gpio_get,
.gpio_ops_get_optional = &chibios_gpio_get_optional,
.gpio_ops_remove = &chibios_gpio_remove,
.gpio_ops_direction_input = &chibios_gpio_direction_input,
.gpio_ops_direction_output = &chibios_gpio_direction_output,
.gpio_ops_get_direction = &chibios_gpio_get_direction,
.gpio_ops_set_value = &chibios_gpio_set_value,
.gpio_ops_get_value = &chibios_gpio_get_value,
}

chibios platform specific GPIO platform ops structure

chibios platform specific gpio platform ops structure

chibios_gpio_set_value
int32_t chibios_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: chibios_gpio.c:233
chibios_gpio_direction_output
int32_t chibios_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: chibios_gpio.c:182
chibios_gpio_get_optional
int32_t chibios_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: chibios_gpio.c:124
chibios_gpio_direction_input
int32_t chibios_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition: chibios_gpio.c:155
chibios_gpio_get
int32_t chibios_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO descriptor.
Definition: chibios_gpio.c:81
chibios_gpio_get_direction
int32_t chibios_gpio_get_direction(struct no_os_gpio_desc *desc, uint8_t *direction)
Get the direction of the specified GPIO.
Definition: chibios_gpio.c:212
chibios_gpio_remove
int32_t chibios_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: chibios_gpio.c:140
chibios_gpio_get_value
int32_t chibios_gpio_get_value(struct no_os_gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition: chibios_gpio.c:260