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_pin_config_t Struct Reference

GPIO Pin Configuration Structure. More...

#include <meshx_gpio_types.h>

Data Fields

uint8_t logical_pin
uint8_t physical_pin
uint8_t mode
uint8_t pull
uint8_t drive_strength
uint8_t initial_level
bool signal_inversion
union { 
   struct { 
      uint8_t   trigger 
      uint8_t   task_priority 
      uint16_t   task_stack_size 
   }   interrupt
 Interrupt configuration (for input pins with interrupts). More...
   struct { 
      uint32_t   frequency 
      uint8_t   duty_cycle 
      uint8_t   resolution 
      uint8_t   channel 
   }   pwm
 PWM configuration (for PWM output pins). More...
   struct { 
      uint16_t   function_id 
      uint32_t   args [4] 
      uint8_t   arg_count 
   }   custom
 Custom function configuration. More...
mode_config
 Mode-specific configuration (union based on mode).

Detailed Description

GPIO Pin Configuration Structure.

This structure defines the configuration for a single GPIO pin. It is used both for compile-time configuration and runtime state.

Field Documentation

◆ arg_count

uint8_t meshx_gpio_pin_config_t::arg_count

Number of arguments

◆ args

uint32_t meshx_gpio_pin_config_t::args[4]

Custom function arguments

◆ channel

uint8_t meshx_gpio_pin_config_t::channel

Hardware PWM channel

◆ [struct]

struct { ... } meshx_gpio_pin_config_t::custom

Custom function configuration.

◆ drive_strength

uint8_t meshx_gpio_pin_config_t::drive_strength

Drive strength (meshx_gpio_drive_t)

◆ duty_cycle

uint8_t meshx_gpio_pin_config_t::duty_cycle

Initial duty cycle (0-100%)

◆ frequency

uint32_t meshx_gpio_pin_config_t::frequency

PWM frequency in Hz

◆ function_id

uint16_t meshx_gpio_pin_config_t::function_id

Custom function ID

◆ initial_level

uint8_t meshx_gpio_pin_config_t::initial_level

Initial output level (0 or 1)

◆ [struct]

struct { ... } meshx_gpio_pin_config_t::interrupt

Interrupt configuration (for input pins with interrupts).

◆ logical_pin

uint8_t meshx_gpio_pin_config_t::logical_pin

Logical pin number (0-255)

◆ mode

uint8_t meshx_gpio_pin_config_t::mode

Pin mode (meshx_gpio_mode_t)

◆ [union]

union { ... } meshx_gpio_pin_config_t::mode_config

Mode-specific configuration (union based on mode).

◆ physical_pin

uint8_t meshx_gpio_pin_config_t::physical_pin

Physical pin number (BSP-specific)

◆ pull

uint8_t meshx_gpio_pin_config_t::pull

Pull resistor setting (meshx_gpio_pull_t)

◆ [struct]

struct { ... } meshx_gpio_pin_config_t::pwm

PWM configuration (for PWM output pins).

◆ resolution

uint8_t meshx_gpio_pin_config_t::resolution

PWM resolution in bits

◆ signal_inversion

bool meshx_gpio_pin_config_t::signal_inversion

Signal inversion (active-low)

◆ task_priority

uint8_t meshx_gpio_pin_config_t::task_priority

Interrupt task priority

◆ task_stack_size

uint16_t meshx_gpio_pin_config_t::task_stack_size

Interrupt task stack size

◆ trigger

uint8_t meshx_gpio_pin_config_t::trigger

Interrupt trigger type (meshx_gpio_intr_type_t)


The documentation for this struct was generated from the following file: