diff --git a/bumble/core.py b/bumble/core.py index 1cc10ec..2700bb0 100644 --- a/bumble/core.py +++ b/bumble/core.py @@ -562,11 +562,82 @@ class DeviceClass: PERIPHERAL_HANDHELD_GESTURAL_INPUT_DEVICE_MINOR_DEVICE_CLASS: 'Handheld gestural input device' } + WEARABLE_UNCATEGORIZED_MINOR_DEVICE_CLASS = 0x00 + WEARABLE_WRISTWATCH_MINOR_DEVICE_CLASS = 0x01 + WEARABLE_PAGER_MINOR_DEVICE_CLASS = 0x02 + WEARABLE_JACKET_MINOR_DEVICE_CLASS = 0x03 + WEARABLE_HELMET_MINOR_DEVICE_CLASS = 0x04 + WEARABLE_GLASSES_MINOR_DEVICE_CLASS = 0x05 + + WEARABLE_MINOR_DEVICE_CLASS_NAMES = { + WEARABLE_UNCATEGORIZED_MINOR_DEVICE_CLASS: 'Uncategorized', + WEARABLE_WRISTWATCH_MINOR_DEVICE_CLASS: 'Wristwatch', + WEARABLE_PAGER_MINOR_DEVICE_CLASS: 'Pager', + WEARABLE_JACKET_MINOR_DEVICE_CLASS: 'Jacket', + WEARABLE_HELMET_MINOR_DEVICE_CLASS: 'Helmet', + WEARABLE_GLASSES_MINOR_DEVICE_CLASS: 'Glasses', + } + + TOY_UNCATEGORIZED_MINOR_DEVICE_CLASS = 0x00 + TOY_ROBOT_MINOR_DEVICE_CLASS = 0x01 + TOY_VEHICLE_MINOR_DEVICE_CLASS = 0x02 + TOY_DOLL_ACTION_FIGURE_MINOR_DEVICE_CLASS = 0x03 + TOY_CONTROLLER_MINOR_DEVICE_CLASS = 0x04 + TOY_GAME_MINOR_DEVICE_CLASS = 0x05 + + TOY_MINOR_DEVICE_CLASS_NAMES = { + TOY_UNCATEGORIZED_MINOR_DEVICE_CLASS: 'Uncategorized', + TOY_ROBOT_MINOR_DEVICE_CLASS: 'Robot', + TOY_VEHICLE_MINOR_DEVICE_CLASS: 'Vehicle', + TOY_DOLL_ACTION_FIGURE_MINOR_DEVICE_CLASS: 'Doll/Action figure', + TOY_CONTROLLER_MINOR_DEVICE_CLASS: 'Controller', + TOY_GAME_MINOR_DEVICE_CLASS: 'Game', + } + + HEALTH_UNDEFINED_MINOR_DEVICE_CLASS = 0x00 + HEALTH_BLOOD_PRESSURE_MONITOR_MINOR_DEVICE_CLASS = 0x01 + HEALTH_THERMOMETER_MINOR_DEVICE_CLASS = 0x02 + HEALTH_WEIGHING_SCALE_MINOR_DEVICE_CLASS = 0x03 + HEALTH_GLUCOSE_METER_MINOR_DEVICE_CLASS = 0x04 + HEALTH_PULSE_OXIMETER_MINOR_DEVICE_CLASS = 0x05 + HEALTH_HEART_PULSE_RATE_MONITOR_MINOR_DEVICE_CLASS = 0x06 + HEALTH_HEALTH_DATA_DISPLAY_MINOR_DEVICE_CLASS = 0x07 + HEALTH_STEP_COUNTER_MINOR_DEVICE_CLASS = 0x08 + HEALTH_BODY_COMPOSITION_ANALYZER_MINOR_DEVICE_CLASS = 0x09 + HEALTH_PEAK_FLOW_MONITOR_MINOR_DEVICE_CLASS = 0x0A + HEALTH_MEDICATION_MONITOR_MINOR_DEVICE_CLASS = 0x0B + HEALTH_KNEE_PROSTHESIS_MINOR_DEVICE_CLASS = 0x0C + HEALTH_ANKLE_PROSTHESIS_MINOR_DEVICE_CLASS = 0x0D + HEALTH_GENERIC_HEALTH_MANAGER_MINOR_DEVICE_CLASS = 0x0E + HEALTH_PERSONAL_MOBILITY_DEVICE_MINOR_DEVICE_CLASS = 0x0F + + HEALTH_MINOR_DEVICE_CLASS_NAMES = { + HEALTH_UNDEFINED_MINOR_DEVICE_CLASS: 'Undefined', + HEALTH_BLOOD_PRESSURE_MONITOR_MINOR_DEVICE_CLASS: 'Blood Pressure Monitor', + HEALTH_THERMOMETER_MINOR_DEVICE_CLASS: 'Thermometer', + HEALTH_WEIGHING_SCALE_MINOR_DEVICE_CLASS: 'Weighing Scale', + HEALTH_GLUCOSE_METER_MINOR_DEVICE_CLASS: 'Glucose Meter', + HEALTH_PULSE_OXIMETER_MINOR_DEVICE_CLASS: 'Pulse Oximeter', + HEALTH_HEART_PULSE_RATE_MONITOR_MINOR_DEVICE_CLASS: 'Heart/Pulse Rate Monitor', + HEALTH_HEALTH_DATA_DISPLAY_MINOR_DEVICE_CLASS: 'Health Data Display', + HEALTH_STEP_COUNTER_MINOR_DEVICE_CLASS: 'Step Counter', + HEALTH_BODY_COMPOSITION_ANALYZER_MINOR_DEVICE_CLASS: 'Body Composition Analyzer', + HEALTH_PEAK_FLOW_MONITOR_MINOR_DEVICE_CLASS: 'Peak Flow Monitor', + HEALTH_MEDICATION_MONITOR_MINOR_DEVICE_CLASS: 'Medication Monitor', + HEALTH_KNEE_PROSTHESIS_MINOR_DEVICE_CLASS: 'Knee Prosthesis', + HEALTH_ANKLE_PROSTHESIS_MINOR_DEVICE_CLASS: 'Ankle Prosthesis', + HEALTH_GENERIC_HEALTH_MANAGER_MINOR_DEVICE_CLASS: 'Generic Health Manager', + HEALTH_PERSONAL_MOBILITY_DEVICE_MINOR_DEVICE_CLASS: 'Personal Mobility Device', + } + MINOR_DEVICE_CLASS_NAMES = { COMPUTER_MAJOR_DEVICE_CLASS: COMPUTER_MINOR_DEVICE_CLASS_NAMES, PHONE_MAJOR_DEVICE_CLASS: PHONE_MINOR_DEVICE_CLASS_NAMES, AUDIO_VIDEO_MAJOR_DEVICE_CLASS: AUDIO_VIDEO_MINOR_DEVICE_CLASS_NAMES, - PERIPHERAL_MAJOR_DEVICE_CLASS: PERIPHERAL_MINOR_DEVICE_CLASS_NAMES + PERIPHERAL_MAJOR_DEVICE_CLASS: PERIPHERAL_MINOR_DEVICE_CLASS_NAMES, + WEARABLE_MAJOR_DEVICE_CLASS: WEARABLE_MINOR_DEVICE_CLASS_NAMES, + TOY_MAJOR_DEVICE_CLASS: TOY_MINOR_DEVICE_CLASS_NAMES, + HEALTH_MAJOR_DEVICE_CLASS: HEALTH_MINOR_DEVICE_CLASS_NAMES, } # fmt: on