hci: test code to send set data length, unfinished

This commit is contained in:
Matthias Ringwald 2024-04-16 15:43:13 +02:00
parent b3163456d1
commit 154e730e28
2 changed files with 15 additions and 1 deletions

View File

@ -3403,6 +3403,12 @@ static void hci_handle_le_connection_complete_event(const uint8_t * hci_event){
// we're done with it // we're done with it
hci_stack->le_connecting_state = LE_CONNECTING_IDLE; hci_stack->le_connecting_state = LE_CONNECTING_IDLE;
hci_stack->le_connecting_request = LE_CONNECTING_IDLE; hci_stack->le_connecting_request = LE_CONNECTING_IDLE;
// enable DLE
// TODO: check if supported
log_info("Request GAP_CONNECTION_TASK_LE_WRITE_DATA_LENGTH");
conn->gap_connection_tasks |= GAP_CONNECTION_TASK_LE_WRITE_DATA_LENGTH;
#endif #endif
} else { } else {
#ifdef ENABLE_LE_PERIPHERAL #ifdef ENABLE_LE_PERIPHERAL
@ -3428,7 +3434,7 @@ static void hci_handle_le_connection_complete_event(const uint8_t * hci_event){
#ifdef ENABLE_LE_ISOCHRONOUS_STREAMS #ifdef ENABLE_LE_ISOCHRONOUS_STREAMS
// workaround: PAST doesn't work without LE Read Remote Features on PacketCraft Controller with LMP 568B // workaround: PAST doesn't work without LE Read Remote Features on PacketCraft Controller with LMP 568B
if (hci_command_supported(SUPPORTED_HCI_COMMAND_LE_READ_REMOTE_FEATURES)){ if (hci_command_supported(SUPPORTED_HCI_COMMAND_LE_READ_REMOTE_FEATURES)){
conn->gap_connection_tasks = GAP_CONNECTION_TASK_LE_READ_REMOTE_FEATURES; conn->gap_connection_tasks |= GAP_CONNECTION_TASK_LE_READ_REMOTE_FEATURES;
} }
#endif #endif
@ -7481,6 +7487,13 @@ static bool hci_run_general_pending_commands(void){
hci_send_cmd(&hci_le_read_remote_used_features, connection->con_handle); hci_send_cmd(&hci_le_read_remote_used_features, connection->con_handle);
return true; return true;
} }
#ifdef ENABLE_LE_CENTRAL
if (connection->gap_connection_tasks & GAP_CONNECTION_TASK_LE_WRITE_DATA_LENGTH){
connection->gap_connection_tasks &= ~GAP_CONNECTION_TASK_LE_WRITE_DATA_LENGTH;
hci_send_cmd(&hci_le_write_suggested_default_data_length, hci_stack->le_supported_max_tx_octets, hci_stack->le_supported_max_tx_time);
return true;
}
#endif
#endif #endif
} }

View File

@ -236,6 +236,7 @@ typedef enum {
#define GAP_CONNECTION_TASK_WRITE_SUPERVISION_TIMEOUT 0x0002u #define GAP_CONNECTION_TASK_WRITE_SUPERVISION_TIMEOUT 0x0002u
#define GAP_CONNECTION_TASK_READ_RSSI 0x0004u #define GAP_CONNECTION_TASK_READ_RSSI 0x0004u
#define GAP_CONNECTION_TASK_LE_READ_REMOTE_FEATURES 0x0008u #define GAP_CONNECTION_TASK_LE_READ_REMOTE_FEATURES 0x0008u
#define GAP_CONNECTION_TASK_LE_WRITE_DATA_LENGTH 0x0010u
/** /**
* Connection State * Connection State