text: #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
  