mirror of
https://github.com/undera/pylgbst.git
synced 2020-11-18 19:37:26 -08:00
144 lines
3.1 KiB
Python
144 lines
3.1 KiB
Python
# GENERAL
|
|
LEGO_MOVE_HUB = "LEGO Move Hub"
|
|
DEVICE_NAME = 0x07
|
|
MOVE_HUB_HARDWARE_HANDLE = 0x0E
|
|
MOVE_HUB_HARDWARE_UUID = '00001624-1212-efde-1623-785feabcd123'
|
|
|
|
ENABLE_NOTIFICATIONS_HANDLE = 0x000f
|
|
ENABLE_NOTIFICATIONS_VALUE = b'\x01\x00'
|
|
|
|
PACKET_VER = 0x01
|
|
|
|
# PORTS
|
|
PORT_C = 0x01
|
|
PORT_D = 0x02
|
|
PORT_LED = 0x32
|
|
PORT_A = 0x37
|
|
PORT_B = 0x38
|
|
PORT_AB = 0x39
|
|
PORT_TILT_SENSOR = 0x3A
|
|
PORT_SOMETHING1 = 0x3B
|
|
PORT_BATTERY = 0x3C # subscribing on this port showed correlation with power voltage
|
|
|
|
PORTS = {
|
|
PORT_A: "A",
|
|
PORT_B: "B",
|
|
PORT_AB: "AB",
|
|
PORT_C: "C",
|
|
PORT_D: "D",
|
|
PORT_LED: "LED",
|
|
PORT_TILT_SENSOR: "TILT_SENSOR",
|
|
PORT_SOMETHING1: "UNK1",
|
|
PORT_BATTERY: "BATTERY",
|
|
}
|
|
|
|
# PACKET TYPES
|
|
MSG_DEVICE_INFO = 0x01
|
|
MSG_DEVICE_SHUTDOWN = 0x02 # sent when hub shuts down by button hold
|
|
MSG_PING_RESPONSE = 0x03
|
|
MSG_PORT_INFO = 0x04
|
|
MSG_PORT_CMD_ERROR = 0x05
|
|
MSG_SET_PORT_VAL = 0x81
|
|
MSG_PORT_STATUS = 0x82
|
|
MSG_SENSOR_SUBSCRIBE = 0x41
|
|
MSG_SENSOR_SOMETHING1 = 0x42 # it is seen close to sensor subscribe commands. Subscription options? Initial value?
|
|
MSG_SENSOR_DATA = 0x45
|
|
MSG_SENSOR_SUBSCRIBE_ACK = 0x47
|
|
|
|
# DEVICE TYPES
|
|
DEV_UNKNOWN1 = 0x15 # one of them is button? onboard temperature? maybe another kind of voltage, they have same params
|
|
DEV_BATTERY = 0x14
|
|
DEV_DCS = 0x25
|
|
DEV_IMOTOR = 0x26
|
|
DEV_MOTOR = 0x27
|
|
DEV_TILT_SENSOR = 0x28
|
|
DEV_LED = 0x17
|
|
|
|
DEVICE_TYPES = {
|
|
DEV_DCS: "DISTANCE_COLOR_SENSOR",
|
|
DEV_IMOTOR: "IMOTOR",
|
|
DEV_MOTOR: "MOTOR",
|
|
DEV_TILT_SENSOR: "TILT_SENSOR",
|
|
DEV_LED: "LED",
|
|
DEV_UNKNOWN1: "UNKNOWN #1",
|
|
DEV_BATTERY: "BATTERY",
|
|
}
|
|
|
|
# NOTIFICATIONS
|
|
STATUS_STARTED = 0x01
|
|
STATUS_CONFLICT = 0x05
|
|
STATUS_FINISHED = 0x0a
|
|
|
|
# TILT SENSOR
|
|
TILT_MODE_2AXIS_FULL = 0x00
|
|
TILT_MODE_2AXIS_SIMPLE = 0x01
|
|
TILT_MODE_BASIC = 0x02
|
|
TILT_MODE_BUMP = 0x03
|
|
TILT_MODE_FULL = 0x04
|
|
|
|
TILT_HORIZONTAL = 0x00
|
|
TILT_UP = 0x01
|
|
TILT_DOWN = 0x02
|
|
TILT_RIGHT = 0x03
|
|
TILT_LEFT = 0x04
|
|
TILT_FRONT = 0x05
|
|
TILT_SOME1 = 0x07
|
|
TILT_SOME2 = 0x09
|
|
|
|
TILT_STATES = {
|
|
TILT_HORIZONTAL: "HORIZONTAL",
|
|
TILT_UP: "UP",
|
|
TILT_DOWN: "DOWN",
|
|
TILT_RIGHT: "RIGHT",
|
|
TILT_LEFT: "LEFT",
|
|
TILT_FRONT: "FRONT",
|
|
TILT_SOME1: "LEFT1",
|
|
TILT_SOME2: "SOME2",
|
|
}
|
|
|
|
# COLOR & DISTANCE SENSOR
|
|
CDS_MODE_COLOR_ONLY = 0x00
|
|
CDS_MODE_DISTANCE_INCHES = 0x01
|
|
CDS_MODE_COUNT_2INCH = 0x02
|
|
CDS_MODE_DISTANCE_HOW_CLOSE = 0x03
|
|
CDS_MODE_DISTANCE_SUBINCH_HOW_CLOSE = 0x04
|
|
CDS_MODE_OFF1 = 0x05
|
|
CDS_MODE_STREAM_3_VALUES = 0x06
|
|
CDS_MODE_OFF2 = 0x07
|
|
CDS_MODE_COLOR_DISTANCE_FLOAT = 0x08
|
|
CDS_MODE_LUMINOSITY = 0x09
|
|
CDS_MODE_SOME_20BYTES = 0x0a
|
|
|
|
# COLORS
|
|
COLOR_BLACK = 0x00
|
|
COLOR_PINK = 0x01
|
|
COLOR_PURPLE = 0x02
|
|
COLOR_BLUE = 0x03
|
|
COLOR_LIGHTBLUE = 0x04
|
|
COLOR_CYAN = 0x05
|
|
COLOR_GREEN = 0x06
|
|
COLOR_YELLOW = 0x07
|
|
COLOR_ORANGE = 0x09
|
|
COLOR_RED = 0x09
|
|
COLOR_WHITE = 0x0a
|
|
COLOR_NONE = 0xFF
|
|
COLORS = {
|
|
COLOR_BLACK: "BLACK",
|
|
COLOR_PINK: "PINK",
|
|
COLOR_PURPLE: "PURPLE",
|
|
COLOR_BLUE: "BLUE",
|
|
COLOR_LIGHTBLUE: "LIGHTBLUE",
|
|
COLOR_CYAN: "CYAN",
|
|
COLOR_GREEN: "GREEN",
|
|
COLOR_YELLOW: "YELLOW",
|
|
COLOR_ORANGE: "ORANGE",
|
|
COLOR_RED: "RED",
|
|
COLOR_WHITE: "WHITE",
|
|
COLOR_NONE: "NONE"
|
|
}
|
|
|
|
# MOTORS
|
|
MOTOR_MODE_SOMETHING1 = 0x00
|
|
MOTOR_MODE_SPEED = 0x01
|
|
MOTOR_MODE_ANGLE = 0x02
|