29 uint8_t page_scan_repetition_mode;
30 uint32_t class_of_device;
31 uint16_t clock_offset;
35 uint16_t acl_data_packet_length;
36 uint8_t synchronous_data_packet_length;
37 uint16_t total_num_acl_data_packets;
38 uint16_t total_num_synchronous_data_packets;
46 HCI_ACL_PACKET_BOUNDARY_FLAG_FIRST_NON_AUTOMATICALLY_FLUSHABLE_PACKET,
47 HCI_ACL_PACKET_BOUNDARY_FLAG_CONTINUING_FRAGMENT,
48 HCI_ACL_PACKET_BOUNDARY_FLAG_FIRST_AUTOMATICALLY_FLUSHABLE_PACKET
49} hci_acl_packet_boundary_flag_t;
52 HCI_ACL_PACKET_BROADCAST_FLAG_PTP,
53 HCI_ACL_PACKET_BROADCAST_FLAG_ACTIVE_DEVICE,
54 HCI_ACL_PACKET_BROADCAST_FLAG_PARKED_DEVICE,
55} hci_acl_packet_broadcast_flag_t;
58#define HCI_INQUIRY_MODE_GENERAL_ACCESS 0x9E8B33
61#define HCI_MAX_NAME_REQUEST_LENGTH 254
66#define HCI_MAX_ACL_DATA_LENGTH 512
69#define HCI_ACL_RECEIVE_IPC_BUFFER_SIZE (32 + 32 + 32 + 32 + sizeof(ipc_message))
74 uint8_t data[HCI_MAX_ACL_DATA_LENGTH];
155 uint32_t lap, uint8_t length, uint8_t responses,
195extern SemaphoreHandle_t hcl_acl_packet_out_lock;
216extern
int hci_send_acl(uint16_t handle, hci_acl_packet_boundary_flag_t pb, hci_acl_packet_broadcast_flag_t bc, uint16_t length);
int hci_send_acl(uint16_t handle, hci_acl_packet_boundary_flag_t pb, hci_acl_packet_broadcast_flag_t bc, uint16_t length)
Sends a ACL Packet.
Definition hci.c:839
void hci_decode_received_acl(uint16_t *handle, hci_acl_packet_boundary_flag_t *pb, hci_acl_packet_broadcast_flag_t *bc, uint16_t *length, const hci_acl_packet_t *acl_buffer)
Decodes a received ACL packet.
Definition hci.c:856
int hci_receive_acl_async(hci_acl_packet_t *acl_buffer, uint8_t *ipc_buffer, ipc_async_handler_t handler, void *params)
Receives a ACL Packet Asynchronously.
Definition hci.c:852
int hci_reset()
Resets the HCI Interface.
Definition hci.c:679
int hci_begin_discovery(uint32_t lap, uint8_t length, uint8_t responses, hci_discovered_device_handler on_discovered, hci_discovery_complete_handler on_complete, void *user_data)
Begins looking for bluetooth devices.
Definition hci.c:686
void hci_close()
Closes the HCI driver.
Definition hci.c:649
void(* hci_discovery_complete_handler)(void *user_data, uint8_t error)
Callback invoked when device discovery completes.
Definition hci.h:97
int hci_cancel_discovery()
Stops a discovery session.
Definition hci.c:720
int hci_create_connection(const hci_discovered_device_info_t *device, uint16_t *handle)
Creates a connection to a device for you to use.
Definition hci.c:763
int hci_initialize(const char *device)
Initializes the HCI interface.
Definition hci.c:571
int hci_get_remote_name(const hci_discovered_device_info_t *device, uint8_t *name)
Returns the remote name of a device.
Definition hci.c:733
void(* hci_discovered_device_handler)(void *user_data, const hci_discovered_device_info_t *device)
Callback for handling a discovered device during inquiry.
Definition hci.h:89
Access parts of the base system.
#define ALIGN(x)
Add an alignment attribute to some data.
Definition system.h:243