hci: check if LE Set Defaut PHY is supported

This commit is contained in:
Matthias Ringwald 2019-01-02 12:01:35 +01:00
parent 5fa31a9940
commit cd542ed65d
2 changed files with 14 additions and 12 deletions

View File

@ -1937,12 +1937,13 @@ static void event_handler(uint8_t *packet, int size){
}
if (HCI_EVENT_IS_COMMAND_COMPLETE(packet, hci_read_local_supported_commands)){
hci_stack->local_supported_commands[0] =
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+14] & 0x80) >> 7 | // bit 0 = Octet 14, bit 7
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+24] & 0x40) >> 5 | // bit 1 = Octet 24, bit 6
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+10] & 0x10) >> 2 | // bit 2 = Octet 10, bit 4
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+18] & 0x08) | // bit 3 = Octet 18, bit 3
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+34] & 0x01) << 4 | // bit 4 = Octet 34, bit 0
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+35] & 0x08) << 2; // bit 5 = Octet 35, bit 3
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+14] & 0x80) >> 7 | // bit 0 = Octet 14, bit 7 / Read Buffer Size
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+24] & 0x40) >> 5 | // bit 1 = Octet 24, bit 6 / Write Le Host Supported
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+10] & 0x10) >> 2 | // bit 2 = Octet 10, bit 4 / Write Synchronous Flow Control Enable
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+18] & 0x08) | // bit 3 = Octet 18, bit 3 / Write Default Erroneous Data Reporting
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+34] & 0x01) << 4 | // bit 4 = Octet 34, bit 0 / LE Write Suggested Default Data Length
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+35] & 0x08) << 2 | // bit 5 = Octet 35, bit 3 / LE Read Maximum Data Length
(packet[OFFSET_OF_DATA_IN_COMMAND_COMPLETE+1+35] & 0x20) << 1; // bit 6 = Octet 35, bit 5 / LE Set Default PHY
log_info("Local supported commands summary 0x%02x", hci_stack->local_supported_commands[0]);
}
#ifdef ENABLE_CLASSIC

View File

@ -739,12 +739,13 @@ typedef struct {
uint8_t local_supported_features[8];
/* local supported commands summary - complete info is 64 bytes */
/* 0 - Read Buffer Size */
/* 1 - Write Le Host Supported */
/* 0 - Read Buffer Size (Octet 14/bit 7) */
/* 1 - Write Le Host Supported (Octet 24/bit 6) */
/* 2 - Write Synchronous Flow Control Enable (Octet 10/bit 4) */
/* 3 - Write Default Erroneous Data Reporting (Octet 18/bit 3) */
/* 4 - LE Write Suggested Default Data Length (Octet 34/bit 0) */
/* 5 - LE Read Maximum Data Length (Octet 35/bit 3) */
/* 6 - LE Set Default PHY (Octet 35/bit 5) */
uint8_t local_supported_commands[1];
/* bluetooth device information from hci read local version information */