18 #ifndef IMPL_HCI_DRIVER_H_ 19 #define IMPL_HCI_DRIVER_H_ 23 #include "platform/Callback.h" 24 #include "ble/common/BLETypes.h" 25 #include "ble/driver/CordioHCITransportDriver.h" 26 #include "ble/common/blecommon.h" 42 template<
size_t BufferSize,
size_t PoolCount>
44 uint8_t (&buffer)[BufferSize],
51 uint8_t* buffer_memory;
67 friend class CordioHCIHook;
104 virtual void start_reset_sequence();
113 virtual void handle_reset_sequence(uint8_t *msg);
125 void signal_reset_sequence_done();
138 uint16_t write(uint8_t type, uint16_t len, uint8_t *pData);
148 virtual void on_host_stack_inactivity();
159 void handle_test_end(
bool success, uint16_t packets);
172 ble_error_t rf_test_start_le_receiver_test(test_end_handler_t test_end_handler, uint8_t channel);
182 ble_error_t rf_test_start_le_transmitter_test(test_end_handler_t test_end_handler, uint8_t channel,
183 uint8_t length, uint8_t type);
213 void set_random_static_address(
const ble::address_t& random_static_address);
220 virtual void do_initialize() = 0;
225 virtual void do_terminate() = 0;
228 test_end_handler_t _test_end_handler;
Contain description of the memory pool used by the Cordio stack.
Buffer pool descriptor structure.
Base class of the HCI transport driver.
buf_pool_desc_t(uint8_t(&buffer)[BufferSize], const wsfBufPoolDesc_t(&pool_desc)[PoolCount])
Create a new memory pool description.
Base class of the HCI driver use by the BLE port of the Cordio stack.
size_t buffer_size
Pointer to the buffer memory.
mbed::Callback< void(bool, uint16_t)> test_end_handler_t
Callback to inform the caller of the result of the test, the parameters are success and the number of...
size_t pool_count
Pointer to the first element describing the pool.
const wsfBufPoolDesc_t * pool_description
Size of the buffer.
Entry namespace for all BLE API definitions.
ble_error_t
Error codes for the BLE API.