forked from auracaster/bumble_mirror
LE read remote features
This commit is contained in:
@@ -1360,55 +1360,51 @@ HCI_SUPPORTED_COMMANDS_FLAGS = (
|
||||
|
||||
# LE Supported Features
|
||||
# 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()
|
||||
if feature_name.startswith('HCI_') and feature_name.endswith('_LE_SUPPORTED_FEATURE')
|
||||
}
|
||||
class LeFeatureMask(enum.IntFlag):
|
||||
LE_ENCRYPTION = 1 << 0
|
||||
CONNECTION_PARAMETERS_REQUEST_PROCEDURE = 1 << 1
|
||||
EXTENDED_REJECT_INDICATION = 1 << 2
|
||||
PERIPHERAL_INITIATED_FEATURE_EXCHANGE = 1 << 3
|
||||
LE_PING = 1 << 4
|
||||
LE_DATA_PACKET_LENGTH_EXTENSION = 1 << 5
|
||||
LL_PRIVACY = 1 << 6
|
||||
EXTENDED_SCANNER_FILTER_POLICIES = 1 << 7
|
||||
LE_2M_PHY = 1 << 8
|
||||
STABLE_MODULATION_INDEX_TRANSMITTER = 1 << 9
|
||||
STABLE_MODULATION_INDEX_RECEIVER = 1 << 10
|
||||
LE_CODED_PHY = 1 << 11
|
||||
LE_EXTENDED_ADVERTISING = 1 << 12
|
||||
LE_PERIODIC_ADVERTISING = 1 << 13
|
||||
CHANNEL_SELECTION_ALGORITHM_2 = 1 << 14
|
||||
LE_POWER_CLASS_1 = 1 << 15
|
||||
MINIMUM_NUMBER_OF_USED_CHANNELS_PROCEDURE = 1 << 16
|
||||
CONNECTION_CTE_REQUEST = 1 << 17
|
||||
CONNECTION_CTE_RESPONSE = 1 << 18
|
||||
CONNECTIONLESS_CTE_TRANSMITTER = 1 << 19
|
||||
CONNECTIONLESS_CTR_RECEIVER = 1 << 20
|
||||
ANTENNA_SWITCHING_DURING_CTE_TRANSMISSION = 1 << 21
|
||||
ANTENNA_SWITCHING_DURING_CTE_RECEPTION = 1 << 22
|
||||
RECEIVING_CONSTANT_TONE_EXTENSIONS = 1 << 23
|
||||
PERIODIC_ADVERTISING_SYNC_TRANSFER_SENDER = 1 << 24
|
||||
PERIODIC_ADVERTISING_SYNC_TRANSFER_RECIPIENT = 1 << 25
|
||||
SLEEP_CLOCK_ACCURACY_UPDATES = 1 << 26
|
||||
REMOTE_PUBLIC_KEY_VALIDATION = 1 << 27
|
||||
CONNECTED_ISOCHRONOUS_STREAM_CENTRAL = 1 << 28
|
||||
CONNECTED_ISOCHRONOUS_STREAM_PERIPHERAL = 1 << 29
|
||||
ISOCHRONOUS_BROADCASTER = 1 << 30
|
||||
SYNCHRONIZED_RECEIVER = 1 << 31
|
||||
CONNECTED_ISOCHRONOUS_STREAM = 1 << 32
|
||||
LE_POWER_CONTROL_REQUEST = 1 << 33
|
||||
LE_POWER_CONTROL_REQUEST_DUP = 1 << 34
|
||||
LE_PATH_LOSS_MONITORING = 1 << 35
|
||||
PERIODIC_ADVERTISING_ADI_SUPPORT = 1 << 36
|
||||
CONNECTION_SUBRATING = 1 << 37
|
||||
CONNECTION_SUBRATING_HOST_SUPPORT = 1 << 38
|
||||
CHANNEL_CLASSIFICATION = 1 << 39
|
||||
ADVERTISING_CODING_SELECTION = 1 << 40
|
||||
ADVERTISING_CODING_SELECTION_HOST_SUPPORT = 1 << 41
|
||||
PERIODIC_ADVERTISING_WITH_RESPONSES_ADVERTISER = 1 << 43
|
||||
PERIODIC_ADVERTISING_WITH_RESPONSES_SCANNER = 1 << 44
|
||||
|
||||
|
||||
# fmt: on
|
||||
|
||||
Reference in New Issue
Block a user