consts.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommandFeedback = exports.TiltDirection = exports.MarioColor = exports.MarioPantsType = exports.PortInputFormatSetupSubCommand = exports.ModeInformationType = exports.HWNetworkSubFamily = exports.HWNetworkFamily = exports.HWNetWorkCommandType = exports.ErrorCode = exports.IOTypeID = exports.Event = exports.AlertPayload = exports.AlertOperation = exports.AlertType = exports.ActionType = exports.HubPropertyPayload = exports.HubPropertyOperation = exports.HubPropertyReference = exports.MessageType = exports.BLECharacteristic = exports.BLEService = exports.BLEManufacturerData = exports.DuploTrainBaseSound = exports.BrakingStyle = exports.ButtonState = exports.ColorNames = exports.Color = exports.DeviceTypeNames = exports.DeviceType = exports.HubTypeNames = exports.HubType = void 0;
/**
 * @typedef HubType
 * @property {number} UNKNOWN 0
 * @property {number} WEDO2_SMART_HUB 1
 * @property {number} MOVE_HUB 2
 * @property {number} HUB 3
 * @property {number} REMOTE_CONTROL 4
 * @property {number} DUPLO_TRAIN_BASE 5
 * @property {number} TECHNIC_MEDIUM_HUB 6
 * @property {number} MARIO 7
 * @property {number} TECHNIC_SMALL_HUB 8
 */
var HubType;
(function (HubType) {
    HubType[HubType["UNKNOWN"] = 0] = "UNKNOWN";
    HubType[HubType["WEDO2_SMART_HUB"] = 1] = "WEDO2_SMART_HUB";
    HubType[HubType["MOVE_HUB"] = 2] = "MOVE_HUB";
    HubType[HubType["HUB"] = 3] = "HUB";
    HubType[HubType["REMOTE_CONTROL"] = 4] = "REMOTE_CONTROL";
    HubType[HubType["DUPLO_TRAIN_BASE"] = 5] = "DUPLO_TRAIN_BASE";
    HubType[HubType["TECHNIC_MEDIUM_HUB"] = 6] = "TECHNIC_MEDIUM_HUB";
    HubType[HubType["MARIO"] = 7] = "MARIO";
    HubType[HubType["TECHNIC_SMALL_HUB"] = 8] = "TECHNIC_SMALL_HUB";
})(HubType || (exports.HubType = HubType = {}));
// tslint:disable-next-line
exports.HubTypeNames = HubType;
/**
 * @typedef DeviceType
 * @property {number} UNKNOWN 0
 * @property {number} SIMPLE_MEDIUM_LINEAR_MOTOR 1
 * @property {number} TRAIN_MOTOR 2
 * @property {number} LIGHT 8
 * @property {number} VOLTAGE_SENSOR 20
 * @property {number} CURRENT_SENSOR 21
 * @property {number} PIEZO_BUZZER 22
 * @property {number} HUB_LED 23
 * @property {number} TILT_SENSOR 34
 * @property {number} MOTION_SENSOR 35
 * @property {number} COLOR_DISTANCE_SENSOR 37
 * @property {number} MEDIUM_LINEAR_MOTOR 38
 * @property {number} MOVE_HUB_MEDIUM_LINEAR_MOTOR 39
 * @property {number} MOVE_HUB_TILT_SENSOR 40
 * @property {number} DUPLO_TRAIN_BASE_MOTOR 41
 * @property {number} DUPLO_TRAIN_BASE_SPEAKER 42
 * @property {number} DUPLO_TRAIN_BASE_COLOR_SENSOR 43
 * @property {number} DUPLO_TRAIN_BASE_SPEEDOMETER 44
 * @property {number} TECHNIC_LARGE_LINEAR_MOTOR 46
 * @property {number} TECHNIC_XLARGE_LINEAR_MOTOR 47
 * @property {number} TECHNIC_MEDIUM_ANGULAR_MOTOR 48
 * @property {number} TECHNIC_LARGE_ANGULAR_MOTOR 49
 * @property {number} TECHNIC_MEDIUM_HUB_GEST_SENSOR 54
 * @property {number} REMOTE_CONTROL_BUTTON 55
 * @property {number} REMOTE_CONTROL_RSSI 56
 * @property {number} TECHNIC_MEDIUM_HUB_ACCELEROMETER 57
 * @property {number} TECHNIC_MEDIUM_HUB_GYRO_SENSOR 58
 * @property {number} TECHNIC_MEDIUM_HUB_TILT_SENSOR 59
 * @property {number} TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR 60
 * @property {number} TECHNIC_COLOR_SENSOR 61
 * @property {number} TECHNIC_DISTANCE_SENSOR 62
 * @property {number} TECHNIC_FORCE_SENSOR 63
 * @property {number} TECHNIC_3X3_COLOR_LIGHT_MATRIX 64
 * @property {number} TECHNIC_SMALL_ANGULAR_MOTOR 65
 * @property {number} MARIO_ACCELEROMETER 71
 * @property {number} MARIO_BARCODE_SENSOR 73
 * @property {number} MARIO_PANTS_SENSOR 74
 * @property {number} TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY 75
 * @property {number} TECHNIC_LARGE_ANGULAR_MOTOR_GREY 76
 */
var DeviceType;
(function (DeviceType) {
    DeviceType[DeviceType["UNKNOWN"] = 0] = "UNKNOWN";
    DeviceType[DeviceType["SIMPLE_MEDIUM_LINEAR_MOTOR"] = 1] = "SIMPLE_MEDIUM_LINEAR_MOTOR";
    DeviceType[DeviceType["TRAIN_MOTOR"] = 2] = "TRAIN_MOTOR";
    DeviceType[DeviceType["LIGHT"] = 8] = "LIGHT";
    DeviceType[DeviceType["VOLTAGE_SENSOR"] = 20] = "VOLTAGE_SENSOR";
    DeviceType[DeviceType["CURRENT_SENSOR"] = 21] = "CURRENT_SENSOR";
    DeviceType[DeviceType["PIEZO_BUZZER"] = 22] = "PIEZO_BUZZER";
    DeviceType[DeviceType["HUB_LED"] = 23] = "HUB_LED";
    DeviceType[DeviceType["TILT_SENSOR"] = 34] = "TILT_SENSOR";
    DeviceType[DeviceType["MOTION_SENSOR"] = 35] = "MOTION_SENSOR";
    DeviceType[DeviceType["COLOR_DISTANCE_SENSOR"] = 37] = "COLOR_DISTANCE_SENSOR";
    DeviceType[DeviceType["MEDIUM_LINEAR_MOTOR"] = 38] = "MEDIUM_LINEAR_MOTOR";
    DeviceType[DeviceType["MOVE_HUB_MEDIUM_LINEAR_MOTOR"] = 39] = "MOVE_HUB_MEDIUM_LINEAR_MOTOR";
    DeviceType[DeviceType["MOVE_HUB_TILT_SENSOR"] = 40] = "MOVE_HUB_TILT_SENSOR";
    DeviceType[DeviceType["DUPLO_TRAIN_BASE_MOTOR"] = 41] = "DUPLO_TRAIN_BASE_MOTOR";
    DeviceType[DeviceType["DUPLO_TRAIN_BASE_SPEAKER"] = 42] = "DUPLO_TRAIN_BASE_SPEAKER";
    DeviceType[DeviceType["DUPLO_TRAIN_BASE_COLOR_SENSOR"] = 43] = "DUPLO_TRAIN_BASE_COLOR_SENSOR";
    DeviceType[DeviceType["DUPLO_TRAIN_BASE_SPEEDOMETER"] = 44] = "DUPLO_TRAIN_BASE_SPEEDOMETER";
    DeviceType[DeviceType["TECHNIC_LARGE_LINEAR_MOTOR"] = 46] = "TECHNIC_LARGE_LINEAR_MOTOR";
    DeviceType[DeviceType["TECHNIC_XLARGE_LINEAR_MOTOR"] = 47] = "TECHNIC_XLARGE_LINEAR_MOTOR";
    DeviceType[DeviceType["TECHNIC_MEDIUM_ANGULAR_MOTOR"] = 48] = "TECHNIC_MEDIUM_ANGULAR_MOTOR";
    DeviceType[DeviceType["TECHNIC_LARGE_ANGULAR_MOTOR"] = 49] = "TECHNIC_LARGE_ANGULAR_MOTOR";
    DeviceType[DeviceType["TECHNIC_MEDIUM_HUB_GEST_SENSOR"] = 54] = "TECHNIC_MEDIUM_HUB_GEST_SENSOR";
    DeviceType[DeviceType["REMOTE_CONTROL_BUTTON"] = 55] = "REMOTE_CONTROL_BUTTON";
    DeviceType[DeviceType["REMOTE_CONTROL_RSSI"] = 56] = "REMOTE_CONTROL_RSSI";
    DeviceType[DeviceType["TECHNIC_MEDIUM_HUB_ACCELEROMETER"] = 57] = "TECHNIC_MEDIUM_HUB_ACCELEROMETER";
    DeviceType[DeviceType["TECHNIC_MEDIUM_HUB_GYRO_SENSOR"] = 58] = "TECHNIC_MEDIUM_HUB_GYRO_SENSOR";
    DeviceType[DeviceType["TECHNIC_MEDIUM_HUB_TILT_SENSOR"] = 59] = "TECHNIC_MEDIUM_HUB_TILT_SENSOR";
    DeviceType[DeviceType["TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR"] = 60] = "TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR";
    DeviceType[DeviceType["TECHNIC_COLOR_SENSOR"] = 61] = "TECHNIC_COLOR_SENSOR";
    DeviceType[DeviceType["TECHNIC_DISTANCE_SENSOR"] = 62] = "TECHNIC_DISTANCE_SENSOR";
    DeviceType[DeviceType["TECHNIC_FORCE_SENSOR"] = 63] = "TECHNIC_FORCE_SENSOR";
    DeviceType[DeviceType["TECHNIC_3X3_COLOR_LIGHT_MATRIX"] = 64] = "TECHNIC_3X3_COLOR_LIGHT_MATRIX";
    DeviceType[DeviceType["TECHNIC_SMALL_ANGULAR_MOTOR"] = 65] = "TECHNIC_SMALL_ANGULAR_MOTOR";
    DeviceType[DeviceType["MARIO_ACCELEROMETER"] = 71] = "MARIO_ACCELEROMETER";
    DeviceType[DeviceType["MARIO_BARCODE_SENSOR"] = 73] = "MARIO_BARCODE_SENSOR";
    DeviceType[DeviceType["MARIO_PANTS_SENSOR"] = 74] = "MARIO_PANTS_SENSOR";
    DeviceType[DeviceType["TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY"] = 75] = "TECHNIC_MEDIUM_ANGULAR_MOTOR_GREY";
    DeviceType[DeviceType["TECHNIC_LARGE_ANGULAR_MOTOR_GREY"] = 76] = "TECHNIC_LARGE_ANGULAR_MOTOR_GREY";
})(DeviceType || (exports.DeviceType = DeviceType = {}));
// tslint:disable-next-line
exports.DeviceTypeNames = DeviceType;
/**
 * @typedef Color
 * @property {number} BLACK 0
 * @property {number} PINK 1
 * @property {number} PURPLE 2
 * @property {number} BLUE 3
 * @property {number} LIGHT_BLUE 4
 * @property {number} CYAN 5
 * @property {number} GREEN 6
 * @property {number} YELLOW 7
 * @property {number} ORANGE 8
 * @property {number} RED 9
 * @property {number} WHITE 10
 * @property {number} NONE 255
 */
var Color;
(function (Color) {
    Color[Color["BLACK"] = 0] = "BLACK";
    Color[Color["PINK"] = 1] = "PINK";
    Color[Color["PURPLE"] = 2] = "PURPLE";
    Color[Color["BLUE"] = 3] = "BLUE";
    Color[Color["LIGHT_BLUE"] = 4] = "LIGHT_BLUE";
    Color[Color["CYAN"] = 5] = "CYAN";
    Color[Color["GREEN"] = 6] = "GREEN";
    Color[Color["YELLOW"] = 7] = "YELLOW";
    Color[Color["ORANGE"] = 8] = "ORANGE";
    Color[Color["RED"] = 9] = "RED";
    Color[Color["WHITE"] = 10] = "WHITE";
    Color[Color["NONE"] = 255] = "NONE";
})(Color || (exports.Color = Color = {}));
// tslint:disable-next-line
exports.ColorNames = Color;
/**
 * @typedef ButtonState
 * @property {number} PRESSED 2
 * @property {number} RELEASED 0
 * @property {number} UP 1
 * @property {number} DOWN 255
 * @property {number} STOP 127
 */
var ButtonState;
(function (ButtonState) {
    ButtonState[ButtonState["PRESSED"] = 2] = "PRESSED";
    ButtonState[ButtonState["RELEASED"] = 0] = "RELEASED";
    ButtonState[ButtonState["UP"] = 1] = "UP";
    ButtonState[ButtonState["DOWN"] = 255] = "DOWN";
    ButtonState[ButtonState["STOP"] = 127] = "STOP";
})(ButtonState || (exports.ButtonState = ButtonState = {}));
/**
 * @typedef BrakingStyle
 * @property {number} FLOAT 0
 * @property {number} HOLD 127
 * @property {number} BRAKE 128
 */
var BrakingStyle;
(function (BrakingStyle) {
    BrakingStyle[BrakingStyle["FLOAT"] = 0] = "FLOAT";
    BrakingStyle[BrakingStyle["HOLD"] = 126] = "HOLD";
    BrakingStyle[BrakingStyle["BRAKE"] = 127] = "BRAKE";
})(BrakingStyle || (exports.BrakingStyle = BrakingStyle = {}));
/**
 * @typedef DuploTrainBaseSound
 * @property {number} BRAKE 3
 * @property {number} STATION_DEPARTURE 5
 * @property {number} WATER_REFILL 7
 * @property {number} HORN 9
 * @property {number} STEAM 10
 */
var DuploTrainBaseSound;
(function (DuploTrainBaseSound) {
    DuploTrainBaseSound[DuploTrainBaseSound["BRAKE"] = 3] = "BRAKE";
    DuploTrainBaseSound[DuploTrainBaseSound["STATION_DEPARTURE"] = 5] = "STATION_DEPARTURE";
    DuploTrainBaseSound[DuploTrainBaseSound["WATER_REFILL"] = 7] = "WATER_REFILL";
    DuploTrainBaseSound[DuploTrainBaseSound["HORN"] = 9] = "HORN";
    DuploTrainBaseSound[DuploTrainBaseSound["STEAM"] = 10] = "STEAM";
})(DuploTrainBaseSound || (exports.DuploTrainBaseSound = DuploTrainBaseSound = {}));
var BLEManufacturerData;
(function (BLEManufacturerData) {
    BLEManufacturerData[BLEManufacturerData["DUPLO_TRAIN_BASE_ID"] = 32] = "DUPLO_TRAIN_BASE_ID";
    BLEManufacturerData[BLEManufacturerData["MOVE_HUB_ID"] = 64] = "MOVE_HUB_ID";
    BLEManufacturerData[BLEManufacturerData["HUB_ID"] = 65] = "HUB_ID";
    BLEManufacturerData[BLEManufacturerData["REMOTE_CONTROL_ID"] = 66] = "REMOTE_CONTROL_ID";
    BLEManufacturerData[BLEManufacturerData["MARIO_ID"] = 67] = "MARIO_ID";
    BLEManufacturerData[BLEManufacturerData["TECHNIC_MEDIUM_HUB_ID"] = 128] = "TECHNIC_MEDIUM_HUB_ID";
    BLEManufacturerData[BLEManufacturerData["TECHNIC_SMALL_HUB_ID"] = 131] = "TECHNIC_SMALL_HUB_ID";
})(BLEManufacturerData || (exports.BLEManufacturerData = BLEManufacturerData = {}));
var BLEService;
(function (BLEService) {
    BLEService["WEDO2_SMART_HUB"] = "00001523-1212-efde-1523-785feabcd123";
    BLEService["WEDO2_SMART_HUB_2"] = "00004f0e-1212-efde-1523-785feabcd123";
    BLEService["WEDO2_SMART_HUB_3"] = "2a19";
    BLEService["WEDO2_SMART_HUB_4"] = "180f";
    BLEService["WEDO2_SMART_HUB_5"] = "180a";
    BLEService["LPF2_HUB"] = "00001623-1212-efde-1623-785feabcd123";
})(BLEService || (exports.BLEService = BLEService = {}));
var BLECharacteristic;
(function (BLECharacteristic) {
    BLECharacteristic["WEDO2_BATTERY"] = "2a19";
    BLECharacteristic["WEDO2_FIRMWARE_REVISION"] = "2a26";
    BLECharacteristic["WEDO2_BUTTON"] = "00001526-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_PORT_TYPE"] = "00001527-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_LOW_VOLTAGE_ALERT"] = "00001528-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_HIGH_CURRENT_ALERT"] = "00001529-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_LOW_SIGNAL_ALERT"] = "0000152a-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_DISCONNECT"] = "0000152b-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_SENSOR_VALUE"] = "00001560-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_VALUE_FORMAT"] = "00001561-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_PORT_TYPE_WRITE"] = "00001563-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_MOTOR_VALUE_WRITE"] = "00001565-1212-efde-1523-785feabcd123";
    BLECharacteristic["WEDO2_NAME_ID"] = "00001524-1212-efde-1523-785feabcd123";
    BLECharacteristic["LPF2_ALL"] = "00001624-1212-efde-1623-785feabcd123";
})(BLECharacteristic || (exports.BLECharacteristic = BLECharacteristic = {}));
/**
 * @typedef MessageType
 * @property {number} HUB_PROPERTIES 0x01
 * @property {number} HUB_ACTIONS 0x02
 * @property {number} HUB_ALERTS 0x03
 * @property {number} HUB_ATTACHED_IO 0x04
 * @property {number} GENERIC_ERROR_MESSAGES 0x05
 * @property {number} HW_NETWORK_COMMANDS 0x08
 * @property {number} FW_UPDATE_GO_INTO_BOOT_MODE 0x10
 * @property {number} FW_UPDATE_LOCK_MEMORY 0x11
 * @property {number} FW_UPDATE_LOCK_STATUS_REQUEST 0x12
 * @property {number} FW_LOCK_STATUS 0x13
 * @property {number} PORT_INFORMATION_REQUEST 0x21
 * @property {number} PORT_MODE_INFORMATION_REQUEST 0x22
 * @property {number} PORT_INPUT_FORMAT_SETUP_SINGLE 0x41
 * @property {number} PORT_INPUT_FORMAT_SETUP_COMBINEDMODE 0x42
 * @property {number} PORT_INFORMATION 0x43
 * @property {number} PORT_MODE_INFORMATION 0x44
 * @property {number} PORT_VALUE_SINGLE 0x45
 * @property {number} PORT_VALUE_COMBINEDMODE 0x46
 * @property {number} PORT_INPUT_FORMAT_SINGLE 0x47
 * @property {number} PORT_INPUT_FORMAT_COMBINEDMODE 0x48
 * @property {number} VIRTUAL_PORT_SETUP 0x61
 * @property {number} PORT_OUTPUT_COMMAND 0x81
 * @property {number} PORT_OUTPUT_COMMAND_FEEDBACK 0x82
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#message-types
 */
var MessageType;
(function (MessageType) {
    MessageType[MessageType["HUB_PROPERTIES"] = 1] = "HUB_PROPERTIES";
    MessageType[MessageType["HUB_ACTIONS"] = 2] = "HUB_ACTIONS";
    MessageType[MessageType["HUB_ALERTS"] = 3] = "HUB_ALERTS";
    MessageType[MessageType["HUB_ATTACHED_IO"] = 4] = "HUB_ATTACHED_IO";
    MessageType[MessageType["GENERIC_ERROR_MESSAGES"] = 5] = "GENERIC_ERROR_MESSAGES";
    MessageType[MessageType["HW_NETWORK_COMMANDS"] = 8] = "HW_NETWORK_COMMANDS";
    MessageType[MessageType["FW_UPDATE_GO_INTO_BOOT_MODE"] = 16] = "FW_UPDATE_GO_INTO_BOOT_MODE";
    MessageType[MessageType["FW_UPDATE_LOCK_MEMORY"] = 17] = "FW_UPDATE_LOCK_MEMORY";
    MessageType[MessageType["FW_UPDATE_LOCK_STATUS_REQUEST"] = 18] = "FW_UPDATE_LOCK_STATUS_REQUEST";
    MessageType[MessageType["FW_LOCK_STATUS"] = 19] = "FW_LOCK_STATUS";
    MessageType[MessageType["PORT_INFORMATION_REQUEST"] = 33] = "PORT_INFORMATION_REQUEST";
    MessageType[MessageType["PORT_MODE_INFORMATION_REQUEST"] = 34] = "PORT_MODE_INFORMATION_REQUEST";
    MessageType[MessageType["PORT_INPUT_FORMAT_SETUP_SINGLE"] = 65] = "PORT_INPUT_FORMAT_SETUP_SINGLE";
    MessageType[MessageType["PORT_INPUT_FORMAT_SETUP_COMBINEDMODE"] = 66] = "PORT_INPUT_FORMAT_SETUP_COMBINEDMODE";
    MessageType[MessageType["PORT_INFORMATION"] = 67] = "PORT_INFORMATION";
    MessageType[MessageType["PORT_MODE_INFORMATION"] = 68] = "PORT_MODE_INFORMATION";
    MessageType[MessageType["PORT_VALUE_SINGLE"] = 69] = "PORT_VALUE_SINGLE";
    MessageType[MessageType["PORT_VALUE_COMBINEDMODE"] = 70] = "PORT_VALUE_COMBINEDMODE";
    MessageType[MessageType["PORT_INPUT_FORMAT_SINGLE"] = 71] = "PORT_INPUT_FORMAT_SINGLE";
    MessageType[MessageType["PORT_INPUT_FORMAT_COMBINEDMODE"] = 72] = "PORT_INPUT_FORMAT_COMBINEDMODE";
    MessageType[MessageType["VIRTUAL_PORT_SETUP"] = 97] = "VIRTUAL_PORT_SETUP";
    MessageType[MessageType["PORT_OUTPUT_COMMAND"] = 129] = "PORT_OUTPUT_COMMAND";
    MessageType[MessageType["PORT_OUTPUT_COMMAND_FEEDBACK"] = 130] = "PORT_OUTPUT_COMMAND_FEEDBACK";
})(MessageType || (exports.MessageType = MessageType = {}));
/**
 * @typedef HubPropertyReference
 * @param {number} ADVERTISING_NAME 0x01
 * @param {number} BUTTON 0x02
 * @param {number} FW_VERSION 0x03
 * @param {number} HW_VERSION 0x04
 * @param {number} RSSI 0x05
 * @param {number} BATTERY_VOLTAGE 0x06
 * @param {number} BATTERY_TYPE 0x07
 * @param {number} MANUFACTURER_NAME 0x08
 * @param {number} RADIO_FIRMWARE_VERSION 0x09
 * @param {number} LEGO_WIRELESS_PROTOCOL_VERSION 0x0A
 * @param {number} SYSTEM_TYPE_ID 0x0B
 * @param {number} HW_NETWORK_ID 0x0C
 * @param {number} PRIMARY_MAC_ADDRESS 0x0D
 * @param {number} SECONDARY_MAC_ADDRESS 0x0E
 * @param {number} HARDWARE_NETWORK_FAMILY 0x0F
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#hub-property-reference
 */
var HubPropertyReference;
(function (HubPropertyReference) {
    HubPropertyReference[HubPropertyReference["ADVERTISING_NAME"] = 1] = "ADVERTISING_NAME";
    HubPropertyReference[HubPropertyReference["BUTTON"] = 2] = "BUTTON";
    HubPropertyReference[HubPropertyReference["FW_VERSION"] = 3] = "FW_VERSION";
    HubPropertyReference[HubPropertyReference["HW_VERSION"] = 4] = "HW_VERSION";
    HubPropertyReference[HubPropertyReference["RSSI"] = 5] = "RSSI";
    HubPropertyReference[HubPropertyReference["BATTERY_VOLTAGE"] = 6] = "BATTERY_VOLTAGE";
    HubPropertyReference[HubPropertyReference["BATTERY_TYPE"] = 7] = "BATTERY_TYPE";
    HubPropertyReference[HubPropertyReference["MANUFACTURER_NAME"] = 8] = "MANUFACTURER_NAME";
    HubPropertyReference[HubPropertyReference["RADIO_FIRMWARE_VERSION"] = 9] = "RADIO_FIRMWARE_VERSION";
    HubPropertyReference[HubPropertyReference["LEGO_WIRELESS_PROTOCOL_VERSION"] = 10] = "LEGO_WIRELESS_PROTOCOL_VERSION";
    HubPropertyReference[HubPropertyReference["SYSTEM_TYPE_ID"] = 11] = "SYSTEM_TYPE_ID";
    HubPropertyReference[HubPropertyReference["HW_NETWORK_ID"] = 12] = "HW_NETWORK_ID";
    HubPropertyReference[HubPropertyReference["PRIMARY_MAC_ADDRESS"] = 13] = "PRIMARY_MAC_ADDRESS";
    HubPropertyReference[HubPropertyReference["SECONDARY_MAC_ADDRESS"] = 14] = "SECONDARY_MAC_ADDRESS";
    HubPropertyReference[HubPropertyReference["HARDWARE_NETWORK_FAMILY"] = 15] = "HARDWARE_NETWORK_FAMILY";
})(HubPropertyReference || (exports.HubPropertyReference = HubPropertyReference = {}));
/**
 * @typedef HubPropertyOperation
 * @param {number} SET_DOWNSTREAM 0x01
 * @param {number} ENABLE_UPDATES_DOWNSTREAM 0x02
 * @param {number} DISABLE_UPDATES_DOWNSTREAM 0x03
 * @param {number} RESET_DOWNSTREAM 0x04
 * @param {number} REQUEST_UPDATE_DOWNSTREAM 0x05
 * @param {number} UPDATE_UPSTREAM 0x06
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#hub-property-reference
 */
var HubPropertyOperation;
(function (HubPropertyOperation) {
    HubPropertyOperation[HubPropertyOperation["SET_DOWNSTREAM"] = 1] = "SET_DOWNSTREAM";
    HubPropertyOperation[HubPropertyOperation["ENABLE_UPDATES_DOWNSTREAM"] = 2] = "ENABLE_UPDATES_DOWNSTREAM";
    HubPropertyOperation[HubPropertyOperation["DISABLE_UPDATES_DOWNSTREAM"] = 3] = "DISABLE_UPDATES_DOWNSTREAM";
    HubPropertyOperation[HubPropertyOperation["RESET_DOWNSTREAM"] = 4] = "RESET_DOWNSTREAM";
    HubPropertyOperation[HubPropertyOperation["REQUEST_UPDATE_DOWNSTREAM"] = 5] = "REQUEST_UPDATE_DOWNSTREAM";
    HubPropertyOperation[HubPropertyOperation["UPDATE_UPSTREAM"] = 6] = "UPDATE_UPSTREAM";
})(HubPropertyOperation || (exports.HubPropertyOperation = HubPropertyOperation = {}));
/**
 * @typedef HubPropertyPayload
 * @param {number} ADVERTISING_NAME 0x01
 * @param {number} BUTTON_STATE 0x02
 * @param {number} FW_VERSION 0x03
 * @param {number} HW_VERSION 0x04
 * @param {number} RSSI 0x05
 * @param {number} BATTERY_VOLTAGE 0x06
 * @param {number} BATTERY_TYPE 0x07
 * @param {number} MANUFACTURER_NAME 0x08
 * @param {number} RADIO_FIRMWARE_VERSION 0x09
 * @param {number} LWP_PROTOCOL_VERSION 0x0A
 * @param {number} SYSTEM_TYPE_ID 0x0B
 * @param {number} HW_NETWORK_ID 0x0C
 * @param {number} PRIMARY_MAC_ADDRESS 0x0D
 * @param {number} SECONDARY_MAC_ADDRESS 0x0E
 * @param {number} HW_NETWORK_FAMILY 0x0F
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#hub-property-reference
 */
var HubPropertyPayload;
(function (HubPropertyPayload) {
    HubPropertyPayload[HubPropertyPayload["ADVERTISING_NAME"] = 1] = "ADVERTISING_NAME";
    HubPropertyPayload[HubPropertyPayload["BUTTON_STATE"] = 2] = "BUTTON_STATE";
    HubPropertyPayload[HubPropertyPayload["FW_VERSION"] = 3] = "FW_VERSION";
    HubPropertyPayload[HubPropertyPayload["HW_VERSION"] = 4] = "HW_VERSION";
    HubPropertyPayload[HubPropertyPayload["RSSI"] = 5] = "RSSI";
    HubPropertyPayload[HubPropertyPayload["BATTERY_VOLTAGE"] = 6] = "BATTERY_VOLTAGE";
    HubPropertyPayload[HubPropertyPayload["BATTERY_TYPE"] = 7] = "BATTERY_TYPE";
    HubPropertyPayload[HubPropertyPayload["MANUFACTURER_NAME"] = 8] = "MANUFACTURER_NAME";
    HubPropertyPayload[HubPropertyPayload["RADIO_FIRMWARE_VERSION"] = 9] = "RADIO_FIRMWARE_VERSION";
    HubPropertyPayload[HubPropertyPayload["LWP_PROTOCOL_VERSION"] = 10] = "LWP_PROTOCOL_VERSION";
    HubPropertyPayload[HubPropertyPayload["SYSTEM_TYPE_ID"] = 11] = "SYSTEM_TYPE_ID";
    HubPropertyPayload[HubPropertyPayload["HW_NETWORK_ID"] = 12] = "HW_NETWORK_ID";
    HubPropertyPayload[HubPropertyPayload["PRIMARY_MAC_ADDRESS"] = 13] = "PRIMARY_MAC_ADDRESS";
    HubPropertyPayload[HubPropertyPayload["SECONDARY_MAC_ADDRESS"] = 14] = "SECONDARY_MAC_ADDRESS";
    HubPropertyPayload[HubPropertyPayload["HW_NETWORK_FAMILY"] = 15] = "HW_NETWORK_FAMILY";
})(HubPropertyPayload || (exports.HubPropertyPayload = HubPropertyPayload = {}));
/**
 * @typedef ActionType
 * @param {number} SWITCH_OFF_HUB 0x01
 * @param {number} DISCONNECT 0x02
 * @param {number} VCC_PORT_CONTROL_ON 0x03
 * @param {number} VCC_PORT_CONTROL_OFF 0x04
 * @param {number} ACTIVATE_BUSY_INDICATION 0x05
 * @param {number} RESET_BUSY_INDICATION 0x06
 * @param {number} SHUTDOWN 0x2F
 * @param {number} HUB_WILL_SWITCH_OFF 0x30
 * @param {number} HUB_WILL_DISCONNECT 0x31
 * @param {number} HUB_WILL_GO_INTO_BOOT_MODE 0x32
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#action-types
 */
var ActionType;
(function (ActionType) {
    ActionType[ActionType["SWITCH_OFF_HUB"] = 1] = "SWITCH_OFF_HUB";
    ActionType[ActionType["DISCONNECT"] = 2] = "DISCONNECT";
    ActionType[ActionType["VCC_PORT_CONTROL_ON"] = 3] = "VCC_PORT_CONTROL_ON";
    ActionType[ActionType["VCC_PORT_CONTROL_OFF"] = 4] = "VCC_PORT_CONTROL_OFF";
    ActionType[ActionType["ACTIVATE_BUSY_INDICATION"] = 5] = "ACTIVATE_BUSY_INDICATION";
    ActionType[ActionType["RESET_BUSY_INDICATION"] = 6] = "RESET_BUSY_INDICATION";
    ActionType[ActionType["SHUTDOWN"] = 47] = "SHUTDOWN";
    ActionType[ActionType["HUB_WILL_SWITCH_OFF"] = 48] = "HUB_WILL_SWITCH_OFF";
    ActionType[ActionType["HUB_WILL_DISCONNECT"] = 49] = "HUB_WILL_DISCONNECT";
    ActionType[ActionType["HUB_WILL_GO_INTO_BOOT_MODE"] = 50] = "HUB_WILL_GO_INTO_BOOT_MODE";
})(ActionType || (exports.ActionType = ActionType = {}));
/**
 * @typedef AlertType
 * @param {number} LOW_VOLTAGE 0x01
 * @param {number} HIGH_CURRENT 0x02
 * @param {number} LOW_SIGNAL_STRENGTH 0x03
 * @param {number} OVER_POWER_CONDITION 0x04
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#alert-type
 */
var AlertType;
(function (AlertType) {
    AlertType[AlertType["LOW_VOLTAGE"] = 1] = "LOW_VOLTAGE";
    AlertType[AlertType["HIGH_CURRENT"] = 2] = "HIGH_CURRENT";
    AlertType[AlertType["LOW_SIGNAL_STRENGTH"] = 3] = "LOW_SIGNAL_STRENGTH";
    AlertType[AlertType["OVER_POWER_CONDITION"] = 4] = "OVER_POWER_CONDITION";
})(AlertType || (exports.AlertType = AlertType = {}));
/**
 * @typedef AlertOperation
 * @param {number} ENABLE_UPDATE 0x01
 * @param {number} DISABLE_UPDATE 0x02
 * @param {number} REQUEST_UPDATE 0x03
 * @param {number} UPDATE 0x04
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#alert-operation
 */
var AlertOperation;
(function (AlertOperation) {
    AlertOperation[AlertOperation["LOW_VOLTAGE"] = 1] = "LOW_VOLTAGE";
    AlertOperation[AlertOperation["HIGH_CURRENT"] = 2] = "HIGH_CURRENT";
    AlertOperation[AlertOperation["LOW_SIGNAL_STRENGTH"] = 3] = "LOW_SIGNAL_STRENGTH";
    AlertOperation[AlertOperation["OVER_POWER_CONDITION"] = 4] = "OVER_POWER_CONDITION";
})(AlertOperation || (exports.AlertOperation = AlertOperation = {}));
/**
 * @typedef AlertPayload
 * @param {number} STATUS_OK 0x00
 * @param {number} ALERT 0xFF
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#alert-payload
 */
var AlertPayload;
(function (AlertPayload) {
    AlertPayload[AlertPayload["STATUS_OK"] = 0] = "STATUS_OK";
    AlertPayload[AlertPayload["ALERT"] = 255] = "ALERT";
})(AlertPayload || (exports.AlertPayload = AlertPayload = {}));
/**
 * @typedef Event
 * @param {number} DETACHED_IO 0x00
 * @param {number} ATTACHED_IO 0x01
 * @param {number} ATTACHED_VIRTUAL_IO 0x02
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#event
 */
var Event;
(function (Event) {
    Event[Event["DETACHED_IO"] = 0] = "DETACHED_IO";
    Event[Event["ATTACHED_IO"] = 1] = "ATTACHED_IO";
    Event[Event["ATTACHED_VIRTUAL_IO"] = 2] = "ATTACHED_VIRTUAL_IO";
})(Event || (exports.Event = Event = {}));
/**
 * @typedef IOTypeID
 * @param {number} MOTOR 0x0001
 * @param {number} SYSTEM_TRAIN_MOTOR 0x0002
 * @param {number} BUTTON 0x0005
 * @param {number} LED_LIGHT 0x0008
 * @param {number} VOLTAGE 0x0014
 * @param {number} CURRENT 0x0015
 * @param {number} PIEZO_TONE_SOUND 0x0016
 * @param {number} RGB_LIGHT 0x0017
 * @param {number} EXTERNAL_TILT_SENSOR 0x0022
 * @param {number} MOTION_SENSOR 0x0023
 * @param {number} VISION_SENSOR 0x0025
 * @param {number} EXTERNAL_MOTOR 0x0026
 * @param {number} INTERNAL_MOTOR 0x0027
 * @param {number} INTERNAL_TILT 0x0028
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#io-type-id
 */
var IOTypeID;
(function (IOTypeID) {
    IOTypeID[IOTypeID["MOTOR"] = 1] = "MOTOR";
    IOTypeID[IOTypeID["SYSTEM_TRAIN_MOTOR"] = 2] = "SYSTEM_TRAIN_MOTOR";
    IOTypeID[IOTypeID["BUTTON"] = 5] = "BUTTON";
    IOTypeID[IOTypeID["LED_LIGHT"] = 8] = "LED_LIGHT";
    IOTypeID[IOTypeID["VOLTAGE"] = 20] = "VOLTAGE";
    IOTypeID[IOTypeID["CURRENT"] = 21] = "CURRENT";
    IOTypeID[IOTypeID["PIEZO_TONE_SOUND"] = 22] = "PIEZO_TONE_SOUND";
    IOTypeID[IOTypeID["RGB_LIGHT"] = 23] = "RGB_LIGHT";
    IOTypeID[IOTypeID["EXTERNAL_TILT_SENSOR"] = 34] = "EXTERNAL_TILT_SENSOR";
    IOTypeID[IOTypeID["MOTION_SENSOR"] = 35] = "MOTION_SENSOR";
    IOTypeID[IOTypeID["VISION_SENSOR"] = 37] = "VISION_SENSOR";
    IOTypeID[IOTypeID["EXTERNAL_MOTOR"] = 38] = "EXTERNAL_MOTOR";
    IOTypeID[IOTypeID["INTERNAL_MOTOR"] = 39] = "INTERNAL_MOTOR";
    IOTypeID[IOTypeID["INTERNAL_TILT"] = 40] = "INTERNAL_TILT";
})(IOTypeID || (exports.IOTypeID = IOTypeID = {}));
/**
 * @typedef ErrorCode
 * @param {number} ACK 0x01
 * @param {number} MACK 0x02
 * @param {number} BUFFER_OVERFLOW 0x03
 * @param {number} TIMEOUT 0x04
 * @param {number} COMMAND_NOT_RECOGNIZED 0x05
 * @param {number} INVALID_USE 0x06
 * @param {number} OVERCURRENT 0x07
 * @param {number} INTERNAL_ERROR 0x08
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#error-codes
 */
var ErrorCode;
(function (ErrorCode) {
    ErrorCode[ErrorCode["ACK"] = 1] = "ACK";
    ErrorCode[ErrorCode["MACK"] = 2] = "MACK";
    ErrorCode[ErrorCode["BUFFER_OVERFLOW"] = 3] = "BUFFER_OVERFLOW";
    ErrorCode[ErrorCode["TIMEOUT"] = 4] = "TIMEOUT";
    ErrorCode[ErrorCode["COMMAND_NOT_RECOGNIZED"] = 5] = "COMMAND_NOT_RECOGNIZED";
    ErrorCode[ErrorCode["INVALID_USE"] = 6] = "INVALID_USE";
    ErrorCode[ErrorCode["OVERCURRENT"] = 7] = "OVERCURRENT";
    ErrorCode[ErrorCode["INTERNAL_ERROR"] = 8] = "INTERNAL_ERROR";
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
/**
 * @typedef HWNetWorkCommandType
 * @param {number} CONNECTION_REQUEST 0x02
 * @param {number} FAMILY_REQUEST 0x03
 * @param {number} FAMILY_SET 0x04
 * @param {number} JOIN_DENIED 0x05
 * @param {number} GET_FAMILY 0x06
 * @param {number} FAMILY 0x07
 * @param {number} GET_SUBFAMILY 0x08
 * @param {number} SUBFAMILY 0x09
 * @param {number} SUBFAMILY_SET 0x0A
 * @param {number} GET_EXTENDED_FAMILY 0x0B
 * @param {number} EXTENDED_FAMILY 0x0C
 * @param {number} EXTENDED_FAMILY_SET 0x0D
 * @param {number} RESET_LONG_PRESS_TIMING 0x0E
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#h-w-network-command-type
 */
var HWNetWorkCommandType;
(function (HWNetWorkCommandType) {
    HWNetWorkCommandType[HWNetWorkCommandType["CONNECTION_REQUEST"] = 2] = "CONNECTION_REQUEST";
    HWNetWorkCommandType[HWNetWorkCommandType["FAMILY_REQUEST"] = 3] = "FAMILY_REQUEST";
    HWNetWorkCommandType[HWNetWorkCommandType["FAMILY_SET"] = 4] = "FAMILY_SET";
    HWNetWorkCommandType[HWNetWorkCommandType["JOIN_DENIED"] = 5] = "JOIN_DENIED";
    HWNetWorkCommandType[HWNetWorkCommandType["GET_FAMILY"] = 6] = "GET_FAMILY";
    HWNetWorkCommandType[HWNetWorkCommandType["FAMILY"] = 7] = "FAMILY";
    HWNetWorkCommandType[HWNetWorkCommandType["GET_SUBFAMILY"] = 8] = "GET_SUBFAMILY";
    HWNetWorkCommandType[HWNetWorkCommandType["SUBFAMILY"] = 9] = "SUBFAMILY";
    HWNetWorkCommandType[HWNetWorkCommandType["SUBFAMILY_SET"] = 10] = "SUBFAMILY_SET";
    HWNetWorkCommandType[HWNetWorkCommandType["GET_EXTENDED_FAMILY"] = 11] = "GET_EXTENDED_FAMILY";
    HWNetWorkCommandType[HWNetWorkCommandType["EXTENDED_FAMILY"] = 12] = "EXTENDED_FAMILY";
    HWNetWorkCommandType[HWNetWorkCommandType["EXTENDED_FAMILY_SET"] = 13] = "EXTENDED_FAMILY_SET";
    HWNetWorkCommandType[HWNetWorkCommandType["RESET_LONG_PRESS_TIMING"] = 14] = "RESET_LONG_PRESS_TIMING";
})(HWNetWorkCommandType || (exports.HWNetWorkCommandType = HWNetWorkCommandType = {}));
/**
 * @typedef HWNetworkFamily
 * @param {number} GREEN 0x01
 * @param {number} YELLOW 0x02
 * @param {number} RED 0x03
 * @param {number} BLUE 0x04
 * @param {number} PURPLE 0x05
 * @param {number} LIGHT_BLUE 0x06
 * @param {number} TEAL 0x07
 * @param {number} PINK 0x08
 * @param {number} WHITE 0x00
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#h-w-network-family
 */
var HWNetworkFamily;
(function (HWNetworkFamily) {
    HWNetworkFamily[HWNetworkFamily["GREEN"] = 1] = "GREEN";
    HWNetworkFamily[HWNetworkFamily["YELLOW"] = 2] = "YELLOW";
    HWNetworkFamily[HWNetworkFamily["RED"] = 3] = "RED";
    HWNetworkFamily[HWNetworkFamily["BLUE"] = 4] = "BLUE";
    HWNetworkFamily[HWNetworkFamily["PURPLE"] = 5] = "PURPLE";
    HWNetworkFamily[HWNetworkFamily["LIGHT_BLUE"] = 6] = "LIGHT_BLUE";
    HWNetworkFamily[HWNetworkFamily["TEAL"] = 7] = "TEAL";
    HWNetworkFamily[HWNetworkFamily["PINK"] = 8] = "PINK";
    HWNetworkFamily[HWNetworkFamily["WHITE"] = 0] = "WHITE";
})(HWNetworkFamily || (exports.HWNetworkFamily = HWNetworkFamily = {}));
/**
 * @typedef HWNetworkSubFamily
 * @param {number} ONE_FLASH 0x01
 * @param {number} TWO_FLASHES 0x02
 * @param {number} THREE_FLASHES 0x03
 * @param {number} FOUR_FLASHES 0x04
 * @param {number} FIVE_FLASHES 0x05
 * @param {number} SIX_FLASHES 0x06
 * @param {number} SEVEN_FLASHES 0x07
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#h-w-network-sub-family
 */
var HWNetworkSubFamily;
(function (HWNetworkSubFamily) {
    HWNetworkSubFamily[HWNetworkSubFamily["ONE_FLASH"] = 1] = "ONE_FLASH";
    HWNetworkSubFamily[HWNetworkSubFamily["TWO_FLASHES"] = 2] = "TWO_FLASHES";
    HWNetworkSubFamily[HWNetworkSubFamily["THREE_FLASHES"] = 3] = "THREE_FLASHES";
    HWNetworkSubFamily[HWNetworkSubFamily["FOUR_FLASHES"] = 4] = "FOUR_FLASHES";
    HWNetworkSubFamily[HWNetworkSubFamily["FIVE_FLASHES"] = 5] = "FIVE_FLASHES";
    HWNetworkSubFamily[HWNetworkSubFamily["SIX_FLASHES"] = 6] = "SIX_FLASHES";
    HWNetworkSubFamily[HWNetworkSubFamily["SEVEN_FLASHES"] = 7] = "SEVEN_FLASHES";
})(HWNetworkSubFamily || (exports.HWNetworkSubFamily = HWNetworkSubFamily = {}));
/**
 * @typedef ModeInformationType
 * @param {number} NAME 0x00
 * @param {number} RAW 0x01
 * @param {number} PCT 0x02
 * @param {number} SI 0x03
 * @param {number} SYMBOL 0x04
 * @param {number} MAPPING 0x05
 * @param {number} USED_INTERNALLY 0x06
 * @param {number} MOTOR_BIAS 0x07
 * @param {number} CAPABILITY_BITS 0x08
 * @param {number} VALUE_FORMAT 0x80
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#mode-information-types
 */
var ModeInformationType;
(function (ModeInformationType) {
    ModeInformationType[ModeInformationType["NAME"] = 0] = "NAME";
    ModeInformationType[ModeInformationType["RAW"] = 1] = "RAW";
    ModeInformationType[ModeInformationType["PCT"] = 2] = "PCT";
    ModeInformationType[ModeInformationType["SI"] = 3] = "SI";
    ModeInformationType[ModeInformationType["SYMBOL"] = 4] = "SYMBOL";
    ModeInformationType[ModeInformationType["MAPPING"] = 5] = "MAPPING";
    ModeInformationType[ModeInformationType["USED_INTERNALLY"] = 6] = "USED_INTERNALLY";
    ModeInformationType[ModeInformationType["MOTOR_BIAS"] = 7] = "MOTOR_BIAS";
    ModeInformationType[ModeInformationType["CAPABILITY_BITS"] = 8] = "CAPABILITY_BITS";
    ModeInformationType[ModeInformationType["VALUE_FORMAT"] = 128] = "VALUE_FORMAT";
})(ModeInformationType || (exports.ModeInformationType = ModeInformationType = {}));
/**
 * @typedef PortInputFormatSetupSubCommand
 * @param {number} SET_MODEANDDATASET_COMBINATIONS 0x01
 * @param {number} LOCK_LPF2_DEVICE_FOR_SETUP 0x02
 * @param {number} UNLOCKANDSTARTWITHMULTIUPDATEENABLED 0x03
 * @param {number} UNLOCKANDSTARTWITHMULTIUPDATEDISABLED 0x04
 * @param {number} NOT_USED 0x05
 * @param {number} RESET_SENSOR 0x06
 * @description https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#port-input-format-setup-sub-commands
 */
var PortInputFormatSetupSubCommand;
(function (PortInputFormatSetupSubCommand) {
    PortInputFormatSetupSubCommand[PortInputFormatSetupSubCommand["SET_MODEANDDATASET_COMBINATIONS"] = 1] = "SET_MODEANDDATASET_COMBINATIONS";
    PortInputFormatSetupSubCommand[PortInputFormatSetupSubCommand["LOCK_LPF2_DEVICE_FOR_SETUP"] = 2] = "LOCK_LPF2_DEVICE_FOR_SETUP";
    PortInputFormatSetupSubCommand[PortInputFormatSetupSubCommand["UNLOCKANDSTARTWITHMULTIUPDATEENABLED"] = 3] = "UNLOCKANDSTARTWITHMULTIUPDATEENABLED";
    PortInputFormatSetupSubCommand[PortInputFormatSetupSubCommand["UNLOCKANDSTARTWITHMULTIUPDATEDISABLED"] = 4] = "UNLOCKANDSTARTWITHMULTIUPDATEDISABLED";
    PortInputFormatSetupSubCommand[PortInputFormatSetupSubCommand["NOT_USED"] = 5] = "NOT_USED";
    PortInputFormatSetupSubCommand[PortInputFormatSetupSubCommand["RESET_SENSOR"] = 6] = "RESET_SENSOR";
})(PortInputFormatSetupSubCommand || (exports.PortInputFormatSetupSubCommand = PortInputFormatSetupSubCommand = {}));
/**
 * @typedef MarioPantsType
 * @param {number} NONE 0x00
 * @param {number} PROPELLER 0x06
 * @param {number} CAT 0x11
 * @param {number} FIRE 0x12
 * @param {number} NORMAL 0x21
 * @param {number} BUILDER 0x22
 */
var MarioPantsType;
(function (MarioPantsType) {
    MarioPantsType[MarioPantsType["NONE"] = 0] = "NONE";
    MarioPantsType[MarioPantsType["PROPELLER"] = 6] = "PROPELLER";
    MarioPantsType[MarioPantsType["CAT"] = 17] = "CAT";
    MarioPantsType[MarioPantsType["FIRE"] = 18] = "FIRE";
    MarioPantsType[MarioPantsType["NORMAL"] = 33] = "NORMAL";
    MarioPantsType[MarioPantsType["BUILDER"] = 34] = "BUILDER";
})(MarioPantsType || (exports.MarioPantsType = MarioPantsType = {}));
/**
 * @typedef MarioColor
 * @param {number} WHITE 0x1300
 * @param {number} RED 0x1500
 * @param {number} BLUE 0x1700
 * @param {number} YELLOW 0x1800
 * @param {number} BLACK 0x1a00
 * @param {number} GREEN 0x2500
 * @param {number} BROWN 0x6a00
 * @param {number} CYAN 0x4201
 */
var MarioColor;
(function (MarioColor) {
    MarioColor[MarioColor["WHITE"] = 4864] = "WHITE";
    MarioColor[MarioColor["RED"] = 5376] = "RED";
    MarioColor[MarioColor["BLUE"] = 5888] = "BLUE";
    MarioColor[MarioColor["YELLOW"] = 6144] = "YELLOW";
    MarioColor[MarioColor["BLACK"] = 6656] = "BLACK";
    MarioColor[MarioColor["GREEN"] = 9472] = "GREEN";
    MarioColor[MarioColor["BROWN"] = 27136] = "BROWN";
    MarioColor[MarioColor["CYAN"] = 16897] = "CYAN";
})(MarioColor || (exports.MarioColor = MarioColor = {}));
/**
 * @typedef TiltDirection
 * @param {number} NEUTRAL 0
 * @param {number} BACKWARD 3
 * @param {number} RIGHT 5
 * @param {number} LEFT 7
 * @param {number} FORWARD 9
 * @param {number} UNKNOWN 10
 */
var TiltDirection;
(function (TiltDirection) {
    TiltDirection[TiltDirection["NEUTRAL"] = 0] = "NEUTRAL";
    TiltDirection[TiltDirection["BACKWARD"] = 3] = "BACKWARD";
    TiltDirection[TiltDirection["RIGHT"] = 5] = "RIGHT";
    TiltDirection[TiltDirection["LEFT"] = 7] = "LEFT";
    TiltDirection[TiltDirection["FORWARD"] = 9] = "FORWARD";
    TiltDirection[TiltDirection["UNKNOWN"] = 10] = "UNKNOWN";
})(TiltDirection || (exports.TiltDirection = TiltDirection = {}));
/**
 * @typedef CommandFeedback
 * @param {number} TRANSMISSION_PENDING 0x00 waiting for previous commands to complete transmission or execution
 * @param {number} TRANSMISSION_BUSY 0x10 waiting for device to acknowledge reception
 * @param {number} TRANSMISSION_DISCARDED 0x44 interrupt command has been recieved or device disconnected
 * @param {number} EXECUTION_PENDING 0x20 device is waiting for previous command to complete
 * @param {number} EXECUTION_BUSY 0x21 device is executing the command
 * @param {number} EXECUTION_DISCARDED 0x24 device discarded the command e.g. due to interrupt
 * @param {number} EXECUTION_COMPLETED 0x22 device reported successful completion of command
 * @param {number} FEEDBACK_MISSING 0x66 device disconnected or failed to report feedback
 * @param {number} FEEDBACK_DISABLED 0x26 feedback not implemented for this command
 */
var CommandFeedback;
(function (CommandFeedback) {
    CommandFeedback[CommandFeedback["TRANSMISSION_PENDING"] = 0] = "TRANSMISSION_PENDING";
    CommandFeedback[CommandFeedback["TRANSMISSION_BUSY"] = 16] = "TRANSMISSION_BUSY";
    CommandFeedback[CommandFeedback["TRANSMISSION_DISCARDED"] = 68] = "TRANSMISSION_DISCARDED";
    CommandFeedback[CommandFeedback["EXECUTION_PENDING"] = 32] = "EXECUTION_PENDING";
    CommandFeedback[CommandFeedback["EXECUTION_BUSY"] = 33] = "EXECUTION_BUSY";
    CommandFeedback[CommandFeedback["EXECUTION_DISCARDED"] = 36] = "EXECUTION_DISCARDED";
    CommandFeedback[CommandFeedback["EXECUTION_COMPLETED"] = 34] = "EXECUTION_COMPLETED";
    CommandFeedback[CommandFeedback["FEEDBACK_MISSING"] = 102] = "FEEDBACK_MISSING";
    CommandFeedback[CommandFeedback["FEEDBACK_DISABLED"] = 38] = "FEEDBACK_DISABLED";
})(CommandFeedback || (exports.CommandFeedback = CommandFeedback = {}));
//# sourceMappingURL=consts.js.map