27#define L2CAP_SIGNAL_CHANNEL_BUFFER_SIZE 256
29#define L2CAP_CHANNEL_SIGNALS 0x0001
31#define L2CAP_DEFAULT_MTU 185
32#define L2CAP_DEFAULT_FLUSH_TIMEOUT 0xFFFF
34typedef void (*l2cap_channel_event_t)(
void* channel,
void* user);
50 SemaphoreHandle_t on_complete_packet;
56 int fifo_write_head_packet;
61 volatile uint8_t incoming_id;
62 SemaphoreHandle_t signal_waiter;
66 l2cap_channel_event_t event;
68 } event_packet_available;
70 StaticSemaphore_t semaphore_data[2];
74 SemaphoreHandle_t lock;
83 uint8_t signal_channel_buffer[L2CAP_SIGNAL_CHANNEL_BUFFER_SIZE];
87 uint16_t reading_remaining;
89 uint8_t mac_address[6];
91 StaticSemaphore_t semaphore_data;
int l2cap_open_device(l2cap_device_t *device_handle, uint16_t hci_device_handle, const uint8_t *mac_address)
Opens a L2CAP Connections.
Definition l2cap.c:458
void l2cap_close()
Closes out of L2CAP.
Definition l2cap.c:432
void l2cap_set_channel_receive_event(l2cap_channel_t *channel, l2cap_channel_event_t event, void *param)
Sets the L2CAP on packet receive event.
Definition l2cap.c:747
int l2cap_initialize()
Initalized L2CAP.
Definition l2cap.c:410
int l2cap_send_channel(l2cap_channel_t *channel, const void *data, uint16_t size)
Sends data over a L2CAP Channel.
Definition l2cap.c:618
void l2cap_close_channel(l2cap_channel_t *channel)
Closes a L2CAP Channel.
Definition l2cap.c:612
void l2cap_signal_close()
Begins closing out of L2CAP.
Definition l2cap.c:428
int l2cap_receive_channel(l2cap_channel_t *channel, void *data, uint16_t size)
Receives from a L2CAP Channel.
Definition l2cap.c:674
int l2cap_open_channel(l2cap_device_t *device_handle, l2cap_channel_t *channel, uint16_t protocol_id, uint8_t *rx_buffer, int rx_buffer_size)
Opens a L2CAP Channel.
Definition l2cap.c:555
void l2cap_close_device(l2cap_device_t *device_handle)
Closes a L2CAP Connection.
Definition l2cap.c:495