12#ifndef __MESHX_IO_BRIDGE_H
13#define __MESHX_IO_BRIDGE_H
101 const uint32_t* args,
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
meshx_io_handle_t meshx_io_create(const meshx_io_config_t *config)
Create IO instance from configuration.
Definition meshx_io_bridge.cpp:23
const char * meshx_io_get_name(meshx_io_handle_t handle)
Get pin name.
Definition meshx_io_bridge.cpp:87
bool meshx_io_is_function_supported(meshx_io_handle_t handle, meshx_io_func_t function)
Check if function is supported.
Definition meshx_io_bridge.cpp:94
meshx_err_t meshx_io_set_level(meshx_io_handle_t handle, uint8_t level)
Set pin level (convenience function).
Definition meshx_io_bridge.cpp:102
uint8_t meshx_io_get_logical_pin(meshx_io_handle_t handle)
Get logical pin number.
Definition meshx_io_bridge.cpp:80
meshx_err_t meshx_io_get_level(meshx_io_handle_t handle, uint8_t *level)
Get pin level (convenience function).
Definition meshx_io_bridge.cpp:110
void meshx_io_destroy(meshx_io_handle_t handle)
Destroy IO instance.
Definition meshx_io_bridge.cpp:56
meshx_err_t meshx_io_execute(meshx_io_handle_t handle, meshx_io_func_t function, const uint32_t *args, uint8_t arg_count)
Execute IO function.
Definition meshx_io_bridge.cpp:62
meshx_io_func_t
IO function types (C compatible).
Definition meshx_io_bridge.h:31
@ MESHX_IO_FUNC_SET_PWM_FREQUENCY
Definition meshx_io_bridge.h:36
@ MESHX_IO_FUNC_ENABLE_INTERRUPT
Definition meshx_io_bridge.h:39
@ MESHX_IO_FUNC_MAX
Definition meshx_io_bridge.h:41
@ MESHX_IO_FUNC_SET_LEVEL
Definition meshx_io_bridge.h:32
@ MESHX_IO_FUNC_UNREGISTER_INTERRUPT
Definition meshx_io_bridge.h:38
@ MESHX_IO_FUNC_CUSTOM
Definition meshx_io_bridge.h:40
@ MESHX_IO_FUNC_SET_PWM_DUTY
Definition meshx_io_bridge.h:35
@ MESHX_IO_FUNC_GET_LEVEL
Definition meshx_io_bridge.h:33
@ MESHX_IO_FUNC_REGISTER_INTERRUPT
Definition meshx_io_bridge.h:37
@ MESHX_IO_FUNC_TOGGLE
Definition meshx_io_bridge.h:34
meshx_err_t meshx_io_deinit(void)
Deinitialize IO subsystem.
Definition meshx_io_bridge.cpp:132
meshx_err_t meshx_io_init(void)
Initialize IO subsystem.
Definition meshx_io_bridge.cpp:126
meshx_err_t meshx_io_toggle(meshx_io_handle_t handle)
Toggle pin level (convenience function).
Definition meshx_io_bridge.cpp:118
void * meshx_io_handle_t
Opaque handle to IO instance.
Definition meshx_io_bridge.h:26
IO configuration structure (C compatible).
Definition meshx_io_bridge.h:47
uint8_t channel
Definition meshx_io_bridge.h:65
uint8_t io_type
Definition meshx_io_bridge.h:49
uint8_t mode
Definition meshx_io_bridge.h:54
uint8_t drive
Definition meshx_io_bridge.h:56
uint32_t custom_data
Definition meshx_io_bridge.h:70
uint16_t custom_id
Definition meshx_io_bridge.h:69
bool signal_inversion
Definition meshx_io_bridge.h:58
uint8_t resolution
Definition meshx_io_bridge.h:64
uint8_t duty_cycle
Definition meshx_io_bridge.h:63
const char * name
Definition meshx_io_bridge.h:50
uint8_t pull
Definition meshx_io_bridge.h:55
uint8_t initial_level
Definition meshx_io_bridge.h:57
uint8_t logical_pin
Definition meshx_io_bridge.h:48
uint32_t frequency
Definition meshx_io_bridge.h:62