gitextract_0w9214oa/ ├── .editorconfig ├── .github/ │ └── workflows/ │ └── codeql.yml ├── .gitignore ├── .gitlab-ci.yml ├── .travis.yml ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── Doxyfile ├── LICENSE ├── README.md ├── bluetoe/ │ ├── adv_service_list.hpp │ ├── appearance.hpp │ ├── attribute_generator.hpp │ ├── attribute_handle.hpp │ ├── bindings/ │ │ ├── CMakeLists.txt │ │ ├── hci/ │ │ │ └── include_libusb/ │ │ │ └── bluetoe/ │ │ │ ├── device.hpp │ │ │ └── libsub.hpp │ │ └── nordic/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── bluetoe/ │ │ │ └── nrf.hpp │ │ ├── nrf51/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── bluetoe/ │ │ │ │ ├── device.hpp │ │ │ │ └── nrf51.hpp │ │ │ └── nrf51.cpp │ │ ├── nrf52/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── bluetoe/ │ │ │ │ ├── device.hpp │ │ │ │ ├── nrf52.hpp │ │ │ │ └── security_tool_box.hpp │ │ │ ├── nrf52.cpp │ │ │ └── security_tool_box.cpp │ │ └── uECC/ │ │ ├── CMakeLists.txt │ │ ├── asm_arm.inc │ │ ├── uECC.c │ │ └── uECC.h │ ├── characteristic.hpp │ ├── characteristic_value.hpp │ ├── custom_advertising.hpp │ ├── descriptor.hpp │ ├── encryption.hpp │ ├── filter.hpp │ ├── find_notification_data.hpp │ ├── gap_service.hpp │ ├── gatt_options.hpp │ ├── hci/ │ │ ├── CMakeLists.txt │ │ └── include/ │ │ └── bluetoe/ │ │ └── link_layer.hpp │ ├── l2cap.hpp │ ├── l2cap_channels.hpp │ ├── link_layer/ │ │ ├── CMakeLists.txt │ │ ├── channel_map.cpp │ │ ├── connection_details.cpp │ │ ├── delta_time.cpp │ │ ├── include/ │ │ │ └── bluetoe/ │ │ │ ├── advertising.hpp │ │ │ ├── buffer.hpp │ │ │ ├── channel_map.hpp │ │ │ ├── connection_callbacks.hpp │ │ │ ├── connection_details.hpp │ │ │ ├── connection_event_callback.hpp │ │ │ ├── connection_events.hpp │ │ │ ├── default_pdu_layout.hpp │ │ │ ├── delta_time.hpp │ │ │ ├── l2cap_signaling_channel.hpp │ │ │ ├── link_layer.hpp │ │ │ ├── ll_data_pdu_buffer.hpp │ │ │ ├── ll_l2cap_sdu_buffer.hpp │ │ │ ├── ll_meta_types.hpp │ │ │ ├── ll_options.hpp │ │ │ ├── peripheral_latency.hpp │ │ │ ├── phy_encodings.hpp │ │ │ ├── ring_buffer.hpp │ │ │ └── white_list.hpp │ │ └── scheduled_radio.hpp │ ├── link_state.hpp │ ├── mainpage.hpp │ ├── meta_types.hpp │ ├── mixin.hpp │ ├── notification_queue.hpp │ ├── outgoing_priority.hpp │ ├── pairing_status.hpp │ ├── peripheral_connection_interval_range.hpp │ ├── scattered_access.hpp │ ├── sensor_location.hpp │ ├── server.hpp │ ├── server_meta_type.hpp │ ├── server_name.hpp │ ├── service.hpp │ ├── service_uuid.hpp │ ├── services/ │ │ ├── CMakeLists.txt │ │ ├── bas.hpp │ │ ├── bootloader.hpp │ │ ├── bootloader.md │ │ ├── csc.hpp │ │ ├── dis.hpp │ │ ├── gatt.hpp │ │ └── hid.hpp │ ├── sm/ │ │ ├── CMakeLists.txt │ │ └── include/ │ │ └── bluetoe/ │ │ ├── io_capabilities.hpp │ │ ├── oob_authentication.hpp │ │ ├── security_connection_data.hpp │ │ └── security_manager.hpp │ ├── utility/ │ │ ├── CMakeLists.txt │ │ ├── address.cpp │ │ └── include/ │ │ └── bluetoe/ │ │ ├── address.hpp │ │ ├── attribute.hpp │ │ ├── bits.hpp │ │ ├── client_characteristic_configuration.hpp │ │ ├── codes.hpp │ │ ├── meta_tools.hpp │ │ └── ring.hpp │ ├── uuid.hpp │ └── write_queue.hpp ├── config/ │ ├── travisci_rsa.enc │ └── travisci_rsa.pub ├── documentation/ │ ├── Logo_Bluetoe.eps │ └── customdoxygen.css ├── examples/ │ ├── CMakeLists.txt │ ├── README.md │ ├── assert/ │ │ ├── CMakeLists.txt │ │ ├── assert.cpp │ │ ├── assert.h │ │ └── cassert │ ├── ble_flash/ │ │ ├── CMakeLists.txt │ │ ├── ble_flash.coffee │ │ ├── crc.coffee │ │ ├── crc_tests.coffee │ │ ├── flash.coffee │ │ └── flash_tests.coffee │ ├── blinky.cpp │ ├── blinky_with_lesc_and_legacy_pairing.cpp │ ├── blinky_with_oob.cpp │ ├── blinky_without_encryption.cpp │ ├── bootloader.cpp │ ├── cc2650/ │ │ ├── cc26x0f128.lds │ │ ├── ccfg.c │ │ └── startup_gcc.c │ ├── cmake/ │ │ ├── deduce.cmake │ │ └── gcc-arm-none-eabi.cmake │ ├── custom_advertising.cpp │ ├── cycling_speed_and_cadence.cpp │ ├── docker/ │ │ ├── Dockerfile │ │ └── Makefile │ ├── doxygen/ │ │ ├── CMakeLists.txt │ │ ├── change_advertising_example.cpp │ │ ├── include_example.cpp │ │ ├── priorities_example.cpp │ │ ├── read_write_handler_example.cpp │ │ └── server_example.cpp │ ├── gpio.cpp │ ├── keyboard.cpp │ ├── nrf51_toolchain_support/ │ │ ├── CMakeLists.txt │ │ ├── gcc_nrf51_common.ld │ │ ├── gcc_startup_nrf51.s │ │ ├── nrf51_xxaa.ld │ │ ├── platform.cmake │ │ ├── system_nrf51.h │ │ └── system_nrf51422.c │ ├── nrf52_high_cpu_load.cpp │ ├── nrf52_toolchain_support/ │ │ ├── CMakeLists.txt │ │ ├── gcc_nrf5x_common.ld │ │ ├── gcc_startup_nrf52.s │ │ ├── nrf52.ld │ │ ├── platform.cmake │ │ ├── system_nrf52.c │ │ └── system_nrf52.h │ ├── resources.hpp │ ├── runtime_gcc.cpp │ ├── scheduled_radio_tests.cpp │ ├── spl/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── flash.hpp │ │ ├── gpio.hpp │ │ ├── temperature.cpp │ │ ├── temperature.hpp │ │ └── timer.hpp │ ├── synchronized_callbacks.cpp │ ├── thermometer.cpp │ └── ucontroller.hpp ├── publish-doxygen └── tests/ ├── CMakeLists.txt ├── advertising_tests.cpp ├── att/ │ ├── CMakeLists.txt │ ├── descriptor_tests.cpp │ ├── execute_write_tests.cpp │ ├── find_by_type_value_tests.cpp │ ├── find_information_tests.cpp │ ├── find_notification_data_tests.cpp │ ├── indication_tests.cpp │ ├── mtu_exchange_tests.cpp │ ├── notification_tests.cpp │ ├── outgoing_priority_tests.cpp │ ├── prepare_write_tests.cpp │ ├── read_blob_tests.cpp │ ├── read_by_group_type_tests.cpp │ ├── read_by_type_tests.cpp │ ├── read_multiple_tests.cpp │ ├── read_tests.cpp │ ├── request_not_supported_tests.cpp │ ├── write_command_tests.cpp │ └── write_tests.cpp ├── attribute_handle_tests.cpp ├── auto_uuid_tests.cpp ├── bits_tests.cpp ├── characteristic_tests.cpp ├── characteristic_value_tests.cpp ├── connect.coffee ├── encryption_tests.cpp ├── filter_tests.cpp ├── gap_service_tests.cpp ├── hci/ │ ├── CMakeLists.txt │ ├── hci_advertising_tests.cpp │ └── transport.hpp ├── l2cap_tests.cpp ├── link_layer/ │ ├── CMakeLists.txt │ ├── address_tests.cpp │ ├── advertiser_tests.cpp │ ├── channel_map_tests.cpp │ ├── connected.hpp │ ├── connection_callbacks_tests.cpp │ ├── connection_event_callback_tests.cpp │ ├── connection_parameter_update_procedure_tests.cpp │ ├── delta_time_tests.cpp │ ├── ll_advertising_tests.cpp │ ├── ll_connecting_tests.cpp │ ├── ll_connection_tests.cpp │ ├── ll_control_tests.cpp │ ├── ll_data_pdu_buffer_tests.cpp │ ├── ll_data_tests.cpp │ ├── ll_encryption_tests.cpp │ ├── ll_l2cap_sdu_buffer_tests.cpp │ ├── ll_notification_tests.cpp │ ├── ll_peripheral_latency_tests.cpp │ ├── ll_phy_update_tests.cpp │ ├── ll_remote_request_tests.cpp │ ├── peripheral_latency_tests.cpp │ ├── ring_buffer_tests.cpp │ ├── signaling_channel_tests.cpp │ ├── test_radio_tests.cpp │ └── white_list_tests.cpp ├── notification_queue_tests.cpp ├── options_tests.cpp ├── read_write_handler_tests.cpp ├── ring_tests.cpp ├── scattered_access_tests.cpp ├── security_manager/ │ ├── CMakeLists.txt │ ├── authentication_stage_tests1.cpp │ ├── authentication_stage_tests2.cpp │ ├── bonding_tests.cpp │ ├── encryption_example_tests.cpp │ ├── io_capabilities_tests.cpp │ ├── key_distribution_tests.cpp │ ├── pairing_confirm_tests.cpp │ ├── pairing_random_tests.cpp │ ├── pairing_request_tests.cpp │ ├── pairing_tests.cpp │ ├── public_key_exchange_tests.cpp │ ├── test_sm.hpp │ └── test_sm_tests.cpp ├── server_tests.cpp ├── service_tests.cpp ├── services/ │ ├── CMakeLists.txt │ ├── battery_tests.cpp │ ├── bootloader_tests.cpp │ ├── cscs_tests.cpp │ ├── test_gatt.cpp │ └── test_gatt.hpp ├── test_attribute_access.hpp ├── test_characteristics.hpp ├── test_tools/ │ ├── CMakeLists.txt │ ├── address_io.cpp │ ├── aes.c │ ├── aes.h │ ├── attribute_io.cpp │ ├── attribute_io.hpp │ ├── buffer_io.cpp │ ├── buffer_io.hpp │ ├── hexdump.cpp │ ├── hexdump.hpp │ ├── pairing_status_io.cpp │ ├── pairing_status_io.hpp │ ├── test_layout.hpp │ ├── test_radio.cpp │ ├── test_radio.hpp │ ├── test_servers.cpp │ ├── test_servers.hpp │ ├── test_services.hpp │ ├── test_uuid.cpp │ ├── test_uuid.hpp │ ├── uECC.c │ └── uECC.h ├── test_tuple.hpp └── write_queue_tests.cpp