diff --git a/bumble/hci.py b/bumble/hci.py index da849be..28167e9 100644 --- a/bumble/hci.py +++ b/bumble/hci.py @@ -561,6 +561,12 @@ HCI_LE_TRANSMITTER_TEST_V4_COMMAND = hci_c HCI_LE_SET_DATA_RELATED_ADDRESS_CHANGES_COMMAND = hci_command_op_code(0x08, 0x007C) HCI_LE_SET_DEFAULT_SUBRATE_COMMAND = hci_command_op_code(0x08, 0x007D) HCI_LE_SUBRATE_REQUEST_COMMAND = hci_command_op_code(0x08, 0x007E) +HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_COMMAND = hci_command_op_code(0x08, 0x007F) +HCI_LE_SET_PERIODIC_ADVERTISING_SUBEVENT_DATA_COMMAND = hci_command_op_code(0x08, 0x0082) +HCI_LE_SET_PERIODIC_ADVERTISING_RESPONSE_DATA_COMMAND = hci_command_op_code(0x08, 0x0083) +HCI_LE_SET_PERIODIC_SYNC_SUBEVENT_COMMAND = hci_command_op_code(0x08, 0x0084) +HCI_LE_EXTENDED_CREATE_CONNECTION_V2_COMMAND = hci_command_op_code(0x08, 0x0085) +HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_V2_COMMAND = hci_command_op_code(0x08, 0x0086) # HCI Error Codes @@ -1317,56 +1323,72 @@ HCI_SUPPORTED_COMMANDS_FLAGS = ( ( HCI_LE_SET_DEFAULT_SUBRATE_COMMAND, HCI_LE_SUBRATE_REQUEST_COMMAND, + HCI_LE_SET_EXTENDED_ADVERTISING_PARAMETERS_V2_COMMAND, + None, + None, + HCI_LE_SET_PERIODIC_ADVERTISING_SUBEVENT_DATA_COMMAND, + HCI_LE_SET_PERIODIC_ADVERTISING_RESPONSE_DATA_COMMAND, + HCI_LE_SET_PERIODIC_SYNC_SUBEVENT_COMMAND + ), + # Octet 47 + ( + HCI_LE_EXTENDED_CREATE_CONNECTION_V2_COMMAND, + HCI_LE_SET_PERIODIC_ADVERTISING_PARAMETERS_V2_COMMAND, + None, None, None, None, None, None, - None ) ) # LE Supported Features -HCI_LE_ENCRYPTION_LE_SUPPORTED_FEATURE = 0 -HCI_CONNECTION_PARAMETERS_REQUEST_PROCEDURE_LE_SUPPORTED_FEATURE = 1 -HCI_EXTENDED_REJECT_INDICATION_LE_SUPPORTED_FEATURE = 2 -HCI_PERIPHERAL_INITIATED_FEATURE_EXCHANGE_LE_SUPPORTED_FEATURE = 3 -HCI_LE_PING_LE_SUPPORTED_FEATURE = 4 -HCI_LE_DATA_PACKET_LENGTH_EXTENSION_LE_SUPPORTED_FEATURE = 5 -HCI_LL_PRIVACY_LE_SUPPORTED_FEATURE = 6 -HCI_EXTENDED_SCANNER_FILTER_POLICIES_LE_SUPPORTED_FEATURE = 7 -HCI_LE_2M_PHY_LE_SUPPORTED_FEATURE = 8 -HCI_STABLE_MODULATION_INDEX_TRANSMITTER_LE_SUPPORTED_FEATURE = 9 -HCI_STABLE_MODULATION_INDEX_RECEIVER_LE_SUPPORTED_FEATURE = 10 -HCI_LE_CODED_PHY_LE_SUPPORTED_FEATURE = 11 -HCI_LE_EXTENDED_ADVERTISING_LE_SUPPORTED_FEATURE = 12 -HCI_LE_PERIODIC_ADVERTISING_LE_SUPPORTED_FEATURE = 13 -HCI_CHANNEL_SELECTION_ALGORITHM_2_LE_SUPPORTED_FEATURE = 14 -HCI_LE_POWER_CLASS_1_LE_SUPPORTED_FEATURE = 15 -HCI_MINIMUM_NUMBER_OF_USED_CHANNELS_PROCEDURE_LE_SUPPORTED_FEATURE = 16 -HCI_CONNECTION_CTE_REQUEST_LE_SUPPORTED_FEATURE = 17 -HCI_CONNECTION_CTE_RESPONSE_LE_SUPPORTED_FEATURE = 18 -HCI_CONNECTIONLESS_CTE_TRANSMITTER_LE_SUPPORTED_FEATURE = 19 -HCI_CONNECTIONLESS_CTR_RECEIVER_LE_SUPPORTED_FEATURE = 20 -HCI_ANTENNA_SWITCHING_DURING_CTE_TRANSMISSION_LE_SUPPORTED_FEATURE = 21 -HCI_ANTENNA_SWITCHING_DURING_CTE_RECEPTION_LE_SUPPORTED_FEATURE = 22 -HCI_RECEIVING_CONSTANT_TONE_EXTENSIONS_LE_SUPPORTED_FEATURE = 23 -HCI_PERIODIC_ADVERTISING_SYNC_TRANSFER_SENDER_LE_SUPPORTED_FEATURE = 24 -HCI_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECIPIENT_LE_SUPPORTED_FEATURE = 25 -HCI_SLEEP_CLOCK_ACCURACY_UPDATES_LE_SUPPORTED_FEATURE = 26 -HCI_REMOTE_PUBLIC_KEY_VALIDATION_LE_SUPPORTED_FEATURE = 27 -HCI_CONNECTED_ISOCHRONOUS_STREAM_CENTRAL_LE_SUPPORTED_FEATURE = 28 -HCI_CONNECTED_ISOCHRONOUS_STREAM_PERIPHERAL_LE_SUPPORTED_FEATURE = 29 -HCI_ISOCHRONOUS_BROADCASTER_LE_SUPPORTED_FEATURE = 30 -HCI_SYNCHRONIZED_RECEIVER_LE_SUPPORTED_FEATURE = 31 -HCI_CONNECTED_ISOCHRONOUS_STREAM_LE_SUPPORTED_FEATURE = 32 -HCI_LE_POWER_CONTROL_REQUEST_LE_SUPPORTED_FEATURE = 33 -HCI_LE_POWER_CONTROL_REQUEST_DUP_LE_SUPPORTED_FEATURE = 34 -HCI_LE_PATH_LOSS_MONITORING_LE_SUPPORTED_FEATURE = 35 -HCI_PERIODIC_ADVERTISING_ADI_SUPPORT_LE_SUPPORTED_FEATURE = 36 -HCI_CONNECTION_SUBRATING_LE_SUPPORTED_FEATURE = 37 -HCI_CONNECTION_SUBRATING_HOST_SUPPORT_LE_SUPPORTED_FEATURE = 38 -HCI_CHANNEL_CLASSIFICATION_LE_SUPPORTED_FEATURE = 39 +# See Bluetooth spec @ Vol 6, Part B, 4.6 FEATURE SUPPORT +HCI_LE_ENCRYPTION_LE_SUPPORTED_FEATURE = 0 +HCI_CONNECTION_PARAMETERS_REQUEST_PROCEDURE_LE_SUPPORTED_FEATURE = 1 +HCI_EXTENDED_REJECT_INDICATION_LE_SUPPORTED_FEATURE = 2 +HCI_PERIPHERAL_INITIATED_FEATURE_EXCHANGE_LE_SUPPORTED_FEATURE = 3 +HCI_LE_PING_LE_SUPPORTED_FEATURE = 4 +HCI_LE_DATA_PACKET_LENGTH_EXTENSION_LE_SUPPORTED_FEATURE = 5 +HCI_LL_PRIVACY_LE_SUPPORTED_FEATURE = 6 +HCI_EXTENDED_SCANNER_FILTER_POLICIES_LE_SUPPORTED_FEATURE = 7 +HCI_LE_2M_PHY_LE_SUPPORTED_FEATURE = 8 +HCI_STABLE_MODULATION_INDEX_TRANSMITTER_LE_SUPPORTED_FEATURE = 9 +HCI_STABLE_MODULATION_INDEX_RECEIVER_LE_SUPPORTED_FEATURE = 10 +HCI_LE_CODED_PHY_LE_SUPPORTED_FEATURE = 11 +HCI_LE_EXTENDED_ADVERTISING_LE_SUPPORTED_FEATURE = 12 +HCI_LE_PERIODIC_ADVERTISING_LE_SUPPORTED_FEATURE = 13 +HCI_CHANNEL_SELECTION_ALGORITHM_2_LE_SUPPORTED_FEATURE = 14 +HCI_LE_POWER_CLASS_1_LE_SUPPORTED_FEATURE = 15 +HCI_MINIMUM_NUMBER_OF_USED_CHANNELS_PROCEDURE_LE_SUPPORTED_FEATURE = 16 +HCI_CONNECTION_CTE_REQUEST_LE_SUPPORTED_FEATURE = 17 +HCI_CONNECTION_CTE_RESPONSE_LE_SUPPORTED_FEATURE = 18 +HCI_CONNECTIONLESS_CTE_TRANSMITTER_LE_SUPPORTED_FEATURE = 19 +HCI_CONNECTIONLESS_CTR_RECEIVER_LE_SUPPORTED_FEATURE = 20 +HCI_ANTENNA_SWITCHING_DURING_CTE_TRANSMISSION_LE_SUPPORTED_FEATURE = 21 +HCI_ANTENNA_SWITCHING_DURING_CTE_RECEPTION_LE_SUPPORTED_FEATURE = 22 +HCI_RECEIVING_CONSTANT_TONE_EXTENSIONS_LE_SUPPORTED_FEATURE = 23 +HCI_PERIODIC_ADVERTISING_SYNC_TRANSFER_SENDER_LE_SUPPORTED_FEATURE = 24 +HCI_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECIPIENT_LE_SUPPORTED_FEATURE = 25 +HCI_SLEEP_CLOCK_ACCURACY_UPDATES_LE_SUPPORTED_FEATURE = 26 +HCI_REMOTE_PUBLIC_KEY_VALIDATION_LE_SUPPORTED_FEATURE = 27 +HCI_CONNECTED_ISOCHRONOUS_STREAM_CENTRAL_LE_SUPPORTED_FEATURE = 28 +HCI_CONNECTED_ISOCHRONOUS_STREAM_PERIPHERAL_LE_SUPPORTED_FEATURE = 29 +HCI_ISOCHRONOUS_BROADCASTER_LE_SUPPORTED_FEATURE = 30 +HCI_SYNCHRONIZED_RECEIVER_LE_SUPPORTED_FEATURE = 31 +HCI_CONNECTED_ISOCHRONOUS_STREAM_LE_SUPPORTED_FEATURE = 32 +HCI_LE_POWER_CONTROL_REQUEST_LE_SUPPORTED_FEATURE = 33 +HCI_LE_POWER_CONTROL_REQUEST_DUP_LE_SUPPORTED_FEATURE = 34 +HCI_LE_PATH_LOSS_MONITORING_LE_SUPPORTED_FEATURE = 35 +HCI_PERIODIC_ADVERTISING_ADI_SUPPORT_LE_SUPPORTED_FEATURE = 36 +HCI_CONNECTION_SUBRATING_LE_SUPPORTED_FEATURE = 37 +HCI_CONNECTION_SUBRATING_HOST_SUPPORT_LE_SUPPORTED_FEATURE = 38 +HCI_CHANNEL_CLASSIFICATION_LE_SUPPORTED_FEATURE = 39 +HCI_ADVERTISING_CODING_SELECTION_LE_SUPPORTED_FEATURE = 40 +HCI_ADVERTISING_CODING_SELECTION_HOST_SUPPORT_LE_SUPPORTED_FEATURE = 41 +HCI_PERIODIC_ADVERTISING_WITH_RESPONSES_ADVERTISER_LE_SUPPORTED_FEATURE = 43 +HCI_PERIODIC_ADVERTISING_WITH_RESPONSES_SCANNER_LE_SUPPORTED_FEATURE = 44 HCI_LE_SUPPORTED_FEATURES_NAMES = { flag: feature_name for (feature_name, flag) in globals().items()