#ifndef _BCL_H
#define _BCL_H
#include <twr_adc.h>
#define BC_ADC_CHANNEL_A0 TWR_ADC_CHANNEL_A0
#define BC_ADC_CHANNEL_A1 TWR_ADC_CHANNEL_A1
#define BC_ADC_CHANNEL_A2 TWR_ADC_CHANNEL_A2
#define BC_ADC_CHANNEL_A3 TWR_ADC_CHANNEL_A3
#define BC_ADC_CHANNEL_A4 TWR_ADC_CHANNEL_A4
#define BC_ADC_CHANNEL_A5 TWR_ADC_CHANNEL_A5
#define BC_ADC_CHANNEL_A6 TWR_ADC_CHANNEL_A6
#define bc_adc_channel_t twr_adc_channel_t
#define BC_ADC_OVERSAMPLING_NONE TWR_ADC_OVERSAMPLING_NONE
#define BC_ADC_OVERSAMPLING_2 TWR_ADC_OVERSAMPLING_2
#define BC_ADC_OVERSAMPLING_4 TWR_ADC_OVERSAMPLING_4
#define BC_ADC_OVERSAMPLING_8 TWR_ADC_OVERSAMPLING_8
#define BC_ADC_OVERSAMPLING_16 TWR_ADC_OVERSAMPLING_16
#define BC_ADC_OVERSAMPLING_32 TWR_ADC_OVERSAMPLING_32
#define BC_ADC_OVERSAMPLING_64 TWR_ADC_OVERSAMPLING_64
#define BC_ADC_OVERSAMPLING_128 TWR_ADC_OVERSAMPLING_128
#define BC_ADC_OVERSAMPLING_256 TWR_ADC_OVERSAMPLING_256
#define bc_adc_oversampling_t twr_adc_oversampling_t
#define BC_ADC_RESOLUTION_12_BIT TWR_ADC_RESOLUTION_12_BIT
#define BC_ADC_RESOLUTION_10_BIT TWR_ADC_RESOLUTION_10_BIT
#define BC_ADC_RESOLUTION_8_BIT TWR_ADC_RESOLUTION_8_BIT
#define BC_ADC_RESOLUTION_6_BIT TWR_ADC_RESOLUTION_6_BIT
#define bc_adc_resolution_t twr_adc_resolution_t
#define BC_ADC_EVENT_DONE TWR_ADC_EVENT_DONE
#define bc_adc_event_t twr_adc_event_t
#define bc_adc_init twr_adc_init
#define bc_adc_is_ready twr_adc_is_ready
#define bc_adc_get_value twr_adc_get_value
#define bc_adc_set_event_handler twr_adc_set_event_handler
#define bc_adc_async_measure twr_adc_async_measure
#define bc_adc_async_get_value twr_adc_async_get_value
#define bc_adc_async_get_voltage twr_adc_async_get_voltage
#define bc_adc_get_vdda_voltage twr_adc_get_vdda_voltage
#define bc_adc_calibration twr_adc_calibration
#define bc_adc_resolution_set twr_adc_resolution_set
#define bc_adc_oversampling_set twr_adc_oversampling_set

#include <twr_aes.h>
#define BC_AES_KEYLEN TWR_AES_KEYLEN
#define BC_AES_IVLEN TWR_AES_IVLEN
#define bc_aes_init twr_aes_init
#define bc_aes_key_derivation twr_aes_key_derivation
#define bc_aes_ecb_encrypt twr_aes_ecb_encrypt
#define bc_aes_ecb_decrypt twr_aes_ecb_decrypt
#define bc_aes_cbc_encrypt twr_aes_cbc_encrypt
#define bc_aes_cbc_decrypt twr_aes_cbc_decrypt
#define bc_aes_key_from_uint8 twr_aes_key_from_uint8
#define bc_aes_iv_from_uint8 twr_aes_iv_from_uint8

#include <twr_analog_sensor.h>
#define BC_ANALOG_SENSOR_EVENT_ERROR TWR_ANALOG_SENSOR_EVENT_ERROR
#define BC_ANALOG_SENSOR_EVENT_UPDATE TWR_ANALOG_SENSOR_EVENT_UPDATE
#define bc_analog_sensor_event_t twr_analog_sensor_event_t
#define bc_analog_sensor_t twr_analog_sensor_t
#define bc_tick_t twr_tick_t
#define bc_analog_sensor_driver_t twr_analog_sensor_driver_t
#define BC_ANALOG_SENSOR_STATE_ERROR TWR_ANALOG_SENSOR_STATE_ERROR
#define BC_ANALOG_SENSOR_STATE_ENABLE TWR_ANALOG_SENSOR_STATE_ENABLE
#define BC_ANALOG_SENSOR_STATE_MEASURE TWR_ANALOG_SENSOR_STATE_MEASURE
#define BC_ANALOG_SENSOR_STATE_DISABLE TWR_ANALOG_SENSOR_STATE_DISABLE
#define BC_ANALOG_SENSOR_STATE_UPDATE TWR_ANALOG_SENSOR_STATE_UPDATE
#define bc_analog_sensor_state_t twr_analog_sensor_state_t
#define bc_analog_sensor_init twr_analog_sensor_init
#define bc_analog_sensor_set_event_handler twr_analog_sensor_set_event_handler
#define bc_analog_sensor_set_update_interval twr_analog_sensor_set_update_interval
#define bc_analog_sensor_measure twr_analog_sensor_measure
#define bc_analog_sensor_get_result twr_analog_sensor_get_result

#include <twr_atci.h>
#define BC_ATCI_UART TWR_ATCI_UART
#define BC_UART_UART2 TWR_UART_UART2
#define BC_ATCI_COMMANDS_LENGTH TWR_ATCI_COMMANDS_LENGTH
#define BC_ATCI_COMMAND_CLAC TWR_ATCI_COMMAND_CLAC
#define BC_ATCI_COMMAND_HELP TWR_ATCI_COMMAND_HELP
#define bc_atci_param_t twr_atci_param_t
#define bc_atci_command_t twr_atci_command_t
#define bc_atci_init twr_atci_init
#define bc_atci_write_ok twr_atci_write_ok
#define bc_atci_write_error twr_atci_write_error
#define bc_atci_printf twr_atci_printf
#define bc_atci_skip_response twr_atci_skip_response
#define bc_atci_clac_action twr_atci_clac_action
#define bc_atci_help_action twr_atci_help_action
#define bc_atci_get_uint twr_atci_get_uint
#define bc_atci_get_string twr_atci_get_string
#define bc_atci_get_buffer_from_hex_string twr_atci_get_buffer_from_hex_string
#define bc_atci_is_comma twr_atci_is_comma
#define bc_atci_is_quotation_mark twr_atci_is_quotation_mark
#define bc_atci_set_uart_active_callback twr_atci_set_uart_active_callback

#include <twr_atsha204.h>
#define BC_ATSHA204_RX_BUFFER_SIZE TWR_ATSHA204_RX_BUFFER_SIZE
#define BC_ATSHA204_EVENT_ERROR TWR_ATSHA204_EVENT_ERROR
#define BC_ATSHA204_EVENT_REVISION_NUMBER TWR_ATSHA204_EVENT_REVISION_NUMBER
#define BC_ATSHA204_EVENT_SERIAL_NUMBER TWR_ATSHA204_EVENT_SERIAL_NUMBER
#define bc_atsha204_event_t twr_atsha204_event_t
#define bc_atsha204_t twr_atsha204_t
#define BC_ATSHA204_STATE_READY TWR_ATSHA204_STATE_READY
#define BC_ATSHA204_STATE_READ_SERIAL_NUMBER TWR_ATSHA204_STATE_READ_SERIAL_NUMBER
#define BC_ATSHA204_STATE_READ_SERIAL_NUMBER2 TWR_ATSHA204_STATE_READ_SERIAL_NUMBER2
#define BC_ATSHA204_STATE_SERIAL_NUMBER TWR_ATSHA204_STATE_SERIAL_NUMBER
#define bc_atsha204_state_t twr_atsha204_state_t
#define bc_atsha204_init twr_atsha204_init
#define bc_atsha204_set_event_handler twr_atsha204_set_event_handler
#define bc_atsha204_is_ready twr_atsha204_is_ready
#define bc_atsha204_read_serial_number twr_atsha204_read_serial_number
#define bc_atsha204_get_serial_number twr_atsha204_get_serial_number

#include <twr_base64.h>
#define bc_base64_encode twr_base64_encode
#define bc_base64_decode twr_base64_decode
#define bc_base64_calculate_encode_length twr_base64_calculate_encode_length
#define bc_base64_calculate_decode_length twr_base64_calculate_decode_length

#include <twr_button.h>
#define BC_BUTTON_EVENT_PRESS TWR_BUTTON_EVENT_PRESS
#define BC_BUTTON_EVENT_RELEASE TWR_BUTTON_EVENT_RELEASE
#define BC_BUTTON_EVENT_CLICK TWR_BUTTON_EVENT_CLICK
#define BC_BUTTON_EVENT_HOLD TWR_BUTTON_EVENT_HOLD
#define bc_button_event_t twr_button_event_t
#define bc_button_t twr_button_t
#define bc_button_driver_t twr_button_driver_t
#define bc_button_channel_t twr_button_channel_t
#define bc_button_init twr_button_init
#define bc_button_init_virtual twr_button_init_virtual
#define bc_button_set_event_handler twr_button_set_event_handler
#define bc_button_set_scan_interval twr_button_set_scan_interval
#define bc_button_set_debounce_time twr_button_set_debounce_time
#define bc_button_set_click_timeout twr_button_set_click_timeout
#define bc_button_set_hold_time twr_button_set_hold_time

#include <twr_cmwx1zzabz.h>
#define BC_CMWX1ZZABZ_TX_MAX_PACKET_SIZE TWR_CMWX1ZZABZ_TX_MAX_PACKET_SIZE
#define BC_CMWX1ZZABZ_TX_MAX_PACKET_SIZE TWR_CMWX1ZZABZ_TX_MAX_PACKET_SIZE
#define BC_CMWX1ZZABZ_RX_FIFO_BUFFER_SIZE TWR_CMWX1ZZABZ_RX_FIFO_BUFFER_SIZE
#define BC_CMWX1ZZABZ_EVENT_READY TWR_CMWX1ZZABZ_EVENT_READY
#define BC_CMWX1ZZABZ_EVENT_ERROR TWR_CMWX1ZZABZ_EVENT_ERROR
#define BC_CMWX1ZZABZ_EVENT_SEND_MESSAGE_START TWR_CMWX1ZZABZ_EVENT_SEND_MESSAGE_START
#define BC_CMWX1ZZABZ_EVENT_SEND_MESSAGE_DONE TWR_CMWX1ZZABZ_EVENT_SEND_MESSAGE_DONE
#define BC_CMWX1ZZABZ_EVENT_CONFIG_SAVE_DONE TWR_CMWX1ZZABZ_EVENT_CONFIG_SAVE_DONE
#define BC_CMWX1ZZABZ_EVENT_JOIN_SUCCESS TWR_CMWX1ZZABZ_EVENT_JOIN_SUCCESS
#define BC_CMWX1ZZABZ_EVENT_JOIN_ERROR TWR_CMWX1ZZABZ_EVENT_JOIN_ERROR
#define BC_CMWX1ZZABZ_EVENT_MESSAGE_RECEIVED TWR_CMWX1ZZABZ_EVENT_MESSAGE_RECEIVED
#define BC_CMWX1ZZABZ_EVENT_MESSAGE_RETRANSMISSION TWR_CMWX1ZZABZ_EVENT_MESSAGE_RETRANSMISSION
#define BC_CMWX1ZZABZ_EVENT_MESSAGE_CONFIRMED TWR_CMWX1ZZABZ_EVENT_MESSAGE_CONFIRMED
#define BC_CMWX1ZZABZ_EVENT_MESSAGE_NOT_CONFIRMED TWR_CMWX1ZZABZ_EVENT_MESSAGE_NOT_CONFIRMED
#define bc_cmwx1zzabz_event_t twr_cmwx1zzabz_event_t
#define bc_cmwx1zzabz_t twr_cmwx1zzabz_t
#define BC_CMWX1ZZABZ_CONFIG_MODE_ABP TWR_CMWX1ZZABZ_CONFIG_MODE_ABP
#define BC_CMWX1ZZABZ_CONFIG_MODE_OTAA TWR_CMWX1ZZABZ_CONFIG_MODE_OTAA
#define bc_cmwx1zzabz_config_mode_t twr_cmwx1zzabz_config_mode_t
#define BC_CMWX1ZZABZ_CONFIG_BAND_AS923 TWR_CMWX1ZZABZ_CONFIG_BAND_AS923
#define BC_CMWX1ZZABZ_CONFIG_BAND_AU915 TWR_CMWX1ZZABZ_CONFIG_BAND_AU915
#define BC_CMWX1ZZABZ_CONFIG_BAND_EU868 TWR_CMWX1ZZABZ_CONFIG_BAND_EU868
#define BC_CMWX1ZZABZ_CONFIG_BAND_KR920 TWR_CMWX1ZZABZ_CONFIG_BAND_KR920
#define BC_CMWX1ZZABZ_CONFIG_BAND_IN865 TWR_CMWX1ZZABZ_CONFIG_BAND_IN865
#define BC_CMWX1ZZABZ_CONFIG_BAND_US915 TWR_CMWX1ZZABZ_CONFIG_BAND_US915
#define bc_cmwx1zzabz_config_band_t twr_cmwx1zzabz_config_band_t
#define BC_CMWX1ZZABZ_CONFIG_CLASS_A TWR_CMWX1ZZABZ_CONFIG_CLASS_A
#define BC_CMWX1ZZABZ_CONFIG_CLASS_C TWR_CMWX1ZZABZ_CONFIG_CLASS_C
#define bc_cmwx1zzabz_config_class_t twr_cmwx1zzabz_config_class_t
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF12_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF12_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF11_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF11_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF10_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF10_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF9_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF9_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF8_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF8_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF7_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF7_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF7_250KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_SF7_250KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AS923_FSK_50KBPS TWR_CMWX1ZZABZ_CONFIG_DATARATE_AS923_FSK_50KBPS
#define bc_cmwx1zzabz_config_datarate_as923_t twr_cmwx1zzabz_config_datarate_as923_t
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF12_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF12_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF11_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF11_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF10_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF10_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF9_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF9_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF8_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF8_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF7_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF7_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF8_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF8_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF12_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF12_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF11_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF11_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF10_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF10_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF9_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF9_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF8_500KHZ_2 TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF8_500KHZ_2
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF7_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_AU915_SF7_500KHZ
#define bc_cmwx1zzabz_config_datarate_au915_t twr_cmwx1zzabz_config_datarate_au915_t
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF12_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF12_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF11_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF11_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF10_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF10_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF9_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF9_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF8_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF8_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF7_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF7_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF7_250KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_SF7_250KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_EU868_FSK_50KBPS TWR_CMWX1ZZABZ_CONFIG_DATARATE_EU868_FSK_50KBPS
#define bc_cmwx1zzabz_config_datarate_eu868_t twr_cmwx1zzabz_config_datarate_eu868_t
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF12_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF12_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF11_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF11_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF10_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF10_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF9_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF9_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF8_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF8_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF7_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_KR920_SF7_125KHZ
#define bc_cmwx1zzabz_config_datarate_kr920_t twr_cmwx1zzabz_config_datarate_kr920_t
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF10_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF10_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF9_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF9_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF8_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF8_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF7_125KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF7_125KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF8_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF8_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF12_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF12_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF11_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF11_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF10_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF10_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF9_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF9_500KHZ
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF8_500KHZ_2 TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF8_500KHZ_2
#define BC_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF7_500KHZ TWR_CMWX1ZZABZ_CONFIG_DATARATE_US915_SF7_500KHZ
#define bc_cmwx1zzabz_config_datarate_us915_t twr_cmwx1zzabz_config_datarate_us915_t
#define BC_CMWX1ZZABZ_CONFIG_INDEX_DEVADDR TWR_CMWX1ZZABZ_CONFIG_INDEX_DEVADDR
#define BC_CMWX1ZZABZ_CONFIG_INDEX_DEVEUI TWR_CMWX1ZZABZ_CONFIG_INDEX_DEVEUI
#define BC_CMWX1ZZABZ_CONFIG_INDEX_APPEUI TWR_CMWX1ZZABZ_CONFIG_INDEX_APPEUI
#define BC_CMWX1ZZABZ_CONFIG_INDEX_NWKSKEY TWR_CMWX1ZZABZ_CONFIG_INDEX_NWKSKEY
#define BC_CMWX1ZZABZ_CONFIG_INDEX_APPSKEY TWR_CMWX1ZZABZ_CONFIG_INDEX_APPSKEY
#define BC_CMWX1ZZABZ_CONFIG_INDEX_APPKEY TWR_CMWX1ZZABZ_CONFIG_INDEX_APPKEY
#define BC_CMWX1ZZABZ_CONFIG_INDEX_BAND TWR_CMWX1ZZABZ_CONFIG_INDEX_BAND
#define BC_CMWX1ZZABZ_CONFIG_INDEX_MODE TWR_CMWX1ZZABZ_CONFIG_INDEX_MODE
#define BC_CMWX1ZZABZ_CONFIG_INDEX_CLASS TWR_CMWX1ZZABZ_CONFIG_INDEX_CLASS
#define BC_CMWX1ZZABZ_CONFIG_INDEX_RX2 TWR_CMWX1ZZABZ_CONFIG_INDEX_RX2
#define BC_CMWX1ZZABZ_CONFIG_INDEX_NWK TWR_CMWX1ZZABZ_CONFIG_INDEX_NWK
#define BC_CMWX1ZZABZ_CONFIG_INDEX_DATARATE TWR_CMWX1ZZABZ_CONFIG_INDEX_DATARATE
#define BC_CMWX1ZZABZ_CONFIG_INDEX_LAST_ITEM TWR_CMWX1ZZABZ_CONFIG_INDEX_LAST_ITEM
#define bc_cmwx1zzabz_config_index_t twr_cmwx1zzabz_config_index_t
#define BC_CMWX1ZZABZ_STATE_READY TWR_CMWX1ZZABZ_STATE_READY
#define BC_CMWX1ZZABZ_STATE_ERROR TWR_CMWX1ZZABZ_STATE_ERROR
#define BC_CMWX1ZZABZ_STATE_INITIALIZE TWR_CMWX1ZZABZ_STATE_INITIALIZE
#define BC_CMWX1ZZABZ_STATE_IDLE TWR_CMWX1ZZABZ_STATE_IDLE
#define BC_CMWX1ZZABZ_STATE_INITIALIZE_COMMAND_SEND TWR_CMWX1ZZABZ_STATE_INITIALIZE_COMMAND_SEND
#define BC_CMWX1ZZABZ_STATE_INITIALIZE_COMMAND_RESPONSE TWR_CMWX1ZZABZ_STATE_INITIALIZE_COMMAND_RESPONSE
#define BC_CMWX1ZZABZ_STATE_CONFIG_SAVE_SEND TWR_CMWX1ZZABZ_STATE_CONFIG_SAVE_SEND
#define BC_CMWX1ZZABZ_STATE_CONFIG_SAVE_RESPONSE TWR_CMWX1ZZABZ_STATE_CONFIG_SAVE_RESPONSE
#define BC_CMWX1ZZABZ_STATE_SEND_MESSAGE_COMMAND TWR_CMWX1ZZABZ_STATE_SEND_MESSAGE_COMMAND
#define BC_CMWX1ZZABZ_STATE_SEND_MESSAGE_CONFIRMED_COMMAND TWR_CMWX1ZZABZ_STATE_SEND_MESSAGE_CONFIRMED_COMMAND
#define BC_CMWX1ZZABZ_STATE_SEND_MESSAGE_RESPONSE TWR_CMWX1ZZABZ_STATE_SEND_MESSAGE_RESPONSE
#define BC_CMWX1ZZABZ_STATE_JOIN_SEND TWR_CMWX1ZZABZ_STATE_JOIN_SEND
#define BC_CMWX1ZZABZ_STATE_JOIN_RESPONSE TWR_CMWX1ZZABZ_STATE_JOIN_RESPONSE
#define BC_CMWX1ZZABZ_STATE_RECEIVE TWR_CMWX1ZZABZ_STATE_RECEIVE
#define bc_cmwx1zzabz_state_t twr_cmwx1zzabz_state_t
#define bc_cmwx1zzabz_init twr_cmwx1zzabz_init
#define bc_cmwx1zzabz_set_event_handler twr_cmwx1zzabz_set_event_handler
#define bc_cmwx1zzabz_is_ready twr_cmwx1zzabz_is_ready
#define bc_cmwx1zzabz_send_message twr_cmwx1zzabz_send_message
#define bc_cmwx1zzabz_send_message_confirmed twr_cmwx1zzabz_send_message_confirmed
#define bc_cmwx1zzabz_set_devaddr twr_cmwx1zzabz_set_devaddr
#define bc_cmwx1zzabz_get_devaddr twr_cmwx1zzabz_get_devaddr
#define bc_cmwx1zzabz_set_deveui twr_cmwx1zzabz_set_deveui
#define bc_cmwx1zzabz_get_deveui twr_cmwx1zzabz_get_deveui
#define bc_cmwx1zzabz_set_appeui twr_cmwx1zzabz_set_appeui
#define bc_cmwx1zzabz_get_appeui twr_cmwx1zzabz_get_appeui
#define bc_cmwx1zzabz_set_nwkskey twr_cmwx1zzabz_set_nwkskey
#define bc_cmwx1zzabz_get_nwkskey twr_cmwx1zzabz_get_nwkskey
#define bc_cmwx1zzabz_set_appskey twr_cmwx1zzabz_set_appskey
#define bc_cmwx1zzabz_get_appskey twr_cmwx1zzabz_get_appskey
#define bc_cmwx1zzabz_set_appkey twr_cmwx1zzabz_set_appkey
#define bc_cmwx1zzabz_get_appkey twr_cmwx1zzabz_get_appkey
#define bc_cmwx1zzabz_set_band twr_cmwx1zzabz_set_band
#define bc_cmwx1zzabz_get_band twr_cmwx1zzabz_get_band
#define bc_cmwx1zzabz_set_mode twr_cmwx1zzabz_set_mode
#define bc_cmwx1zzabz_get_mode twr_cmwx1zzabz_get_mode
#define bc_cmwx1zzabz_set_class twr_cmwx1zzabz_set_class
#define bc_cmwx1zzabz_get_class twr_cmwx1zzabz_get_class
#define bc_cmwx1zzabz_join twr_cmwx1zzabz_join
#define bc_cmwx1zzabz_get_received_message_port twr_cmwx1zzabz_get_received_message_port
#define bc_cmwx1zzabz_get_received_message_length twr_cmwx1zzabz_get_received_message_length
#define bc_cmwx1zzabz_get_received_message_data twr_cmwx1zzabz_get_received_message_data
#define bc_cmwx1zzabz_set_port twr_cmwx1zzabz_set_port
#define bc_cmwx1zzabz_get_port twr_cmwx1zzabz_get_port
#define bc_cmwx1zzabz_set_rx2 twr_cmwx1zzabz_set_rx2
#define bc_cmwx1zzabz_get_rx2 twr_cmwx1zzabz_get_rx2
#define bc_cmwx1zzabz_set_nwk_public twr_cmwx1zzabz_set_nwk_public
#define bc_cmwx1zzabz_get_nwk_public twr_cmwx1zzabz_get_nwk_public
#define bc_cmwx1zzabz_set_datarate twr_cmwx1zzabz_set_datarate
#define bc_cmwx1zzabz_get_datarate twr_cmwx1zzabz_get_datarate
#define bc_cmwx1zzabz_set_debug twr_cmwx1zzabz_set_debug

#include <twr_config.h>
#define bc_config_init twr_config_init
#define bc_config_reset twr_config_reset
#define bc_config_load twr_config_load
#define bc_config_save twr_config_save

#include <twr_cp201t.h>
#define BC_CP201T_EVENT_ERROR TWR_CP201T_EVENT_ERROR
#define BC_CP201T_EVENT_UPDATE TWR_CP201T_EVENT_UPDATE
#define bc_cp201t_event_t twr_cp201t_event_t
#define bc_cp201t_init twr_cp201t_init
#define bc_cp201t_set_event_handler twr_cp201t_set_event_handler
#define bc_cp201t_set_update_interval twr_cp201t_set_update_interval
#define bc_cp201t_get_temperature_celsius twr_cp201t_get_temperature_celsius

#include <twr_cy8cmbr3102.h>
#define BC_CY8CMBR3102_EVENT_ERROR TWR_CY8CMBR3102_EVENT_ERROR
#define BC_CY8CMBR3102_EVENT_TOUCH TWR_CY8CMBR3102_EVENT_TOUCH
#define bc_cy8cmbr3102_event_t twr_cy8cmbr3102_event_t
#define bc_cy8cmbr3102_t twr_cy8cmbr3102_t
#define BC_CY8CMBR3102_STATE_ERROR TWR_CY8CMBR3102_STATE_ERROR
#define BC_CY8CMBR3102_STATE_INITIALIZE TWR_CY8CMBR3102_STATE_INITIALIZE
#define BC_CY8CMBR3102_STATE_CALC_CONFIG_CRC TWR_CY8CMBR3102_STATE_CALC_CONFIG_CRC
#define BC_CY8CMBR3102_STATE_SELF_RESET TWR_CY8CMBR3102_STATE_SELF_RESET
#define BC_CY8CMBR3102_STATE_READ TWR_CY8CMBR3102_STATE_READ
#define bc_cy8cmbr3102_state_t twr_cy8cmbr3102_state_t
#define bc_cy8cmbr3102_init twr_cy8cmbr3102_init
#define bc_cy8cmbr3102_set_event_handler twr_cy8cmbr3102_set_event_handler
#define bc_cy8cmbr3102_set_scan_interval twr_cy8cmbr3102_set_scan_interval
#define bc_cy8cmbr3102_get_proximity twr_cy8cmbr3102_get_proximity
#define bc_cy8cmbr3102_is_touch twr_cy8cmbr3102_is_touch

#include <twr_dac.h>
#define BC_DAC_DAC0 TWR_DAC_DAC0
#define BC_DAC_DAC1 TWR_DAC_DAC1
#define bc_dac_channel_t twr_dac_channel_t
#define BC_DAC_FORMAT_8_BIT TWR_DAC_FORMAT_8_BIT
#define BC_DAC_FORMAT_16_BIT TWR_DAC_FORMAT_16_BIT
#define BC_DAC_FORMAT_VOLTAGE TWR_DAC_FORMAT_VOLTAGE
#define bc_dac_format_t twr_dac_format_t
#define BC_DAC_SAMPLE_RATE_8K TWR_DAC_SAMPLE_RATE_8K
#define BC_DAC_SAMPLE_RATE_16K TWR_DAC_SAMPLE_RATE_16K
#define bc_dac_sample_rate_t twr_dac_sample_rate_t
#define BC_DAC_DATA_SIZE_8 TWR_DAC_DATA_SIZE_8
#define BC_DAC_DATA_SIZE_16 TWR_DAC_DATA_SIZE_16
#define bc_dac_data_size_t twr_dac_data_size_t
#define BC_DAC_MODE_SINGLE TWR_DAC_MODE_SINGLE
#define BC_DAC_MODE_CIRCULAR TWR_DAC_MODE_CIRCULAR
#define bc_dac_mode_t twr_dac_mode_t
#define BC_DAC_EVENT_HALF_DONE TWR_DAC_EVENT_HALF_DONE
#define BC_DAC_EVENT_DONE TWR_DAC_EVENT_DONE
#define bc_dac_event_t twr_dac_event_t
#define bc_dac_config_t twr_dac_config_t
#define bc_dac_init twr_dac_init
#define bc_dac_deinit twr_dac_deinit
#define bc_dac_set_output twr_dac_set_output
#define bc_dac_set_event_handler twr_dac_set_event_handler
#define bc_dac_async_config twr_dac_async_config
#define bc_dac_async_run twr_dac_async_run
#define bc_dac_async_stop twr_dac_async_stop

#include <twr_data_stream.h>
#define BC_DATA_STREAM_FLOAT_BUFFER TWR_DATA_STREAM_FLOAT_BUFFER
#define BC_DATA_STREAM_INT_BUFFER TWR_DATA_STREAM_INT_BUFFER
#define BC_DATA_STREAM_FLOAT_ARRAY TWR_DATA_STREAM_FLOAT_ARRAY
#define BC_DATA_STREAM_FLOAT_ARRAY_INIT TWR_DATA_STREAM_FLOAT_ARRAY_INIT
#define BC_DATA_STREAM_TYPE_FLOAT TWR_DATA_STREAM_TYPE_FLOAT
#define BC_DATA_STREAM_TYPE_INT TWR_DATA_STREAM_TYPE_INT
#define bc_data_stream_type_t twr_data_stream_type_t
#define bc_data_stream_buffer_t twr_data_stream_buffer_t
#define bc_data_stream_t twr_data_stream_t
#define bc_data_stream_init twr_data_stream_init
#define bc_data_stream_feed twr_data_stream_feed
#define bc_data_stream_reset twr_data_stream_reset
#define bc_data_stream_get_counter twr_data_stream_get_counter
#define bc_data_stream_get_length twr_data_stream_get_length
#define bc_data_stream_get_type twr_data_stream_get_type
#define bc_data_stream_get_number_of_samples twr_data_stream_get_number_of_samples
#define bc_data_stream_get_average twr_data_stream_get_average
#define bc_data_stream_get_median twr_data_stream_get_median
#define bc_data_stream_get_first twr_data_stream_get_first
#define bc_data_stream_get_last twr_data_stream_get_last
#define bc_data_stream_get_nth twr_data_stream_get_nth
#define bc_data_stream_get_max twr_data_stream_get_max
#define bc_data_stream_get_min twr_data_stream_get_min

#include <twr_delay.h>
#define bc_delay_us twr_delay_us

#include <twr_device_id.h>
#define bc_device_id_get twr_device_id_get

#include <twr_dfu.h>
#define bc_dfu_jump twr_dfu_jump

#include <twr_dice.h>
#define BC_DICE_FACE_UNKNOWN TWR_DICE_FACE_UNKNOWN
#define BC_DICE_FACE_1 TWR_DICE_FACE_1
#define BC_DICE_FACE_2 TWR_DICE_FACE_2
#define BC_DICE_FACE_3 TWR_DICE_FACE_3
#define BC_DICE_FACE_4 TWR_DICE_FACE_4
#define BC_DICE_FACE_5 TWR_DICE_FACE_5
#define BC_DICE_FACE_6 TWR_DICE_FACE_6
#define bc_dice_face_t twr_dice_face_t
#define bc_dice_t twr_dice_t
#define bc_dice_init twr_dice_init
#define bc_dice_set_threshold twr_dice_set_threshold
#define bc_dice_feed_vectors twr_dice_feed_vectors
#define bc_dice_get_face twr_dice_get_face

#include <twr_dma.h>
#define BC_DMA_CHANNEL_1 TWR_DMA_CHANNEL_1
#define BC_DMA_CHANNEL_2 TWR_DMA_CHANNEL_2
#define BC_DMA_CHANNEL_3 TWR_DMA_CHANNEL_3
#define BC_DMA_CHANNEL_4 TWR_DMA_CHANNEL_4
#define BC_DMA_CHANNEL_5 TWR_DMA_CHANNEL_5
#define BC_DMA_CHANNEL_6 TWR_DMA_CHANNEL_6
#define BC_DMA_CHANNEL_7 TWR_DMA_CHANNEL_7
#define bc_dma_channel_t twr_dma_channel_t
#define BC_DMA_REQUEST_0 TWR_DMA_REQUEST_0
#define BC_DMA_REQUEST_1 TWR_DMA_REQUEST_1
#define BC_DMA_REQUEST_2 TWR_DMA_REQUEST_2
#define BC_DMA_REQUEST_3 TWR_DMA_REQUEST_3
#define BC_DMA_REQUEST_4 TWR_DMA_REQUEST_4
#define BC_DMA_REQUEST_5 TWR_DMA_REQUEST_5
#define BC_DMA_REQUEST_6 TWR_DMA_REQUEST_6
#define BC_DMA_REQUEST_7 TWR_DMA_REQUEST_7
#define BC_DMA_REQUEST_8 TWR_DMA_REQUEST_8
#define BC_DMA_REQUEST_9 TWR_DMA_REQUEST_9
#define BC_DMA_REQUEST_10 TWR_DMA_REQUEST_10
#define BC_DMA_REQUEST_11 TWR_DMA_REQUEST_11
#define BC_DMA_REQUEST_12 TWR_DMA_REQUEST_12
#define BC_DMA_REQUEST_13 TWR_DMA_REQUEST_13
#define BC_DMA_REQUEST_14 TWR_DMA_REQUEST_14
#define BC_DMA_REQUEST_15 TWR_DMA_REQUEST_15
#define bc_dma_request_t twr_dma_request_t
#define BC_DMA_DIRECTION_TO_PERIPHERAL TWR_DMA_DIRECTION_TO_PERIPHERAL
#define BC_DMA_DIRECTION_TO_RAM TWR_DMA_DIRECTION_TO_RAM
#define bc_dma_direction_t twr_dma_direction_t
#define BC_DMA_SIZE_1 TWR_DMA_SIZE_1
#define BC_DMA_SIZE_2 TWR_DMA_SIZE_2
#define BC_DMA_SIZE_4 TWR_DMA_SIZE_4
#define bc_dma_size_t twr_dma_size_t
#define BC_DMA_MODE_STANDARD TWR_DMA_MODE_STANDARD
#define BC_DMA_MODE_CIRCULAR TWR_DMA_MODE_CIRCULAR
#define bc_dma_mode_t twr_dma_mode_t
#define BC_DMA_EVENT_ERROR TWR_DMA_EVENT_ERROR
#define BC_DMA_EVENT_HALF_DONE TWR_DMA_EVENT_HALF_DONE
#define BC_DMA_EVENT_DONE TWR_DMA_EVENT_DONE
#define bc_dma_event_t twr_dma_event_t
#define BC_DMA_PRIORITY_LOW TWR_DMA_PRIORITY_LOW
#define BC_DMA_PRIORITY_MEDIUM TWR_DMA_PRIORITY_MEDIUM
#define BC_DMA_PRIORITY_HIGH TWR_DMA_PRIORITY_HIGH
#define BC_DMA_PRIORITY_VERY_HIGH TWR_DMA_PRIORITY_VERY_HIGH
#define bc_dma_priority_t twr_dma_priority_t
#define bc_dma_channel_config_t twr_dma_channel_config_t
#define bc_dma_init twr_dma_init
#define bc_dma_channel_config twr_dma_channel_config
#define bc_dma_set_event_handler twr_dma_set_event_handler
#define bc_dma_channel_run twr_dma_channel_run
#define bc_dma_channel_stop twr_dma_channel_stop
#define bc_dma_channel_get_length twr_dma_channel_get_length

#include <twr_ds18b20.h>
#define BC_DS18B20_EVENT_ERROR TWR_DS18B20_EVENT_ERROR
#define BC_DS18B20_EVENT_UPDATE TWR_DS18B20_EVENT_UPDATE
#define bc_ds18b20_event_t twr_ds18b20_event_t
#define bc_ds18b20_t twr_ds18b20_t
#define bc_ds18b20_sensor_t twr_ds18b20_sensor_t
#define BC_DS18B20_STATE_ERROR TWR_DS18B20_STATE_ERROR
#define BC_DS18B20_STATE_PREINITIALIZE TWR_DS18B20_STATE_PREINITIALIZE
#define BC_DS18B20_STATE_INITIALIZE TWR_DS18B20_STATE_INITIALIZE
#define BC_DS18B20_STATE_READY TWR_DS18B20_STATE_READY
#define BC_DS18B20_STATE_MEASURE TWR_DS18B20_STATE_MEASURE
#define BC_DS18B20_STATE_READ TWR_DS18B20_STATE_READ
#define BC_DS18B20_STATE_UPDATE TWR_DS18B20_STATE_UPDATE
#define bc_ds18b20_state_t twr_ds18b20_state_t
#define BC_DS18B20_RESOLUTION_BITS_9 TWR_DS18B20_RESOLUTION_BITS_9
#define BC_DS18B20_RESOLUTION_BITS_10 TWR_DS18B20_RESOLUTION_BITS_10
#define BC_DS18B20_RESOLUTION_BITS_11 TWR_DS18B20_RESOLUTION_BITS_11
#define BC_DS18B20_RESOLUTION_BITS_12 TWR_DS18B20_RESOLUTION_BITS_12
#define bc_ds18b20_resolution_bits_t twr_ds18b20_resolution_bits_t
#define bc_ds18b20_init_single twr_ds18b20_init_single
#define bc_ds18b20_init_multiple twr_ds18b20_init_multiple
#define bc_ds18b20_init twr_ds18b20_init
#define bc_ds18b20_set_event_handler twr_ds18b20_set_event_handler
#define bc_ds18b20_set_update_interval twr_ds18b20_set_update_interval
#define bc_ds18b20_measure twr_ds18b20_measure
#define bc_ds18b20_get_temperature_raw twr_ds18b20_get_temperature_raw
#define bc_ds18b20_get_temperature_celsius twr_ds18b20_get_temperature_celsius
#define bc_ds18b20_get_index_by_device_address twr_ds18b20_get_index_by_device_address
#define bc_ds182b0_get_short_address twr_ds182b0_get_short_address
#define bc_ds18b20_get_sensor_found twr_ds18b20_get_sensor_found
#define bc_ds18b20_set_power_dynamic twr_ds18b20_set_power_dynamic

#include <twr_ds2484.h>
#define BC_DS2484_STATUS_1WB TWR_DS2484_STATUS_1WB
#define BC_DS2484_STATUS_PPD TWR_DS2484_STATUS_PPD
#define BC_DS2484_STATUS_SD TWR_DS2484_STATUS_SD
#define BC_DS2484_STATUS_LL TWR_DS2484_STATUS_LL
#define BC_DS2484_STATUS_RST TWR_DS2484_STATUS_RST
#define BC_DS2484_STATUS_SBR TWR_DS2484_STATUS_SBR
#define BC_DS2484_STATUS_TSB TWR_DS2484_STATUS_TSB
#define BC_DS2484_STATUS_DIR TWR_DS2484_STATUS_DIR
#define bc_ds2484_t twr_ds2484_t
#define bc_ds2484_init twr_ds2484_init
#define bc_ds2484_enable twr_ds2484_enable
#define bc_ds2484_disable twr_ds2484_disable
#define bc_ds2484_reset twr_ds2484_reset
#define bc_ds2484_busy_wait twr_ds2484_busy_wait
#define bc_ds2484_write_byte twr_ds2484_write_byte
#define bc_ds2484_read_byte twr_ds2484_read_byte
#define bc_ds2484_read_bit twr_ds2484_read_bit
#define bc_ds2484_triplet twr_ds2484_triplet
#define bc_ds2484_is_ready twr_ds2484_is_ready
#define bc_ds2484_status_get twr_ds2484_status_get
#define bc_ds2484_is_present twr_ds2484_is_present

#include <twr_ds28e17.h>
#define bc_ds28e17_t twr_ds28e17_t
#define bc_ds28e17_init twr_ds28e17_init
#define bc_ds28e17_deinit twr_ds28e17_deinit
#define bc_ds28e17_get_device_number twr_ds28e17_get_device_number
#define bc_ds28e17_enable_sleep_mode twr_ds28e17_enable_sleep_mode
#define bc_ds28e17_set_speed twr_ds28e17_set_speed
#define bc_ds28e17_write twr_ds28e17_write
#define bc_ds28e17_read twr_ds28e17_read
#define bc_ds28e17_memory_write twr_ds28e17_memory_write
#define bc_ds28e17_memory_read twr_ds28e17_memory_read

#include <twr_eeprom.h>
#define BC_EEPROM_EVENT_ASYNC_WRITE_ERROR TWR_EEPROM_EVENT_ASYNC_WRITE_ERROR
#define BC_EEPROM_EVENT_ASYNC_WRITE_DONE TWR_EEPROM_EVENT_ASYNC_WRITE_DONE
#define bc_eepromc_event_t twr_eepromc_event_t
#define bc_eeprom_write twr_eeprom_write
#define bc_eeprom_async_write twr_eeprom_async_write
#define bc_eeprom_async_cancel twr_eeprom_async_cancel
#define bc_eeprom_read twr_eeprom_read
#define bc_eeprom_get_size twr_eeprom_get_size

#include <twr_error.h>
#define BC_ERROR_NOT_ENOUGH_TASKS TWR_ERROR_NOT_ENOUGH_TASKS
#define BC_ERROR_LOG_NOT_INITIALIZED TWR_ERROR_LOG_NOT_INITIALIZED
#define BC_ERROR_ERROR_UNLOCK TWR_ERROR_ERROR_UNLOCK
#define BC_ERROR_CALLBACK TWR_ERROR_CALLBACK
#define bc_error_t twr_error_t
#define bc_error twr_error

#include <twr_esp8266.h>
#define BC_ESP8266_TX_MAX_PACKET_SIZE TWR_ESP8266_TX_MAX_PACKET_SIZE
#define BC_ESP8266_TX_MAX_PACKET_SIZE TWR_ESP8266_TX_MAX_PACKET_SIZE
#define BC_ESP8266_RX_FIFO_BUFFER_SIZE TWR_ESP8266_RX_FIFO_BUFFER_SIZE
#define BC_ESP8266_EVENT_READY TWR_ESP8266_EVENT_READY
#define BC_ESP8266_EVENT_ERROR TWR_ESP8266_EVENT_ERROR
#define BC_ESP8266_EVENT_WIFI_CONNECT_SUCCESS TWR_ESP8266_EVENT_WIFI_CONNECT_SUCCESS
#define BC_ESP8266_EVENT_WIFI_CONNECT_ERROR TWR_ESP8266_EVENT_WIFI_CONNECT_ERROR
#define BC_ESP8266_EVENT_SOCKET_CONNECT_SUCCESS TWR_ESP8266_EVENT_SOCKET_CONNECT_SUCCESS
#define BC_ESP8266_EVENT_SOCKET_CONNECT_ERROR TWR_ESP8266_EVENT_SOCKET_CONNECT_ERROR
#define BC_ESP8266_EVENT_SOCKET_SEND_SUCCESS TWR_ESP8266_EVENT_SOCKET_SEND_SUCCESS
#define BC_ESP8266_EVENT_SOCKET_SEND_ERROR TWR_ESP8266_EVENT_SOCKET_SEND_ERROR
#define BC_ESP8266_EVENT_DATA_RECEIVED TWR_ESP8266_EVENT_DATA_RECEIVED
#define BC_ESP8266_EVENT_AP_AVAILABILITY_RESULT TWR_ESP8266_EVENT_AP_AVAILABILITY_RESULT
#define BC_ESP8266_EVENT_DISCONNECTED TWR_ESP8266_EVENT_DISCONNECTED
#define bc_esp8266_event_t twr_esp8266_event_t
#define bc_esp8266_t twr_esp8266_t
#define BC_ESP8266_STATE_READY TWR_ESP8266_STATE_READY
#define BC_ESP8266_STATE_ERROR TWR_ESP8266_STATE_ERROR
#define BC_ESP8266_STATE_INITIALIZE TWR_ESP8266_STATE_INITIALIZE
#define BC_ESP8266_STATE_IDLE TWR_ESP8266_STATE_IDLE
#define BC_ESP8266_STATE_RECEIVE TWR_ESP8266_STATE_RECEIVE
#define BC_ESP8266_STATE_INITIALIZE_COMMAND_SEND TWR_ESP8266_STATE_INITIALIZE_COMMAND_SEND
#define BC_ESP8266_STATE_INITIALIZE_COMMAND_RESPONSE TWR_ESP8266_STATE_INITIALIZE_COMMAND_RESPONSE
#define BC_ESP8266_STATE_WIFI_CONNECT_COMMAND TWR_ESP8266_STATE_WIFI_CONNECT_COMMAND
#define BC_ESP8266_STATE_SOCKET_CONNECT_COMMAND TWR_ESP8266_STATE_SOCKET_CONNECT_COMMAND
#define BC_ESP8266_STATE_SOCKET_SEND_COMMAND TWR_ESP8266_STATE_SOCKET_SEND_COMMAND
#define BC_ESP8266_STATE_SOCKET_SEND_DATA TWR_ESP8266_STATE_SOCKET_SEND_DATA
#define BC_ESP8266_STATE_WIFI_CONNECT_RESPONSE TWR_ESP8266_STATE_WIFI_CONNECT_RESPONSE
#define BC_ESP8266_STATE_SOCKET_CONNECT_RESPONSE TWR_ESP8266_STATE_SOCKET_CONNECT_RESPONSE
#define BC_ESP8266_STATE_SOCKET_SEND_RESPONSE TWR_ESP8266_STATE_SOCKET_SEND_RESPONSE
#define BC_ESP8266_STATE_WIFI_CONNECT_ERROR TWR_ESP8266_STATE_WIFI_CONNECT_ERROR
#define BC_ESP8266_STATE_SOCKET_CONNECT_ERROR TWR_ESP8266_STATE_SOCKET_CONNECT_ERROR
#define BC_ESP8266_STATE_SOCKET_SEND_ERROR TWR_ESP8266_STATE_SOCKET_SEND_ERROR
#define BC_ESP8266_STATE_SOCKET_RECEIVE TWR_ESP8266_STATE_SOCKET_RECEIVE
#define BC_ESP8266_STATE_DISCONNECTED TWR_ESP8266_STATE_DISCONNECTED
#define BC_ESP8266_STATE_SNTP_CONFIG_COMMAND TWR_ESP8266_STATE_SNTP_CONFIG_COMMAND
#define BC_ESP8266_STATE_SNTP_CONFIG_RESPONSE TWR_ESP8266_STATE_SNTP_CONFIG_RESPONSE
#define BC_ESP8266_STATE_SNTP_TIME_COMMAND TWR_ESP8266_STATE_SNTP_TIME_COMMAND
#define BC_ESP8266_STATE_SNTP_TIME_RESPONSE TWR_ESP8266_STATE_SNTP_TIME_RESPONSE
#define BC_ESP8266_STATE_AP_AVAILABILITY_OPT_COMMAND TWR_ESP8266_STATE_AP_AVAILABILITY_OPT_COMMAND
#define BC_ESP8266_STATE_AP_AVAILABILITY_OPT_RESPONSE TWR_ESP8266_STATE_AP_AVAILABILITY_OPT_RESPONSE
#define BC_ESP8266_STATE_AP_AVAILABILITY_COMMAND TWR_ESP8266_STATE_AP_AVAILABILITY_COMMAND
#define BC_ESP8266_STATE_AP_AVAILABILITY_RESPONSE TWR_ESP8266_STATE_AP_AVAILABILITY_RESPONSE
#define bc_esp8266_state_t twr_esp8266_state_t
#define BC_ESP8266_CONFIG_MODE_STATION TWR_ESP8266_CONFIG_MODE_STATION
#define BC_ESP8266_CONFIG_MODE_AP TWR_ESP8266_CONFIG_MODE_AP
#define bc_esp8266_config_mode_t twr_esp8266_config_mode_t
#define bc_esp8266_init twr_esp8266_init
#define bc_esp8266_set_event_handler twr_esp8266_set_event_handler
#define bc_esp8266_set_station_mode twr_esp8266_set_station_mode
#define bc_esp8266_set_sntp twr_esp8266_set_sntp
#define bc_esp8266_set_sntp_with_servers twr_esp8266_set_sntp_with_servers
#define bc_esp8266_is_ready twr_esp8266_is_ready
#define bc_esp8266_connect twr_esp8266_connect
#define bc_esp8266_disconnect twr_esp8266_disconnect
#define bc_esp8266_tcp_connect twr_esp8266_tcp_connect
#define bc_esp8266_udp_connect twr_esp8266_udp_connect
#define bc_esp8266_ssl_connect twr_esp8266_ssl_connect
#define bc_esp8266_send_data twr_esp8266_send_data
#define bc_esp8266_get_received_message_length twr_esp8266_get_received_message_length
#define bc_esp8266_get_received_message_data twr_esp8266_get_received_message_data
#define bc_esp8266_check_ap_availability twr_esp8266_check_ap_availability
#define bc_esp8266_get_ap_availability twr_esp8266_get_ap_availability
#define bc_esp8266_get_ssid twr_esp8266_get_ssid
#define bc_esp8266_set_ssid twr_esp8266_set_ssid
#define bc_esp8266_get_password twr_esp8266_get_password
#define bc_esp8266_set_password twr_esp8266_set_password

#include <twr_exti.h>
#define BC_EXTI_LINE_PA0 TWR_EXTI_LINE_PA0
#define BC_EXTI_LINE_PA1 TWR_EXTI_LINE_PA1
#define BC_EXTI_LINE_PA2 TWR_EXTI_LINE_PA2
#define BC_EXTI_LINE_PA3 TWR_EXTI_LINE_PA3
#define BC_EXTI_LINE_PA4 TWR_EXTI_LINE_PA4
#define BC_EXTI_LINE_PA5 TWR_EXTI_LINE_PA5
#define BC_EXTI_LINE_PA6 TWR_EXTI_LINE_PA6
#define BC_EXTI_LINE_PA7 TWR_EXTI_LINE_PA7
#define BC_EXTI_LINE_PA8 TWR_EXTI_LINE_PA8
#define BC_EXTI_LINE_PA9 TWR_EXTI_LINE_PA9
#define BC_EXTI_LINE_PA10 TWR_EXTI_LINE_PA10
#define BC_EXTI_LINE_PA11 TWR_EXTI_LINE_PA11
#define BC_EXTI_LINE_PA12 TWR_EXTI_LINE_PA12
#define BC_EXTI_LINE_PA13 TWR_EXTI_LINE_PA13
#define BC_EXTI_LINE_PA14 TWR_EXTI_LINE_PA14
#define BC_EXTI_LINE_PA15 TWR_EXTI_LINE_PA15
#define BC_EXTI_LINE_PB0 TWR_EXTI_LINE_PB0
#define BC_EXTI_LINE_PB1 TWR_EXTI_LINE_PB1
#define BC_EXTI_LINE_PB2 TWR_EXTI_LINE_PB2
#define BC_EXTI_LINE_PB3 TWR_EXTI_LINE_PB3
#define BC_EXTI_LINE_PB4 TWR_EXTI_LINE_PB4
#define BC_EXTI_LINE_PB5 TWR_EXTI_LINE_PB5
#define BC_EXTI_LINE_PB6 TWR_EXTI_LINE_PB6
#define BC_EXTI_LINE_PB7 TWR_EXTI_LINE_PB7
#define BC_EXTI_LINE_PB8 TWR_EXTI_LINE_PB8
#define BC_EXTI_LINE_PB9 TWR_EXTI_LINE_PB9
#define BC_EXTI_LINE_PB10 TWR_EXTI_LINE_PB10
#define BC_EXTI_LINE_PB11 TWR_EXTI_LINE_PB11
#define BC_EXTI_LINE_PB12 TWR_EXTI_LINE_PB12
#define BC_EXTI_LINE_PB13 TWR_EXTI_LINE_PB13
#define BC_EXTI_LINE_PB14 TWR_EXTI_LINE_PB14
#define BC_EXTI_LINE_PB15 TWR_EXTI_LINE_PB15
#define BC_EXTI_LINE_PC13 TWR_EXTI_LINE_PC13
#define BC_EXTI_LINE_PC14 TWR_EXTI_LINE_PC14
#define BC_EXTI_LINE_PC15 TWR_EXTI_LINE_PC15
#define BC_EXTI_LINE_PH0 TWR_EXTI_LINE_PH0
#define BC_EXTI_LINE_PH1 TWR_EXTI_LINE_PH1
#define BC_EXTI_LINE_P0 TWR_EXTI_LINE_P0
#define BC_EXTI_LINE_P1 TWR_EXTI_LINE_P1
#define BC_EXTI_LINE_P2 TWR_EXTI_LINE_P2
#define BC_EXTI_LINE_P3 TWR_EXTI_LINE_P3
#define BC_EXTI_LINE_P4 TWR_EXTI_LINE_P4
#define BC_EXTI_LINE_P5 TWR_EXTI_LINE_P5
#define BC_EXTI_LINE_P6 TWR_EXTI_LINE_P6
#define BC_EXTI_LINE_P7 TWR_EXTI_LINE_P7
#define BC_EXTI_LINE_P8 TWR_EXTI_LINE_P8
#define BC_EXTI_LINE_P9 TWR_EXTI_LINE_P9
#define BC_EXTI_LINE_P10 TWR_EXTI_LINE_P10
#define BC_EXTI_LINE_P11 TWR_EXTI_LINE_P11
#define BC_EXTI_LINE_P12 TWR_EXTI_LINE_P12
#define BC_EXTI_LINE_P13 TWR_EXTI_LINE_P13
#define BC_EXTI_LINE_P14 TWR_EXTI_LINE_P14
#define BC_EXTI_LINE_P15 TWR_EXTI_LINE_P15
#define BC_EXTI_LINE_P16 TWR_EXTI_LINE_P16
#define BC_EXTI_LINE_P17 TWR_EXTI_LINE_P17
#define BC_EXTI_LINE_BUTTON TWR_EXTI_LINE_BUTTON
#define bc_exti_line_t twr_exti_line_t
#define BC_EXTI_EDGE_RISING TWR_EXTI_EDGE_RISING
#define BC_EXTI_EDGE_FALLING TWR_EXTI_EDGE_FALLING
#define BC_EXTI_EDGE_RISING_AND_FALLING TWR_EXTI_EDGE_RISING_AND_FALLING
#define bc_exti_edge_t twr_exti_edge_t
#define bc_exti_register twr_exti_register
#define bc_exti_unregister twr_exti_unregister

#include <twr_fifo.h>
#define bc_fifo_t twr_fifo_t
#define bc_fifo_init twr_fifo_init
#define bc_fifo_purge twr_fifo_purge
#define bc_fifo_write twr_fifo_write
#define bc_fifo_read twr_fifo_read
#define bc_fifo_irq_write twr_fifo_irq_write
#define bc_fifo_irq_read twr_fifo_irq_read
#define bc_fifo_is_empty twr_fifo_is_empty

#include <twr_flood_detector.h>
#define BC_FLOOD_DETECTOR_TYPE_LD_81_SENSOR_MODULE_CHANNEL_A TWR_FLOOD_DETECTOR_TYPE_LD_81_SENSOR_MODULE_CHANNEL_A
#define BC_FLOOD_DETECTOR_TYPE_LD_81_SENSOR_MODULE_CHANNEL_B TWR_FLOOD_DETECTOR_TYPE_LD_81_SENSOR_MODULE_CHANNEL_B
#define bc_flood_detector_type_t twr_flood_detector_type_t
#define BC_FLOOD_DETECTOR_EVENT_ERROR TWR_FLOOD_DETECTOR_EVENT_ERROR
#define BC_FLOOD_DETECTOR_EVENT_UPDATE TWR_FLOOD_DETECTOR_EVENT_UPDATE
#define bc_flood_detector_event_t twr_flood_detector_event_t
#define bc_flood_detector_t twr_flood_detector_t
#define BC_FLOOD_DETECTOR_STATE_ERROR TWR_FLOOD_DETECTOR_STATE_ERROR
#define BC_FLOOD_DETECTOR_STATE_INITIALIZE TWR_FLOOD_DETECTOR_STATE_INITIALIZE
#define BC_FLOOD_DETECTOR_STATE_READY TWR_FLOOD_DETECTOR_STATE_READY
#define BC_FLOOD_DETECTOR_STATE_MEASURE TWR_FLOOD_DETECTOR_STATE_MEASURE
#define bc_flood_detector_state_t twr_flood_detector_state_t
#define bc_flood_detector_init twr_flood_detector_init
#define bc_flood_detector_set_event_handler twr_flood_detector_set_event_handler
#define bc_flood_detector_set_update_interval twr_flood_detector_set_update_interval
#define bc_flood_detector_measure twr_flood_detector_measure
#define bc_flood_detector_is_alarm twr_flood_detector_is_alarm

#include <twr_font_common.h>
#define bc_font_image_t twr_font_image_t
#define bc_font_char_t twr_font_char_t
#define bc_font_t twr_font_t
#define bc_font_ubuntu_11 twr_font_ubuntu_11
#define bc_font_ubuntu_13 twr_font_ubuntu_13
#define bc_font_ubuntu_15 twr_font_ubuntu_15
#define bc_font_ubuntu_24 twr_font_ubuntu_24
#define bc_font_ubuntu_28 twr_font_ubuntu_28
#define bc_font_ubuntu_33 twr_font_ubuntu_33

#include <twr_gfx.h>
#define bc_gfx_caps_t twr_gfx_caps_t
#define bc_gfx_caps_t twr_gfx_caps_t
#define bc_gfx_driver_t twr_gfx_driver_t
#define BC_GFX_ROTATION_0 TWR_GFX_ROTATION_0
#define BC_GFX_ROTATION_90 TWR_GFX_ROTATION_90
#define BC_GFX_ROTATION_180 TWR_GFX_ROTATION_180
#define BC_GFX_ROTATION_270 TWR_GFX_ROTATION_270
#define bc_gfx_rotation_t twr_gfx_rotation_t
#define BC_GFX_ROUND_CORNER_RIGHT_TOP TWR_GFX_ROUND_CORNER_RIGHT_TOP
#define BC_GFX_ROUND_CORNER_RIGHT_BOTTOM TWR_GFX_ROUND_CORNER_RIGHT_BOTTOM
#define BC_GFX_ROUND_CORNER_LEFT_BOTTOM TWR_GFX_ROUND_CORNER_LEFT_BOTTOM
#define BC_GFX_ROUND_CORNER_LEFT_TOP TWR_GFX_ROUND_CORNER_LEFT_TOP
#define bc_gfx_round_corner_t twr_gfx_round_corner_t
#define bc_gfx_t twr_gfx_t
#define bc_gfx_init twr_gfx_init
#define bc_gfx_display_is_ready twr_gfx_display_is_ready
#define bc_gfx_get_caps twr_gfx_get_caps
#define bc_gfx_clear twr_gfx_clear
#define bc_gfx_set_font twr_gfx_set_font
#define bc_gfx_set_rotation twr_gfx_set_rotation
#define bc_gfx_get_rotation twr_gfx_get_rotation
#define bc_gfx_draw_pixel twr_gfx_draw_pixel
#define bc_gfx_draw_char twr_gfx_draw_char
#define bc_gfx_calc_char_width twr_gfx_calc_char_width
#define bc_gfx_draw_string twr_gfx_draw_string
#define bc_gfx_calc_string_width twr_gfx_calc_string_width
#define bc_gfx_printf twr_gfx_printf
#define bc_gfx_draw_line twr_gfx_draw_line
#define bc_gfx_draw_rectangle twr_gfx_draw_rectangle
#define bc_gfx_draw_fill_rectangle twr_gfx_draw_fill_rectangle
#define bc_gfx_draw_fill_rectangle_dithering twr_gfx_draw_fill_rectangle_dithering
#define bc_gfx_draw_circle twr_gfx_draw_circle
#define bc_gfx_draw_fill_circle twr_gfx_draw_fill_circle
#define bc_gfx_draw_round_corner twr_gfx_draw_round_corner
#define bc_gfx_draw_fill_round_corner twr_gfx_draw_fill_round_corner
#define bc_gfx_update twr_gfx_update

#include <twr_gpio.h>
#define BC_GPIO_P0 TWR_GPIO_P0
#define BC_GPIO_P1 TWR_GPIO_P1
#define BC_GPIO_P2 TWR_GPIO_P2
#define BC_GPIO_P3 TWR_GPIO_P3
#define BC_GPIO_P4 TWR_GPIO_P4
#define BC_GPIO_P5 TWR_GPIO_P5
#define BC_GPIO_P6 TWR_GPIO_P6
#define BC_GPIO_P7 TWR_GPIO_P7
#define BC_GPIO_P8 TWR_GPIO_P8
#define BC_GPIO_P9 TWR_GPIO_P9
#define BC_GPIO_P10 TWR_GPIO_P10
#define BC_GPIO_P11 TWR_GPIO_P11
#define BC_GPIO_P12 TWR_GPIO_P12
#define BC_GPIO_P13 TWR_GPIO_P13
#define BC_GPIO_P14 TWR_GPIO_P14
#define BC_GPIO_P15 TWR_GPIO_P15
#define BC_GPIO_P16 TWR_GPIO_P16
#define BC_GPIO_P17 TWR_GPIO_P17
#define BC_GPIO_LED TWR_GPIO_LED
#define BC_GPIO_BUTTON TWR_GPIO_BUTTON
#define BC_GPIO_INT TWR_GPIO_INT
#define bc_gpio_channel_t twr_gpio_channel_t
#define BC_GPIO_PULL_NONE TWR_GPIO_PULL_NONE
#define BC_GPIO_PULL_UP TWR_GPIO_PULL_UP
#define BC_GPIO_PULL_DOWN TWR_GPIO_PULL_DOWN
#define bc_gpio_pull_t twr_gpio_pull_t
#define BC_GPIO_MODE_INPUT TWR_GPIO_MODE_INPUT
#define BC_GPIO_MODE_OUTPUT TWR_GPIO_MODE_OUTPUT
#define BC_GPIO_MODE_ALTERNATE TWR_GPIO_MODE_ALTERNATE
#define BC_GPIO_MODE_ANALOG TWR_GPIO_MODE_ANALOG
#define BC_GPIO_MODE_OUTPUT_OD TWR_GPIO_MODE_OUTPUT_OD
#define BC_GPIO_MODE_ALTERNATE_0 TWR_GPIO_MODE_ALTERNATE_0
#define BC_GPIO_MODE_ALTERNATE_1 TWR_GPIO_MODE_ALTERNATE_1
#define BC_GPIO_MODE_ALTERNATE_2 TWR_GPIO_MODE_ALTERNATE_2
#define BC_GPIO_MODE_ALTERNATE_3 TWR_GPIO_MODE_ALTERNATE_3
#define BC_GPIO_MODE_ALTERNATE_4 TWR_GPIO_MODE_ALTERNATE_4
#define BC_GPIO_MODE_ALTERNATE_5 TWR_GPIO_MODE_ALTERNATE_5
#define BC_GPIO_MODE_ALTERNATE_6 TWR_GPIO_MODE_ALTERNATE_6
#define BC_GPIO_MODE_ALTERNATE_7 TWR_GPIO_MODE_ALTERNATE_7
#define bc_gpio_mode_t twr_gpio_mode_t
#define bc_gpio_init twr_gpio_init
#define bc_gpio_set_pull twr_gpio_set_pull
#define bc_gpio_get_pull twr_gpio_get_pull
#define bc_gpio_set_mode twr_gpio_set_mode
#define bc_gpio_get_mode twr_gpio_get_mode
#define bc_gpio_get_input twr_gpio_get_input
#define bc_gpio_set_output twr_gpio_set_output
#define bc_gpio_get_output twr_gpio_get_output
#define bc_gpio_toggle_output twr_gpio_toggle_output

#include <twr_hc_sr04.h>
#define BC_HC_SR04_EVENT_ERROR TWR_HC_SR04_EVENT_ERROR
#define BC_HC_SR04_EVENT_UPDATE TWR_HC_SR04_EVENT_UPDATE
#define bc_hc_sr04_event_t twr_hc_sr04_event_t
#define BC_HC_SR04_ECHO_P5 TWR_HC_SR04_ECHO_P5
#define BC_HC_SR04_ECHO_P8 TWR_HC_SR04_ECHO_P8
#define bc_hc_sr04_echo_t twr_hc_sr04_echo_t
#define bc_hc_sr04_t twr_hc_sr04_t
#define bc_hc_sr04_init_sensor_module twr_hc_sr04_init_sensor_module
#define bc_hc_sr04_init twr_hc_sr04_init
#define bc_hc_sr04_set_event_handler twr_hc_sr04_set_event_handler
#define bc_hc_sr04_set_update_interval twr_hc_sr04_set_update_interval
#define bc_hc_sr04_measure twr_hc_sr04_measure
#define bc_hc_sr04_get_distance_millimeter twr_hc_sr04_get_distance_millimeter

#include <twr_hdc2080.h>
#define BC_HDC2080_EVENT_ERROR TWR_HDC2080_EVENT_ERROR
#define BC_HDC2080_EVENT_UPDATE TWR_HDC2080_EVENT_UPDATE
#define bc_hdc2080_event_t twr_hdc2080_event_t
#define bc_hdc2080_t twr_hdc2080_t
#define BC_HDC2080_STATE_ERROR TWR_HDC2080_STATE_ERROR
#define BC_HDC2080_STATE_INITIALIZE TWR_HDC2080_STATE_INITIALIZE
#define BC_HDC2080_STATE_MEASURE TWR_HDC2080_STATE_MEASURE
#define BC_HDC2080_STATE_READ TWR_HDC2080_STATE_READ
#define BC_HDC2080_STATE_UPDATE TWR_HDC2080_STATE_UPDATE
#define bc_hdc2080_state_t twr_hdc2080_state_t
#define bc_hdc2080_init twr_hdc2080_init
#define bc_hdc2080_set_event_handler twr_hdc2080_set_event_handler
#define bc_hdc2080_set_update_interval twr_hdc2080_set_update_interval
#define bc_hdc2080_measure twr_hdc2080_measure
#define bc_hdc2080_get_humidity_raw twr_hdc2080_get_humidity_raw
#define bc_hdc2080_get_humidity_percentage twr_hdc2080_get_humidity_percentage
#define bc_hdc2080_get_temperature_raw twr_hdc2080_get_temperature_raw
#define bc_hdc2080_get_temperature_celsius twr_hdc2080_get_temperature_celsius

#include <twr_hts221.h>
#define BC_HTS221_EVENT_ERROR TWR_HTS221_EVENT_ERROR
#define BC_HTS221_EVENT_UPDATE TWR_HTS221_EVENT_UPDATE
#define bc_hts221_event_t twr_hts221_event_t
#define bc_hts221_t twr_hts221_t
#define BC_HTS221_STATE_ERROR TWR_HTS221_STATE_ERROR
#define BC_HTS221_STATE_INITIALIZE TWR_HTS221_STATE_INITIALIZE
#define BC_HTS221_STATE_MEASURE TWR_HTS221_STATE_MEASURE
#define BC_HTS221_STATE_READ TWR_HTS221_STATE_READ
#define BC_HTS221_STATE_UPDATE TWR_HTS221_STATE_UPDATE
#define bc_hts221_state_t twr_hts221_state_t
#define bc_hts221_init twr_hts221_init
#define bc_hts221_set_event_handler twr_hts221_set_event_handler
#define bc_hts221_set_update_interval twr_hts221_set_update_interval
#define bc_hts221_measure twr_hts221_measure
#define bc_hts221_get_humidity_percentage twr_hts221_get_humidity_percentage

#include <twr_i2c.h>
#define BC_I2C_MEMORY_ADDRESS_16_BIT TWR_I2C_MEMORY_ADDRESS_16_BIT
#define BC_I2C_I2C0 TWR_I2C_I2C0
#define BC_I2C_I2C1 TWR_I2C_I2C1
#define BC_I2C_I2C_1W TWR_I2C_I2C_1W
#define bc_i2c_channel_t twr_i2c_channel_t
#define BC_I2C_SPEED_100_KHZ TWR_I2C_SPEED_100_KHZ
#define BC_I2C_SPEED_400_KHZ TWR_I2C_SPEED_400_KHZ
#define bc_i2c_speed_t twr_i2c_speed_t
#define bc_i2c_transfer_t twr_i2c_transfer_t
#define bc_i2c_memory_transfer_t twr_i2c_memory_transfer_t
#define bc_i2c_init twr_i2c_init
#define bc_i2c_deinit twr_i2c_deinit
#define bc_i2c_get_speed twr_i2c_get_speed
#define bc_i2c_set_speed twr_i2c_set_speed
#define bc_i2c_write twr_i2c_write
#define bc_i2c_read twr_i2c_read
#define bc_i2c_memory_write twr_i2c_memory_write
#define bc_i2c_memory_read twr_i2c_memory_read
#define bc_i2c_memory_write_8b twr_i2c_memory_write_8b
#define bc_i2c_memory_write_16b twr_i2c_memory_write_16b
#define bc_i2c_memory_read_8b twr_i2c_memory_read_8b
#define bc_i2c_memory_read_16b twr_i2c_memory_read_16b

#include <twr_image.h>
#define bc_image_t twr_image_t
#define BC_IMAGE TWR_IMAGE

#include <twr_ir_rx.h>
#define BC_IR_RX_NEC_FORMAT TWR_IR_RX_NEC_FORMAT
#define BC_IR_RX_NEC_FORMAT_REPEAT TWR_IR_RX_NEC_FORMAT_REPEAT
#define bc_ir_rx_event_t twr_ir_rx_event_t
#define bc_ir_rx_init twr_ir_rx_init
#define bc_ir_rx_set_event_handler twr_ir_rx_set_event_handler
#define bc_ir_rx_get_code twr_ir_rx_get_code

#include <twr_irq.h>
#define bc_irq_disable twr_irq_disable
#define bc_irq_enable twr_irq_enable

#include <twr_led.h>
#define BC_GPIO_LED TWR_GPIO_LED
#define BC_LED_MODE_BLINK TWR_LED_MODE_BLINK
#define BC_LED_MODE_TOGGLE TWR_LED_MODE_TOGGLE
#define BC_LED_MODE_OFF TWR_LED_MODE_OFF
#define BC_LED_MODE_ON TWR_LED_MODE_ON
#define BC_LED_MODE_BLINK TWR_LED_MODE_BLINK
#define BC_LED_MODE_BLINK_SLOW TWR_LED_MODE_BLINK_SLOW
#define BC_LED_MODE_BLINK_FAST TWR_LED_MODE_BLINK_FAST
#define BC_LED_MODE_FLASH TWR_LED_MODE_FLASH
#define bc_led_mode_t twr_led_mode_t
#define bc_led_t twr_led_t
#define bc_led_driver_t twr_led_driver_t
#define bc_led_channel_t twr_led_channel_t
#define bc_led_init twr_led_init
#define bc_led_init_virtual twr_led_init_virtual
#define bc_led_set_slot_interval twr_led_set_slot_interval
#define bc_led_set_mode twr_led_set_mode
#define bc_led_set_pattern twr_led_set_pattern
#define bc_led_set_count twr_led_set_count
#define bc_led_blink twr_led_blink
#define bc_led_pulse twr_led_pulse
#define bc_led_is_pulse twr_led_is_pulse

#include <twr_led_strip.h>
#define BC_LED_STRIP_TYPE_RGBW TWR_LED_STRIP_TYPE_RGBW
#define BC_LED_STRIP_TYPE_RGB TWR_LED_STRIP_TYPE_RGB
#define bc_led_strip_type_t twr_led_strip_type_t
#define bc_led_strip_buffer_t twr_led_strip_buffer_t
#define bc_led_strip_driver_t twr_led_strip_driver_t
#define BC_LED_STRIP_EVENT_EFFECT_DONE TWR_LED_STRIP_EVENT_EFFECT_DONE
#define bc_led_strip_event_t twr_led_strip_event_t
#define bc_led_strip_t twr_led_strip_t
#define bc_led_strip_init twr_led_strip_init
#define bc_led_strip_set_event_handler twr_led_strip_set_event_handler
#define bc_led_strip_get_pixel_count twr_led_strip_get_pixel_count
#define bc_led_strip_get_strip_type twr_led_strip_get_strip_type
#define bc_led_strip_set_pixel twr_led_strip_set_pixel
#define bc_led_strip_set_pixel_rgbw twr_led_strip_set_pixel_rgbw
#define bc_led_strip_set_rgbw_framebuffer twr_led_strip_set_rgbw_framebuffer
#define bc_led_strip_fill twr_led_strip_fill
#define bc_led_strip_write twr_led_strip_write
#define bc_led_strip_is_ready twr_led_strip_is_ready
#define bc_led_strip_set_brightness twr_led_strip_set_brightness
#define bc_led_strip_effect_stop twr_led_strip_effect_stop
#define bc_led_strip_effect_test twr_led_strip_effect_test
#define bc_led_strip_effect_rainbow twr_led_strip_effect_rainbow
#define bc_led_strip_effect_rainbow_cycle twr_led_strip_effect_rainbow_cycle
#define bc_led_strip_effect_color_wipe twr_led_strip_effect_color_wipe
#define bc_led_strip_effect_theater_chase twr_led_strip_effect_theater_chase
#define bc_led_strip_effect_theater_chase_rainbow twr_led_strip_effect_theater_chase_rainbow
#define bc_led_strip_effect_stroboscope twr_led_strip_effect_stroboscope
#define bc_led_strip_effect_icicle twr_led_strip_effect_icicle
#define bc_led_strip_effect_pulse_color twr_led_strip_effect_pulse_color
#define bc_led_strip_thermometer twr_led_strip_thermometer

#include <twr_lis2dh12.h>
#define BC_LIS2DH12_EVENT_ERROR TWR_LIS2DH12_EVENT_ERROR
#define BC_LIS2DH12_EVENT_UPDATE TWR_LIS2DH12_EVENT_UPDATE
#define BC_LIS2DH12_EVENT_ALARM TWR_LIS2DH12_EVENT_ALARM
#define bc_lis2dh12_event_t twr_lis2dh12_event_t
#define BC_LIS2DH12_RESOLUTION_10BIT TWR_LIS2DH12_RESOLUTION_10BIT
#define BC_LIS2DH12_RESOLUTION_12BIT TWR_LIS2DH12_RESOLUTION_12BIT
#define BC_LIS2DH12_RESOLUTION_8BIT TWR_LIS2DH12_RESOLUTION_8BIT
#define bc_lis2dh12_resolution_t twr_lis2dh12_resolution_t
#define BC_LIS2DH12_SCALE_2G TWR_LIS2DH12_SCALE_2G
#define BC_LIS2DH12_SCALE_4G TWR_LIS2DH12_SCALE_4G
#define BC_LIS2DH12_SCALE_8G TWR_LIS2DH12_SCALE_8G
#define BC_LIS2DH12_SCALE_16G TWR_LIS2DH12_SCALE_16G
#define bc_lis2dh12_scale_t twr_lis2dh12_scale_t
#define bc_lis2dh12_result_raw_t twr_lis2dh12_result_raw_t
#define bc_lis2dh12_result_g_t twr_lis2dh12_result_g_t
#define bc_lis2dh12_alarm_t twr_lis2dh12_alarm_t
#define bc_lis2dh12_t twr_lis2dh12_t
#define BC_LIS2DH12_STATE_ERROR TWR_LIS2DH12_STATE_ERROR
#define BC_LIS2DH12_STATE_INITIALIZE TWR_LIS2DH12_STATE_INITIALIZE
#define BC_LIS2DH12_STATE_MEASURE TWR_LIS2DH12_STATE_MEASURE
#define BC_LIS2DH12_STATE_READ TWR_LIS2DH12_STATE_READ
#define BC_LIS2DH12_STATE_UPDATE TWR_LIS2DH12_STATE_UPDATE
#define bc_lis2dh12_state_t twr_lis2dh12_state_t
#define bc_lis2dh12_init twr_lis2dh12_init
#define bc_lis2dh12_set_event_handler twr_lis2dh12_set_event_handler
#define bc_lis2dh12_set_update_interval twr_lis2dh12_set_update_interval
#define bc_lis2dh12_measure twr_lis2dh12_measure
#define bc_lis2dh12_get_result_raw twr_lis2dh12_get_result_raw
#define bc_lis2dh12_get_result_g twr_lis2dh12_get_result_g
#define bc_lis2dh12_set_alarm twr_lis2dh12_set_alarm
#define bc_lis2dh12_set_resolution twr_lis2dh12_set_resolution
#define bc_lis2dh12_set_scale twr_lis2dh12_set_scale

#include <twr_log.h>
#define BC_LOG_UART TWR_LOG_UART
#define BC_UART_UART2 TWR_UART_UART2
#define BC_LOG_DUMP_WIDTH TWR_LOG_DUMP_WIDTH
#define BC_LOG_LEVEL_DUMP TWR_LOG_LEVEL_DUMP
#define BC_LOG_LEVEL_DEBUG TWR_LOG_LEVEL_DEBUG
#define BC_LOG_LEVEL_INFO TWR_LOG_LEVEL_INFO
#define BC_LOG_LEVEL_WARNING TWR_LOG_LEVEL_WARNING
#define BC_LOG_LEVEL_ERROR TWR_LOG_LEVEL_ERROR
#define BC_LOG_LEVEL_OFF TWR_LOG_LEVEL_OFF
#define bc_log_level_t twr_log_level_t
#define BC_LOG_TIMESTAMP_OFF TWR_LOG_TIMESTAMP_OFF
#define BC_LOG_TIMESTAMP_ABS TWR_LOG_TIMESTAMP_ABS
#define BC_LOG_TIMESTAMP_REL TWR_LOG_TIMESTAMP_REL
#define bc_log_timestamp_t twr_log_timestamp_t
#define bc_log_init twr_log_init
#define bc_log_dump twr_log_dump
#define bc_log_debug twr_log_debug
#define bc_log_info twr_log_info
#define bc_log_warning twr_log_warning
#define bc_log_error twr_log_error
#define bc_log_init twr_log_init
#define bc_log_dump twr_log_dump
#define bc_log_debug twr_log_debug
#define bc_log_info twr_log_info
#define bc_log_warning twr_log_warning
#define bc_log_error twr_log_error

#include <twr_lp8.h>
#define BC_LP8_EVENT_ERROR TWR_LP8_EVENT_ERROR
#define BC_LP8_EVENT_UPDATE TWR_LP8_EVENT_UPDATE
#define bc_lp8_event_t twr_lp8_event_t
#define BC_LP8_CALIBRATION_BACKGROUND_UNFILTERED TWR_LP8_CALIBRATION_BACKGROUND_UNFILTERED
#define BC_LP8_CALIBRATION_BACKGROUND_FILTERED TWR_LP8_CALIBRATION_BACKGROUND_FILTERED
#define BC_LP8_CALIBRATION_BACKGROUND_UNFILTERED_RF TWR_LP8_CALIBRATION_BACKGROUND_UNFILTERED_RF
#define BC_LP8_CALIBRATION_BACKGROUND_FILTERED_RF TWR_LP8_CALIBRATION_BACKGROUND_FILTERED_RF
#define BC_LP8_CALIBRATION_ABC TWR_LP8_CALIBRATION_ABC
#define BC_RF TWR_RF
#define bc_lp8_calibration_t twr_lp8_calibration_t
#define bc_lp8_t twr_lp8_t
#define bc_lp8_driver_t twr_lp8_driver_t
#define BC_LP8_STATE_ERROR TWR_LP8_STATE_ERROR
#define BC_LP8_STATE_INITIALIZE TWR_LP8_STATE_INITIALIZE
#define BC_LP8_STATE_READY TWR_LP8_STATE_READY
#define BC_LP8_STATE_PRECHARGE TWR_LP8_STATE_PRECHARGE
#define BC_LP8_STATE_CHARGE TWR_LP8_STATE_CHARGE
#define BC_LP8_STATE_BOOT TWR_LP8_STATE_BOOT
#define BC_LP8_STATE_BOOT_READ TWR_LP8_STATE_BOOT_READ
#define BC_LP8_STATE_MEASURE TWR_LP8_STATE_MEASURE
#define BC_LP8_STATE_MEASURE_READ TWR_LP8_STATE_MEASURE_READ
#define bc_lp8_state_t twr_lp8_state_t
#define BC_LP8_ERROR_INITIALIZE TWR_LP8_ERROR_INITIALIZE
#define BC_LP8_ERROR_PRECHARGE TWR_LP8_ERROR_PRECHARGE
#define BC_LP8_ERROR_CHARGE_CHARGE_ENABLE TWR_LP8_ERROR_CHARGE_CHARGE_ENABLE
#define BC_LP8_ERROR_CHARGE_DEVICE_ENABLE TWR_LP8_ERROR_CHARGE_DEVICE_ENABLE
#define BC_LP8_ERROR_BOOT_SIGNAL_READY TWR_LP8_ERROR_BOOT_SIGNAL_READY
#define BC_LP8_ERROR_BOOT_TIMEOUT TWR_LP8_ERROR_BOOT_TIMEOUT
#define BC_LP8_ERROR_BOOT_UART_ENABLE TWR_LP8_ERROR_BOOT_UART_ENABLE
#define BC_LP8_ERROR_BOOT_UART_WRITE TWR_LP8_ERROR_BOOT_UART_WRITE
#define BC_LP8_ERROR_BOOT_READ_UART_ENABLE TWR_LP8_ERROR_BOOT_READ_UART_ENABLE
#define BC_LP8_ERROR_BOOT_READ_DEVICE_ADDRESS TWR_LP8_ERROR_BOOT_READ_DEVICE_ADDRESS
#define BC_LP8_ERROR_BOOT_READ_COMMAND TWR_LP8_ERROR_BOOT_READ_COMMAND
#define BC_LP8_ERROR_BOOT_READ_CRC TWR_LP8_ERROR_BOOT_READ_CRC
#define BC_LP8_ERROR_BOOT_READ_TIMEOUT TWR_LP8_ERROR_BOOT_READ_TIMEOUT
#define BC_LP8_ERROR_MEASURE_SIGNAL_RDY TWR_LP8_ERROR_MEASURE_SIGNAL_RDY
#define BC_LP8_ERROR_MEASURE_SIGNAL_RDY_TIMEOUT TWR_LP8_ERROR_MEASURE_SIGNAL_RDY_TIMEOUT
#define BC_LP8_ERROR_MEASURE_UART_ENABLE TWR_LP8_ERROR_MEASURE_UART_ENABLE
#define BC_LP8_ERROR_MEASURE_UART_WRITE TWR_LP8_ERROR_MEASURE_UART_WRITE
#define BC_LP8_ERROR_MEASURE_READ_UART_ENABLE TWR_LP8_ERROR_MEASURE_READ_UART_ENABLE
#define BC_LP8_ERROR_MEASURE_READ_DEVICE_ENABLE TWR_LP8_ERROR_MEASURE_READ_DEVICE_ENABLE
#define BC_LP8_ERROR_MEASURE_READ_DEVICE_ADDRESS TWR_LP8_ERROR_MEASURE_READ_DEVICE_ADDRESS
#define BC_LP8_ERROR_MEASURE_READ_COMMAND TWR_LP8_ERROR_MEASURE_READ_COMMAND
#define BC_LP8_ERROR_MEASURE_READ_CRC TWR_LP8_ERROR_MEASURE_READ_CRC
#define BC_LP8_ERROR_MEASURE_READ_CALIBRATION_RUN TWR_LP8_ERROR_MEASURE_READ_CALIBRATION_RUN
#define BC_LP8_ERROR_MEASURE_READ_STATUS1 TWR_LP8_ERROR_MEASURE_READ_STATUS1
#define BC_LP8_ERROR_MEASURE_READ_TIMEOUT TWR_LP8_ERROR_MEASURE_READ_TIMEOUT
#define bc_lp8_error_t twr_lp8_error_t
#define bc_lp8_init twr_lp8_init
#define bc_lp8_set_event_handler twr_lp8_set_event_handler
#define bc_lp8_set_update_interval twr_lp8_set_update_interval
#define bc_lp8_measure twr_lp8_measure
#define bc_lp8_get_concentration_ppm twr_lp8_get_concentration_ppm
#define bc_lp8_get_error twr_lp8_get_error
#define bc_lp8_calibration twr_lp8_calibration

#include <twr_ls013b7dh03.h>
#define BC_LS013B7DH03_FRAMEBUFFER_SIZE TWR_LS013B7DH03_FRAMEBUFFER_SIZE
#define BC_LS013B7DH03_WIDTH TWR_LS013B7DH03_WIDTH
#define BC_LS013B7DH03_HEIGHT TWR_LS013B7DH03_HEIGHT
#define bc_ls013b7dh03_t twr_ls013b7dh03_t
#define bc_ls013b7dh03_init twr_ls013b7dh03_init
#define bc_ls013b7dh03_get_caps twr_ls013b7dh03_get_caps
#define bc_ls013b7dh03_is_ready twr_ls013b7dh03_is_ready
#define bc_ls013b7dh03_clear twr_ls013b7dh03_clear
#define bc_ls013b7dh03_draw_pixel twr_ls013b7dh03_draw_pixel
#define bc_ls013b7dh03_get_pixel twr_ls013b7dh03_get_pixel
#define bc_ls013b7dh03_update twr_ls013b7dh03_update
#define bc_ls013b7dh03_clear_memory_command twr_ls013b7dh03_clear_memory_command
#define bc_ls013b7dh03_get_driver twr_ls013b7dh03_get_driver

#include <twr_module_battery.h>
#define BC_MODULE_BATTERY_FORMAT_UNKNOWN TWR_MODULE_BATTERY_FORMAT_UNKNOWN
#define BC_MODULE_BATTERY_FORMAT_STANDARD TWR_MODULE_BATTERY_FORMAT_STANDARD
#define BC_MODULE_BATTERY_FORMAT_MINI TWR_MODULE_BATTERY_FORMAT_MINI
#define bc_module_battery_format_t twr_module_battery_format_t
#define BC_MODULE_BATTERY_EVENT_LEVEL_LOW TWR_MODULE_BATTERY_EVENT_LEVEL_LOW
#define BC_MODULE_BATTERY_EVENT_LEVEL_CRITICAL TWR_MODULE_BATTERY_EVENT_LEVEL_CRITICAL
#define BC_MODULE_BATTERY_EVENT_UPDATE TWR_MODULE_BATTERY_EVENT_UPDATE
#define BC_MODULE_BATTERY_EVENT_ERROR TWR_MODULE_BATTERY_EVENT_ERROR
#define bc_module_battery_event_t twr_module_battery_event_t
#define bc_module_battery_init twr_module_battery_init
#define bc_module_battery_set_event_handler twr_module_battery_set_event_handler
#define bc_module_battery_set_update_interval twr_module_battery_set_update_interval
#define bc_module_battery_set_threshold_levels twr_module_battery_set_threshold_levels
#define bc_module_battery_get_format twr_module_battery_get_format
#define bc_module_battery_measure twr_module_battery_measure
#define bc_module_battery_get_voltage twr_module_battery_get_voltage
#define bc_module_battery_get_charge_level twr_module_battery_get_charge_level
#define bc_module_battery_is_present twr_module_battery_is_present

#include <twr_module_climate.h>
#define BC_MODULE_CLIMATE_EVENT_ERROR_THERMOMETER TWR_MODULE_CLIMATE_EVENT_ERROR_THERMOMETER
#define BC_MODULE_CLIMATE_EVENT_ERROR_HYGROMETER TWR_MODULE_CLIMATE_EVENT_ERROR_HYGROMETER
#define BC_MODULE_CLIMATE_EVENT_ERROR_LUX_METER TWR_MODULE_CLIMATE_EVENT_ERROR_LUX_METER
#define BC_MODULE_CLIMATE_EVENT_ERROR_BAROMETER TWR_MODULE_CLIMATE_EVENT_ERROR_BAROMETER
#define BC_MODULE_CLIMATE_EVENT_UPDATE_THERMOMETER TWR_MODULE_CLIMATE_EVENT_UPDATE_THERMOMETER
#define BC_MODULE_CLIMATE_EVENT_UPDATE_HYGROMETER TWR_MODULE_CLIMATE_EVENT_UPDATE_HYGROMETER
#define BC_MODULE_CLIMATE_EVENT_UPDATE_LUX_METER TWR_MODULE_CLIMATE_EVENT_UPDATE_LUX_METER
#define BC_MODULE_CLIMATE_EVENT_UPDATE_BAROMETER TWR_MODULE_CLIMATE_EVENT_UPDATE_BAROMETER
#define bc_module_climate_event_t twr_module_climate_event_t
#define BC_MODULE_CLIMATE_REVISION_R1 TWR_MODULE_CLIMATE_REVISION_R1
#define BC_MODULE_CLIMATE_REVISION_R2 TWR_MODULE_CLIMATE_REVISION_R2
#define bc_module_climate_revision_t twr_module_climate_revision_t
#define bc_module_climate_init twr_module_climate_init
#define bc_module_climate_set_event_handler twr_module_climate_set_event_handler
#define bc_module_climate_set_update_interval_all_sensors twr_module_climate_set_update_interval_all_sensors
#define bc_module_climate_set_update_interval_thermometer twr_module_climate_set_update_interval_thermometer
#define bc_module_climate_set_update_interval_hygrometer twr_module_climate_set_update_interval_hygrometer
#define bc_module_climate_set_update_interval_lux_meter twr_module_climate_set_update_interval_lux_meter
#define bc_module_climate_set_update_interval_barometer twr_module_climate_set_update_interval_barometer
#define bc_module_climate_measure_all_sensors twr_module_climate_measure_all_sensors
#define bc_module_climate_measure_thermometer twr_module_climate_measure_thermometer
#define bc_module_climate_measure_hygrometer twr_module_climate_measure_hygrometer
#define bc_module_climate_measure_lux_meter twr_module_climate_measure_lux_meter
#define bc_module_climate_measure_barometer twr_module_climate_measure_barometer
#define bc_module_climate_get_temperature_celsius twr_module_climate_get_temperature_celsius
#define bc_module_climate_get_temperature_fahrenheit twr_module_climate_get_temperature_fahrenheit
#define bc_module_climate_get_temperature_kelvin twr_module_climate_get_temperature_kelvin
#define bc_module_climate_get_humidity_percentage twr_module_climate_get_humidity_percentage
#define bc_module_climate_get_illuminance_lux twr_module_climate_get_illuminance_lux
#define bc_module_climate_get_altitude_meter twr_module_climate_get_altitude_meter
#define bc_module_climate_get_pressure_pascal twr_module_climate_get_pressure_pascal
#define bc_module_climate_get_revision twr_module_climate_get_revision

#include <twr_module_co2.h>
#define BC_MODULE_CO2_EVENT_ERROR TWR_MODULE_CO2_EVENT_ERROR
#define BC_MODULE_CO2_EVENT_UPDATE TWR_MODULE_CO2_EVENT_UPDATE
#define bc_module_co2_event_t twr_module_co2_event_t
#define bc_module_co2_init twr_module_co2_init
#define bc_module_co2_set_event_handler twr_module_co2_set_event_handler
#define bc_module_co2_set_update_interval twr_module_co2_set_update_interval
#define bc_module_co2_measure twr_module_co2_measure
#define bc_module_co2_get_concentration_ppm twr_module_co2_get_concentration_ppm
#define bc_module_co2_get_error twr_module_co2_get_error
#define bc_module_co2_calibration twr_module_co2_calibration

#include <twr_module_encoder.h>
#define BC_MODULE_ENCODER_EVENT_ROTATION TWR_MODULE_ENCODER_EVENT_ROTATION
#define BC_MODULE_ENCODER_EVENT_PRESS TWR_MODULE_ENCODER_EVENT_PRESS
#define BC_MODULE_ENCODER_EVENT_RELEASE TWR_MODULE_ENCODER_EVENT_RELEASE
#define BC_MODULE_ENCODER_EVENT_CLICK TWR_MODULE_ENCODER_EVENT_CLICK
#define BC_MODULE_ENCODER_EVENT_HOLD TWR_MODULE_ENCODER_EVENT_HOLD
#define BC_MODULE_ENCODER_EVENT_ERROR TWR_MODULE_ENCODER_EVENT_ERROR
#define bc_module_encoder_event_t twr_module_encoder_event_t
#define bc_module_encoder_init twr_module_encoder_init
#define bc_module_encoder_deinit twr_module_encoder_deinit
#define bc_module_encoder_set_event_handler twr_module_encoder_set_event_handler
#define bc_module_encoder_get_increment twr_module_encoder_get_increment
#define bc_module_encoder_is_present twr_module_encoder_is_present

#include <twr_module_gps.h>
#define BC_MODULE_GPS_EVENT_ERROR TWR_MODULE_GPS_EVENT_ERROR
#define BC_MODULE_GPS_EVENT_START TWR_MODULE_GPS_EVENT_START
#define BC_MODULE_GPS_EVENT_UPDATE TWR_MODULE_GPS_EVENT_UPDATE
#define BC_MODULE_GPS_EVENT_STOP TWR_MODULE_GPS_EVENT_STOP
#define bc_module_gps_event_t twr_module_gps_event_t
#define BC_MODULE_GPS_LED_RED TWR_MODULE_GPS_LED_RED
#define BC_MODULE_GPS_LED_GREEN TWR_MODULE_GPS_LED_GREEN
#define bc_module_gps_led_t twr_module_gps_led_t
#define bc_module_gps_time_t twr_module_gps_time_t
#define bc_module_gps_position_t twr_module_gps_position_t
#define bc_module_gps_altitude_t twr_module_gps_altitude_t
#define bc_module_gps_quality_t twr_module_gps_quality_t
#define bc_module_gps_accuracy_t twr_module_gps_accuracy_t
#define bc_module_gps_init twr_module_gps_init
#define bc_module_gps_set_event_handler twr_module_gps_set_event_handler
#define bc_module_gps_start twr_module_gps_start
#define bc_module_gps_stop twr_module_gps_stop
#define bc_module_gps_invalidate twr_module_gps_invalidate
#define bc_module_gps_get_time twr_module_gps_get_time
#define bc_module_gps_get_position twr_module_gps_get_position
#define bc_module_gps_get_altitude twr_module_gps_get_altitude
#define bc_module_gps_get_quality twr_module_gps_get_quality
#define bc_module_gps_get_accuracy twr_module_gps_get_accuracy
#define bc_module_gps_get_led_driver twr_module_gps_get_led_driver

#include <twr_module_infra_grid.h>
#define BC_MODULE_INFRA_GRID_EVENT_ERROR TWR_MODULE_INFRA_GRID_EVENT_ERROR
#define BC_MODULE_INFRA_GRID_EVENT_UPDATE TWR_MODULE_INFRA_GRID_EVENT_UPDATE
#define bc_module_infra_grid_event_t twr_module_infra_grid_event_t
#define bc_module_infra_grid_t twr_module_infra_grid_t
#define BC_MODULE_INFRA_GRID_REVISION_R1_0 TWR_MODULE_INFRA_GRID_REVISION_R1_0
#define BC_MODULE_INFRA_GRID_REVISION_R1_1 TWR_MODULE_INFRA_GRID_REVISION_R1_1
#define bc_module_infra_grid_revision_t twr_module_infra_grid_revision_t
#define BC_MODULE_INFRA_GRID_STATE_ERROR TWR_MODULE_INFRA_GRID_STATE_ERROR
#define BC_MODULE_INFRA_GRID_STATE_INITIALIZE TWR_MODULE_INFRA_GRID_STATE_INITIALIZE
#define BC_MODULE_INFRA_GRID_STATE_MODE_CHANGE TWR_MODULE_INFRA_GRID_STATE_MODE_CHANGE
#define BC_MODULE_INFRA_GRID_STATE_POWER_UP TWR_MODULE_INFRA_GRID_STATE_POWER_UP
#define BC_MODULE_INFRA_GRID_STATE_INITIAL_RESET TWR_MODULE_INFRA_GRID_STATE_INITIAL_RESET
#define BC_MODULE_INFRA_GRID_STATE_FLAG_RESET TWR_MODULE_INFRA_GRID_STATE_FLAG_RESET
#define BC_MODULE_INFRA_GRID_STATE_MEASURE TWR_MODULE_INFRA_GRID_STATE_MEASURE
#define BC_MODULE_INFRA_GRID_STATE_READ TWR_MODULE_INFRA_GRID_STATE_READ
#define BC_MODULE_INFRA_GRID_STATE_UPDATE TWR_MODULE_INFRA_GRID_STATE_UPDATE
#define bc_module_infra_grid_state_t twr_module_infra_grid_state_t
#define bc_module_infra_grid_init twr_module_infra_grid_init
#define bc_module_infra_grid_set_event_handler twr_module_infra_grid_set_event_handler
#define bc_module_infra_grid_set_update_interval twr_module_infra_grid_set_update_interval
#define bc_module_infra_grid_measure twr_module_infra_grid_measure
#define bc_module_infra_grid_read_values twr_module_infra_grid_read_values
#define bc_module_infra_grid_get_temperatures_celsius twr_module_infra_grid_get_temperatures_celsius
#define bc_module_infra_grid_read_thermistor twr_module_infra_grid_read_thermistor
#define bc_module_infra_grid_get_revision twr_module_infra_grid_get_revision

#include <twr_module_lcd.h>
#define BC_MODULE_LCD_EVENT_LEFT_PRESS TWR_MODULE_LCD_EVENT_LEFT_PRESS
#define BC_MODULE_LCD_EVENT_LEFT_RELEASE TWR_MODULE_LCD_EVENT_LEFT_RELEASE
#define BC_MODULE_LCD_EVENT_LEFT_CLICK TWR_MODULE_LCD_EVENT_LEFT_CLICK
#define BC_MODULE_LCD_EVENT_LEFT_HOLD TWR_MODULE_LCD_EVENT_LEFT_HOLD
#define BC_MODULE_LCD_EVENT_RIGHT_PRESS TWR_MODULE_LCD_EVENT_RIGHT_PRESS
#define BC_MODULE_LCD_EVENT_RIGHT_RELEASE TWR_MODULE_LCD_EVENT_RIGHT_RELEASE
#define BC_MODULE_LCD_EVENT_RIGHT_CLICK TWR_MODULE_LCD_EVENT_RIGHT_CLICK
#define BC_MODULE_LCD_EVENT_RIGHT_HOLD TWR_MODULE_LCD_EVENT_RIGHT_HOLD
#define BC_MODULE_LCD_EVENT_BOTH_HOLD TWR_MODULE_LCD_EVENT_BOTH_HOLD
#define bc_module_lcd_event_t twr_module_lcd_event_t
#define BC_MODULE_LCD_ROTATION_0 TWR_MODULE_LCD_ROTATION_0
#define BC_MODULE_LCD_ROTATION_90 TWR_MODULE_LCD_ROTATION_90
#define BC_MODULE_LCD_ROTATION_180 TWR_MODULE_LCD_ROTATION_180
#define BC_MODULE_LCD_ROTATION_270 TWR_MODULE_LCD_ROTATION_270
#define bc_module_lcd_rotation_t twr_module_lcd_rotation_t
#define BC_MODULE_LCD_LED_RED TWR_MODULE_LCD_LED_RED
#define BC_MODULE_LCD_LED_GREEN TWR_MODULE_LCD_LED_GREEN
#define BC_MODULE_LCD_LED_BLUE TWR_MODULE_LCD_LED_BLUE
#define bc_module_lcd_led_t twr_module_lcd_led_t
#define BC_MODULE_LCD_BUTTON_LEFT TWR_MODULE_LCD_BUTTON_LEFT
#define BC_MODULE_LCD_BUTTON_RIGHT TWR_MODULE_LCD_BUTTON_RIGHT
#define bc_module_lcd_button_t twr_module_lcd_button_t
#define bc_module_lcd_init twr_module_lcd_init
#define bc_module_lcd_get_gfx twr_module_lcd_get_gfx
#define bc_module_lcd_on twr_module_lcd_on
#define bc_module_lcd_off twr_module_lcd_off
#define bc_module_lcd_is_ready twr_module_lcd_is_ready
#define bc_module_lcd_clear twr_module_lcd_clear
#define bc_module_lcd_draw_pixel twr_module_lcd_draw_pixel
#define bc_module_lcd_draw_char twr_module_lcd_draw_char
#define bc_module_lcd_draw_string twr_module_lcd_draw_string
#define bc_module_lcd_draw_line twr_module_lcd_draw_line
#define bc_module_lcd_draw_rectangle twr_module_lcd_draw_rectangle
#define bc_module_lcd_draw_circle twr_module_lcd_draw_circle
#define bc_module_lcd_draw_image twr_module_lcd_draw_image
#define bc_module_lcd_draw twr_module_lcd_draw
#define bc_module_lcd_printf twr_module_lcd_printf
#define bc_module_lcd_update twr_module_lcd_update
#define bc_module_lcd_set_font twr_module_lcd_set_font
#define bc_module_lcd_set_rotation twr_module_lcd_set_rotation
#define bc_module_lcd_set_event_handler twr_module_lcd_set_event_handler
#define bc_module_lcd_get_rotation twr_module_lcd_get_rotation
#define bc_module_lcd_get_led_driver twr_module_lcd_get_led_driver
#define bc_module_lcd_get_button_driver twr_module_lcd_get_button_driver
#define bc_module_lcd_set_button_hold_time twr_module_lcd_set_button_hold_time
#define bc_module_lcd_set_button_scan_interval twr_module_lcd_set_button_scan_interval
#define bc_module_lcd_set_button_debounce_time twr_module_lcd_set_button_debounce_time
#define bc_module_lcd_set_button_click_timeout twr_module_lcd_set_button_click_timeout

#include <twr_module_pir.h>
#define BC_MODULE_PIR_SENSITIVITY_LOW TWR_MODULE_PIR_SENSITIVITY_LOW
#define BC_MODULE_PIR_SENSITIVITY_MEDIUM TWR_MODULE_PIR_SENSITIVITY_MEDIUM
#define BC_MODULE_PIR_SENSITIVITY_HIGH TWR_MODULE_PIR_SENSITIVITY_HIGH
#define BC_MODULE_PIR_SENSITIVITY_VERY_HIGH TWR_MODULE_PIR_SENSITIVITY_VERY_HIGH
#define bc_module_pir_sensitivity_t twr_module_pir_sensitivity_t
#define BC_MODULE_PIR_EVENT_ERROR TWR_MODULE_PIR_EVENT_ERROR
#define BC_MODULE_PIR_EVENT_MOTION TWR_MODULE_PIR_EVENT_MOTION
#define bc_module_pir_event_t twr_module_pir_event_t
#define bc_module_pir_t twr_module_pir_t
#define bc_module_pir_init twr_module_pir_init
#define bc_module_pir_set_event_handler twr_module_pir_set_event_handler
#define bc_module_pir_set_sensitivity twr_module_pir_set_sensitivity

#include <twr_module_power.h>
#define bc_module_power_led_strip_buffer_rgbw_144 twr_module_power_led_strip_buffer_rgbw_144
#define bc_module_power_led_strip_buffer_rgb_150 twr_module_power_led_strip_buffer_rgb_150
#define bc_module_power_init twr_module_power_init
#define bc_module_power_relay_set_state twr_module_power_relay_set_state
#define bc_module_power_relay_get_state twr_module_power_relay_get_state
#define bc_module_power_get_led_strip_driver twr_module_power_get_led_strip_driver

#include <twr_module_relay.h>
#define BC_MODULE_RELAY_I2C_ADDRESS_DEFAULT TWR_MODULE_RELAY_I2C_ADDRESS_DEFAULT
#define BC_MODULE_RELAY_I2C_ADDRESS_ALTERNATE TWR_MODULE_RELAY_I2C_ADDRESS_ALTERNATE
#define bc_module_relay_init twr_module_relay_init
#define bc_module_relay_set twr_module_relay_set
#define bc_module_relay_toggle twr_module_relay_toggle
#define bc_module_relay_pulse twr_module_relay_pulse
#define BC_MODULE_RELAY_STATE_UNKNOWN TWR_MODULE_RELAY_STATE_UNKNOWN
#define BC_MODULE_RELAY_STATE_FALSE TWR_MODULE_RELAY_STATE_FALSE
#define BC_MODULE_RELAY_STATE_TRUE TWR_MODULE_RELAY_STATE_TRUE
#define bc_module_relay_state_t twr_module_relay_state_t
#define bc_module_relay_t twr_module_relay_t
#define BC_MODULE_RELAY_TASK_STATE_IDLE TWR_MODULE_RELAY_TASK_STATE_IDLE
#define BC_MODULE_RELAY_TASK_STATE_SET TWR_MODULE_RELAY_TASK_STATE_SET
#define BC_MODULE_RELAY_TASK_STATE_SET_DEMAGNETIZE TWR_MODULE_RELAY_TASK_STATE_SET_DEMAGNETIZE
#define BC_MODULE_RELAY_TASK_STATE_PULSE TWR_MODULE_RELAY_TASK_STATE_PULSE
#define BC_MODULE_RELAY_TASK_STATE_PULSE_DEMAGNETIZE TWR_MODULE_RELAY_TASK_STATE_PULSE_DEMAGNETIZE
#define BC_MODULE_RELAY_TASK_STATE_PULSE_REVERSE TWR_MODULE_RELAY_TASK_STATE_PULSE_REVERSE
#define BC_MODULE_RELAY_TASK_STATE_PULSE_DEMAGNETIZE_2 TWR_MODULE_RELAY_TASK_STATE_PULSE_DEMAGNETIZE_2
#define bc_module_relay_task_state_t twr_module_relay_task_state_t
#define BC_MODULE_RELAY_COMMAND_NONE TWR_MODULE_RELAY_COMMAND_NONE
#define BC_MODULE_RELAY_COMMAND_SET TWR_MODULE_RELAY_COMMAND_SET
#define BC_MODULE_RELAY_COMMAND_PULSE TWR_MODULE_RELAY_COMMAND_PULSE
#define bc_module_relay_command_t twr_module_relay_command_t
#define bc_module_relay_init twr_module_relay_init
#define bc_module_relay_set_state twr_module_relay_set_state
#define bc_module_relay_get_state twr_module_relay_get_state
#define bc_module_relay_pulse twr_module_relay_pulse
#define bc_module_relay_toggle twr_module_relay_toggle

#include <twr_module_rs485.h>
#define BC_MODULE_RS485_EVENT_ERROR TWR_MODULE_RS485_EVENT_ERROR
#define BC_MODULE_RS485_EVENT_VOLTAGE TWR_MODULE_RS485_EVENT_VOLTAGE
#define BC_MODULE_RS485_EVENT_ASYNC_WRITE_DONE TWR_MODULE_RS485_EVENT_ASYNC_WRITE_DONE
#define BC_MODULE_RS485_EVENT_ASYNC_READ_DATA TWR_MODULE_RS485_EVENT_ASYNC_READ_DATA
#define BC_MODULE_RS485_EVENT_ASYNC_READ_TIMEOUT TWR_MODULE_RS485_EVENT_ASYNC_READ_TIMEOUT
#define bc_module_rs485_event_t twr_module_rs485_event_t
#define BC_MODULE_RS485_BAUDRATE_9600 TWR_MODULE_RS485_BAUDRATE_9600
#define BC_MODULE_RS485_BAUDRATE_19200 TWR_MODULE_RS485_BAUDRATE_19200
#define BC_MODULE_RS485_BAUDRATE_38400 TWR_MODULE_RS485_BAUDRATE_38400
#define BC_MODULE_RS485_BAUDRATE_57600 TWR_MODULE_RS485_BAUDRATE_57600
#define BC_MODULE_RS485_BAUDRATE_115200 TWR_MODULE_RS485_BAUDRATE_115200
#define bc_module_rs485_baudrate_t twr_module_rs485_baudrate_t
#define bc_module_rs485_init twr_module_rs485_init
#define bc_module_rs485_deinit twr_module_rs485_deinit
#define bc_module_rs485_measure twr_module_rs485_measure
#define bc_module_rs485_get_voltage twr_module_rs485_get_voltage
#define bc_module_rs485_set_event_handler twr_module_rs485_set_event_handler
#define bc_module_rs485_set_update_interval twr_module_rs485_set_update_interval
#define bc_module_rs485_write twr_module_rs485_write
#define bc_module_rs485_available twr_module_rs485_available
#define bc_module_rs485_read twr_module_rs485_read
#define bc_module_rs485_set_baudrate twr_module_rs485_set_baudrate
#define bc_module_rs485_set_async_fifo twr_module_rs485_set_async_fifo
#define bc_module_rs485_async_write twr_module_rs485_async_write
#define bc_module_rs485_async_read_start twr_module_rs485_async_read_start
#define bc_module_rs485_async_read_stop twr_module_rs485_async_read_stop
#define bc_module_rs485_async_read twr_module_rs485_async_read

#include <twr_module_sensor.h>
#define BC_MODULE_SENSOR_CHANNEL_A TWR_MODULE_SENSOR_CHANNEL_A
#define BC_MODULE_SENSOR_CHANNEL_B TWR_MODULE_SENSOR_CHANNEL_B
#define BC_MODULE_SENSOR_CHANNEL_C TWR_MODULE_SENSOR_CHANNEL_C
#define bc_module_sensor_channel_t twr_module_sensor_channel_t
#define BC_MODULE_SENSOR_PULL_NONE TWR_MODULE_SENSOR_PULL_NONE
#define BC_MODULE_SENSOR_PULL_UP_INTERNAL TWR_MODULE_SENSOR_PULL_UP_INTERNAL
#define BC_MODULE_SENSOR_PULL_DOWN_INTERNAL TWR_MODULE_SENSOR_PULL_DOWN_INTERNAL
#define BC_MODULE_SENSOR_PULL_UP_4K7 TWR_MODULE_SENSOR_PULL_UP_4K7
#define BC_MODULE_SENSOR_PULL_UP_56R TWR_MODULE_SENSOR_PULL_UP_56R
#define bc_module_sensor_pull_t twr_module_sensor_pull_t
#define BC_MODULE_SENSOR_MODE_INPUT TWR_MODULE_SENSOR_MODE_INPUT
#define BC_MODULE_SENSOR_MODE_OUTPUT TWR_MODULE_SENSOR_MODE_OUTPUT
#define bc_module_sensor_mode_t twr_module_sensor_mode_t
#define BC_MODULE_SENSOR_REVISION_UNKNOWN TWR_MODULE_SENSOR_REVISION_UNKNOWN
#define BC_MODULE_SENSOR_REVISION_R1_0 TWR_MODULE_SENSOR_REVISION_R1_0
#define BC_MODULE_SENSOR_REVISION_R1_1 TWR_MODULE_SENSOR_REVISION_R1_1
#define bc_module_sensor_revision_t twr_module_sensor_revision_t
#define bc_module_sensor_init twr_module_sensor_init
#define bc_module_sensor_deinit twr_module_sensor_deinit
#define bc_module_sensor_set_pull twr_module_sensor_set_pull
#define bc_module_sensor_get_pull twr_module_sensor_get_pull
#define bc_module_sensor_set_mode twr_module_sensor_set_mode
#define bc_module_sensor_get_mode twr_module_sensor_get_mode
#define bc_module_sensor_get_input twr_module_sensor_get_input
#define bc_module_sensor_set_output twr_module_sensor_set_output
#define bc_module_sensor_get_output twr_module_sensor_get_output
#define bc_module_sensor_toggle_output twr_module_sensor_toggle_output
#define bc_module_sensor_set_vdd twr_module_sensor_set_vdd
#define bc_module_sensor_get_revision twr_module_sensor_get_revision
#define bc_module_sensor_get_onewire twr_module_sensor_get_onewire
#define bc_module_sensor_onewire_power_up twr_module_sensor_onewire_power_up
#define bc_module_sensor_onewire_power_down twr_module_sensor_onewire_power_down

#include <twr_module_sigfox.h>
#define BC_MODULE_SIGFOX_REVISION_R1 TWR_MODULE_SIGFOX_REVISION_R1
#define BC_MODULE_SIGFOX_REVISION_R2 TWR_MODULE_SIGFOX_REVISION_R2
#define bc_module_sigfox_revision_t twr_module_sigfox_revision_t
#define BC_MODULE_SIGFOX_EVENT_READY TWR_MODULE_SIGFOX_EVENT_READY
#define BC_MODULE_SIGFOX_EVENT_ERROR TWR_MODULE_SIGFOX_EVENT_ERROR
#define BC_MODULE_SIGFOX_EVENT_SEND_RF_FRAME_START TWR_MODULE_SIGFOX_EVENT_SEND_RF_FRAME_START
#define BC_MODULE_SIGFOX_EVENT_SEND_RF_FRAME_DONE TWR_MODULE_SIGFOX_EVENT_SEND_RF_FRAME_DONE
#define BC_MODULE_SIGFOX_EVENT_READ_DEVICE_ID TWR_MODULE_SIGFOX_EVENT_READ_DEVICE_ID
#define BC_MODULE_SIGFOX_EVENT_READ_DEVICE_PAC TWR_MODULE_SIGFOX_EVENT_READ_DEVICE_PAC
#define bc_module_sigfox_event_t twr_module_sigfox_event_t
#define bc_module_sigfox_t twr_module_sigfox_t
#define bc_module_sigfox_init twr_module_sigfox_init
#define bc_module_sigfox_set_event_handler twr_module_sigfox_set_event_handler
#define bc_module_sigfox_is_ready twr_module_sigfox_is_ready
#define bc_module_sigfox_send_rf_frame twr_module_sigfox_send_rf_frame
#define bc_module_sigfox_read_device_id twr_module_sigfox_read_device_id
#define BC_WSSFM10R1AT_EVENT_READ_DEVICE_ID TWR_WSSFM10R1AT_EVENT_READ_DEVICE_ID
#define bc_module_sigfox_get_device_id twr_module_sigfox_get_device_id
#define bc_module_sigfox_read_device_pac twr_module_sigfox_read_device_pac
#define BC_WSSFM10R1AT_EVENT_READ_DEVICE_ID TWR_WSSFM10R1AT_EVENT_READ_DEVICE_ID
#define bc_module_sigfox_get_device_pac twr_module_sigfox_get_device_pac
#define bc_module_sigfox_continuous_wave twr_module_sigfox_continuous_wave

#include <twr_mpl3115a2.h>
#define BC_MPL3115A2_EVENT_ERROR TWR_MPL3115A2_EVENT_ERROR
#define BC_MPL3115A2_EVENT_UPDATE TWR_MPL3115A2_EVENT_UPDATE
#define bc_mpl3115a2_event_t twr_mpl3115a2_event_t
#define bc_mpl3115a2_t twr_mpl3115a2_t
#define BC_MPL3115A2_STATE_ERROR TWR_MPL3115A2_STATE_ERROR
#define BC_MPL3115A2_STATE_INITIALIZE TWR_MPL3115A2_STATE_INITIALIZE
#define BC_MPL3115A2_STATE_MEASURE_ALTITUDE TWR_MPL3115A2_STATE_MEASURE_ALTITUDE
#define BC_MPL3115A2_STATE_READ_ALTITUDE TWR_MPL3115A2_STATE_READ_ALTITUDE
#define BC_MPL3115A2_STATE_MEASURE_PRESSURE TWR_MPL3115A2_STATE_MEASURE_PRESSURE
#define BC_MPL3115A2_STATE_READ_PRESSURE TWR_MPL3115A2_STATE_READ_PRESSURE
#define BC_MPL3115A2_STATE_UPDATE TWR_MPL3115A2_STATE_UPDATE
#define bc_mpl3115a2_state_t twr_mpl3115a2_state_t
#define bc_mpl3115a2_init twr_mpl3115a2_init
#define bc_mpl3115a2_set_event_handler twr_mpl3115a2_set_event_handler
#define bc_mpl3115a2_set_update_interval twr_mpl3115a2_set_update_interval
#define bc_mpl3115a2_measure twr_mpl3115a2_measure
#define bc_mpl3115a2_get_altitude_meter twr_mpl3115a2_get_altitude_meter
#define bc_mpl3115a2_get_pressure_pascal twr_mpl3115a2_get_pressure_pascal

#include <twr_onewire.h>
#define BC_ONEWIRE_DEVICE_NUMBER_SKIP_ROM TWR_ONEWIRE_DEVICE_NUMBER_SKIP_ROM
#define bc_onewire_t twr_onewire_t
#define bc_onewire_driver_t twr_onewire_driver_t
#define bc_onewire_init_gpio twr_onewire_init_gpio
#define bc_onewire_init twr_onewire_init
#define bc_onewire_transaction_start twr_onewire_transaction_start
#define bc_onewire_transaction_stop twr_onewire_transaction_stop
#define bc_onewire_is_transaction twr_onewire_is_transaction
#define bc_onewire_reset twr_onewire_reset
#define bc_onewire_select twr_onewire_select
#define bc_onewire_skip_rom twr_onewire_skip_rom
#define bc_onewire_write twr_onewire_write
#define bc_onewire_read twr_onewire_read
#define bc_onewire_write_byte twr_onewire_write_byte
#define bc_onewire_read_byte twr_onewire_read_byte
#define bc_onewire_write_bit twr_onewire_write_bit
#define bc_onewire_read_bit twr_onewire_read_bit
#define bc_onewire_search_all twr_onewire_search_all
#define bc_onewire_search_family twr_onewire_search_family
#define bc_onewire_search_start twr_onewire_search_start
#define bc_onewire_search_next twr_onewire_search_next
#define bc_onewire_auto_ds28e17_sleep_mode twr_onewire_auto_ds28e17_sleep_mode
#define bc_onewire_crc8 twr_onewire_crc8
#define bc_onewire_crc16 twr_onewire_crc16

#include <twr_onewire_ds2484.h>
#define bc_onewire_ds2484_init twr_onewire_ds2484_init

#include <twr_onewire_gpio.h>
#define bc_onewire_gpio_init twr_onewire_gpio_init
#define bc_onewire_gpio_det_driver twr_onewire_gpio_det_driver

#include <twr_onewire_relay.h>
#define BC_ONEWIRE_RELAY_FAMILY_CODE TWR_ONEWIRE_RELAY_FAMILY_CODE
#define BC_ONEWIRE_RELAY_CHANNEL_Q1 TWR_ONEWIRE_RELAY_CHANNEL_Q1
#define BC_ONEWIRE_RELAY_CHANNEL_Q2 TWR_ONEWIRE_RELAY_CHANNEL_Q2
#define BC_ONEWIRE_RELAY_CHANNEL_Q3 TWR_ONEWIRE_RELAY_CHANNEL_Q3
#define BC_ONEWIRE_RELAY_CHANNEL_Q4 TWR_ONEWIRE_RELAY_CHANNEL_Q4
#define BC_ONEWIRE_RELAY_CHANNEL_Q5 TWR_ONEWIRE_RELAY_CHANNEL_Q5
#define BC_ONEWIRE_RELAY_CHANNEL_Q6 TWR_ONEWIRE_RELAY_CHANNEL_Q6
#define BC_ONEWIRE_RELAY_CHANNEL_Q7 TWR_ONEWIRE_RELAY_CHANNEL_Q7
#define BC_ONEWIRE_RELAY_CHANNEL_Q8 TWR_ONEWIRE_RELAY_CHANNEL_Q8
#define bc_onewire_relay_channel_t twr_onewire_relay_channel_t
#define bc_onewire_relay_t twr_onewire_relay_t
#define bc_onewire_relay_init twr_onewire_relay_init
#define bc_onewire_relay_set_state twr_onewire_relay_set_state
#define bc_onewire_relay_get_state twr_onewire_relay_get_state

#include <twr_opt3001.h>
#define BC_OPT3001_EVENT_ERROR TWR_OPT3001_EVENT_ERROR
#define BC_OPT3001_EVENT_UPDATE TWR_OPT3001_EVENT_UPDATE
#define bc_opt3001_event_t twr_opt3001_event_t
#define bc_opt3001_t twr_opt3001_t
#define BC_OPT3001_STATE_ERROR TWR_OPT3001_STATE_ERROR
#define BC_OPT3001_STATE_INITIALIZE TWR_OPT3001_STATE_INITIALIZE
#define BC_OPT3001_STATE_MEASURE TWR_OPT3001_STATE_MEASURE
#define BC_OPT3001_STATE_READ TWR_OPT3001_STATE_READ
#define BC_OPT3001_STATE_UPDATE TWR_OPT3001_STATE_UPDATE
#define bc_opt3001_state_t twr_opt3001_state_t
#define bc_opt3001_init twr_opt3001_init
#define bc_opt3001_set_event_handler twr_opt3001_set_event_handler
#define bc_opt3001_set_update_interval twr_opt3001_set_update_interval
#define bc_opt3001_measure twr_opt3001_measure
#define bc_opt3001_get_illuminance_raw twr_opt3001_get_illuminance_raw
#define bc_opt3001_get_illuminance_lux twr_opt3001_get_illuminance_lux

#include <twr_pulse_counter.h>
#define BC_PULSE_COUNTER_EDGE_RISE TWR_PULSE_COUNTER_EDGE_RISE
#define BC_PULSE_COUNTER_EDGE_FALL TWR_PULSE_COUNTER_EDGE_FALL
#define BC_PULSE_COUNTER_EDGE_RISE_FALL TWR_PULSE_COUNTER_EDGE_RISE_FALL
#define bc_pulse_counter_edge_t twr_pulse_counter_edge_t
#define BC_PULSE_COUNTER_EVENT_UPDATE TWR_PULSE_COUNTER_EVENT_UPDATE
#define BC_PULSE_COUNTER_EVENT_OVERFLOW TWR_PULSE_COUNTER_EVENT_OVERFLOW
#define bc_pulse_counter_event_t twr_pulse_counter_event_t
#define bc_pulse_counter_init twr_pulse_counter_init
#define bc_pulse_counter_set_event_handler twr_pulse_counter_set_event_handler
#define bc_pulse_counter_set_update_interval twr_pulse_counter_set_update_interval
#define bc_pulse_counter_set twr_pulse_counter_set
#define bc_pulse_counter_get twr_pulse_counter_get
#define bc_pulse_counter_reset twr_pulse_counter_reset

#include <twr_pwm.h>
#define BC_PWM_P0 TWR_PWM_P0
#define BC_PWM_P1 TWR_PWM_P1
#define BC_PWM_P2 TWR_PWM_P2
#define BC_PWM_P3 TWR_PWM_P3
#define BC_PWM_P6 TWR_PWM_P6
#define BC_PWM_P7 TWR_PWM_P7
#define BC_PWM_P8 TWR_PWM_P8
#define BC_PWM_P12 TWR_PWM_P12
#define BC_PWM_P14 TWR_PWM_P14
#define bc_pwm_channel_t twr_pwm_channel_t
#define BC_PWM_TIM2_P0_P1_P2_P3 TWR_PWM_TIM2_P0_P1_P2_P3
#define BC_PWM_TIM3_P6_P7_P8 TWR_PWM_TIM3_P6_P7_P8
#define BC_PWM_TIM21_P12_P14 TWR_PWM_TIM21_P12_P14
#define bc_pwm_tim_t twr_pwm_tim_t
#define bc_pwm_init twr_pwm_init
#define bc_pwm_enable twr_pwm_enable
#define bc_pwm_disable twr_pwm_disable
#define bc_pwm_set twr_pwm_set
#define bc_pwm_tim_configure twr_pwm_tim_configure

#include <twr_pyq1648.h>
#define BC_PYQ1648_EVENT_ERROR TWR_PYQ1648_EVENT_ERROR
#define BC_PYQ1648_EVENT_MOTION TWR_PYQ1648_EVENT_MOTION
#define bc_pyq1648_event_t twr_pyq1648_event_t
#define BC_PYQ1648_SENSITIVITY_LOW TWR_PYQ1648_SENSITIVITY_LOW
#define BC_PYQ1648_SENSITIVITY_MEDIUM TWR_PYQ1648_SENSITIVITY_MEDIUM
#define BC_PYQ1648_SENSITIVITY_HIGH TWR_PYQ1648_SENSITIVITY_HIGH
#define BC_PYQ1648_SENSITIVITY_VERY_HIGH TWR_PYQ1648_SENSITIVITY_VERY_HIGH
#define bc_pyq1648_sensitivity_t twr_pyq1648_sensitivity_t
#define bc_pyq1648_t twr_pyq1648_t
#define BC_PYQ1648_STATE_ERROR TWR_PYQ1648_STATE_ERROR
#define BC_PYQ1648_STATE_INITIALIZE TWR_PYQ1648_STATE_INITIALIZE
#define BC_PYQ1648_STATE_IGNORE TWR_PYQ1648_STATE_IGNORE
#define BC_PYQ1648_STATE_CHECK TWR_PYQ1648_STATE_CHECK
#define bc_pyq1648_state_t twr_pyq1648_state_t
#define bc_pyq1648_init twr_pyq1648_init
#define bc_pyq1648_set_event_handler twr_pyq1648_set_event_handler
#define bc_pyq1648_set_sensitivity twr_pyq1648_set_sensitivity
#define bc_pyq1648_set_blank_period twr_pyq1648_set_blank_period

#include <twr_queue.h>
#define bc_queue_t twr_queue_t
#define bc_queue_init twr_queue_init
#define bc_queue_put twr_queue_put
#define bc_queue_get twr_queue_get

#include <twr_radio.h>
#define BC_RADIO_MAX_DEVICES TWR_RADIO_MAX_DEVICES
#define BC_RADIO_PUB_QUEUE_BUFFER_SIZE TWR_RADIO_PUB_QUEUE_BUFFER_SIZE
#define BC_RADIO_RX_QUEUE_BUFFER_SIZE TWR_RADIO_RX_QUEUE_BUFFER_SIZE
#define BC_RADIO_ID_SIZE TWR_RADIO_ID_SIZE
#define BC_RADIO_HEAD_SIZE TWR_RADIO_HEAD_SIZE
#define BC_RADIO_MAX_BUFFER_SIZE TWR_RADIO_MAX_BUFFER_SIZE
#define BC_RADIO_NULL_BOOL TWR_RADIO_NULL_BOOL
#define BC_RADIO_NULL_INT TWR_RADIO_NULL_INT
#define BC_RADIO_NULL_FLOAT TWR_RADIO_NULL_FLOAT
#define BC_RADIO_NULL_UINT32 TWR_RADIO_NULL_UINT32
#define BC_RADIO_NULL_UINT16 TWR_RADIO_NULL_UINT16
#define BC_RADIO_MODE_UNKNOWN TWR_RADIO_MODE_UNKNOWN
#define BC_RADIO_MODE_GATEWAY TWR_RADIO_MODE_GATEWAY
#define BC_RADIO_MODE_NODE_LISTENING TWR_RADIO_MODE_NODE_LISTENING
#define BC_RADIO_MODE_NODE_SLEEPING TWR_RADIO_MODE_NODE_SLEEPING
#define bc_radio_mode_t twr_radio_mode_t
#define BC_RADIO_EVENT_INIT_FAILURE TWR_RADIO_EVENT_INIT_FAILURE
#define BC_RADIO_EVENT_INIT_DONE TWR_RADIO_EVENT_INIT_DONE
#define BC_RADIO_EVENT_ATTACH TWR_RADIO_EVENT_ATTACH
#define BC_RADIO_EVENT_ATTACH_FAILURE TWR_RADIO_EVENT_ATTACH_FAILURE
#define BC_RADIO_EVENT_DETACH TWR_RADIO_EVENT_DETACH
#define BC_RADIO_EVENT_SCAN_FIND_DEVICE TWR_RADIO_EVENT_SCAN_FIND_DEVICE
#define BC_RADIO_EVENT_PAIRED TWR_RADIO_EVENT_PAIRED
#define BC_RADIO_EVENT_UNPAIRED TWR_RADIO_EVENT_UNPAIRED
#define BC_RADIO_EVENT_TX_DONE TWR_RADIO_EVENT_TX_DONE
#define BC_RADIO_EVENT_TX_ERROR TWR_RADIO_EVENT_TX_ERROR
#define bc_radio_event_t twr_radio_event_t
#define BC_RADIO_HEADER_PAIRING TWR_RADIO_HEADER_PAIRING
#define BC_RADIO_HEADER_PUB_PUSH_BUTTON TWR_RADIO_HEADER_PUB_PUSH_BUTTON
#define BC_RADIO_HEADER_PUB_TEMPERATURE TWR_RADIO_HEADER_PUB_TEMPERATURE
#define BC_RADIO_HEADER_PUB_HUMIDITY TWR_RADIO_HEADER_PUB_HUMIDITY
#define BC_RADIO_HEADER_PUB_LUX_METER TWR_RADIO_HEADER_PUB_LUX_METER
#define BC_RADIO_HEADER_PUB_BAROMETER TWR_RADIO_HEADER_PUB_BAROMETER
#define BC_RADIO_HEADER_PUB_CO2 TWR_RADIO_HEADER_PUB_CO2
#define BC_RADIO_HEADER_PUB_BUFFER TWR_RADIO_HEADER_PUB_BUFFER
#define BC_RADIO_HEADER_NODE_ATTACH TWR_RADIO_HEADER_NODE_ATTACH
#define BC_RADIO_HEADER_NODE_DETACH TWR_RADIO_HEADER_NODE_DETACH
#define BC_RADIO_HEADER_PUB_BATTERY TWR_RADIO_HEADER_PUB_BATTERY
#define BC_RADIO_HEADER_PUB_INFO TWR_RADIO_HEADER_PUB_INFO
#define BC_RADIO_HEADER_PUB_ACCELERATION TWR_RADIO_HEADER_PUB_ACCELERATION
#define BC_RADIO_HEADER_PUB_TOPIC_STRING TWR_RADIO_HEADER_PUB_TOPIC_STRING
#define BC_RADIO_HEADER_PUB_TOPIC_UINT32 TWR_RADIO_HEADER_PUB_TOPIC_UINT32
#define BC_RADIO_HEADER_PUB_TOPIC_BOOL TWR_RADIO_HEADER_PUB_TOPIC_BOOL
#define BC_RADIO_HEADER_PUB_TOPIC_INT TWR_RADIO_HEADER_PUB_TOPIC_INT
#define BC_RADIO_HEADER_PUB_TOPIC_FLOAT TWR_RADIO_HEADER_PUB_TOPIC_FLOAT
#define BC_RADIO_HEADER_PUB_EVENT_COUNT TWR_RADIO_HEADER_PUB_EVENT_COUNT
#define BC_RADIO_HEADER_PUB_STATE TWR_RADIO_HEADER_PUB_STATE
#define BC_RADIO_HEADER_NODE_STATE_SET TWR_RADIO_HEADER_NODE_STATE_SET
#define BC_RADIO_HEADER_NODE_STATE_GET TWR_RADIO_HEADER_NODE_STATE_GET
#define BC_RADIO_HEADER_NODE_BUFFER TWR_RADIO_HEADER_NODE_BUFFER
#define BC_RADIO_HEADER_NODE_LED_STRIP_COLOR_SET TWR_RADIO_HEADER_NODE_LED_STRIP_COLOR_SET
#define BC_RADIO_HEADER_NODE_LED_STRIP_BRIGHTNESS_SET TWR_RADIO_HEADER_NODE_LED_STRIP_BRIGHTNESS_SET
#define BC_RADIO_HEADER_NODE_LED_STRIP_COMPOUND_SET TWR_RADIO_HEADER_NODE_LED_STRIP_COMPOUND_SET
#define BC_RADIO_HEADER_NODE_LED_STRIP_EFFECT_SET TWR_RADIO_HEADER_NODE_LED_STRIP_EFFECT_SET
#define BC_RADIO_HEADER_NODE_LED_STRIP_THERMOMETER_SET TWR_RADIO_HEADER_NODE_LED_STRIP_THERMOMETER_SET
#define BC_RADIO_HEADER_SUB_DATA TWR_RADIO_HEADER_SUB_DATA
#define BC_RADIO_HEADER_PUB_VALUE_INT TWR_RADIO_HEADER_PUB_VALUE_INT
#define BC_RADIO_HEADER_SUB_REG TWR_RADIO_HEADER_SUB_REG
#define BC_RADIO_HEADER_ACK TWR_RADIO_HEADER_ACK
#define bc_radio_header_t twr_radio_header_t
#define BC_RADIO_SUB_PT_BOOL TWR_RADIO_SUB_PT_BOOL
#define BC_RADIO_SUB_PT_INT TWR_RADIO_SUB_PT_INT
#define BC_RADIO_SUB_PT_FLOAT TWR_RADIO_SUB_PT_FLOAT
#define BC_RADIO_SUB_PT_STRING TWR_RADIO_SUB_PT_STRING
#define BC_RADIO_SUB_PT_NULL TWR_RADIO_SUB_PT_NULL
#define bc_radio_sub_pt_t twr_radio_sub_pt_t
#define bc_radio_sub_t twr_radio_sub_t
#define bc_radio_peer_t twr_radio_peer_t
#define bc_radio_init twr_radio_init
#define bc_radio_set_event_handler twr_radio_set_event_handler
#define bc_radio_listen twr_radio_listen
#define bc_radio_pairing_request twr_radio_pairing_request
#define bc_radio_pairing_mode_start twr_radio_pairing_mode_start
#define bc_radio_pairing_mode_stop twr_radio_pairing_mode_stop
#define bc_radio_peer_device_add twr_radio_peer_device_add
#define bc_radio_peer_device_remove twr_radio_peer_device_remove
#define bc_radio_peer_device_purge_all twr_radio_peer_device_purge_all
#define bc_radio_get_peer_id twr_radio_get_peer_id
#define bc_radio_scan_start twr_radio_scan_start
#define bc_radio_scan_stop twr_radio_scan_stop
#define bc_radio_automatic_pairing_start twr_radio_automatic_pairing_start
#define bc_radio_automatic_pairing_stop twr_radio_automatic_pairing_stop
#define bc_radio_get_my_id twr_radio_get_my_id
#define bc_radio_get_event_id twr_radio_get_event_id
#define bc_radio_is_peer_device twr_radio_is_peer_device
#define bc_radio_pub_queue_put twr_radio_pub_queue_put
#define bc_radio_set_subs twr_radio_set_subs
#define bc_radio_send_sub_data twr_radio_send_sub_data
#define bc_radio_set_rx_timeout_for_sleeping_node twr_radio_set_rx_timeout_for_sleeping_node
#define bc_radio_init_pairing_button twr_radio_init_pairing_button

#include <twr_radio_node.h>
#define BC_RADIO_NODE_HEAD_SIZE TWR_RADIO_NODE_HEAD_SIZE
#define BC_RADIO_NODE_MAX_BUFFER_SIZE TWR_RADIO_NODE_MAX_BUFFER_SIZE
#define BC_RADIO_NODE_MAX_COMPOUND_PART TWR_RADIO_NODE_MAX_COMPOUND_PART
#define BC_RADIO_NODE_MAX_COMPOUND_BUFFER_SIZE TWR_RADIO_NODE_MAX_COMPOUND_BUFFER_SIZE
#define BC_RADIO_NODE_STATE_LED TWR_RADIO_NODE_STATE_LED
#define BC_RADIO_NODE_STATE_RELAY_MODULE_0 TWR_RADIO_NODE_STATE_RELAY_MODULE_0
#define BC_RADIO_NODE_STATE_RELAY_MODULE_1 TWR_RADIO_NODE_STATE_RELAY_MODULE_1
#define BC_RADIO_NODE_STATE_POWER_MODULE_RELAY TWR_RADIO_NODE_STATE_POWER_MODULE_RELAY
#define BC_RADIO_NODE_LED_STRIP_EFFECT_TEST TWR_RADIO_NODE_LED_STRIP_EFFECT_TEST
#define BC_RADIO_NODE_LED_STRIP_EFFECT_RAINBOW TWR_RADIO_NODE_LED_STRIP_EFFECT_RAINBOW
#define BC_RADIO_NODE_LED_STRIP_EFFECT_RAINBOW_CYCLE TWR_RADIO_NODE_LED_STRIP_EFFECT_RAINBOW_CYCLE
#define BC_RADIO_NODE_LED_STRIP_EFFECT_THEATER_CHASE_RAINBOW TWR_RADIO_NODE_LED_STRIP_EFFECT_THEATER_CHASE_RAINBOW
#define BC_RADIO_NODE_LED_STRIP_EFFECT_COLOR_WIPE TWR_RADIO_NODE_LED_STRIP_EFFECT_COLOR_WIPE
#define BC_RADIO_NODE_LED_STRIP_EFFECT_THEATER_CHASE TWR_RADIO_NODE_LED_STRIP_EFFECT_THEATER_CHASE
#define BC_RADIO_NODE_LED_STRIP_EFFECT_STROBOSCOPE TWR_RADIO_NODE_LED_STRIP_EFFECT_STROBOSCOPE
#define BC_RADIO_NODE_LED_STRIP_EFFECT_ICICLE TWR_RADIO_NODE_LED_STRIP_EFFECT_ICICLE
#define BC_RADIO_NODE_LED_STRIP_EFFECT_PULSE_COLOR TWR_RADIO_NODE_LED_STRIP_EFFECT_PULSE_COLOR
#define bc_radio_node_led_strip_effect_t twr_radio_node_led_strip_effect_t
#define bc_radio_node_state_set twr_radio_node_state_set
#define bc_radio_node_state_get twr_radio_node_state_get
#define BC_RADIO_NODE_MAX_BUFFER_SIZE TWR_RADIO_NODE_MAX_BUFFER_SIZE
#define bc_radio_node_buffer twr_radio_node_buffer
#define bc_radio_node_led_strip_color_set twr_radio_node_led_strip_color_set
#define bc_radio_node_led_strip_brightness_set twr_radio_node_led_strip_brightness_set
#define BC_RADIO_NODE_MAX_COMPOUND_BUFFER_SIZE TWR_RADIO_NODE_MAX_COMPOUND_BUFFER_SIZE
#define bc_radio_node_led_strip_compound_set twr_radio_node_led_strip_compound_set
#define bc_radio_node_led_strip_effect_set twr_radio_node_led_strip_effect_set
#define bc_radio_node_led_strip_thermometer_set twr_radio_node_led_strip_thermometer_set
#define bc_radio_node_decode twr_radio_node_decode

#include <twr_radio_pub.h>
#define BC_RADIO_PUB_CHANNEL_R1_I2C0_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R1_I2C0_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R1_I2C0_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R1_I2C0_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R1_I2C1_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R1_I2C1_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R1_I2C1_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R1_I2C1_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R2_I2C0_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R2_I2C0_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R2_I2C0_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R2_I2C0_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R2_I2C1_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R2_I2C1_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R2_I2C1_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R2_I2C1_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R3_I2C0_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R3_I2C0_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R3_I2C0_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R3_I2C0_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R3_I2C1_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R3_I2C1_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R3_I2C1_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R3_I2C1_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R4_I2C0_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R4_I2C0_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R4_I2C0_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R4_I2C0_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_R4_I2C1_ADDRESS_DEFAULT TWR_RADIO_PUB_CHANNEL_R4_I2C1_ADDRESS_DEFAULT
#define BC_RADIO_PUB_CHANNEL_R4_I2C1_ADDRESS_ALTERNATE TWR_RADIO_PUB_CHANNEL_R4_I2C1_ADDRESS_ALTERNATE
#define BC_RADIO_PUB_CHANNEL_A TWR_RADIO_PUB_CHANNEL_A
#define BC_RADIO_PUB_CHANNEL_B TWR_RADIO_PUB_CHANNEL_B
#define BC_RADIO_PUB_CHANNEL_SET_POINT TWR_RADIO_PUB_CHANNEL_SET_POINT
#define BC_RADIO_PUB_CHANNEL_NONE TWR_RADIO_PUB_CHANNEL_NONE
#define BC_RADIO_PUB_EVENT_PUSH_BUTTON TWR_RADIO_PUB_EVENT_PUSH_BUTTON
#define BC_RADIO_PUB_EVENT_PIR_MOTION TWR_RADIO_PUB_EVENT_PIR_MOTION
#define BC_RADIO_PUB_EVENT_LCD_BUTTON_LEFT TWR_RADIO_PUB_EVENT_LCD_BUTTON_LEFT
#define BC_RADIO_PUB_EVENT_LCD_BUTTON_RIGHT TWR_RADIO_PUB_EVENT_LCD_BUTTON_RIGHT
#define BC_RADIO_PUB_EVENT_ACCELEROMETER_ALERT TWR_RADIO_PUB_EVENT_ACCELEROMETER_ALERT
#define BC_RADIO_PUB_EVENT_HOLD_BUTTON TWR_RADIO_PUB_EVENT_HOLD_BUTTON
#define BC_RADIO_PUB_STATE_LED TWR_RADIO_PUB_STATE_LED
#define BC_RADIO_PUB_STATE_RELAY_MODULE_0 TWR_RADIO_PUB_STATE_RELAY_MODULE_0
#define BC_RADIO_PUB_STATE_RELAY_MODULE_1 TWR_RADIO_PUB_STATE_RELAY_MODULE_1
#define BC_RADIO_PUB_STATE_POWER_MODULE_RELAY TWR_RADIO_PUB_STATE_POWER_MODULE_RELAY
#define BC_RADIO_PUB_VALUE_HOLD_DURATION_BUTTON TWR_RADIO_PUB_VALUE_HOLD_DURATION_BUTTON
#define bc_radio_pub_event_count twr_radio_pub_event_count
#define BC_RADIO_PUB_EVENT_PUSH_BUTTON TWR_RADIO_PUB_EVENT_PUSH_BUTTON
#define bc_radio_pub_push_button twr_radio_pub_push_button
#define bc_radio_pub_temperature twr_radio_pub_temperature
#define bc_radio_pub_humidity twr_radio_pub_humidity
#define bc_radio_pub_luminosity twr_radio_pub_luminosity
#define bc_radio_pub_barometer twr_radio_pub_barometer
#define bc_radio_pub_co2 twr_radio_pub_co2
#define bc_radio_pub_battery twr_radio_pub_battery
#define bc_radio_pub_acceleration twr_radio_pub_acceleration
#define BC_RADIO_NODE_MAX_BUFFER_SIZE TWR_RADIO_NODE_MAX_BUFFER_SIZE
#define bc_radio_pub_buffer twr_radio_pub_buffer
#define bc_radio_pub_state twr_radio_pub_state
#define bc_radio_pub_value_int twr_radio_pub_value_int
#define bc_radio_pub_bool twr_radio_pub_bool
#define bc_radio_pub_int twr_radio_pub_int
#define bc_radio_pub_uint32 twr_radio_pub_uint32
#define bc_radio_pub_float twr_radio_pub_float
#define bc_radio_pub_string twr_radio_pub_string
#define bc_radio_pub_decode twr_radio_pub_decode

#include <twr_ramp.h>
#define bc_ramp_t twr_ramp_t
#define bc_ramp_init twr_ramp_init
#define bc_ramp_start twr_ramp_start
#define bc_ramp_get twr_ramp_get

#include <twr_rf_ook.h>
#define bc_rf_ook_init twr_rf_ook_init
#define bc_rf_ook_set_bitrate twr_rf_ook_set_bitrate
#define bc_rf_ook_set_bitlength twr_rf_ook_set_bitlength
#define bc_rf_ook_send twr_rf_ook_send
#define bc_rf_ook_send_hex_string twr_rf_ook_send_hex_string
#define bc_rf_ook_is_busy twr_rf_ook_is_busy
#define bc_rf_ook_is_ready twr_rf_ook_is_ready

#include <twr_rtc.h>
#define BC_RTC_PREDIV_S TWR_RTC_PREDIV_S
#define BC_RTC_PREDIV_S TWR_RTC_PREDIV_S
#define BC_RTC_PREDIV_A TWR_RTC_PREDIV_A
#define bc_rtc_init twr_rtc_init
#define bc_rtc_get_datetime twr_rtc_get_datetime
#define bc_rtc_get_timestamp twr_rtc_get_timestamp
#define bc_rtc_set_datetime twr_rtc_set_datetime
#define bc_rtc_datetime_to_timestamp twr_rtc_datetime_to_timestamp
#define bc_rtc_disable_write twr_rtc_disable_write
#define bc_rtc_enable_write twr_rtc_enable_write
#define bc_rtc_wait twr_rtc_wait
#define bc_rtc_set_init twr_rtc_set_init

#include <twr_sam_m8q.h>
#define BC_SAM_M8Q_EVENT_ERROR TWR_SAM_M8Q_EVENT_ERROR
#define BC_SAM_M8Q_EVENT_START TWR_SAM_M8Q_EVENT_START
#define BC_SAM_M8Q_EVENT_UPDATE TWR_SAM_M8Q_EVENT_UPDATE
#define BC_SAM_M8Q_EVENT_STOP TWR_SAM_M8Q_EVENT_STOP
#define bc_sam_m8q_event_t twr_sam_m8q_event_t
#define bc_sam_m8q_t twr_sam_m8q_t
#define bc_sam_m8q_driver_t twr_sam_m8q_driver_t
#define bc_sam_m8q_time_t twr_sam_m8q_time_t
#define bc_sam_m8q_position_t twr_sam_m8q_position_t
#define bc_sam_m8q_altitude_t twr_sam_m8q_altitude_t
#define bc_sam_m8q_quality_t twr_sam_m8q_quality_t
#define bc_sam_m8q_accuracy_t twr_sam_m8q_accuracy_t
#define BC_SAM_M8Q_STATE_ERROR TWR_SAM_M8Q_STATE_ERROR
#define BC_SAM_M8Q_STATE_START TWR_SAM_M8Q_STATE_START
#define BC_SAM_M8Q_STATE_READ TWR_SAM_M8Q_STATE_READ
#define BC_SAM_M8Q_STATE_UPDATE TWR_SAM_M8Q_STATE_UPDATE
#define BC_SAM_M8Q_STATE_STOP TWR_SAM_M8Q_STATE_STOP
#define bc_sam_m8q_state_t twr_sam_m8q_state_t
#define bc_sam_m8q_init twr_sam_m8q_init
#define bc_sam_m8q_set_event_handler twr_sam_m8q_set_event_handler
#define bc_sam_m8q_start twr_sam_m8q_start
#define bc_sam_m8q_stop twr_sam_m8q_stop
#define bc_sam_m8q_invalidate twr_sam_m8q_invalidate
#define bc_sam_m8q_get_time twr_sam_m8q_get_time
#define bc_sam_m8q_get_position twr_sam_m8q_get_position
#define bc_sam_m8q_get_altitude twr_sam_m8q_get_altitude
#define bc_sam_m8q_get_quality twr_sam_m8q_get_quality
#define bc_sam_m8q_get_accuracy twr_sam_m8q_get_accuracy
#define BC_SAM_M8Q TWR_SAM_M8Q

#include <twr_sc16is740.h>
#define BC_SC16IS740_FIFO_RX TWR_SC16IS740_FIFO_RX
#define BC_SC16IS740_FIFO_TX TWR_SC16IS740_FIFO_TX
#define bc_sc16is740_fifo_t twr_sc16is740_fifo_t
#define BC_SC16IS740_BAUDRATE_9600 TWR_SC16IS740_BAUDRATE_9600
#define BC_SC16IS740_BAUDRATE_19200 TWR_SC16IS740_BAUDRATE_19200
#define BC_SC16IS740_BAUDRATE_38400 TWR_SC16IS740_BAUDRATE_38400
#define BC_SC16IS740_BAUDRATE_57600 TWR_SC16IS740_BAUDRATE_57600
#define BC_SC16IS740_BAUDRATE_115200 TWR_SC16IS740_BAUDRATE_115200
#define bc_sc16is740_baudrate_t twr_sc16is740_baudrate_t
#define bc_sc16is740_t twr_sc16is740_t
#define bc_sc16is740_init twr_sc16is740_init
#define bc_sc16is740_reset_fifo twr_sc16is740_reset_fifo
#define bc_sc16is740_get_spaces_available twr_sc16is740_get_spaces_available
#define bc_sc16is740_write twr_sc16is740_write
#define bc_sc16is740_available twr_sc16is740_available
#define bc_sc16is740_read twr_sc16is740_read
#define bc_sc16is740_set_baudrate twr_sc16is740_set_baudrate

#include <twr_scheduler.h>
// #define BC_SCHEDULER_MAX_TASKS TWR_SCHEDULER_MAX_TASKS
// #define BC_SCHEDULER_INTERVAL_MS TWR_SCHEDULER_INTERVAL_MS
#define bc_scheduler_task_id_t twr_scheduler_task_id_t
#define bc_scheduler_init twr_scheduler_init
#define bc_scheduler_run twr_scheduler_run
#define bc_scheduler_register twr_scheduler_register
#define bc_scheduler_unregister twr_scheduler_unregister
#define bc_scheduler_get_current_task_id twr_scheduler_get_current_task_id
#define bc_scheduler_get_spin_tick twr_scheduler_get_spin_tick
#define bc_scheduler_disable_sleep twr_sleep_disable
#define bc_scheduler_enable_sleep twr_sleep_enable
#define bc_scheduler_plan_now twr_scheduler_plan_now
#define bc_scheduler_plan_absolute twr_scheduler_plan_absolute
#define bc_scheduler_plan_relative twr_scheduler_plan_relative
#define bc_scheduler_plan_from_now twr_scheduler_plan_from_now
#define bc_scheduler_plan_current_now twr_scheduler_plan_current_now
#define bc_scheduler_plan_current_absolute twr_scheduler_plan_current_absolute
#define bc_scheduler_plan_current_relative twr_scheduler_plan_current_relative
#define bc_scheduler_plan_current_from_now twr_scheduler_plan_current_from_now

#include <twr_servo.h>
#define BC_SERVO_NO_ANGLE TWR_SERVO_NO_ANGLE
#define BC_SERVO_UNKNOWN_ANGLE TWR_SERVO_UNKNOWN_ANGLE
#define BC_SERVO_DEFAULT_MIN TWR_SERVO_DEFAULT_MIN
#define BC_SERVO_DEFAULT_MAX TWR_SERVO_DEFAULT_MAX
#define bc_servo_t twr_servo_t
#define bc_servo_init twr_servo_init
#define bc_servo_set_angle twr_servo_set_angle
#define bc_servo_get_angle twr_servo_get_angle
#define bc_servo_set_pulse_limits twr_servo_set_pulse_limits
#define bc_servo_set_microseconds twr_servo_set_microseconds

#include <twr_sgp30.h>
#define BC_SGP30_EVENT_ERROR TWR_SGP30_EVENT_ERROR
#define BC_SGP30_EVENT_UPDATE TWR_SGP30_EVENT_UPDATE
#define bc_sgp30_event_t twr_sgp30_event_t
#define bc_sgp30_t twr_sgp30_t
#define BC_SGP30_STATE_ERROR TWR_SGP30_STATE_ERROR
#define BC_SGP30_STATE_INITIALIZE TWR_SGP30_STATE_INITIALIZE
#define BC_SGP30_STATE_GET_FEATURE_SET TWR_SGP30_STATE_GET_FEATURE_SET
#define BC_SGP30_STATE_READ_FEATURE_SET TWR_SGP30_STATE_READ_FEATURE_SET
#define BC_SGP30_STATE_INIT_AIR_QUALITY TWR_SGP30_STATE_INIT_AIR_QUALITY
#define BC_SGP30_STATE_SET_HUMIDITY TWR_SGP30_STATE_SET_HUMIDITY
#define BC_SGP30_STATE_MEASURE_AIR_QUALITY TWR_SGP30_STATE_MEASURE_AIR_QUALITY
#define BC_SGP30_STATE_READ_AIR_QUALITY TWR_SGP30_STATE_READ_AIR_QUALITY
#define bc_sgp30_state_t twr_sgp30_state_t
#define bc_sgp30_init twr_sgp30_init
#define bc_sgp30_set_event_handler twr_sgp30_set_event_handler
#define bc_sgp30_set_update_interval twr_sgp30_set_update_interval
#define bc_sgp30_measure twr_sgp30_measure
#define bc_sgp30_get_co2eq_ppm twr_sgp30_get_co2eq_ppm
#define bc_sgp30_get_tvoc_ppb twr_sgp30_get_tvoc_ppb
#define bc_sgp30_set_compensation twr_sgp30_set_compensation

#include <twr_sgpc3.h>
#define BC_SGPC3_EVENT_ERROR TWR_SGPC3_EVENT_ERROR
#define BC_SGPC3_EVENT_UPDATE TWR_SGPC3_EVENT_UPDATE
#define bc_sgpc3_event_t twr_sgpc3_event_t
#define bc_sgpc3_t twr_sgpc3_t
#define BC_SGPC3_STATE_ERROR TWR_SGPC3_STATE_ERROR
#define BC_SGPC3_STATE_INITIALIZE TWR_SGPC3_STATE_INITIALIZE
#define BC_SGPC3_STATE_GET_FEATURE_SET TWR_SGPC3_STATE_GET_FEATURE_SET
#define BC_SGPC3_STATE_READ_FEATURE_SET TWR_SGPC3_STATE_READ_FEATURE_SET
#define BC_SGPC3_STATE_SET_POWER_MODE TWR_SGPC3_STATE_SET_POWER_MODE
#define BC_SGPC3_STATE_INIT_AIR_QUALITY TWR_SGPC3_STATE_INIT_AIR_QUALITY
#define BC_SGPC3_STATE_SET_HUMIDITY TWR_SGPC3_STATE_SET_HUMIDITY
#define BC_SGPC3_STATE_MEASURE_AIR_QUALITY TWR_SGPC3_STATE_MEASURE_AIR_QUALITY
#define BC_SGPC3_STATE_READ_AIR_QUALITY TWR_SGPC3_STATE_READ_AIR_QUALITY
#define bc_sgpc3_state_t twr_sgpc3_state_t
#define bc_sgpc3_init twr_sgpc3_init
#define bc_sgpc3_set_event_handler twr_sgpc3_set_event_handler
#define bc_sgpc3_set_update_interval twr_sgpc3_set_update_interval
#define bc_sgpc3_measure twr_sgpc3_measure
#define bc_sgpc3_get_tvoc_ppb twr_sgpc3_get_tvoc_ppb
#define bc_sgpc3_set_compensation twr_sgpc3_set_compensation

#include <twr_sha256.h>
#define bc_sha256_t twr_sha256_t
#define bc_sha256_init twr_sha256_init
#define bc_sha256_update twr_sha256_update
#define bc_sha256_final twr_sha256_final

#include <twr_sht20.h>
#define BC_SHT20_EVENT_ERROR TWR_SHT20_EVENT_ERROR
#define BC_SHT20_EVENT_UPDATE TWR_SHT20_EVENT_UPDATE
#define bc_sht20_event_t twr_sht20_event_t
#define bc_sht20_t twr_sht20_t
#define BC_SHT20_STATE_ERROR TWR_SHT20_STATE_ERROR
#define BC_SHT20_STATE_INITIALIZE TWR_SHT20_STATE_INITIALIZE
#define BC_SHT20_STATE_MEASURE_RH TWR_SHT20_STATE_MEASURE_RH
#define BC_SHT20_STATE_READ_RH TWR_SHT20_STATE_READ_RH
#define BC_SHT20_STATE_MEASURE_T TWR_SHT20_STATE_MEASURE_T
#define BC_SHT20_STATE_READ_T TWR_SHT20_STATE_READ_T
#define BC_SHT20_STATE_UPDATE TWR_SHT20_STATE_UPDATE
#define bc_sht20_state_t twr_sht20_state_t
#define bc_sht20_init twr_sht20_init
#define bc_sht20_deinit twr_sht20_deinit
#define bc_sht20_set_event_handler twr_sht20_set_event_handler
#define bc_sht20_set_update_interval twr_sht20_set_update_interval
#define bc_sht20_measure twr_sht20_measure
#define bc_sht20_get_humidity_raw twr_sht20_get_humidity_raw
#define bc_sht20_get_humidity_percentage twr_sht20_get_humidity_percentage
#define bc_sht20_get_temperature_raw twr_sht20_get_temperature_raw
#define bc_sht20_get_temperature_celsius twr_sht20_get_temperature_celsius
#define bc_sht20_get_temperature_fahrenheit twr_sht20_get_temperature_fahrenheit
#define bc_sht20_get_temperature_kelvin twr_sht20_get_temperature_kelvin

#include <twr_sht30.h>
#define BC_SHT30_ADDRESS_DEFAULT TWR_SHT30_ADDRESS_DEFAULT
#define BC_SHT30_ADDRESS_ALTERNATE TWR_SHT30_ADDRESS_ALTERNATE
#define BC_SHT30_EVENT_ERROR TWR_SHT30_EVENT_ERROR
#define BC_SHT30_EVENT_UPDATE TWR_SHT30_EVENT_UPDATE
#define bc_sht30_event_t twr_sht30_event_t
#define bc_sht30_t twr_sht30_t
#define BC_SHT30_STATE_ERROR TWR_SHT30_STATE_ERROR
#define BC_SHT30_STATE_INITIALIZE TWR_SHT30_STATE_INITIALIZE
#define BC_SHT30_STATE_MEASURE TWR_SHT30_STATE_MEASURE
#define BC_SHT30_STATE_READ TWR_SHT30_STATE_READ
#define BC_SHT30_STATE_UPDATE TWR_SHT30_STATE_UPDATE
#define bc_sht30_state_t twr_sht30_state_t
#define bc_sht30_init twr_sht30_init
#define bc_sht30_deinit twr_sht30_deinit
#define bc_sht30_set_event_handler twr_sht30_set_event_handler
#define bc_sht30_set_update_interval twr_sht30_set_update_interval
#define bc_sht30_measure twr_sht30_measure
#define bc_sht30_get_humidity_raw twr_sht30_get_humidity_raw
#define bc_sht30_get_humidity_percentage twr_sht30_get_humidity_percentage
#define bc_sht30_get_temperature_raw twr_sht30_get_temperature_raw
#define bc_sht30_get_temperature_celsius twr_sht30_get_temperature_celsius
#define bc_sht30_get_temperature_fahrenheit twr_sht30_get_temperature_fahrenheit
#define bc_sht30_get_temperature_kelvin twr_sht30_get_temperature_kelvin

#include <twr_sleep.h>
#define bc_sleep_manager_t twr_sleep_manager_t
#define bc_sleep_disable twr_sleep_disable
#define bc_sleep_enable twr_sleep_enable
#define bc_sleep twr_sleep
#define bc_system_sleep twr_system_sleep

#include <twr_soil_sensor.h>
#define BC_SOIL_SENSOR_EVENT_ERROR TWR_SOIL_SENSOR_EVENT_ERROR
#define BC_SOIL_SENSOR_EVENT_UPDATE TWR_SOIL_SENSOR_EVENT_UPDATE
#define bc_soil_sensor_event_t twr_soil_sensor_event_t
#define BC_SOIL_SENSOR_ERROR_NONE TWR_SOIL_SENSOR_ERROR_NONE
#define BC_SOIL_SENSOR_ERROR_SENSOR_MODULE_INITIALIZE TWR_SOIL_SENSOR_ERROR_SENSOR_MODULE_INITIALIZE
#define BC_SOIL_SENSOR_ERROR_SENSOR_MODULE_POWER_UP TWR_SOIL_SENSOR_ERROR_SENSOR_MODULE_POWER_UP
#define BC_SOIL_SENSOR_ERROR_NO_SENSOR_FOUND TWR_SOIL_SENSOR_ERROR_NO_SENSOR_FOUND
#define BC_SOIL_SENSOR_ERROR_TMP112_INITIALIZE TWR_SOIL_SENSOR_ERROR_TMP112_INITIALIZE
#define BC_SOIL_SENSOR_ERROR_EEPROM_HEADER_READ TWR_SOIL_SENSOR_ERROR_EEPROM_HEADER_READ
#define BC_SOIL_SENSOR_ERROR_EEPROM_SIGNATURE TWR_SOIL_SENSOR_ERROR_EEPROM_SIGNATURE
#define BC_SOIL_SENSOR_ERROR_EEPROM_VERSION TWR_SOIL_SENSOR_ERROR_EEPROM_VERSION
#define BC_SOIL_SENSOR_ERROR_EEPROM_PAYLOAD_LENGTH TWR_SOIL_SENSOR_ERROR_EEPROM_PAYLOAD_LENGTH
#define BC_SOIL_SENSOR_ERROR_EEPROM_PAYLOAD_READ TWR_SOIL_SENSOR_ERROR_EEPROM_PAYLOAD_READ
#define BC_SOIL_SENSOR_ERROR_EEPROM_PAYLOAD_CRC TWR_SOIL_SENSOR_ERROR_EEPROM_PAYLOAD_CRC
#define BC_SOIL_SENSOR_ERROR_ZSSC3123_INITIALIZE TWR_SOIL_SENSOR_ERROR_ZSSC3123_INITIALIZE
#define BC_SOIL_SENSOR_ERROR_TMP112_MEASUREMENT_REQUEST TWR_SOIL_SENSOR_ERROR_TMP112_MEASUREMENT_REQUEST
#define BC_SOIL_SENSOR_ERROR_ZSSC3123_MEASUREMENT_REQUEST TWR_SOIL_SENSOR_ERROR_ZSSC3123_MEASUREMENT_REQUEST
#define BC_SOIL_SENSOR_ERROR_TMP112_DATA_FETCH TWR_SOIL_SENSOR_ERROR_TMP112_DATA_FETCH
#define BC_SOIL_SENSOR_ERROR_ZSSC3123_DATA_FETCH TWR_SOIL_SENSOR_ERROR_ZSSC3123_DATA_FETCH
#define bc_soil_sensor_error_t twr_soil_sensor_error_t
#define bc_soil_sensor_t twr_soil_sensor_t
#define bc_soil_sensor_sensor_t twr_soil_sensor_sensor_t
#define bc_soil_sensor_eeprom_header_t twr_soil_sensor_eeprom_header_t
#define bc_soil_sensor_eeprom_t twr_soil_sensor_eeprom_t
#define BC_SOIL_SENSOR_STATE_ERROR TWR_SOIL_SENSOR_STATE_ERROR
#define BC_SOIL_SENSOR_STATE_PREINITIALIZE TWR_SOIL_SENSOR_STATE_PREINITIALIZE
#define BC_SOIL_SENSOR_STATE_INITIALIZE TWR_SOIL_SENSOR_STATE_INITIALIZE
#define BC_SOIL_SENSOR_STATE_READY TWR_SOIL_SENSOR_STATE_READY
#define BC_SOIL_SENSOR_STATE_MEASURE TWR_SOIL_SENSOR_STATE_MEASURE
#define BC_SOIL_SENSOR_STATE_READ TWR_SOIL_SENSOR_STATE_READ
#define BC_SOIL_SENSOR_STATE_UPDATE TWR_SOIL_SENSOR_STATE_UPDATE
#define bc_soil_sensor_state_t twr_soil_sensor_state_t
#define bc_soil_sensor_init twr_soil_sensor_init
#define bc_soil_sensor_init_multiple twr_soil_sensor_init_multiple
#define bc_soil_sensor_set_event_handler twr_soil_sensor_set_event_handler
#define bc_soil_sensor_set_update_interval twr_soil_sensor_set_update_interval
#define bc_soil_sensor_get_sensor_found twr_soil_sensor_get_sensor_found
#define bc_soil_sensor_measure twr_soil_sensor_measure
#define bc_soil_sensor_get_temperature_raw twr_soil_sensor_get_temperature_raw
#define bc_soil_sensor_get_temperature_celsius twr_soil_sensor_get_temperature_celsius
#define bc_soil_sensor_get_temperature_fahrenheit twr_soil_sensor_get_temperature_fahrenheit
#define bc_soil_sensor_get_temperature_kelvin twr_soil_sensor_get_temperature_kelvin
#define bc_soil_sensor_get_cap_raw twr_soil_sensor_get_cap_raw
#define bc_soil_sensor_get_moisture twr_soil_sensor_get_moisture
#define bc_soil_sensor_get_index_by_device_address twr_soil_sensor_get_index_by_device_address
#define bc_soil_sensor_get_device_address_by_index twr_soil_sensor_get_device_address_by_index
#define bc_soil_sensor_set_label twr_soil_sensor_set_label
#define bc_soil_sensor_calibration_set_point twr_soil_sensor_calibration_set_point
#define bc_soil_sensor_eeprom_save twr_soil_sensor_eeprom_save
#define bc_soil_sensor_get_error twr_soil_sensor_get_error

#include <twr_spi.h>
#define BC_SPI_SPEED_125_KHZ TWR_SPI_SPEED_125_KHZ
#define BC_SPI_SPEED_250_KHZ TWR_SPI_SPEED_250_KHZ
#define BC_SPI_SPEED_500_KHZ TWR_SPI_SPEED_500_KHZ
#define BC_SPI_SPEED_1_MHZ TWR_SPI_SPEED_1_MHZ
#define BC_SPI_SPEED_2_MHZ TWR_SPI_SPEED_2_MHZ
#define BC_SPI_SPEED_4_MHZ TWR_SPI_SPEED_4_MHZ
#define BC_SPI_SPEED_8_MHZ TWR_SPI_SPEED_8_MHZ
#define BC_SPI_SPEED_16_MHZ TWR_SPI_SPEED_16_MHZ
#define bc_spi_speed_t twr_spi_speed_t
#define BC_SPI_MODE_0 TWR_SPI_MODE_0
#define BC_SPI_MODE_1 TWR_SPI_MODE_1
#define BC_SPI_MODE_2 TWR_SPI_MODE_2
#define BC_SPI_MODE_3 TWR_SPI_MODE_3
#define bc_spi_mode_t twr_spi_mode_t
#define BC_SPI_EVENT_DONE TWR_SPI_EVENT_DONE
#define bc_spi_event_t twr_spi_event_t
#define bc_spi_init twr_spi_init
#define bc_spi_set_speed twr_spi_set_speed
#define bc_spi_set_timing twr_spi_set_timing
#define bc_spi_get_speed twr_spi_get_speed
#define bc_spi_set_mode twr_spi_set_mode
#define bc_spi_set_manual_cs_control twr_spi_set_manual_cs_control
#define bc_spi_get_mode twr_spi_get_mode
#define bc_spi_is_ready twr_spi_is_ready
#define bc_spi_transfer twr_spi_transfer
#define bc_spi_async_transfer twr_spi_async_transfer

#include <twr_spirit1.h>
#define BC_SPIRIT1_MAX_PACKET_SIZE TWR_SPIRIT1_MAX_PACKET_SIZE
#define BC_SPIRIT1_EVENT_TX_DONE TWR_SPIRIT1_EVENT_TX_DONE
#define BC_SPIRIT1_EVENT_RX_DONE TWR_SPIRIT1_EVENT_RX_DONE
#define BC_SPIRIT1_EVENT_RX_TIMEOUT TWR_SPIRIT1_EVENT_RX_TIMEOUT
#define bc_spirit1_event_t twr_spirit1_event_t
#define bc_spirit1_init twr_spirit1_init
#define bc_spirit1_deinit twr_spirit1_deinit
#define bc_spirit1_set_event_handler twr_spirit1_set_event_handler
#define bc_spirit1_set_tx_length twr_spirit1_set_tx_length
#define bc_spirit1_get_tx_length twr_spirit1_get_tx_length
#define bc_spirit1_get_rx_length twr_spirit1_get_rx_length
#define bc_spirit1_get_rx_rssi twr_spirit1_get_rx_rssi
#define bc_spirit1_set_rx_timeout twr_spirit1_set_rx_timeout
#define bc_spirit1_tx twr_spirit1_tx
#define bc_spirit1_rx twr_spirit1_rx
#define bc_spirit1_sleep twr_spirit1_sleep

#include <twr_sps30.h>
#define BC_SPS30_EVENT_ERROR TWR_SPS30_EVENT_ERROR
#define BC_SPS30_EVENT_UPDATE TWR_SPS30_EVENT_UPDATE
#define bc_sps30_event_t twr_sps30_event_t
#define bc_sps30_t twr_sps30_t
#define BC_SPS30_STATE_ERROR TWR_SPS30_STATE_ERROR
#define BC_SPS30_STATE_READY TWR_SPS30_STATE_READY
#define BC_SPS30_STATE_INITIALIZE TWR_SPS30_STATE_INITIALIZE
#define BC_SPS30_STATE_GET_SERIAL_NUMBER TWR_SPS30_STATE_GET_SERIAL_NUMBER
#define BC_SPS30_STATE_READ_SERIAL_NUMBER TWR_SPS30_STATE_READ_SERIAL_NUMBER
#define BC_SPS30_STATE_START_MEASUREMENT TWR_SPS30_STATE_START_MEASUREMENT
#define BC_SPS30_STATE_SET_DATAREADY_FLAG TWR_SPS30_STATE_SET_DATAREADY_FLAG
#define BC_SPS30_STATE_READ_DATAREADY_FLAG TWR_SPS30_STATE_READ_DATAREADY_FLAG
#define BC_SPS30_STATE_GET_MEASUREMENT_DATA TWR_SPS30_STATE_GET_MEASUREMENT_DATA
#define BC_SPS30_STATE_READ_MEASUREMENT_DATA TWR_SPS30_STATE_READ_MEASUREMENT_DATA
#define BC_SPS30_STATE_STOP_MEASUREMENT TWR_SPS30_STATE_STOP_MEASUREMENT
#define bc_sps30_state_t twr_sps30_state_t
#define bc_sps30_mass_concentration_t twr_sps30_mass_concentration_t
#define bc_sps30_number_concentration_t twr_sps30_number_concentration_t
#define bc_sps30_init twr_sps30_init
#define bc_sps30_set_event_handler twr_sps30_set_event_handler
#define bc_sps30_set_startup_time twr_sps30_set_startup_time
#define bc_sps30_set_update_interval twr_sps30_set_update_interval
#define bc_sps30_measure twr_sps30_measure
#define bc_sps30_get_mass_concentration twr_sps30_get_mass_concentration
#define bc_sps30_get_number_concentration twr_sps30_get_number_concentration
#define bc_sps30_get_typical_particle_size twr_sps30_get_typical_particle_size

#include <twr_ssd1306.h>
#define BC_SSD1306_ADDRESS_I2C_ADDRESS_DEFAULT TWR_SSD1306_ADDRESS_I2C_ADDRESS_DEFAULT
#define BC_SSD1306_ADDRESS_I2C_ADDRESS_ALTERNATE TWR_SSD1306_ADDRESS_I2C_ADDRESS_ALTERNATE
#define BC_SSD1306_FRAMEBUFFER TWR_SSD1306_FRAMEBUFFER
#define bc_ssd1306_framebuffer_t twr_ssd1306_framebuffer_t
#define bc_ssd1306_t twr_ssd1306_t
#define bc_ssd1306_init twr_ssd1306_init
#define bc_ssd1306_get_caps twr_ssd1306_get_caps
#define bc_ssd1306_is_ready twr_ssd1306_is_ready
#define bc_ssd1306_clear twr_ssd1306_clear
#define bc_ssd1306_draw_pixel twr_ssd1306_draw_pixel
#define bc_ssd1306_get_pixel twr_ssd1306_get_pixel
#define bc_ssd1306_update twr_ssd1306_update
#define bc_ssd1306_get_driver twr_ssd1306_get_driver

#include <twr_switch.h>

#define BC_SWITCH_OPEN TWR_SWITCH_OPEN
#define BC_SWITCH_CLOSE TWR_SWITCH_CLOSE
#define BC_SWITCH_EVENT_OPENED TWR_SWITCH_EVENT_OPENED
#define BC_SWITCH_EVENT_CLOSED TWR_SWITCH_EVENT_CLOSED
#define bc_switch_event_t twr_switch_event_t
#define BC_SWITCH_TYPE_NO TWR_SWITCH_TYPE_NO
#define BC_SWITCH_TYPE_NC TWR_SWITCH_TYPE_NC
#define bc_switch_type_t twr_switch_type_t
#define BC_SWITCH_PULL_NONE TWR_SWITCH_PULL_NONE
#define BC_SWITCH_PULL_UP TWR_SWITCH_PULL_UP
#define BC_SWITCH_PULL_UP_DYNAMIC TWR_SWITCH_PULL_UP_DYNAMIC
#define BC_SWITCH_PULL_DOWN TWR_SWITCH_PULL_DOWN
#define BC_SWITCH_PULL_DOWN_DYNAMIC TWR_SWITCH_PULL_DOWN_DYNAMIC
#define bc_switch_pull_t twr_switch_pull_t
#define bc_switch_t twr_switch_t
#define BC_SWITCH_TASK_STATE_MEASURE TWR_SWITCH_TASK_STATE_MEASURE
#define BC_SWITCH_TASK_STATE_SET_PULL TWR_SWITCH_TASK_STATE_SET_PULL
#define bc_switch_task_state_t twr_switch_task_state_t
#define bc_switch_init twr_switch_init
#define bc_switch_set_event_handler twr_switch_set_event_handler
#define bc_switch_get_state twr_switch_get_state
#define bc_switch_set_scan_interval twr_switch_set_scan_interval
#define bc_switch_set_debounce_time twr_switch_set_debounce_time
#define bc_switch_set_pull_advance_time twr_switch_set_pull_advance_time

#include <twr_system.h>
#define BC_SYSTEM_CLOCK_MSI TWR_SYSTEM_CLOCK_MSI
#define BC_SYSTEM_CLOCK_HSI TWR_SYSTEM_CLOCK_HSI
#define BC_SYSTEM_CLOCK_PLL TWR_SYSTEM_CLOCK_PLL
#define bc_system_clock_t twr_system_clock_t
#define bc_system_init twr_system_init
#define bc_system_sleep twr_system_sleep
#define bc_system_clock_get twr_system_clock_get
#define bc_system_hsi16_enable twr_system_hsi16_enable
#define bc_system_hsi16_disable twr_system_hsi16_disable
#define bc_system_pll_enable twr_system_pll_enable
#define bc_system_pll_disable twr_system_pll_disable
#define bc_system_deep_sleep_disable twr_system_deep_sleep_disable
#define bc_system_deep_sleep_enable twr_system_deep_sleep_enable
#define bc_system_enter_standby_mode twr_system_enter_standby_mode
#define bc_system_get_clock twr_system_get_clock
#define bc_system_reset twr_system_reset
#define bc_system_get_vbus_sense twr_system_get_vbus_sense

#include <twr_tag_barometer.h>
#define BC_TAG_BAROMETER_EVENT_ERROR TWR_TAG_BAROMETER_EVENT_ERROR
#define BC_TAG_BAROMETER_EVENT_UPDATE TWR_TAG_BAROMETER_EVENT_UPDATE
#define bc_tag_barometer_event_t twr_tag_barometer_event_t
#define bc_tag_barometer_t twr_tag_barometer_t
#define bc_tag_barometer_init twr_tag_barometer_init
#define bc_tag_barometer_set_event_handler twr_tag_barometer_set_event_handler
#define bc_tag_barometer_set_update_interval twr_tag_barometer_set_update_interval
#define bc_tag_barometer_measure twr_tag_barometer_measure
#define bc_tag_barometer_get_altitude_meter twr_tag_barometer_get_altitude_meter
#define bc_tag_barometer_get_pressure_pascal twr_tag_barometer_get_pressure_pascal

#include <twr_tag_humidity.h>
#define BC_TAG_HUMIDITY_REVISION_R1 TWR_TAG_HUMIDITY_REVISION_R1
#define BC_TAG_HUMIDITY_REVISION_R2 TWR_TAG_HUMIDITY_REVISION_R2
#define BC_TAG_HUMIDITY_REVISION_R3 TWR_TAG_HUMIDITY_REVISION_R3
#define BC_TAG_HUMIDITY_REVISION_R4 TWR_TAG_HUMIDITY_REVISION_R4
#define bc_tag_humidity_revision_t twr_tag_humidity_revision_t
#define BC_TAG_HUMIDITY_I2C_ADDRESS_DEFAULT TWR_TAG_HUMIDITY_I2C_ADDRESS_DEFAULT
#define BC_TAG_HUMIDITY_I2C_ADDRESS_ALTERNATE TWR_TAG_HUMIDITY_I2C_ADDRESS_ALTERNATE
#define bc_tag_humidity_i2c_address_t twr_tag_humidity_i2c_address_t
#define BC_TAG_HUMIDITY_EVENT_ERROR TWR_TAG_HUMIDITY_EVENT_ERROR
#define BC_TAG_HUMIDITY_EVENT_UPDATE TWR_TAG_HUMIDITY_EVENT_UPDATE
#define bc_tag_humidity_event_t twr_tag_humidity_event_t
#define bc_tag_humidity_t twr_tag_humidity_t
#define bc_tag_humidity_init twr_tag_humidity_init
#define bc_tag_humidity_set_event_handler twr_tag_humidity_set_event_handler
#define bc_tag_humidity_set_update_interval twr_tag_humidity_set_update_interval
#define bc_tag_humidity_measure twr_tag_humidity_measure
#define bc_tag_humidity_get_temperature_raw twr_tag_humidity_get_temperature_raw
#define bc_tag_humidity_get_temperature_celsius twr_tag_humidity_get_temperature_celsius
#define bc_tag_humidity_get_humidity_raw twr_tag_humidity_get_humidity_raw
#define bc_tag_humidity_get_humidity_percentage twr_tag_humidity_get_humidity_percentage

#include <twr_tag_lux_meter.h>
#define BC_TAG_LUX_METER_I2C_ADDRESS_DEFAULT TWR_TAG_LUX_METER_I2C_ADDRESS_DEFAULT
#define BC_TAG_LUX_METER_I2C_ADDRESS_ALTERNATE TWR_TAG_LUX_METER_I2C_ADDRESS_ALTERNATE
#define bc_tag_lux_meter_i2c_address_t twr_tag_lux_meter_i2c_address_t
#define BC_TAG_LUX_METER_EVENT_ERROR TWR_TAG_LUX_METER_EVENT_ERROR
#define BC_TAG_LUX_METER_EVENT_UPDATE TWR_TAG_LUX_METER_EVENT_UPDATE
#define bc_tag_lux_meter_event_t twr_tag_lux_meter_event_t
#define bc_tag_lux_meter_t twr_tag_lux_meter_t
#define bc_tag_lux_meter_init twr_tag_lux_meter_init
#define bc_tag_lux_meter_set_event_handler twr_tag_lux_meter_set_event_handler
#define bc_tag_lux_meter_set_update_interval twr_tag_lux_meter_set_update_interval
#define bc_tag_lux_meter_measure twr_tag_lux_meter_measure
#define bc_tag_lux_meter_get_illuminance_raw twr_tag_lux_meter_get_illuminance_raw
#define bc_tag_lux_meter_get_illuminance_lux twr_tag_lux_meter_get_illuminance_lux

#include <twr_tag_nfc.h>
#define BC_TAG_NFC_I2C_ADDRESS_DEFAULT TWR_TAG_NFC_I2C_ADDRESS_DEFAULT
#define BC_TAG_NFC_BUFFER_SIZE TWR_TAG_NFC_BUFFER_SIZE
#define bc_tag_nfc_t twr_tag_nfc_t
#define bc_tag_nfc_ndef_t twr_tag_nfc_ndef_t
#define bc_tag_nfc_init twr_tag_nfc_init
#define bc_tag_nfc_memory_read twr_tag_nfc_memory_read
#define bc_tag_nfc_memory_write twr_tag_nfc_memory_write
#define bc_tag_nfc_memory_write_ndef twr_tag_nfc_memory_write_ndef
#define bc_tag_nfc_ndef_init twr_tag_nfc_ndef_init
#define bc_tag_nfc_ndef_add_text twr_tag_nfc_ndef_add_text
#define bc_tag_nfc_ndef_add_uri twr_tag_nfc_ndef_add_uri

#include <twr_tag_temperature.h>
#define BC_TAG_TEMPERATURE_I2C_ADDRESS_DEFAULT TWR_TAG_TEMPERATURE_I2C_ADDRESS_DEFAULT
#define BC_TAG_TEMPERATURE_I2C_ADDRESS_ALTERNATE TWR_TAG_TEMPERATURE_I2C_ADDRESS_ALTERNATE
#define bc_tag_temperature_i2c_address_t twr_tag_temperature_i2c_address_t
#define BC_TAG_TEMPERATURE_EVENT_ERROR TWR_TAG_TEMPERATURE_EVENT_ERROR
#define BC_TAG_TEMPERATURE_EVENT_UPDATE TWR_TAG_TEMPERATURE_EVENT_UPDATE
#define bc_tag_temperature_event_t twr_tag_temperature_event_t
#define bc_tag_temperature_t twr_tag_temperature_t
#define bc_tag_temperature_init twr_tag_temperature_init
#define bc_tag_temperature_set_event_handler twr_tag_temperature_set_event_handler
#define bc_tag_temperature_set_update_interval twr_tag_temperature_set_update_interval
#define bc_tag_temperature_measure twr_tag_temperature_measure
#define bc_tag_temperature_get_temperature_raw twr_tag_temperature_get_temperature_raw
#define bc_tag_temperature_get_temperature_celsius twr_tag_temperature_get_temperature_celsius
#define bc_tag_temperature_get_temperature_fahrenheit twr_tag_temperature_get_temperature_fahrenheit
#define bc_tag_temperature_get_temperature_kelvin twr_tag_temperature_get_temperature_kelvin

#include <twr_tag_voc.h>
#define BC_TAG_VOC_EVENT_ERROR TWR_TAG_VOC_EVENT_ERROR
#define BC_TAG_VOC_EVENT_UPDATE TWR_TAG_VOC_EVENT_UPDATE
#define bc_tag_voc_event_t twr_tag_voc_event_t
#define bc_tag_voc_t twr_tag_voc_t
#define bc_tag_voc_init twr_tag_voc_init
#define bc_tag_voc_set_event_handler twr_tag_voc_set_event_handler
#define bc_tag_voc_set_update_interval twr_tag_voc_set_update_interval
#define bc_tag_voc_measure twr_tag_voc_measure
#define bc_tag_voc_get_co2eq_ppm twr_tag_voc_get_co2eq_ppm
#define bc_tag_voc_get_tvoc_ppb twr_tag_voc_get_tvoc_ppb
#define bc_tag_voc_set_compensation twr_tag_voc_set_compensation

#include <twr_tag_voc_lp.h>
#define BC_TAG_VOC_LP_EVENT_ERROR TWR_TAG_VOC_LP_EVENT_ERROR
#define BC_TAG_VOC_LP_EVENT_UPDATE TWR_TAG_VOC_LP_EVENT_UPDATE
#define bc_tag_voc_lp_event_t twr_tag_voc_lp_event_t
#define bc_tag_voc_lp_t twr_tag_voc_lp_t
#define bc_tag_voc_lp_init twr_tag_voc_lp_init
#define bc_tag_voc_lp_set_event_handler twr_tag_voc_lp_set_event_handler
#define bc_tag_voc_lp_set_update_interval twr_tag_voc_lp_set_update_interval
#define bc_tag_voc_lp_measure twr_tag_voc_lp_measure
#define bc_tag_voc_lp_get_tvoc_ppb twr_tag_voc_lp_get_tvoc_ppb
#define bc_tag_voc_lp_set_compensation twr_tag_voc_lp_set_compensation

#include <twr_tca9534a.h>
#define BC_TCA9534A_PIN_STATE_LOW TWR_TCA9534A_PIN_STATE_LOW
#define BC_TCA9534A_PIN_STATE_HIGH TWR_TCA9534A_PIN_STATE_HIGH
#define BC_TCA9534A_PIN_P0 TWR_TCA9534A_PIN_P0
#define BC_TCA9534A_PIN_P1 TWR_TCA9534A_PIN_P1
#define BC_TCA9534A_PIN_P2 TWR_TCA9534A_PIN_P2
#define BC_TCA9534A_PIN_P3 TWR_TCA9534A_PIN_P3
#define BC_TCA9534A_PIN_P4 TWR_TCA9534A_PIN_P4
#define BC_TCA9534A_PIN_P5 TWR_TCA9534A_PIN_P5
#define BC_TCA9534A_PIN_P6 TWR_TCA9534A_PIN_P6
#define BC_TCA9534A_PIN_P7 TWR_TCA9534A_PIN_P7
#define bc_tca9534a_pin_t twr_tca9534a_pin_t
#define BC_TCA9534A_PIN_DIRECTION_OUTPUT TWR_TCA9534A_PIN_DIRECTION_OUTPUT
#define BC_TCA9534A_PIN_DIRECTION_INPUT TWR_TCA9534A_PIN_DIRECTION_INPUT
#define bc_tca9534a_pin_direction_t twr_tca9534a_pin_direction_t
#define bc_tca9534a_t twr_tca9534a_t
#define bc_tca9534a_init twr_tca9534a_init
#define bc_tca9534a_read_port twr_tca9534a_read_port
#define bc_tca9534a_write_port twr_tca9534a_write_port
#define bc_tca9534a_read_pin twr_tca9534a_read_pin
#define bc_tca9534a_write_pin twr_tca9534a_write_pin
#define bc_tca9534a_get_port_direction twr_tca9534a_get_port_direction
#define bc_tca9534a_set_port_direction twr_tca9534a_set_port_direction
#define bc_tca9534a_get_pin_direction twr_tca9534a_get_pin_direction
#define bc_tca9534a_set_pin_direction twr_tca9534a_set_pin_direction

#include <twr_td1207r.h>
#define BC_TD1207R_TX_FIFO_BUFFER_SIZE TWR_TD1207R_TX_FIFO_BUFFER_SIZE
#define BC_TD1207R_RX_FIFO_BUFFER_SIZE TWR_TD1207R_RX_FIFO_BUFFER_SIZE
#define BC_TD1207R_EVENT_READY TWR_TD1207R_EVENT_READY
#define BC_TD1207R_EVENT_ERROR TWR_TD1207R_EVENT_ERROR
#define BC_TD1207R_EVENT_SEND_RF_FRAME_START TWR_TD1207R_EVENT_SEND_RF_FRAME_START
#define BC_TD1207R_EVENT_SEND_RF_FRAME_DONE TWR_TD1207R_EVENT_SEND_RF_FRAME_DONE
#define bc_td1207r_event_t twr_td1207r_event_t
#define bc_td1207r_t twr_td1207r_t
#define BC_TD1207R_STATE_READY TWR_TD1207R_STATE_READY
#define BC_TD1207R_STATE_ERROR TWR_TD1207R_STATE_ERROR
#define BC_TD1207R_STATE_INITIALIZE TWR_TD1207R_STATE_INITIALIZE
#define BC_TD1207R_STATE_INITIALIZE_RESET_L TWR_TD1207R_STATE_INITIALIZE_RESET_L
#define BC_TD1207R_STATE_INITIALIZE_RESET_H TWR_TD1207R_STATE_INITIALIZE_RESET_H
#define BC_TD1207R_STATE_INITIALIZE_AT_COMMAND TWR_TD1207R_STATE_INITIALIZE_AT_COMMAND
#define BC_TD1207R_STATE_INITIALIZE_AT_RESPONSE TWR_TD1207R_STATE_INITIALIZE_AT_RESPONSE
#define BC_TD1207R_STATE_SEND_RF_FRAME_COMMAND TWR_TD1207R_STATE_SEND_RF_FRAME_COMMAND
#define BC_TD1207R_STATE_SEND_RF_FRAME_RESPONSE TWR_TD1207R_STATE_SEND_RF_FRAME_RESPONSE
#define bc_td1207r_state_t twr_td1207r_state_t
#define bc_td1207r_init twr_td1207r_init
#define bc_td1207r_set_event_handler twr_td1207r_set_event_handler
#define bc_td1207r_is_ready twr_td1207r_is_ready
#define bc_td1207r_send_rf_frame twr_td1207r_send_rf_frame

#include <twr_tick.h>
#define BC_TICK_INFINITY TWR_TICK_INFINITY
#define bc_tick_t twr_tick_t
#define bc_tick_get twr_tick_get
#define bc_tick_wait twr_tick_wait
#define bc_tick_increment_irq twr_tick_increment_irq

#include <twr_timer.h>
#define bc_timer_init twr_timer_init
#define bc_timer_start twr_timer_start
#define bc_timer_get_microseconds twr_timer_get_microseconds
#define bc_timer_delay twr_timer_delay
#define bc_timer_clear twr_timer_clear
#define bc_timer_stop twr_timer_stop
#define bc_timer_set_irq_handler twr_timer_set_irq_handler
#define bc_timer_clear_irq_handler twr_timer_clear_irq_handler

#include <twr_tmp112.h>
#define BC_TMP112_EVENT_ERROR TWR_TMP112_EVENT_ERROR
#define BC_TMP112_EVENT_UPDATE TWR_TMP112_EVENT_UPDATE
#define bc_tmp112_event_t twr_tmp112_event_t
#define bc_tmp112_t twr_tmp112_t
#define BC_TMP112_STATE_ERROR TWR_TMP112_STATE_ERROR
#define BC_TMP112_STATE_INITIALIZE TWR_TMP112_STATE_INITIALIZE
#define BC_TMP112_STATE_MEASURE TWR_TMP112_STATE_MEASURE
#define BC_TMP112_STATE_READ TWR_TMP112_STATE_READ
#define BC_TMP112_STATE_UPDATE TWR_TMP112_STATE_UPDATE
#define bc_tmp112_state_t twr_tmp112_state_t
#define bc_tmp112_init twr_tmp112_init
#define bc_tmp112_deinit twr_tmp112_deinit
#define bc_tmp112_set_event_handler twr_tmp112_set_event_handler
#define bc_tmp112_set_update_interval twr_tmp112_set_update_interval
#define bc_tmp112_measure twr_tmp112_measure
#define bc_tmp112_get_temperature_raw twr_tmp112_get_temperature_raw
#define bc_tmp112_get_temperature_celsius twr_tmp112_get_temperature_celsius
#define bc_tmp112_get_temperature_fahrenheit twr_tmp112_get_temperature_fahrenheit
#define bc_tmp112_get_temperature_kelvin twr_tmp112_get_temperature_kelvin

#include <twr_uart.h>
#define BC_UART_UART0 TWR_UART_UART0
#define BC_UART_UART1 TWR_UART_UART1
#define BC_UART_UART2 TWR_UART_UART2
#define bc_uart_channel_t twr_uart_channel_t
#define BC_UART_BAUDRATE_9600 TWR_UART_BAUDRATE_9600
#define BC_UART_BAUDRATE_19200 TWR_UART_BAUDRATE_19200
#define BC_UART_BAUDRATE_38400 TWR_UART_BAUDRATE_38400
#define BC_UART_BAUDRATE_57600 TWR_UART_BAUDRATE_57600
#define BC_UART_BAUDRATE_115200 TWR_UART_BAUDRATE_115200
#define BC_UART_BAUDRATE_921600 TWR_UART_BAUDRATE_921600
#define bc_uart_baudrate_t twr_uart_baudrate_t
#define BC_UART_SETTING_8N1 TWR_UART_SETTING_8N1
#define BC_UART_SETTING_8E1 TWR_UART_SETTING_8E1
#define BC_UART_SETTING_8O1 TWR_UART_SETTING_8O1
#define BC_UART_SETTING_8N2 TWR_UART_SETTING_8N2
#define BC_UART_SETTING_8E2 TWR_UART_SETTING_8E2
#define BC_UART_SETTING_8O2 TWR_UART_SETTING_8O2
#define BC_UART_SETTING_8N1_5 TWR_UART_SETTING_8N1_5
#define BC_UART_SETTING_8E1_5 TWR_UART_SETTING_8E1_5
#define BC_UART_SETTING_8O1_5 TWR_UART_SETTING_8O1_5
#define BC_UART_SETTING_7N1 TWR_UART_SETTING_7N1
#define BC_UART_SETTING_7E1 TWR_UART_SETTING_7E1
#define BC_UART_SETTING_7O1 TWR_UART_SETTING_7O1
#define BC_UART_SETTING_7N2 TWR_UART_SETTING_7N2
#define BC_UART_SETTING_7E2 TWR_UART_SETTING_7E2
#define BC_UART_SETTING_7O2 TWR_UART_SETTING_7O2
#define BC_UART_SETTING_7N1_5 TWR_UART_SETTING_7N1_5
#define BC_UART_SETTING_7E1_5 TWR_UART_SETTING_7E1_5
#define BC_UART_SETTING_7O1_5 TWR_UART_SETTING_7O1_5
#define bc_uart_setting_t twr_uart_setting_t
#define BC_UART_EVENT_ASYNC_WRITE_DONE TWR_UART_EVENT_ASYNC_WRITE_DONE
#define BC_UART_EVENT_ASYNC_READ_DATA TWR_UART_EVENT_ASYNC_READ_DATA
#define BC_UART_EVENT_ASYNC_READ_TIMEOUT TWR_UART_EVENT_ASYNC_READ_TIMEOUT
#define bc_uart_event_t twr_uart_event_t
#define bc_uart_init twr_uart_init
#define bc_uart_deinit twr_uart_deinit
#define bc_uart_write twr_uart_write
#define bc_uart_read twr_uart_read
#define bc_uart_set_event_handler twr_uart_set_event_handler
#define bc_uart_set_async_fifo twr_uart_set_async_fifo
#define bc_uart_async_write twr_uart_async_write
#define bc_uart_async_read_start twr_uart_async_read_start
#define bc_uart_async_read_cancel twr_uart_async_read_cancel
#define bc_uart_async_read twr_uart_async_read

#include <twr_usb_cdc.h>
#define bc_usb_cdc_init twr_usb_cdc_init
#define bc_usb_cdc_write twr_usb_cdc_write
#define bc_usb_cdc_read twr_usb_cdc_read

#include <twr_watchdog.h>
#define BC_WATCHDOG_ENABLED TWR_WATCHDOG_ENABLED
#define BC_WATCHDOG_27S TWR_WATCHDOG_27S
#define BC_WATCHDOG_13S TWR_WATCHDOG_13S
#define BC_WATCHDOG_6S TWR_WATCHDOG_6S
#define BC_WATCHDOG_3S TWR_WATCHDOG_3S
#define BC_WATCHDOG_1S TWR_WATCHDOG_1S
#define BC_WATCHDOG_86MS TWR_WATCHDOG_86MS
#define BC_WATCHDOG_43MS TWR_WATCHDOG_43MS
#define bc_watchdog_time_t twr_watchdog_time_t
#define bc_watchdog_init twr_watchdog_init
#define bc_watchdog_refresh twr_watchdog_refresh

#include <twr_ws2812b.h>
#define BC_WS2812B_SEND_DONE TWR_WS2812B_SEND_DONE
#define bc_ws2812b_event_t twr_ws2812b_event_t
#define bc_ws2812b_init twr_ws2812b_init
#define bc_ws2812b_set_event_handler twr_ws2812b_set_event_handler
#define bc_ws2812b_set_pixel_from_rgb twr_ws2812b_set_pixel_from_rgb
#define bc_ws2812b_set_pixel_from_uint32 twr_ws2812b_set_pixel_from_uint32
#define bc_ws2812b_set_pixel_from_rgb_swap_rg twr_ws2812b_set_pixel_from_rgb_swap_rg
#define bc_ws2812b_set_pixel_from_uint32_swap_rg twr_ws2812b_set_pixel_from_uint32_swap_rg
#define bc_ws2812b_write twr_ws2812b_write
#define bc_ws2812b_is_ready twr_ws2812b_is_ready

#include <twr_wssfm10r1at.h>
#define BC_WSSFM10R1AT_TX_FIFO_BUFFER_SIZE TWR_WSSFM10R1AT_TX_FIFO_BUFFER_SIZE
#define BC_WSSFM10R1AT_RX_FIFO_BUFFER_SIZE TWR_WSSFM10R1AT_RX_FIFO_BUFFER_SIZE
#define BC_WSSFM10R1AT_EVENT_READY TWR_WSSFM10R1AT_EVENT_READY
#define BC_WSSFM10R1AT_EVENT_ERROR TWR_WSSFM10R1AT_EVENT_ERROR
#define BC_WSSFM10R1AT_EVENT_SEND_RF_FRAME_START TWR_WSSFM10R1AT_EVENT_SEND_RF_FRAME_START
#define BC_WSSFM10R1AT_EVENT_SEND_RF_FRAME_DONE TWR_WSSFM10R1AT_EVENT_SEND_RF_FRAME_DONE
#define BC_WSSFM10R1AT_EVENT_READ_DEVICE_ID TWR_WSSFM10R1AT_EVENT_READ_DEVICE_ID
#define BC_WSSFM10R1AT_EVENT_READ_DEVICE_PAC TWR_WSSFM10R1AT_EVENT_READ_DEVICE_PAC
#define bc_wssfm10r1at_event_t twr_wssfm10r1at_event_t
#define bc_wssfm10r1at_t twr_wssfm10r1at_t
#define BC_WSSFM10R1AT_STATE_READY TWR_WSSFM10R1AT_STATE_READY
#define BC_WSSFM10R1AT_STATE_ERROR TWR_WSSFM10R1AT_STATE_ERROR
#define BC_WSSFM10R1AT_STATE_INITIALIZE TWR_WSSFM10R1AT_STATE_INITIALIZE
#define BC_WSSFM10R1AT_STATE_INITIALIZE_RESET_L TWR_WSSFM10R1AT_STATE_INITIALIZE_RESET_L
#define BC_WSSFM10R1AT_STATE_INITIALIZE_RESET_H TWR_WSSFM10R1AT_STATE_INITIALIZE_RESET_H
#define BC_WSSFM10R1AT_STATE_INITIALIZE_AT_COMMAND TWR_WSSFM10R1AT_STATE_INITIALIZE_AT_COMMAND
#define BC_WSSFM10R1AT_STATE_INITIALIZE_AT_RESPONSE TWR_WSSFM10R1AT_STATE_INITIALIZE_AT_RESPONSE
#define BC_WSSFM10R1AT_STATE_SET_POWER_COMMAND TWR_WSSFM10R1AT_STATE_SET_POWER_COMMAND
#define BC_WSSFM10R1AT_STATE_SET_POWER_RESPONSE TWR_WSSFM10R1AT_STATE_SET_POWER_RESPONSE
#define BC_WSSFM10R1AT_STATE_SEND_RF_FRAME_COMMAND TWR_WSSFM10R1AT_STATE_SEND_RF_FRAME_COMMAND
#define BC_WSSFM10R1AT_STATE_SEND_RF_FRAME_RESPONSE TWR_WSSFM10R1AT_STATE_SEND_RF_FRAME_RESPONSE
#define BC_WSSFM10R1AT_STATE_READ_DEVICE_ID_COMMAND TWR_WSSFM10R1AT_STATE_READ_DEVICE_ID_COMMAND
#define BC_WSSFM10R1AT_STATE_READ_DEVICE_ID_RESPONSE TWR_WSSFM10R1AT_STATE_READ_DEVICE_ID_RESPONSE
#define BC_WSSFM10R1AT_STATE_READ_DEVICE_PAC_COMMAND TWR_WSSFM10R1AT_STATE_READ_DEVICE_PAC_COMMAND
#define BC_WSSFM10R1AT_STATE_READ_DEVICE_PAC_RESPONSE TWR_WSSFM10R1AT_STATE_READ_DEVICE_PAC_RESPONSE
#define BC_WSSFM10R1AT_STATE_CONTINUOUS_WAVE_COMMAND TWR_WSSFM10R1AT_STATE_CONTINUOUS_WAVE_COMMAND
#define BC_WSSFM10R1AT_STATE_CONTINUOUS_WAVE_RESPONSE TWR_WSSFM10R1AT_STATE_CONTINUOUS_WAVE_RESPONSE
#define BC_WSSFM10R1AT_STATE_CONTINUOUS_WAVE TWR_WSSFM10R1AT_STATE_CONTINUOUS_WAVE
#define BC_WSSFM10R1AT_STATE_DEEP_SLEEP_COMMAND TWR_WSSFM10R1AT_STATE_DEEP_SLEEP_COMMAND
#define BC_WSSFM10R1AT_STATE_DEEP_SLEEP_RESPONSE TWR_WSSFM10R1AT_STATE_DEEP_SLEEP_RESPONSE
#define BC_WSSFM10R1AT_STATE_DEEP_SLEEP TWR_WSSFM10R1AT_STATE_DEEP_SLEEP
#define bc_wssfm10r1at_state_t twr_wssfm10r1at_state_t
#define bc_wssfm10r1at_init twr_wssfm10r1at_init
#define bc_wssfm10r1at_set_event_handler twr_wssfm10r1at_set_event_handler
#define bc_wssfm10r1at_is_ready twr_wssfm10r1at_is_ready
#define bc_wssfm10r1at_send_rf_frame twr_wssfm10r1at_send_rf_frame
#define bc_wssfm10r1at_read_device_id twr_wssfm10r1at_read_device_id
#define BC_WSSFM10R1AT_EVENT_READ_DEVICE_ID TWR_WSSFM10R1AT_EVENT_READ_DEVICE_ID
#define bc_wssfm10r1at_get_device_id twr_wssfm10r1at_get_device_id
#define bc_wssfm10r1at_read_device_pac twr_wssfm10r1at_read_device_pac
#define BC_WSSFM10R1AT_EVENT_READ_DEVICE_PAC TWR_WSSFM10R1AT_EVENT_READ_DEVICE_PAC
#define bc_wssfm10r1at_get_device_pac twr_wssfm10r1at_get_device_pac
#define bc_wssfm10r1at_continuous_wave twr_wssfm10r1at_continuous_wave

#include <twr_zssc3123.h>
#define BC_ZSSC3123_EVENT_ERROR TWR_ZSSC3123_EVENT_ERROR
#define BC_ZSSC3123_EVENT_UPDATE TWR_ZSSC3123_EVENT_UPDATE
#define bc_zssc3123_event_t twr_zssc3123_event_t
#define bc_zssc3123_t twr_zssc3123_t
#define BC_ZSSC3123_STATE_ERROR TWR_ZSSC3123_STATE_ERROR
#define BC_ZSSC3123_STATE_INITIALIZE TWR_ZSSC3123_STATE_INITIALIZE
#define BC_ZSSC3123_STATE_MEASURE TWR_ZSSC3123_STATE_MEASURE
#define BC_ZSSC3123_STATE_READ TWR_ZSSC3123_STATE_READ
#define bc_zssc3123_state_t twr_zssc3123_state_t
#define bc_zssc3123_init twr_zssc3123_init
#define bc_zssc3123_deinit twr_zssc3123_deinit
#define bc_zssc3123_set_data_fetch_delay twr_zssc3123_set_data_fetch_delay
#define bc_zssc3123_set_event_handler twr_zssc3123_set_event_handler
#define bc_zssc3123_set_update_interval twr_zssc3123_set_update_interval
#define bc_zssc3123_measure twr_zssc3123_measure
#define bc_zssc3123_get_raw_cap_data twr_zssc3123_get_raw_cap_data
#define bc_zssc3123_start_cm twr_zssc3123_start_cm
#define bc_zssc3123_end_cm twr_zssc3123_end_cm
#define bc_zssc3123_eeprom_read twr_zssc3123_eeprom_read
#define bc_zssc3123_eeprom_write twr_zssc3123_eeprom_write
#define bc_zssc3123_unlock_eeprom twr_zssc3123_unlock_eeprom

#endif // _BCL_H
