bumble 0.0.209__py3-none-any.whl → 0.0.211__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bumble/_version.py +2 -2
- bumble/a2dp.py +7 -7
- bumble/apps/auracast.py +37 -29
- bumble/apps/bench.py +13 -9
- bumble/apps/console.py +1 -1
- bumble/apps/lea_unicast/app.py +6 -2
- bumble/apps/pair.py +4 -3
- bumble/apps/player/player.py +3 -3
- bumble/apps/rfcomm_bridge.py +1 -1
- bumble/apps/speaker/speaker.py +4 -2
- bumble/att.py +2 -3
- bumble/avc.py +5 -5
- bumble/avdtp.py +9 -10
- bumble/avrcp.py +18 -19
- bumble/bridge.py +2 -2
- bumble/controller.py +6 -7
- bumble/core.py +56 -56
- bumble/device.py +172 -137
- bumble/drivers/__init__.py +2 -2
- bumble/gap.py +1 -1
- bumble/gatt_adapters.py +3 -3
- bumble/gatt_client.py +27 -21
- bumble/gatt_server.py +9 -10
- bumble/hci.py +48 -22
- bumble/hfp.py +3 -3
- bumble/hid.py +4 -3
- bumble/host.py +22 -16
- bumble/keys.py +3 -3
- bumble/l2cap.py +19 -17
- bumble/link.py +3 -4
- bumble/pairing.py +3 -3
- bumble/pandora/__init__.py +5 -5
- bumble/pandora/host.py +18 -12
- bumble/pandora/l2cap.py +2 -2
- bumble/pandora/security.py +15 -16
- bumble/profiles/aics.py +6 -6
- bumble/profiles/ancs.py +9 -10
- bumble/profiles/ascs.py +17 -10
- bumble/profiles/asha.py +5 -5
- bumble/profiles/bass.py +1 -1
- bumble/profiles/csip.py +10 -10
- bumble/profiles/gatt_service.py +12 -12
- bumble/profiles/hap.py +16 -16
- bumble/profiles/mcp.py +26 -24
- bumble/profiles/pacs.py +6 -6
- bumble/profiles/pbp.py +1 -1
- bumble/profiles/vcs.py +6 -4
- bumble/profiles/vocs.py +3 -3
- bumble/rfcomm.py +8 -8
- bumble/sdp.py +1 -1
- bumble/smp.py +36 -30
- bumble/transport/__init__.py +24 -19
- bumble/transport/android_emulator.py +8 -4
- bumble/transport/android_netsim.py +8 -5
- bumble/transport/common.py +5 -1
- bumble/transport/file.py +1 -1
- bumble/transport/hci_socket.py +1 -1
- bumble/transport/pty.py +1 -1
- bumble/transport/pyusb.py +3 -3
- bumble/transport/serial.py +1 -1
- bumble/transport/tcp_client.py +1 -1
- bumble/transport/tcp_server.py +1 -1
- bumble/transport/udp.py +1 -1
- bumble/transport/unix.py +1 -1
- bumble/transport/vhci.py +2 -2
- bumble/transport/ws_client.py +6 -1
- bumble/transport/ws_server.py +1 -1
- bumble/utils.py +89 -76
- {bumble-0.0.209.dist-info → bumble-0.0.211.dist-info}/METADATA +3 -2
- {bumble-0.0.209.dist-info → bumble-0.0.211.dist-info}/RECORD +74 -74
- {bumble-0.0.209.dist-info → bumble-0.0.211.dist-info}/WHEEL +1 -1
- {bumble-0.0.209.dist-info → bumble-0.0.211.dist-info}/entry_points.txt +0 -0
- {bumble-0.0.209.dist-info → bumble-0.0.211.dist-info/licenses}/LICENSE +0 -0
- {bumble-0.0.209.dist-info → bumble-0.0.211.dist-info}/top_level.txt +0 -0
bumble/controller.py
CHANGED
|
@@ -25,8 +25,7 @@ import random
|
|
|
25
25
|
import struct
|
|
26
26
|
from bumble.colors import color
|
|
27
27
|
from bumble.core import (
|
|
28
|
-
|
|
29
|
-
BT_BR_EDR_TRANSPORT,
|
|
28
|
+
PhysicalTransport,
|
|
30
29
|
)
|
|
31
30
|
|
|
32
31
|
from bumble.hci import (
|
|
@@ -392,7 +391,7 @@ class Controller:
|
|
|
392
391
|
role=Role.PERIPHERAL,
|
|
393
392
|
peer_address=peer_address,
|
|
394
393
|
link=self.link,
|
|
395
|
-
transport=
|
|
394
|
+
transport=PhysicalTransport.LE,
|
|
396
395
|
link_type=HCI_Connection_Complete_Event.ACL_LINK_TYPE,
|
|
397
396
|
)
|
|
398
397
|
self.peripheral_connections[peer_address] = connection
|
|
@@ -452,7 +451,7 @@ class Controller:
|
|
|
452
451
|
role=Role.CENTRAL,
|
|
453
452
|
peer_address=peer_address,
|
|
454
453
|
link=self.link,
|
|
455
|
-
transport=
|
|
454
|
+
transport=PhysicalTransport.LE,
|
|
456
455
|
link_type=HCI_Connection_Complete_Event.ACL_LINK_TYPE,
|
|
457
456
|
)
|
|
458
457
|
self.central_connections[peer_address] = connection
|
|
@@ -530,7 +529,7 @@ class Controller:
|
|
|
530
529
|
|
|
531
530
|
def on_link_acl_data(self, sender_address, transport, data):
|
|
532
531
|
# Look for the connection to which this data belongs
|
|
533
|
-
if transport ==
|
|
532
|
+
if transport == PhysicalTransport.LE:
|
|
534
533
|
connection = self.find_le_connection_by_address(sender_address)
|
|
535
534
|
else:
|
|
536
535
|
connection = self.find_classic_connection_by_address(sender_address)
|
|
@@ -695,7 +694,7 @@ class Controller:
|
|
|
695
694
|
role=Role.CENTRAL,
|
|
696
695
|
peer_address=peer_address,
|
|
697
696
|
link=self.link,
|
|
698
|
-
transport=
|
|
697
|
+
transport=PhysicalTransport.BR_EDR,
|
|
699
698
|
link_type=HCI_Connection_Complete_Event.ACL_LINK_TYPE,
|
|
700
699
|
)
|
|
701
700
|
self.classic_connections[peer_address] = connection
|
|
@@ -763,7 +762,7 @@ class Controller:
|
|
|
763
762
|
role=Role.CENTRAL,
|
|
764
763
|
peer_address=peer_address,
|
|
765
764
|
link=self.link,
|
|
766
|
-
transport=
|
|
765
|
+
transport=PhysicalTransport.BR_EDR,
|
|
767
766
|
link_type=link_type,
|
|
768
767
|
)
|
|
769
768
|
self.classic_connections[peer_address] = connection
|
bumble/core.py
CHANGED
|
@@ -23,7 +23,7 @@ from typing import cast, overload, Literal, Union, Optional
|
|
|
23
23
|
from typing_extensions import Self
|
|
24
24
|
|
|
25
25
|
from bumble.company_ids import COMPANY_IDENTIFIERS
|
|
26
|
-
from bumble
|
|
26
|
+
from bumble import utils
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
# -----------------------------------------------------------------------------
|
|
@@ -730,7 +730,7 @@ class DeviceClass:
|
|
|
730
730
|
# Appearance
|
|
731
731
|
# -----------------------------------------------------------------------------
|
|
732
732
|
class Appearance:
|
|
733
|
-
class Category(OpenIntEnum):
|
|
733
|
+
class Category(utils.OpenIntEnum):
|
|
734
734
|
UNKNOWN = 0x0000
|
|
735
735
|
PHONE = 0x0001
|
|
736
736
|
COMPUTER = 0x0002
|
|
@@ -784,13 +784,13 @@ class Appearance:
|
|
|
784
784
|
SPIROMETER = 0x0037
|
|
785
785
|
OUTDOOR_SPORTS_ACTIVITY = 0x0051
|
|
786
786
|
|
|
787
|
-
class UnknownSubcategory(OpenIntEnum):
|
|
787
|
+
class UnknownSubcategory(utils.OpenIntEnum):
|
|
788
788
|
GENERIC_UNKNOWN = 0x00
|
|
789
789
|
|
|
790
|
-
class PhoneSubcategory(OpenIntEnum):
|
|
790
|
+
class PhoneSubcategory(utils.OpenIntEnum):
|
|
791
791
|
GENERIC_PHONE = 0x00
|
|
792
792
|
|
|
793
|
-
class ComputerSubcategory(OpenIntEnum):
|
|
793
|
+
class ComputerSubcategory(utils.OpenIntEnum):
|
|
794
794
|
GENERIC_COMPUTER = 0x00
|
|
795
795
|
DESKTOP_WORKSTATION = 0x01
|
|
796
796
|
SERVER_CLASS_COMPUTER = 0x02
|
|
@@ -808,49 +808,49 @@ class Appearance:
|
|
|
808
808
|
MINI_PC = 0x0E
|
|
809
809
|
STICK_PC = 0x0F
|
|
810
810
|
|
|
811
|
-
class WatchSubcategory(OpenIntEnum):
|
|
811
|
+
class WatchSubcategory(utils.OpenIntEnum):
|
|
812
812
|
GENENERIC_WATCH = 0x00
|
|
813
813
|
SPORTS_WATCH = 0x01
|
|
814
814
|
SMARTWATCH = 0x02
|
|
815
815
|
|
|
816
|
-
class ClockSubcategory(OpenIntEnum):
|
|
816
|
+
class ClockSubcategory(utils.OpenIntEnum):
|
|
817
817
|
GENERIC_CLOCK = 0x00
|
|
818
818
|
|
|
819
|
-
class DisplaySubcategory(OpenIntEnum):
|
|
819
|
+
class DisplaySubcategory(utils.OpenIntEnum):
|
|
820
820
|
GENERIC_DISPLAY = 0x00
|
|
821
821
|
|
|
822
|
-
class RemoteControlSubcategory(OpenIntEnum):
|
|
822
|
+
class RemoteControlSubcategory(utils.OpenIntEnum):
|
|
823
823
|
GENERIC_REMOTE_CONTROL = 0x00
|
|
824
824
|
|
|
825
|
-
class EyeglassesSubcategory(OpenIntEnum):
|
|
825
|
+
class EyeglassesSubcategory(utils.OpenIntEnum):
|
|
826
826
|
GENERIC_EYEGLASSES = 0x00
|
|
827
827
|
|
|
828
|
-
class TagSubcategory(OpenIntEnum):
|
|
828
|
+
class TagSubcategory(utils.OpenIntEnum):
|
|
829
829
|
GENERIC_TAG = 0x00
|
|
830
830
|
|
|
831
|
-
class KeyringSubcategory(OpenIntEnum):
|
|
831
|
+
class KeyringSubcategory(utils.OpenIntEnum):
|
|
832
832
|
GENERIC_KEYRING = 0x00
|
|
833
833
|
|
|
834
|
-
class MediaPlayerSubcategory(OpenIntEnum):
|
|
834
|
+
class MediaPlayerSubcategory(utils.OpenIntEnum):
|
|
835
835
|
GENERIC_MEDIA_PLAYER = 0x00
|
|
836
836
|
|
|
837
|
-
class BarcodeScannerSubcategory(OpenIntEnum):
|
|
837
|
+
class BarcodeScannerSubcategory(utils.OpenIntEnum):
|
|
838
838
|
GENERIC_BARCODE_SCANNER = 0x00
|
|
839
839
|
|
|
840
|
-
class ThermometerSubcategory(OpenIntEnum):
|
|
840
|
+
class ThermometerSubcategory(utils.OpenIntEnum):
|
|
841
841
|
GENERIC_THERMOMETER = 0x00
|
|
842
842
|
EAR_THERMOMETER = 0x01
|
|
843
843
|
|
|
844
|
-
class HeartRateSensorSubcategory(OpenIntEnum):
|
|
844
|
+
class HeartRateSensorSubcategory(utils.OpenIntEnum):
|
|
845
845
|
GENERIC_HEART_RATE_SENSOR = 0x00
|
|
846
846
|
HEART_RATE_BELT = 0x01
|
|
847
847
|
|
|
848
|
-
class BloodPressureSubcategory(OpenIntEnum):
|
|
848
|
+
class BloodPressureSubcategory(utils.OpenIntEnum):
|
|
849
849
|
GENERIC_BLOOD_PRESSURE = 0x00
|
|
850
850
|
ARM_BLOOD_PRESSURE = 0x01
|
|
851
851
|
WRIST_BLOOD_PRESSURE = 0x02
|
|
852
852
|
|
|
853
|
-
class HumanInterfaceDeviceSubcategory(OpenIntEnum):
|
|
853
|
+
class HumanInterfaceDeviceSubcategory(utils.OpenIntEnum):
|
|
854
854
|
GENERIC_HUMAN_INTERFACE_DEVICE = 0x00
|
|
855
855
|
KEYBOARD = 0x01
|
|
856
856
|
MOUSE = 0x02
|
|
@@ -863,16 +863,16 @@ class Appearance:
|
|
|
863
863
|
TOUCHPAD = 0x09
|
|
864
864
|
PRESENTATION_REMOTE = 0x0A
|
|
865
865
|
|
|
866
|
-
class GlucoseMeterSubcategory(OpenIntEnum):
|
|
866
|
+
class GlucoseMeterSubcategory(utils.OpenIntEnum):
|
|
867
867
|
GENERIC_GLUCOSE_METER = 0x00
|
|
868
868
|
|
|
869
|
-
class RunningWalkingSensorSubcategory(OpenIntEnum):
|
|
869
|
+
class RunningWalkingSensorSubcategory(utils.OpenIntEnum):
|
|
870
870
|
GENERIC_RUNNING_WALKING_SENSOR = 0x00
|
|
871
871
|
IN_SHOE_RUNNING_WALKING_SENSOR = 0x01
|
|
872
872
|
ON_SHOW_RUNNING_WALKING_SENSOR = 0x02
|
|
873
873
|
ON_HIP_RUNNING_WALKING_SENSOR = 0x03
|
|
874
874
|
|
|
875
|
-
class CyclingSubcategory(OpenIntEnum):
|
|
875
|
+
class CyclingSubcategory(utils.OpenIntEnum):
|
|
876
876
|
GENERIC_CYCLING = 0x00
|
|
877
877
|
CYCLING_COMPUTER = 0x01
|
|
878
878
|
SPEED_SENSOR = 0x02
|
|
@@ -880,7 +880,7 @@ class Appearance:
|
|
|
880
880
|
POWER_SENSOR = 0x04
|
|
881
881
|
SPEED_AND_CADENCE_SENSOR = 0x05
|
|
882
882
|
|
|
883
|
-
class ControlDeviceSubcategory(OpenIntEnum):
|
|
883
|
+
class ControlDeviceSubcategory(utils.OpenIntEnum):
|
|
884
884
|
GENERIC_CONTROL_DEVICE = 0x00
|
|
885
885
|
SWITCH = 0x01
|
|
886
886
|
MULTI_SWITCH = 0x02
|
|
@@ -895,13 +895,13 @@ class Appearance:
|
|
|
895
895
|
ENERGY_HARVESTING_SWITCH = 0x0B
|
|
896
896
|
PUSH_BUTTON = 0x0C
|
|
897
897
|
|
|
898
|
-
class NetworkDeviceSubcategory(OpenIntEnum):
|
|
898
|
+
class NetworkDeviceSubcategory(utils.OpenIntEnum):
|
|
899
899
|
GENERIC_NETWORK_DEVICE = 0x00
|
|
900
900
|
ACCESS_POINT = 0x01
|
|
901
901
|
MESH_DEVICE = 0x02
|
|
902
902
|
MESH_NETWORK_PROXY = 0x03
|
|
903
903
|
|
|
904
|
-
class SensorSubcategory(OpenIntEnum):
|
|
904
|
+
class SensorSubcategory(utils.OpenIntEnum):
|
|
905
905
|
GENERIC_SENSOR = 0x00
|
|
906
906
|
MOTION_SENSOR = 0x01
|
|
907
907
|
AIR_QUALITY_SENSOR = 0x02
|
|
@@ -929,7 +929,7 @@ class Appearance:
|
|
|
929
929
|
FLAME_DETECTOR = 0x18
|
|
930
930
|
VEHICLE_TIRE_PRESSURE_SENSOR = 0x19
|
|
931
931
|
|
|
932
|
-
class LightFixturesSubcategory(OpenIntEnum):
|
|
932
|
+
class LightFixturesSubcategory(utils.OpenIntEnum):
|
|
933
933
|
GENERIC_LIGHT_FIXTURES = 0x00
|
|
934
934
|
WALL_LIGHT = 0x01
|
|
935
935
|
CEILING_LIGHT = 0x02
|
|
@@ -957,7 +957,7 @@ class Appearance:
|
|
|
957
957
|
LOW_BAY_LIGHT = 0x18
|
|
958
958
|
HIGH_BAY_LIGHT = 0x19
|
|
959
959
|
|
|
960
|
-
class FanSubcategory(OpenIntEnum):
|
|
960
|
+
class FanSubcategory(utils.OpenIntEnum):
|
|
961
961
|
GENERIC_FAN = 0x00
|
|
962
962
|
CEILING_FAN = 0x01
|
|
963
963
|
AXIAL_FAN = 0x02
|
|
@@ -966,7 +966,7 @@ class Appearance:
|
|
|
966
966
|
DESK_FAN = 0x05
|
|
967
967
|
WALL_FAN = 0x06
|
|
968
968
|
|
|
969
|
-
class HvacSubcategory(OpenIntEnum):
|
|
969
|
+
class HvacSubcategory(utils.OpenIntEnum):
|
|
970
970
|
GENERIC_HVAC = 0x00
|
|
971
971
|
THERMOSTAT = 0x01
|
|
972
972
|
HUMIDIFIER = 0x02
|
|
@@ -980,13 +980,13 @@ class Appearance:
|
|
|
980
980
|
FAN_HEATER = 0x0A
|
|
981
981
|
AIR_CURTAIN = 0x0B
|
|
982
982
|
|
|
983
|
-
class AirConditioningSubcategory(OpenIntEnum):
|
|
983
|
+
class AirConditioningSubcategory(utils.OpenIntEnum):
|
|
984
984
|
GENERIC_AIR_CONDITIONING = 0x00
|
|
985
985
|
|
|
986
|
-
class HumidifierSubcategory(OpenIntEnum):
|
|
986
|
+
class HumidifierSubcategory(utils.OpenIntEnum):
|
|
987
987
|
GENERIC_HUMIDIFIER = 0x00
|
|
988
988
|
|
|
989
|
-
class HeatingSubcategory(OpenIntEnum):
|
|
989
|
+
class HeatingSubcategory(utils.OpenIntEnum):
|
|
990
990
|
GENERIC_HEATING = 0x00
|
|
991
991
|
RADIATOR = 0x01
|
|
992
992
|
BOILER = 0x02
|
|
@@ -996,7 +996,7 @@ class Appearance:
|
|
|
996
996
|
FAN_HEATER = 0x06
|
|
997
997
|
AIR_CURTAIN = 0x07
|
|
998
998
|
|
|
999
|
-
class AccessControlSubcategory(OpenIntEnum):
|
|
999
|
+
class AccessControlSubcategory(utils.OpenIntEnum):
|
|
1000
1000
|
GENERIC_ACCESS_CONTROL = 0x00
|
|
1001
1001
|
ACCESS_DOOR = 0x01
|
|
1002
1002
|
GARAGE_DOOR = 0x02
|
|
@@ -1008,7 +1008,7 @@ class Appearance:
|
|
|
1008
1008
|
DOOR_LOCK = 0x08
|
|
1009
1009
|
LOCKER = 0x09
|
|
1010
1010
|
|
|
1011
|
-
class MotorizedDeviceSubcategory(OpenIntEnum):
|
|
1011
|
+
class MotorizedDeviceSubcategory(utils.OpenIntEnum):
|
|
1012
1012
|
GENERIC_MOTORIZED_DEVICE = 0x00
|
|
1013
1013
|
MOTORIZED_GATE = 0x01
|
|
1014
1014
|
AWNING = 0x02
|
|
@@ -1016,7 +1016,7 @@ class Appearance:
|
|
|
1016
1016
|
CURTAINS = 0x04
|
|
1017
1017
|
SCREEN = 0x05
|
|
1018
1018
|
|
|
1019
|
-
class PowerDeviceSubcategory(OpenIntEnum):
|
|
1019
|
+
class PowerDeviceSubcategory(utils.OpenIntEnum):
|
|
1020
1020
|
GENERIC_POWER_DEVICE = 0x00
|
|
1021
1021
|
POWER_OUTLET = 0x01
|
|
1022
1022
|
POWER_STRIP = 0x02
|
|
@@ -1028,7 +1028,7 @@ class Appearance:
|
|
|
1028
1028
|
CHARGE_CASE = 0x08
|
|
1029
1029
|
POWER_BANK = 0x09
|
|
1030
1030
|
|
|
1031
|
-
class LightSourceSubcategory(OpenIntEnum):
|
|
1031
|
+
class LightSourceSubcategory(utils.OpenIntEnum):
|
|
1032
1032
|
GENERIC_LIGHT_SOURCE = 0x00
|
|
1033
1033
|
INCANDESCENT_LIGHT_BULB = 0x01
|
|
1034
1034
|
LED_LAMP = 0x02
|
|
@@ -1039,7 +1039,7 @@ class Appearance:
|
|
|
1039
1039
|
LOW_VOLTAGE_HALOGEN = 0x07
|
|
1040
1040
|
ORGANIC_LIGHT_EMITTING_DIODE = 0x08
|
|
1041
1041
|
|
|
1042
|
-
class WindowCoveringSubcategory(OpenIntEnum):
|
|
1042
|
+
class WindowCoveringSubcategory(utils.OpenIntEnum):
|
|
1043
1043
|
GENERIC_WINDOW_COVERING = 0x00
|
|
1044
1044
|
WINDOW_SHADES = 0x01
|
|
1045
1045
|
WINDOW_BLINDS = 0x02
|
|
@@ -1048,7 +1048,7 @@ class Appearance:
|
|
|
1048
1048
|
EXTERIOR_SHUTTER = 0x05
|
|
1049
1049
|
EXTERIOR_SCREEN = 0x06
|
|
1050
1050
|
|
|
1051
|
-
class AudioSinkSubcategory(OpenIntEnum):
|
|
1051
|
+
class AudioSinkSubcategory(utils.OpenIntEnum):
|
|
1052
1052
|
GENERIC_AUDIO_SINK = 0x00
|
|
1053
1053
|
STANDALONE_SPEAKER = 0x01
|
|
1054
1054
|
SOUNDBAR = 0x02
|
|
@@ -1056,7 +1056,7 @@ class Appearance:
|
|
|
1056
1056
|
STANDMOUNTED_SPEAKER = 0x04
|
|
1057
1057
|
SPEAKERPHONE = 0x05
|
|
1058
1058
|
|
|
1059
|
-
class AudioSourceSubcategory(OpenIntEnum):
|
|
1059
|
+
class AudioSourceSubcategory(utils.OpenIntEnum):
|
|
1060
1060
|
GENERIC_AUDIO_SOURCE = 0x00
|
|
1061
1061
|
MICROPHONE = 0x01
|
|
1062
1062
|
ALARM = 0x02
|
|
@@ -1068,7 +1068,7 @@ class Appearance:
|
|
|
1068
1068
|
BROADCASTING_ROOM = 0x08
|
|
1069
1069
|
AUDITORIUM = 0x09
|
|
1070
1070
|
|
|
1071
|
-
class MotorizedVehicleSubcategory(OpenIntEnum):
|
|
1071
|
+
class MotorizedVehicleSubcategory(utils.OpenIntEnum):
|
|
1072
1072
|
GENERIC_MOTORIZED_VEHICLE = 0x00
|
|
1073
1073
|
CAR = 0x01
|
|
1074
1074
|
LARGE_GOODS_VEHICLE = 0x02
|
|
@@ -1086,7 +1086,7 @@ class Appearance:
|
|
|
1086
1086
|
CAMPER_CARAVAN = 0x0E
|
|
1087
1087
|
RECREATIONAL_VEHICLE_MOTOR_HOME = 0x0F
|
|
1088
1088
|
|
|
1089
|
-
class DomesticApplianceSubcategory(OpenIntEnum):
|
|
1089
|
+
class DomesticApplianceSubcategory(utils.OpenIntEnum):
|
|
1090
1090
|
GENERIC_DOMESTIC_APPLIANCE = 0x00
|
|
1091
1091
|
REFRIGERATOR = 0x01
|
|
1092
1092
|
FREEZER = 0x02
|
|
@@ -1104,21 +1104,21 @@ class Appearance:
|
|
|
1104
1104
|
RICE_COOKER = 0x0E
|
|
1105
1105
|
CLOTHES_STEAMER = 0x0F
|
|
1106
1106
|
|
|
1107
|
-
class WearableAudioDeviceSubcategory(OpenIntEnum):
|
|
1107
|
+
class WearableAudioDeviceSubcategory(utils.OpenIntEnum):
|
|
1108
1108
|
GENERIC_WEARABLE_AUDIO_DEVICE = 0x00
|
|
1109
1109
|
EARBUD = 0x01
|
|
1110
1110
|
HEADSET = 0x02
|
|
1111
1111
|
HEADPHONES = 0x03
|
|
1112
1112
|
NECK_BAND = 0x04
|
|
1113
1113
|
|
|
1114
|
-
class AircraftSubcategory(OpenIntEnum):
|
|
1114
|
+
class AircraftSubcategory(utils.OpenIntEnum):
|
|
1115
1115
|
GENERIC_AIRCRAFT = 0x00
|
|
1116
1116
|
LIGHT_AIRCRAFT = 0x01
|
|
1117
1117
|
MICROLIGHT = 0x02
|
|
1118
1118
|
PARAGLIDER = 0x03
|
|
1119
1119
|
LARGE_PASSENGER_AIRCRAFT = 0x04
|
|
1120
1120
|
|
|
1121
|
-
class AvEquipmentSubcategory(OpenIntEnum):
|
|
1121
|
+
class AvEquipmentSubcategory(utils.OpenIntEnum):
|
|
1122
1122
|
GENERIC_AV_EQUIPMENT = 0x00
|
|
1123
1123
|
AMPLIFIER = 0x01
|
|
1124
1124
|
RECEIVER = 0x02
|
|
@@ -1131,65 +1131,65 @@ class Appearance:
|
|
|
1131
1131
|
OPTICAL_DISC_PLAYER = 0x09
|
|
1132
1132
|
SET_TOP_BOX = 0x0A
|
|
1133
1133
|
|
|
1134
|
-
class DisplayEquipmentSubcategory(OpenIntEnum):
|
|
1134
|
+
class DisplayEquipmentSubcategory(utils.OpenIntEnum):
|
|
1135
1135
|
GENERIC_DISPLAY_EQUIPMENT = 0x00
|
|
1136
1136
|
TELEVISION = 0x01
|
|
1137
1137
|
MONITOR = 0x02
|
|
1138
1138
|
PROJECTOR = 0x03
|
|
1139
1139
|
|
|
1140
|
-
class HearingAidSubcategory(OpenIntEnum):
|
|
1140
|
+
class HearingAidSubcategory(utils.OpenIntEnum):
|
|
1141
1141
|
GENERIC_HEARING_AID = 0x00
|
|
1142
1142
|
IN_EAR_HEARING_AID = 0x01
|
|
1143
1143
|
BEHIND_EAR_HEARING_AID = 0x02
|
|
1144
1144
|
COCHLEAR_IMPLANT = 0x03
|
|
1145
1145
|
|
|
1146
|
-
class GamingSubcategory(OpenIntEnum):
|
|
1146
|
+
class GamingSubcategory(utils.OpenIntEnum):
|
|
1147
1147
|
GENERIC_GAMING = 0x00
|
|
1148
1148
|
HOME_VIDEO_GAME_CONSOLE = 0x01
|
|
1149
1149
|
PORTABLE_HANDHELD_CONSOLE = 0x02
|
|
1150
1150
|
|
|
1151
|
-
class SignageSubcategory(OpenIntEnum):
|
|
1151
|
+
class SignageSubcategory(utils.OpenIntEnum):
|
|
1152
1152
|
GENERIC_SIGNAGE = 0x00
|
|
1153
1153
|
DIGITAL_SIGNAGE = 0x01
|
|
1154
1154
|
ELECTRONIC_LABEL = 0x02
|
|
1155
1155
|
|
|
1156
|
-
class PulseOximeterSubcategory(OpenIntEnum):
|
|
1156
|
+
class PulseOximeterSubcategory(utils.OpenIntEnum):
|
|
1157
1157
|
GENERIC_PULSE_OXIMETER = 0x00
|
|
1158
1158
|
FINGERTIP_PULSE_OXIMETER = 0x01
|
|
1159
1159
|
WRIST_WORN_PULSE_OXIMETER = 0x02
|
|
1160
1160
|
|
|
1161
|
-
class WeightScaleSubcategory(OpenIntEnum):
|
|
1161
|
+
class WeightScaleSubcategory(utils.OpenIntEnum):
|
|
1162
1162
|
GENERIC_WEIGHT_SCALE = 0x00
|
|
1163
1163
|
|
|
1164
|
-
class PersonalMobilityDeviceSubcategory(OpenIntEnum):
|
|
1164
|
+
class PersonalMobilityDeviceSubcategory(utils.OpenIntEnum):
|
|
1165
1165
|
GENERIC_PERSONAL_MOBILITY_DEVICE = 0x00
|
|
1166
1166
|
POWERED_WHEELCHAIR = 0x01
|
|
1167
1167
|
MOBILITY_SCOOTER = 0x02
|
|
1168
1168
|
|
|
1169
|
-
class ContinuousGlucoseMonitorSubcategory(OpenIntEnum):
|
|
1169
|
+
class ContinuousGlucoseMonitorSubcategory(utils.OpenIntEnum):
|
|
1170
1170
|
GENERIC_CONTINUOUS_GLUCOSE_MONITOR = 0x00
|
|
1171
1171
|
|
|
1172
|
-
class InsulinPumpSubcategory(OpenIntEnum):
|
|
1172
|
+
class InsulinPumpSubcategory(utils.OpenIntEnum):
|
|
1173
1173
|
GENERIC_INSULIN_PUMP = 0x00
|
|
1174
1174
|
INSULIN_PUMP_DURABLE_PUMP = 0x01
|
|
1175
1175
|
INSULIN_PUMP_PATCH_PUMP = 0x02
|
|
1176
1176
|
INSULIN_PEN = 0x03
|
|
1177
1177
|
|
|
1178
|
-
class MedicationDeliverySubcategory(OpenIntEnum):
|
|
1178
|
+
class MedicationDeliverySubcategory(utils.OpenIntEnum):
|
|
1179
1179
|
GENERIC_MEDICATION_DELIVERY = 0x00
|
|
1180
1180
|
|
|
1181
|
-
class SpirometerSubcategory(OpenIntEnum):
|
|
1181
|
+
class SpirometerSubcategory(utils.OpenIntEnum):
|
|
1182
1182
|
GENERIC_SPIROMETER = 0x00
|
|
1183
1183
|
HANDHELD_SPIROMETER = 0x01
|
|
1184
1184
|
|
|
1185
|
-
class OutdoorSportsActivitySubcategory(OpenIntEnum):
|
|
1185
|
+
class OutdoorSportsActivitySubcategory(utils.OpenIntEnum):
|
|
1186
1186
|
GENERIC_OUTDOOR_SPORTS_ACTIVITY = 0x00
|
|
1187
1187
|
LOCATION_DISPLAY = 0x01
|
|
1188
1188
|
LOCATION_AND_NAVIGATION_DISPLAY = 0x02
|
|
1189
1189
|
LOCATION_POD = 0x03
|
|
1190
1190
|
LOCATION_AND_NAVIGATION_POD = 0x04
|
|
1191
1191
|
|
|
1192
|
-
class _OpenSubcategory(OpenIntEnum):
|
|
1192
|
+
class _OpenSubcategory(utils.OpenIntEnum):
|
|
1193
1193
|
GENERIC = 0x00
|
|
1194
1194
|
|
|
1195
1195
|
SUBCATEGORY_CLASSES = {
|
|
@@ -1296,7 +1296,7 @@ class AdvertisingData:
|
|
|
1296
1296
|
# fmt: off
|
|
1297
1297
|
# pylint: disable=line-too-long
|
|
1298
1298
|
|
|
1299
|
-
class Type(OpenIntEnum):
|
|
1299
|
+
class Type(utils.OpenIntEnum):
|
|
1300
1300
|
FLAGS = 0x01
|
|
1301
1301
|
INCOMPLETE_LIST_OF_16_BIT_SERVICE_CLASS_UUIDS = 0x02
|
|
1302
1302
|
COMPLETE_LIST_OF_16_BIT_SERVICE_CLASS_UUIDS = 0x03
|