MeshX 0.4
This repository provides an implementation for Bluetooth Low Energy (BLE) Mesh network nodes. The project allows you to create BLE mesh nodes that can communicate with each other, enabling the development of smart home solutions or other IoT-based applications.
Loading...
Searching...
No Matches
meshx_gpio_types.h File Reference

MeshX GPIO Type Definitions. More...

#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  meshx_gpio_pin_config_t
 GPIO Pin Configuration Structure. More...
struct  meshx_gpio_pin_state_t
 GPIO Pin State Structure. More...
struct  meshx_gpio_config_header_t
 GPIO Configuration Header. More...
struct  meshx_gpio_pin_config_serialized_t
 Serialized GPIO Pin Configuration. More...
struct  meshx_gpio_pwm_config_serialized_t
 Serialized PWM Configuration. More...
struct  meshx_gpio_intr_config_serialized_t
 Serialized Interrupt Configuration. More...
struct  meshx_gpio_hosted_event_t
 Hosted Mode GPIO Event. More...

Typedefs

typedef void(* meshx_gpio_intr_cb_t) (uint8_t logical_pin, void *user_data)
 GPIO Interrupt Callback Type (forward declaration).

Enumerations

enum  meshx_gpio_intr_type_t {
  MESHX_GPIO_INTR_DISABLED = 0 ,
  MESHX_GPIO_INTR_POSITIVE_EDGE ,
  MESHX_GPIO_INTR_NEGATIVE_EDGE ,
  MESHX_GPIO_INTR_ANY_EDGE ,
  MESHX_GPIO_INTR_LOW_LEVEL ,
  MESHX_GPIO_INTR_HIGH_LEVEL ,
  MESHX_GPIO_INTR_MAX
}
 GPIO Interrupt Trigger Types. More...
enum  meshx_gpio_hosted_mode_t {
  MESHX_GPIO_MODE_NON_HOSTED = 0 ,
  MESHX_GPIO_MODE_HOSTED ,
  MESHX_GPIO_MODE_TRANSITIONING
}
 Hosted Mode State. More...

Detailed Description

MeshX GPIO Type Definitions.

This file defines data structures and types for GPIO configuration and state.

Author
MeshX Team
Date
2024

Typedef Documentation

◆ meshx_gpio_intr_cb_t

typedef void(* meshx_gpio_intr_cb_t) (uint8_t logical_pin, void *user_data)

GPIO Interrupt Callback Type (forward declaration).

Full documentation is in meshx_gpio.h

Enumeration Type Documentation

◆ meshx_gpio_hosted_mode_t

Hosted Mode State.

Enumerator
MESHX_GPIO_MODE_NON_HOSTED 

Non-hosted mode (direct GPIO access)

MESHX_GPIO_MODE_HOSTED  

Hosted mode (UART transport)

MESHX_GPIO_MODE_TRANSITIONING  

Mode transition in progress

169 {
170 MESHX_GPIO_MODE_NON_HOSTED = 0, /**< Non-hosted mode (direct GPIO access) */
171 MESHX_GPIO_MODE_HOSTED, /**< Hosted mode (UART transport) */
172 MESHX_GPIO_MODE_TRANSITIONING /**< Mode transition in progress */
meshx_gpio_hosted_mode_t
Hosted Mode State.
Definition meshx_gpio_types.h:169
@ MESHX_GPIO_MODE_TRANSITIONING
Definition meshx_gpio_types.h:172
@ MESHX_GPIO_MODE_NON_HOSTED
Definition meshx_gpio_types.h:170
@ MESHX_GPIO_MODE_HOSTED
Definition meshx_gpio_types.h:171

◆ meshx_gpio_intr_type_t

GPIO Interrupt Trigger Types.

Forward declaration for use in meshx_gpio_pin_state_t. Full definition is in meshx_gpio.h

Enumerator
MESHX_GPIO_INTR_DISABLED 

Interrupt disabled

MESHX_GPIO_INTR_POSITIVE_EDGE  

Positive edge trigger

MESHX_GPIO_INTR_NEGATIVE_EDGE  

Negative edge trigger

MESHX_GPIO_INTR_ANY_EDGE  

Any edge trigger

MESHX_GPIO_INTR_LOW_LEVEL  

Low level trigger

MESHX_GPIO_INTR_HIGH_LEVEL  

High level trigger

MESHX_GPIO_INTR_MAX  

Maximum interrupt type

28 {
29 MESHX_GPIO_INTR_DISABLED = 0, /**< Interrupt disabled */
30 MESHX_GPIO_INTR_POSITIVE_EDGE, /**< Positive edge trigger */
31 MESHX_GPIO_INTR_NEGATIVE_EDGE, /**< Negative edge trigger */
32 MESHX_GPIO_INTR_ANY_EDGE, /**< Any edge trigger */
33 MESHX_GPIO_INTR_LOW_LEVEL, /**< Low level trigger */
34 MESHX_GPIO_INTR_HIGH_LEVEL, /**< High level trigger */
35 MESHX_GPIO_INTR_MAX /**< Maximum interrupt type */
meshx_gpio_intr_type_t
GPIO Interrupt Trigger Types.
Definition meshx_gpio_types.h:28
@ MESHX_GPIO_INTR_DISABLED
Definition meshx_gpio_types.h:29
@ MESHX_GPIO_INTR_MAX
Definition meshx_gpio_types.h:35
@ MESHX_GPIO_INTR_POSITIVE_EDGE
Definition meshx_gpio_types.h:30
@ MESHX_GPIO_INTR_NEGATIVE_EDGE
Definition meshx_gpio_types.h:31
@ MESHX_GPIO_INTR_ANY_EDGE
Definition meshx_gpio_types.h:32
@ MESHX_GPIO_INTR_LOW_LEVEL
Definition meshx_gpio_types.h:33
@ MESHX_GPIO_INTR_HIGH_LEVEL
Definition meshx_gpio_types.h:34