diff --git a/docs/BoostMoveHub.html b/docs/BoostMoveHub.html deleted file mode 100644 index 2100b70..0000000 --- a/docs/BoostMoveHub.html +++ /dev/null @@ -1,2809 +0,0 @@ - - - - - - - node-poweredup Class: BoostMoveHub - - - - - - - - - - - - - -
-
- - -
- -
- - -

Class: BoostMoveHub

-
- -
- -

- BoostMoveHub -

- - -
- - -
-
- - -
-
-

new BoostMoveHub()

- - -
-
- - -
-

The BoostMoveHub is emitted if the discovered device is a Boost Move Hub.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - - - - - - - - -

Methods

- -
- -
-
-

connect()

- - -
-
- - -
-

Connect to the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful connect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

createVirtualPort(firstPortName, secondPortName)

- - -
-
- - -
-

Combines two ports with into a single virtual port.

-

Note: The devices attached to the ports must be of the same device type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
firstPortName - - -string - - - - -

First port name

secondPortName - - -string - - - - -

Second port name

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

disconnect()

- - -
-
- - -
-

Disconnect the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

getDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

The device attached to the port.

-
- - - -
-
- Type -
-
- -Device -| - -undefined - - - -
-
- - - - - -
- - - -
-
-

getDevices()

- - -
-
- - -
-

Retrieves all attached devices.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all attached devices.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

getDevicesByType(deviceType)

- - -
-
- - -
-

Retrieves an array of devices of the specified type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all devices of the specified type.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

setName(name)

- - -
-
- - -
-

Set the name of the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -

New name of the hub (14 characters or less, ASCII only).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

shutdown()

- - -
-
- - -
-

Shutdown the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

sleep(delay)

- - -
-
- - -
-

Sleep a given amount of time.

-

Note: This is a helper method to make it easier to add delays into a chain of commands.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
delay - - -number - - - - -

How long to sleep (in milliseconds).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the delay is finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

wait(commands)

- - -
-
- - -
-

Wait until a given list of concurrently running commands are complete.

-

Note: This is a helper method to make it easier to wait for concurrent commands to complete.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
commands - - -Array.<Promise.<any>> - - - - -

Array of executing commands.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the commands are finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceByType(deviceType)

- - -
-
- - -
-

Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- -
- - - - - -

Events

- -
- -
-
-

attach

- - -
-
- - -
-

Emits when a device is attached to the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

button

- - -
-
- - -
-

Emits when a button is pressed.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
button - - -string - - - - -
state - - -ButtonState - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

detach

- - -
-
- - -
-

Emits when a device is detached from the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

disconnect

- - -
-
- - -
-

Emits when the hub is disconnected.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- -
- -
- - - - -
-
- -
- - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/ControlPlusHub.html b/docs/ControlPlusHub.html deleted file mode 100644 index 3e7dbbf..0000000 --- a/docs/ControlPlusHub.html +++ /dev/null @@ -1,2809 +0,0 @@ - - - - - - - node-poweredup Class: ControlPlusHub - - - - - - - - - - - - - -
-
- - -
- -
- - -

Class: ControlPlusHub

-
- -
- -

- ControlPlusHub -

- - -
- - -
-
- - -
-
-

new ControlPlusHub()

- - -
-
- - -
-

The ControlPlusHub is emitted if the discovered device is a Control+ Hub.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - - - - - - - - -

Methods

- -
- -
-
-

connect()

- - -
-
- - -
-

Connect to the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful connect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

createVirtualPort(firstPortName, secondPortName)

- - -
-
- - -
-

Combines two ports with into a single virtual port.

-

Note: The devices attached to the ports must be of the same device type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
firstPortName - - -string - - - - -

First port name

secondPortName - - -string - - - - -

Second port name

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

disconnect()

- - -
-
- - -
-

Disconnect the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

getDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

The device attached to the port.

-
- - - -
-
- Type -
-
- -Device -| - -undefined - - - -
-
- - - - - -
- - - -
-
-

getDevices()

- - -
-
- - -
-

Retrieves all attached devices.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all attached devices.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

getDevicesByType(deviceType)

- - -
-
- - -
-

Retrieves an array of devices of the specified type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all devices of the specified type.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

setName(name)

- - -
-
- - -
-

Set the name of the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -

New name of the hub (14 characters or less, ASCII only).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

shutdown()

- - -
-
- - -
-

Shutdown the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

sleep(delay)

- - -
-
- - -
-

Sleep a given amount of time.

-

Note: This is a helper method to make it easier to add delays into a chain of commands.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
delay - - -number - - - - -

How long to sleep (in milliseconds).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the delay is finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

wait(commands)

- - -
-
- - -
-

Wait until a given list of concurrently running commands are complete.

-

Note: This is a helper method to make it easier to wait for concurrent commands to complete.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
commands - - -Array.<Promise.<any>> - - - - -

Array of executing commands.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the commands are finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceByType(deviceType)

- - -
-
- - -
-

Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- -
- - - - - -

Events

- -
- -
-
-

attach

- - -
-
- - -
-

Emits when a device is attached to the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

button

- - -
-
- - -
-

Emits when a button is pressed.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
button - - -string - - - - -
state - - -ButtonState - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

detach

- - -
-
- - -
-

Emits when a device is detached from the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

disconnect

- - -
-
- - -
-

Emits when the hub is disconnected.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- -
- -
- - - - -
-
- -
- - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/PUPHub.html b/docs/PUPHub.html deleted file mode 100644 index 674da72..0000000 --- a/docs/PUPHub.html +++ /dev/null @@ -1,4030 +0,0 @@ - - - - - - - node-poweredup Class: PUPHub - - - - - - - - - - - - - -
-
- - -
- -
- - -

Class: PUPHub

-
- -
- -

- PUPHub -

- - -
- - -
-
- - -
-
-

new PUPHub()

- - -
-
- - -
-

The PUPHub is emitted if the discovered device is a Powered UP Hub.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - - - - - - -

Members

- -
- -
-
-

<readonly> batteryLevel

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
batteryLevel - - -number - - - - -

Battery level of the hub (Percentage between 0-100)

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> firmwareVersion

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
firmwareVersion - - -string - - - - -

Firmware version of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> hardwareVersion

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
hardwareVersion - - -string - - - - -

Hardware version of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> name

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -

Name of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> ports

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
ports - - -Array.<string> - - - - -

Array of port names

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> primaryMACAddress

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
primaryMACAddress - - -string - - - - -

Primary MAC address of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> rssi

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
rssi - - -number - - - - -

Signal strength of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> type

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
type - - -string - - - - -

Hub type

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> uuid

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
uuid - - -string - - - - -

UUID of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-
-

connect()

- - -
-
- - -
-

Connect to the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful connect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

createVirtualPort(firstPortName, secondPortName)

- - -
-
- - -
-

Combines two ports with into a single virtual port.

-

Note: The devices attached to the ports must be of the same device type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
firstPortName - - -string - - - - -

First port name

secondPortName - - -string - - - - -

Second port name

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

disconnect()

- - -
-
- - -
-

Disconnect the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

getDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

The device attached to the port.

-
- - - -
-
- Type -
-
- -Device -| - -undefined - - - -
-
- - - - - -
- - - -
-
-

getDevices()

- - -
-
- - -
-

Retrieves all attached devices.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all attached devices.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

getDevicesByType(deviceType)

- - -
-
- - -
-

Retrieves an array of devices of the specified type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all devices of the specified type.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

setName(name)

- - -
-
- - -
-

Set the name of the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -

New name of the hub (14 characters or less, ASCII only).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

shutdown()

- - -
-
- - -
-

Shutdown the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

sleep(delay)

- - -
-
- - -
-

Sleep a given amount of time.

-

Note: This is a helper method to make it easier to add delays into a chain of commands.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
delay - - -number - - - - -

How long to sleep (in milliseconds).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the delay is finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

wait(commands)

- - -
-
- - -
-

Wait until a given list of concurrently running commands are complete.

-

Note: This is a helper method to make it easier to wait for concurrent commands to complete.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
commands - - -Array.<Promise.<any>> - - - - -

Array of executing commands.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the commands are finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceByType(deviceType)

- - -
-
- - -
-

Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- -
- - - - - -

Events

- -
- -
-
-

attach

- - -
-
- - -
-

Emits when a device is attached to the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

button

- - -
-
- - -
-

Emits when a button is pressed.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
button - - -string - - - - -
state - - -ButtonState - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

detach

- - -
-
- - -
-

Emits when a device is detached from the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

disconnect

- - -
-
- - -
-

Emits when the hub is disconnected.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- -
- -
- - - - -
-
- -
- - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/PUPRemote.html b/docs/PUPRemote.html deleted file mode 100644 index 2d88405..0000000 --- a/docs/PUPRemote.html +++ /dev/null @@ -1,4030 +0,0 @@ - - - - - - - node-poweredup Class: PUPRemote - - - - - - - - - - - - - -
-
- - -
- -
- - -

Class: PUPRemote

-
- -
- -

- PUPRemote -

- - -
- - -
-
- - -
-
-

new PUPRemote()

- - -
-
- - -
-

The PUPRemote is emitted if the discovered device is a Powered UP Remote.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -
- - -

Extends

- - - - - - - - - - - - - - - - - - -

Members

- -
- -
-
-

<readonly> batteryLevel

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
batteryLevel - - -number - - - - -

Battery level of the hub (Percentage between 0-100)

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> firmwareVersion

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
firmwareVersion - - -string - - - - -

Firmware version of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> hardwareVersion

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
hardwareVersion - - -string - - - - -

Hardware version of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> name

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -

Name of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> ports

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
ports - - -Array.<string> - - - - -

Array of port names

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> primaryMACAddress

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
primaryMACAddress - - -string - - - - -

Primary MAC address of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> rssi

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
rssi - - -number - - - - -

Signal strength of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> type

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
type - - -string - - - - -

Hub type

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

<readonly> uuid

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
uuid - - -string - - - - -

UUID of the hub

-
- - - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-
-

connect()

- - -
-
- - -
-

Connect to the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful connect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

createVirtualPort(firstPortName, secondPortName)

- - -
-
- - -
-

Combines two ports with into a single virtual port.

-

Note: The devices attached to the ports must be of the same device type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
firstPortName - - -string - - - - -

First port name

secondPortName - - -string - - - - -

Second port name

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

disconnect()

- - -
-
- - -
-

Disconnect the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

getDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

The device attached to the port.

-
- - - -
-
- Type -
-
- -Device -| - -undefined - - - -
-
- - - - - -
- - - -
-
-

getDevices()

- - -
-
- - -
-

Retrieves all attached devices.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all attached devices.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

getDevicesByType(deviceType)

- - -
-
- - -
-

Retrieves an array of devices of the specified type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Array of all devices of the specified type.

-
- - - -
-
- Type -
-
- -Array.<Device> - - - -
-
- - - - - -
- - - -
-
-

setName(name)

- - -
-
- - -
-

Set the name of the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -

New name of the hub (14 characters or less, ASCII only).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful issuance of command.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

shutdown()

- - -
-
- - -
-

Shutdown the Hub.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved upon successful disconnect.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

sleep(delay)

- - -
-
- - -
-

Sleep a given amount of time.

-

Note: This is a helper method to make it easier to add delays into a chain of commands.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
delay - - -number - - - - -

How long to sleep (in milliseconds).

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the delay is finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

wait(commands)

- - -
-
- - -
-

Wait until a given list of concurrently running commands are complete.

-

Note: This is a helper method to make it easier to wait for concurrent commands to complete.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
commands - - -Array.<Promise.<any>> - - - - -

Array of executing commands.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved after the commands are finished.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceAtPort(portName)

- - -
-
- - -
-

Retrieves the device attached to a given port, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
portName - - -string - - - - -

The name of the port to retrieve the device from.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- - - -
-
-

waitForDeviceByType(deviceType)

- - -
-
- - -
-

Retrieves the first device attached of the specified type, waiting until one is attached if there isn't one.

-

Note: If a device is never attached, the returned promise may never resolve.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
deviceType - - -number - - - - -

The device type to lookup.

- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

Resolved once a device is attached, or resolved immediately if a device is already attached.

-
- - - -
-
- Type -
-
- -Promise - - - -
-
- - - - - -
- -
- - - - - -

Events

- -
- -
-
-

attach

- - -
-
- - -
-

Emits when a device is attached to the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

button

- - -
-
- - -
-

Emits when a button is pressed.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
button - - -string - - - - -
state - - -ButtonState - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - -
Overrides:
-
- - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

detach

- - -
-
- - -
-

Emits when a device is detached from the Hub.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
device - - -Device - - - - -
- - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

disconnect

- - -
-
- - -
-

Emits when the hub is disconnected.

-
- - - - - - - - - - -
- - - - - - - -
Inherited From:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- -
- -
- - - - -
-
- -
- - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/PoweredUP.html b/docs/PoweredUP.html deleted file mode 100644 index d9f67de..0000000 --- a/docs/PoweredUP.html +++ /dev/null @@ -1,1431 +0,0 @@ - - - - - - - node-poweredup Class: PoweredUP - - - - - - - - - - - - - -
-
- - -
- -
- - -

Class: PoweredUP

-
- -
- -

- PoweredUP -

- - -
- - -
-
- - -
-
-

new PoweredUP()

- - -
-
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - -
- - -

Extends

- - - - -
    -
  • EventEmitter
  • -
- - - - - - - - - - - - - - - -

Methods

- -
- -
-
-

getHubByPrimaryMACAddress(address)

- - -
-
- - -
-

Retrieve a Powered UP Hub by primary MAC address.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -string - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -BaseHub - - - -
-
- - - - - -
- - - -
-
-

getHubByUUID(uuid)

- - -
-
- - -
-

Retrieve a Powered UP Hub by UUID.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
uuid - - -string - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -BaseHub -| - -null - - - -
-
- - - - - -
- - - -
-
-

getHubs()

- - -
-
- - -
-

Retrieve a list of Powered UP Hubs.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<BaseHub> - - - -
-
- - - - - -
- - - -
-
-

getHubsByName(name)

- - -
-
- - -
-

Retrieve a list of Powered UP Hub by name.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<BaseHub> - - - -
-
- - - - - -
- - - -
-
-

getHubsByType(name)

- - -
-
- - -
-

Retrieve a list of Powered UP Hub by type.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<BaseHub> - - - -
-
- - - - - -
- - - -
-
-

scan()

- - -
-
- - -
-

Begin scanning for Powered UP Hub devices.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- - - -
-
-

stop()

- - -
-
- - -
-

Stop scanning for Powered UP Hub devices.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- - - - - -

Events

- -
- -
-
-

discover

- - -
-
- - -
-

Emits when a Powered UP Hub device is found.

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
hub - - -WeDo2SmartHub -| - -MoveHub -| - -TechnicMediumHub -| - -Hub -| - -RemoteControl -| - -DuploTrainBase - - - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - -
- -
- -
- -
- - - - -
-
- -
- - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/boostmovehub.js.html b/docs/boostmovehub.js.html deleted file mode 100644 index 85bb247..0000000 --- a/docs/boostmovehub.js.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - - node-poweredup Source: boostmovehub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: boostmovehub.js

- -
-
-
"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const compare_versions_1 = __importDefault(require("compare-versions"));
-const lpf2hub_1 = require("./lpf2hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const debug = Debug("boostmovehub");
-/**
- * The BoostMoveHub is emitted if the discovered device is a Boost Move Hub.
- * @class BoostMoveHub
- * @extends LPF2Hub
- * @extends Hub
- */
-class BoostMoveHub extends lpf2hub_1.LPF2Hub {
-    constructor(device, autoSubscribe = true) {
-        super(device, autoSubscribe);
-        this._currentPort = 0x3b;
-        this._voltagePort = 0x3c;
-        this.type = Consts.HubType.BOOST_MOVE_HUB;
-        this._ports = {
-            "A": new port_1.Port("A", 0),
-            "B": new port_1.Port("B", 1),
-            "C": new port_1.Port("C", 2),
-            "D": new port_1.Port("D", 3),
-            "TILT": new port_1.Port("TILT", 58)
-        };
-        this.on("attach", (port, type) => {
-            this._combinePorts(port, type);
-        });
-        debug("Discovered Boost Move Hub");
-    }
-    static IsBoostMoveHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.BOOST_MOVE_HUB_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Boost Move Hub");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-    /**
-     * Set the motor speed on a given port.
-     * @method BoostMoveHub#setMotorSpeed
-     * @param {string} port
-     * @param {number | Array.<number>} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @param {number} [time] How long to activate the motor for (in milliseconds). Leave empty to turn the motor on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the motor is finished.
-     */
-    setMotorSpeed(port, speed, time) {
-        const portObj = this._portLookup(port);
-        if (!this._virtualPorts[portObj.id] && speed instanceof Array) {
-            throw new Error(`Port ${portObj.id} can only accept a single speed`);
-        }
-        let cancelEventTimer = true;
-        if (typeof time === "boolean") {
-            if (time === true) {
-                cancelEventTimer = false;
-            }
-            time = undefined;
-        }
-        if (cancelEventTimer) {
-            portObj.cancelEventTimer();
-        }
-        return new Promise((resolve, reject) => {
-            if (time && typeof time === "number") {
-                if (portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-                    portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR) {
-                    portObj.busy = true;
-                    let data = null;
-                    if (this._virtualPorts[portObj.id]) {
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x0a, 0x00, 0x00, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-                    }
-                    else {
-                        // @ts-ignore: The type of speed is properly checked at the start
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x09, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                    }
-                    data.writeUInt16LE(time > 65535 ? 65535 : time, 4);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    portObj.finished = () => {
-                        return resolve();
-                    };
-                }
-                else {
-                    // @ts-ignore: The type of speed is properly checked at the start
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    const timeout = global.setTimeout(() => {
-                        const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                        return resolve();
-                        // @ts-ignore: The type of time is properly checked at the start
-                    }, time);
-                    portObj.setEventTimer(timeout);
-                }
-            }
-            else {
-                if (portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-                    portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR) {
-                    portObj.busy = true;
-                    let data = null;
-                    if (this._virtualPorts[portObj.id]) {
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x02, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-                    }
-                    else {
-                        // @ts-ignore: The type of speed is properly checked at the start
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x01, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                    }
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    portObj.finished = () => {
-                        return resolve();
-                    };
-                }
-                else {
-                    // @ts-ignore: The type of speed is properly checked at the start
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                }
-            }
-        });
-    }
-    /**
-     * Ramp the motor speed on a given port.
-     * @method BoostMoveHub#rampMotorSpeed
-     * @param {string} port
-     * @param {number} fromSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} toSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} time How long the ramp should last (in milliseconds).
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    rampMotorSpeed(port, fromSpeed, toSpeed, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            this._calculateRamp(fromSpeed, toSpeed, time, portObj)
-                .on("changeSpeed", (speed) => {
-                this.setMotorSpeed(port, speed, true);
-            })
-                .on("finished", resolve);
-        });
-    }
-    /**
-     * Rotate a motor by a given angle.
-     * @method BoostMoveHub#setMotorAngle
-     * @param {string} port
-     * @param {number} angle How much the motor should be rotated (in degrees).
-     * @param {number | Array.<number>} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    setMotorAngle(port, angle, speed = 100) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-            portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Angle rotation is only available when using a Boost Tacho Motor, Boost Move Hub Motor, Control+ Medium Motor, or Control+ Large Motor");
-        }
-        if (!this._virtualPorts[portObj.id] && speed instanceof Array) {
-            throw new Error(`Port ${portObj.id} can only accept a single speed`);
-        }
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            portObj.busy = true;
-            let data = null;
-            if (this._virtualPorts[portObj.id]) {
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0c, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-            }
-            else {
-                // @ts-ignore: The type of speed is properly checked at the start
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0b, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-            }
-            data.writeUInt32LE(angle, 4);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            portObj.finished = () => {
-                return resolve();
-            };
-        });
-    }
-    /**
-     * Tell motor to goto an absolute position
-     * @method BoostMoveHub#setAbsolutePosition
-     * @param {string} port
-     * @param {number} pos The position of the motor to go to
-     * @param {number | Array.<number>} [speed=100] A value between 1 - 100 should be set (Direction does not apply when going to absolute position)
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    setAbsolutePosition(port, pos, speed = 100) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Absolute positioning is only available when using a Control+ Medium Motor, or Control+ Large Motor");
-        }
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            portObj.busy = true;
-            let data = null;
-            if (this._virtualPorts[portObj.id]) {
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                data.writeInt32LE(pos, 4);
-                data.writeInt32LE(pos, 8);
-            }
-            else {
-                // @ts-ignore: The type of speed is properly checked at the start
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0d, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                data.writeInt32LE(pos, 4);
-            }
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            portObj.finished = () => {
-                return resolve();
-            };
-        });
-    }
-    /**
-     * Reset the current motor position as absolute position zero
-     * @method BoostMoveHub#resetAbsolutePosition
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    resetAbsolutePosition(port) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Absolute positioning is only available when using a Control+ Medium Motor, or Control+ Large Motor");
-        }
-        return new Promise((resolve) => {
-            const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x02, 0x00, 0x00, 0x00, 0x00]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            return resolve();
-        });
-    }
-    /**
-     * Fully (hard) stop the motor on a given port.
-     * @method BoostMoveHub#brakeMotor
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    brakeMotor(port) {
-        return this.setMotorSpeed(port, 127);
-    }
-    /**
-     * Set the light brightness on a given port.
-     * @method BoostMoveHub#setLightBrightness
-     * @param {string} port
-     * @param {number} brightness Brightness value between 0-100 (0 is off)
-     * @param {number} [time] How long to turn the light on (in milliseconds). Leave empty to turn the light on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the light is turned off.
-     */
-    setLightBrightness(port, brightness, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, brightness]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            if (time) {
-                const timeout = global.setTimeout(() => {
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    return resolve();
-                }, time);
-                portObj.setEventTimer(timeout);
-            }
-            else {
-                return resolve();
-            }
-        });
-    }
-    _checkFirmware(version) {
-        if (compare_versions_1.default("2.0.00.0017", version) === 1) {
-            throw new Error(`Your Boost Move Hub's (${this.name}) firmware is out of date and unsupported by this library. Please update it via the official Powered Up app.`);
-        }
-    }
-}
-exports.BoostMoveHub = BoostMoveHub;
-//# sourceMappingURL=boostmovehub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/consts.js.html b/docs/consts.js.html deleted file mode 100644 index 05bd8d0..0000000 --- a/docs/consts.js.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - node-poweredup Source: consts.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: consts.js

- -
-
-
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-/**
- * @typedef HubType
- * @property {number} UNKNOWN 0
- * @property {number} WEDO2_SMART_HUB 1
- * @property {number} MOVE_HUB 2
- * @property {number} POWERED_UP_HUB 3
- * @property {number} POWERED_UP_REMOTE 4
- * @property {number} DUPLO_TRAIN_HUB 5
- * @property {number} CONTROL_PLUS_HUB 6
- */
-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 = exports.HubType || (exports.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} LED_LIGHTS 8
- * @property {number} VOLTAGE 20
- * @property {number} CURRENT 21
- * @property {number} PIEZO_TONE 22
- * @property {number} RGB_LIGHT 23
- * @property {number} WEDO2_TILT 34
- * @property {number} WEDO2_DISTANCE 35
- * @property {number} COLOR_DISTANCE_SENSOR 37
- * @property {number} MEDIUM_LINEAR_MOTOR 38
- * @property {number} MOVE_HUB_MEDIUM_LINEAR_MOTOR 39
- * @property {number} BOOST_TILT 40
- * @property {number} DUPLO_TRAIN_BASE_MOTOR 41
- * @property {number} DUPLO_TRAIN_BASE_SPEAKER 42
- * @property {number} DUPLO_TRAIN_BASE_COLOR 43
- * @property {number} DUPLO_TRAIN_BASE_SPEEDOMETER 44
- * @property {number} CONTROL_PLUS_LARGE_MOTOR 46
- * @property {number} CONTROL_PLUS_XLARGE_MOTOR 47
- * @property {number} POWERED_UP_REMOTE_BUTTON 55
- * @property {number} RSSI 56
- * @property {number} CONTROL_PLUS_ACCELEROMETER 58
- * @property {number} CONTROL_PLUS_TILT 59
- */
-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"; // Spike Prime
-})(DeviceType = exports.DeviceType || (exports.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 || (exports.Color = {}));
-// tslint:disable-next-line
-exports.ColorNames = Color;
-/**
- * @typedef ButtonState
- * @property {number} PRESSED 0
- * @property {number} RELEASED 1
- * @property {number} UP 2
- * @property {number} DOWN 3
- * @property {number} STOP 4
- */
-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 || (exports.ButtonState = {}));
-/**
- * @typedef BrakingStyle
- * @property {number} HOLD 127
- * @property {number} BRAKE 128
- */
-var BrakingStyle;
-(function (BrakingStyle) {
-    BrakingStyle[BrakingStyle["HOLD"] = 127] = "HOLD";
-    BrakingStyle[BrakingStyle["BRAKE"] = 128] = "BRAKE";
-})(BrakingStyle = exports.BrakingStyle || (exports.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 || (exports.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["TECHNIC_MEDIUM_HUB"] = 128] = "TECHNIC_MEDIUM_HUB";
-})(BLEManufacturerData = exports.BLEManufacturerData || (exports.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 || (exports.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 || (exports.BLECharacteristic = {}));
-//# sourceMappingURL=consts.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/controlplushub.js.html b/docs/controlplushub.js.html deleted file mode 100644 index 3d31560..0000000 --- a/docs/controlplushub.js.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - node-poweredup Source: controlplushub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: controlplushub.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const lpf2hub_1 = require("./lpf2hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const debug = Debug("ControlPlusHub");
-/**
- * The ControlPlusHub is emitted if the discovered device is a Control+ Hub.
- * @class ControlPlusHub
- * @extends LPF2Hub
- * @extends Hub
- */
-class ControlPlusHub extends lpf2hub_1.LPF2Hub {
-    constructor(device, autoSubscribe = true) {
-        super(device, autoSubscribe);
-        this._currentPort = 0x3b;
-        this._currentMaxMA = 4175;
-        this._voltagePort = 0x3c;
-        this._voltageMaxRaw = 4095;
-        this._voltageMaxV = 9.615;
-        this.type = Consts.HubType.CONTROL_PLUS_HUB;
-        this._ports = {
-            "A": new port_1.Port("A", 0),
-            "B": new port_1.Port("B", 1),
-            "C": new port_1.Port("C", 2),
-            "D": new port_1.Port("D", 3),
-            "ACCEL": new port_1.Port("ACCEL", 97),
-            "GYRO": new port_1.Port("GYRO", 98),
-            "TILT": new port_1.Port("TILT", 99)
-        };
-        this.on("attach", (port, type) => {
-            this._combinePorts(port, type);
-        });
-        debug("Discovered Control+ Hub");
-    }
-    static IsControlPlusHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.CONTROL_PLUS_LARGE_HUB);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Control+ Hub");
-            await super.connect();
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x41, 0x3d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01])); // Temperature
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-    /**
-     * Set the motor speed on a given port.
-     * @method ControlPlusHub#setMotorSpeed
-     * @param {string} port
-     * @param {number | Array.<number>} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @param {number} [time] How long to activate the motor for (in milliseconds). Leave empty to turn the motor on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the motor is finished.
-     */
-    setMotorSpeed(port, speed, time) {
-        const portObj = this._portLookup(port);
-        if (!this._virtualPorts[portObj.id] && speed instanceof Array) {
-            throw new Error(`Port ${portObj.id} can only accept a single speed`);
-        }
-        let cancelEventTimer = true;
-        if (typeof time === "boolean") {
-            if (time === true) {
-                cancelEventTimer = false;
-            }
-            time = undefined;
-        }
-        if (cancelEventTimer) {
-            portObj.cancelEventTimer();
-        }
-        return new Promise((resolve, reject) => {
-            if (time && typeof time === "number") {
-                if (portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-                    portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR) {
-                    portObj.busy = true;
-                    let data = null;
-                    if (this._virtualPorts[portObj.id]) {
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x0a, 0x00, 0x00, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-                    }
-                    else {
-                        // @ts-ignore: The type of speed is properly checked at the start
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x09, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                    }
-                    data.writeUInt16LE(time > 65535 ? 65535 : time, 4);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    portObj.finished = () => {
-                        return resolve();
-                    };
-                }
-                else {
-                    // @ts-ignore: The type of speed is properly checked at the start
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    const timeout = global.setTimeout(() => {
-                        const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                        return resolve();
-                        // @ts-ignore: The type of time is properly checked at the start
-                    }, time);
-                    portObj.setEventTimer(timeout);
-                }
-            }
-            else {
-                if (portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR || portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR) {
-                    portObj.busy = true;
-                    let data = null;
-                    if (this._virtualPorts[portObj.id]) {
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x02, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-                    }
-                    else {
-                        // @ts-ignore: The type of speed is properly checked at the start
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x01, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                    }
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    portObj.finished = () => {
-                        return resolve();
-                    };
-                }
-                else {
-                    // @ts-ignore: The type of speed is properly checked at the start
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                }
-            }
-        });
-    }
-    /**
-     * Ramp the motor speed on a given port.
-     * @method ControlPlusHub#rampMotorSpeed
-     * @param {string} port
-     * @param {number} fromSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} toSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} time How long the ramp should last (in milliseconds).
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    rampMotorSpeed(port, fromSpeed, toSpeed, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            this._calculateRamp(fromSpeed, toSpeed, time, portObj)
-                .on("changeSpeed", (speed) => {
-                this.setMotorSpeed(port, speed, true);
-            })
-                .on("finished", resolve);
-        });
-    }
-    /**
-     * Rotate a motor by a given angle.
-     * @method ControlPlusHub#setMotorAngle
-     * @param {string} port
-     * @param {number} angle How much the motor should be rotated (in degrees).
-     * @param {number | Array.<number>} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    setMotorAngle(port, angle, speed = 100) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-            portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Angle rotation is only available when using a Boost Tacho Motor, Boost Move Hub Motor, Control+ Medium Motor, or Control+ Large Motor");
-        }
-        if (!this._virtualPorts[portObj.id] && speed instanceof Array) {
-            throw new Error(`Port ${portObj.id} can only accept a single speed`);
-        }
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            portObj.busy = true;
-            let data = null;
-            if (this._virtualPorts[portObj.id]) {
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0c, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-            }
-            else {
-                // @ts-ignore: The type of speed is properly checked at the start
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0b, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-            }
-            data.writeUInt32LE(angle, 4);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            portObj.finished = () => {
-                return resolve();
-            };
-        });
-    }
-    /**
-     * Tell motor to goto an absolute position
-     * @method ControlPlusHub#setAbsolutePosition
-     * @param {string} port
-     * @param {number} pos The position of the motor to go to
-     * @param {number | Array.<number>} [speed=100] A value between 1 - 100 should be set (Direction does not apply when going to absolute position)
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    setAbsolutePosition(port, pos, speed = 100) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Absolute positioning is only available when using a Control+ Medium Motor, or Control+ Large Motor");
-        }
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            portObj.busy = true;
-            let data = null;
-            if (this._virtualPorts[portObj.id]) {
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                data.writeInt32LE(pos, 4);
-                data.writeInt32LE(pos, 8);
-            }
-            else {
-                // @ts-ignore: The type of speed is properly checked at the start
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0d, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                data.writeInt32LE(pos, 4);
-            }
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            portObj.finished = () => {
-                return resolve();
-            };
-        });
-    }
-    /**
-     * Reset the current motor position as absolute position zero
-     * @method ControlPlusHub#resetAbsolutePosition
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    resetAbsolutePosition(port) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Absolute positioning is only available when using a Control+ Medium Motor, or Control+ Large Motor");
-        }
-        return new Promise((resolve) => {
-            const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x02, 0x00, 0x00, 0x00, 0x00]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            return resolve();
-        });
-    }
-    /**
-     * Fully (hard) stop the motor on a given port.
-     * @method ControlPlusHub#brakeMotor
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    brakeMotor(port) {
-        return this.setMotorSpeed(port, 127);
-    }
-    /**
-     * Set the light brightness on a given port.
-     * @method ControlPlusHub#setLightBrightness
-     * @param {string} port
-     * @param {number} brightness Brightness value between 0-100 (0 is off)
-     * @param {number} [time] How long to turn the light on (in milliseconds). Leave empty to turn the light on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the light is turned off.
-     */
-    setLightBrightness(port, brightness, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, brightness]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            if (time) {
-                const timeout = global.setTimeout(() => {
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    return resolve();
-                }, time);
-                portObj.setEventTimer(timeout);
-            }
-            else {
-                return resolve();
-            }
-        });
-    }
-}
-exports.ControlPlusHub = ControlPlusHub;
-//# sourceMappingURL=controlplushub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/duplotrainbase.js.html b/docs/duplotrainbase.js.html deleted file mode 100644 index a5a8eea..0000000 --- a/docs/duplotrainbase.js.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - node-poweredup Source: duplotrainbase.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: duplotrainbase.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const lpf2hub_1 = require("./lpf2hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const debug = Debug("duplotrainbase");
-/**
- * The DuploTrainBase is emitted if the discovered device is a Duplo Train Base.
- * @class DuploTrainBase
- * @extends LPF2Hub
- * @extends Hub
- */
-class DuploTrainBase extends lpf2hub_1.LPF2Hub {
-    constructor(device, autoSubscribe = true) {
-        super(device, autoSubscribe);
-        this._ledPort = 0x11;
-        this._voltagePort = 0x14;
-        this._voltageMaxV = 6.4;
-        this._voltageMaxRaw = 3047;
-        this.type = Consts.HubType.DUPLO_TRAIN_HUB;
-        this._ports = {
-            "MOTOR": new port_1.Port("MOTOR", 0),
-            "COLOR": new port_1.Port("COLOR", 18),
-            "SPEEDOMETER": new port_1.Port("SPEEDOMETER", 19)
-        };
-        debug("Discovered Duplo Train Base");
-    }
-    static IsDuploTrainBase(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.DUPLO_TRAIN_HUB_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Duplo Train Base");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-    /**
-     * Set the motor speed on a given port.
-     * @method DuploTrainBase#setMotorSpeed
-     * @param {string} port
-     * @param {number | Array.<number>} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @param {number} [time] How long to activate the motor for (in milliseconds). Leave empty to turn the motor on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the motor is finished.
-     */
-    setMotorSpeed(port, speed, time) {
-        const portObj = this._portLookup(port);
-        let cancelEventTimer = true;
-        if (typeof time === "boolean") {
-            if (time === true) {
-                cancelEventTimer = false;
-            }
-            time = undefined;
-        }
-        if (cancelEventTimer) {
-            portObj.cancelEventTimer();
-        }
-        return new Promise((resolve, reject) => {
-            if (time && typeof time === "number") {
-                const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                const timeout = global.setTimeout(() => {
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    return resolve();
-                }, time);
-                portObj.setEventTimer(timeout);
-            }
-            else {
-                const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                return resolve();
-            }
-        });
-    }
-    /**
-     * Ramp the motor speed on a given port.
-     * @method DuploTrainBase#rampMotorSpeed
-     * @param {string} port
-     * @param {number} fromSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} toSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} time How long the ramp should last (in milliseconds).
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    rampMotorSpeed(port, fromSpeed, toSpeed, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            this._calculateRamp(fromSpeed, toSpeed, time, portObj)
-                .on("changeSpeed", (speed) => {
-                this.setMotorSpeed(port, speed, true);
-            })
-                .on("finished", resolve);
-        });
-    }
-    /**
-     * Fully (hard) stop the motor on a given port.
-     * @method DuploTrainBase#brakeMotor
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    brakeMotor(port) {
-        return this.setMotorSpeed(port, 127);
-    }
-    /**
-     * Play a built-in train sound.
-     * @method DuploTrainBase#playSound
-     * @param {DuploTrainBaseSound} sound
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    playSound(sound) {
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from([0x81, 0x01, 0x11, 0x51, 0x01, sound]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            return resolve();
-        });
-    }
-}
-exports.DuploTrainBase = DuploTrainBase;
-//# sourceMappingURL=duplotrainbase.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/fonts/OpenSans-Bold-webfont.eot b/docs/fonts/OpenSans-Bold-webfont.eot deleted file mode 100644 index 5d20d91..0000000 Binary files a/docs/fonts/OpenSans-Bold-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Bold-webfont.svg b/docs/fonts/OpenSans-Bold-webfont.svg deleted file mode 100644 index 3ed7be4..0000000 --- a/docs/fonts/OpenSans-Bold-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Bold-webfont.woff b/docs/fonts/OpenSans-Bold-webfont.woff deleted file mode 100644 index 1205787..0000000 Binary files a/docs/fonts/OpenSans-Bold-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.eot b/docs/fonts/OpenSans-BoldItalic-webfont.eot deleted file mode 100644 index 1f639a1..0000000 Binary files a/docs/fonts/OpenSans-BoldItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.svg b/docs/fonts/OpenSans-BoldItalic-webfont.svg deleted file mode 100644 index 6a2607b..0000000 --- a/docs/fonts/OpenSans-BoldItalic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.woff b/docs/fonts/OpenSans-BoldItalic-webfont.woff deleted file mode 100644 index ed760c0..0000000 Binary files a/docs/fonts/OpenSans-BoldItalic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Italic-webfont.eot b/docs/fonts/OpenSans-Italic-webfont.eot deleted file mode 100644 index 0c8a0ae..0000000 Binary files a/docs/fonts/OpenSans-Italic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Italic-webfont.svg b/docs/fonts/OpenSans-Italic-webfont.svg deleted file mode 100644 index e1075dc..0000000 --- a/docs/fonts/OpenSans-Italic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Italic-webfont.woff b/docs/fonts/OpenSans-Italic-webfont.woff deleted file mode 100644 index ff652e6..0000000 Binary files a/docs/fonts/OpenSans-Italic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Light-webfont.eot b/docs/fonts/OpenSans-Light-webfont.eot deleted file mode 100644 index 1486840..0000000 Binary files a/docs/fonts/OpenSans-Light-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Light-webfont.svg b/docs/fonts/OpenSans-Light-webfont.svg deleted file mode 100644 index 11a472c..0000000 --- a/docs/fonts/OpenSans-Light-webfont.svg +++ /dev/null @@ -1,1831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Light-webfont.woff b/docs/fonts/OpenSans-Light-webfont.woff deleted file mode 100644 index e786074..0000000 Binary files a/docs/fonts/OpenSans-Light-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.eot b/docs/fonts/OpenSans-LightItalic-webfont.eot deleted file mode 100644 index 8f44592..0000000 Binary files a/docs/fonts/OpenSans-LightItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.svg b/docs/fonts/OpenSans-LightItalic-webfont.svg deleted file mode 100644 index 431d7e3..0000000 --- a/docs/fonts/OpenSans-LightItalic-webfont.svg +++ /dev/null @@ -1,1835 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-LightItalic-webfont.woff b/docs/fonts/OpenSans-LightItalic-webfont.woff deleted file mode 100644 index 43e8b9e..0000000 Binary files a/docs/fonts/OpenSans-LightItalic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Regular-webfont.eot b/docs/fonts/OpenSans-Regular-webfont.eot deleted file mode 100644 index 6bbc3cf..0000000 Binary files a/docs/fonts/OpenSans-Regular-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Regular-webfont.svg b/docs/fonts/OpenSans-Regular-webfont.svg deleted file mode 100644 index 25a3952..0000000 --- a/docs/fonts/OpenSans-Regular-webfont.svg +++ /dev/null @@ -1,1831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Regular-webfont.woff b/docs/fonts/OpenSans-Regular-webfont.woff deleted file mode 100644 index e231183..0000000 Binary files a/docs/fonts/OpenSans-Regular-webfont.woff and /dev/null differ diff --git a/docs/global.html b/docs/global.html deleted file mode 100644 index 2d215b1..0000000 --- a/docs/global.html +++ /dev/null @@ -1,4084 +0,0 @@ - - - - - - - node-poweredup Global - - - - - - - - - - - - - -
-
- - -
- -
- - -

Global

-
- -
- -

- -

- - -
- - -
-
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - - - - - - - - - - - - -

Type Definitions

- -
- -
-
-

BrakingStyle

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
HOLD - - -number - - - - -

127

BRAKE - - -number - - - - -

128

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

BrakingStyle

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
HOLD - - -number - - - - -

127

BRAKE - - -number - - - - -

128

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

ButtonState

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
PRESSED - - -number - - - - -

0

RELEASED - - -number - - - - -

1

UP - - -number - - - - -

2

DOWN - - -number - - - - -

3

STOP - - -number - - - - -

4

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

ButtonState

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
PRESSED - - -number - - - - -

0

RELEASED - - -number - - - - -

1

UP - - -number - - - - -

2

DOWN - - -number - - - - -

3

STOP - - -number - - - - -

4

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

Color

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
BLACK - - -number - - - - -

0

PINK - - -number - - - - -

1

PURPLE - - -number - - - - -

2

BLUE - - -number - - - - -

3

LIGHT_BLUE - - -number - - - - -

4

CYAN - - -number - - - - -

5

GREEN - - -number - - - - -

6

YELLOW - - -number - - - - -

7

ORANGE - - -number - - - - -

8

RED - - -number - - - - -

9

WHITE - - -number - - - - -

10

NONE - - -number - - - - -

255

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

Color

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
BLACK - - -number - - - - -

0

PINK - - -number - - - - -

1

PURPLE - - -number - - - - -

2

BLUE - - -number - - - - -

3

LIGHT_BLUE - - -number - - - - -

4

CYAN - - -number - - - - -

5

GREEN - - -number - - - - -

6

YELLOW - - -number - - - - -

7

ORANGE - - -number - - - - -

8

RED - - -number - - - - -

9

WHITE - - -number - - - - -

10

NONE - - -number - - - - -

255

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

DeviceType

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
UNKNOWN - - -number - - - - -

0

SIMPLE_MEDIUM_LINEAR_MOTOR - - -number - - - - -

1

TRAIN_MOTOR - - -number - - - - -

2

LED_LIGHTS - - -number - - - - -

8

VOLTAGE - - -number - - - - -

20

CURRENT - - -number - - - - -

21

PIEZO_TONE - - -number - - - - -

22

RGB_LIGHT - - -number - - - - -

23

WEDO2_TILT - - -number - - - - -

34

WEDO2_DISTANCE - - -number - - - - -

35

COLOR_DISTANCE_SENSOR - - -number - - - - -

37

MEDIUM_LINEAR_MOTOR - - -number - - - - -

38

MOVE_HUB_MEDIUM_LINEAR_MOTOR - - -number - - - - -

39

BOOST_TILT - - -number - - - - -

40

DUPLO_TRAIN_BASE_MOTOR - - -number - - - - -

41

DUPLO_TRAIN_BASE_SPEAKER - - -number - - - - -

42

DUPLO_TRAIN_BASE_COLOR - - -number - - - - -

43

DUPLO_TRAIN_BASE_SPEEDOMETER - - -number - - - - -

44

CONTROL_PLUS_LARGE_MOTOR - - -number - - - - -

46

CONTROL_PLUS_XLARGE_MOTOR - - -number - - - - -

47

POWERED_UP_REMOTE_BUTTON - - -number - - - - -

55

RSSI - - -number - - - - -

56

CONTROL_PLUS_ACCELEROMETER - - -number - - - - -

58

CONTROL_PLUS_TILT - - -number - - - - -

59

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

DeviceType

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
UNKNOWN - - -number - - - - -

0

SIMPLE_MEDIUM_LINEAR_MOTOR - - -number - - - - -

1

TRAIN_MOTOR - - -number - - - - -

2

LED_LIGHTS - - -number - - - - -

8

VOLTAGE - - -number - - - - -

20

CURRENT - - -number - - - - -

21

PIEZO_TONE - - -number - - - - -

22

RGB_LIGHT - - -number - - - - -

23

WEDO2_TILT - - -number - - - - -

34

WEDO2_DISTANCE - - -number - - - - -

35

COLOR_DISTANCE_SENSOR - - -number - - - - -

37

MEDIUM_LINEAR_MOTOR - - -number - - - - -

38

MOVE_HUB_MEDIUM_LINEAR_MOTOR - - -number - - - - -

39

BOOST_TILT - - -number - - - - -

40

DUPLO_TRAIN_BASE_MOTOR - - -number - - - - -

41

DUPLO_TRAIN_BASE_SPEAKER - - -number - - - - -

42

DUPLO_TRAIN_BASE_COLOR - - -number - - - - -

43

DUPLO_TRAIN_BASE_SPEEDOMETER - - -number - - - - -

44

CONTROL_PLUS_LARGE_MOTOR - - -number - - - - -

46

CONTROL_PLUS_XLARGE_MOTOR - - -number - - - - -

47

POWERED_UP_REMOTE_BUTTON - - -number - - - - -

55

RSSI - - -number - - - - -

56

CONTROL_PLUS_ACCELEROMETER - - -number - - - - -

58

CONTROL_PLUS_TILT - - -number - - - - -

59

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

DuploTrainBaseSound

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
BRAKE - - -number - - - - -

3

STATION_DEPARTURE - - -number - - - - -

5

WATER_REFILL - - -number - - - - -

7

HORN - - -number - - - - -

9

STEAM - - -number - - - - -

10

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

DuploTrainBaseSound

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
BRAKE - - -number - - - - -

3

STATION_DEPARTURE - - -number - - - - -

5

WATER_REFILL - - -number - - - - -

7

HORN - - -number - - - - -

9

STEAM - - -number - - - - -

10

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

HubType

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
UNKNOWN - - -number - - - - -

0

WEDO2_SMART_HUB - - -number - - - - -

1

MOVE_HUB - - -number - - - - -

2

POWERED_UP_HUB - - -number - - - - -

3

POWERED_UP_REMOTE - - -number - - - - -

4

DUPLO_TRAIN_HUB - - -number - - - - -

5

CONTROL_PLUS_HUB - - -number - - - - -

6

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- - - -
-
-

HubType

- - -
-
- - - - - -
- - -
Properties:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
UNKNOWN - - -number - - - - -

0

WEDO2_SMART_HUB - - -number - - - - -

1

MOVE_HUB - - -number - - - - -

2

POWERED_UP_HUB - - -number - - - - -

3

POWERED_UP_REMOTE - - -number - - - - -

4

DUPLO_TRAIN_HUB - - -number - - - - -

5

CONTROL_PLUS_HUB - - -number - - - - -

6

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - -
- -
- - - -
- -
- - - - -
-
- -
- - -
- -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/hub.js.html b/docs/hub.js.html deleted file mode 100644 index 8d0fa15..0000000 --- a/docs/hub.js.html +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - node-poweredup Source: hub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: hub.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const events_1 = require("events");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const debug = Debug("hub");
-/**
- * @class Hub
- * @extends EventEmitter
- */
-class Hub extends events_1.EventEmitter {
-    constructor(device, autoSubscribe = true) {
-        super();
-        this.autoSubscribe = true;
-        this.useSpeedMap = true;
-        this.type = Consts.HubType.UNKNOWN;
-        this._ports = {};
-        this._virtualPorts = {};
-        this._name = "";
-        this._firmwareVersion = "0.0.00.0000";
-        this._hardwareVersion = "0.0.00.0000";
-        this._primaryMACAddress = "00:00:00:00:00:00";
-        this._batteryLevel = 100;
-        this._voltage = 0;
-        this._current = 0;
-        this._rssi = -60;
-        this._isConnecting = false;
-        this._isConnected = false;
-        this.autoSubscribe = !!autoSubscribe;
-        this._bleDevice = device;
-        device.on("disconnect", () => {
-            /**
-             * Emits when the hub is disconnected.
-             * @event Hub#disconnect
-             */
-            this.emit("disconnect");
-        });
-    }
-    /**
-     * @readonly
-     * @property {string} name Name of the hub
-     */
-    get name() {
-        return this._bleDevice.name;
-    }
-    /**
-     * @readonly
-     * @property {string} firmwareVersion Firmware version of the hub
-     */
-    get firmwareVersion() {
-        return this._firmwareVersion;
-    }
-    /**
-     * @readonly
-     * @property {string} firmwareVersion Hardware version of the hub
-     */
-    get hardwareVersion() {
-        return this._hardwareVersion;
-    }
-    /**
-     * @readonly
-     * @property {string} primaryMACAddress Primary MAC address of the hub
-     */
-    get primaryMACAddress() {
-        return this._primaryMACAddress;
-    }
-    /**
-     * @readonly
-     * @property {string} uuid UUID of the hub
-     */
-    get uuid() {
-        return this._bleDevice.uuid;
-    }
-    /**
-     * @readonly
-     * @property {number} batteryLevel Battery level of the hub (Percentage between 0-100)
-     */
-    get batteryLevel() {
-        return this._batteryLevel;
-    }
-    /**
-     * @readonly
-     * @property {number} rssi Signal strength of the hub
-     */
-    get rssi() {
-        return this._rssi;
-    }
-    /**
-     * @readonly
-     * @property {number} voltage Voltage of the hub (Volts)
-     */
-    get voltage() {
-        return this._voltage;
-    }
-    /**
-     * @readonly
-     * @property {number} current Current usage of the hub (Milliamps)
-     */
-    get current() {
-        return this._current;
-    }
-    /**
-     * Connect to the Hub.
-     * @method Hub#connect
-     * @returns {Promise} Resolved upon successful connect.
-     */
-    connect() {
-        return new Promise(async (connectResolve, connectReject) => {
-            if (this._bleDevice.connecting) {
-                return connectReject("Already connecting");
-            }
-            else if (this._bleDevice.connected) {
-                return connectReject("Already connected");
-            }
-            this._isConnecting = true;
-            await this._bleDevice.connect();
-            return connectResolve();
-        });
-    }
-    /**
-     * Disconnect the Hub.
-     * @method Hub#disconnect
-     * @returns {Promise} Resolved upon successful disconnect.
-     */
-    async disconnect() {
-        this._bleDevice.disconnect();
-    }
-    /**
-     * Subscribe to sensor notifications on a given port.
-     * @method Hub#subscribe
-     * @param {string} port
-     * @param {number} [mode] The sensor mode to activate. If no mode is provided, the default for that sensor will be chosen.
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    subscribe(port, mode) {
-        return new Promise((resolve, reject) => {
-            let newMode = this._getModeForDeviceType(this._portLookup(port).type);
-            if (mode !== undefined) {
-                newMode = mode;
-            }
-            this._activatePortDevice(this._portLookup(port).value, this._portLookup(port).type, newMode, 0x00, () => {
-                return resolve();
-            });
-        });
-    }
-    /**
-     * Unsubscribe to sensor notifications on a given port.
-     * @method Hub#unsubscribe
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    unsubscribe(port) {
-        return new Promise((resolve, reject) => {
-            const mode = this._getModeForDeviceType(this._portLookup(port).type);
-            this._deactivatePortDevice(this._portLookup(port).value, this._portLookup(port).type, mode, 0x00, () => {
-                return resolve();
-            });
-        });
-    }
-    /**
-     * Sleep a given amount of time.
-     *
-     * This is a helper method to make it easier to add delays into a chain of commands.
-     * @method Hub#sleep
-     * @param {number} delay How long to sleep (in milliseconds).
-     * @returns {Promise} Resolved after the delay is finished.
-     */
-    sleep(delay) {
-        return new Promise((resolve) => {
-            global.setTimeout(resolve, delay);
-        });
-    }
-    /**
-     * Wait until a given list of concurrently running commands are complete.
-     *
-     * This is a helper method to make it easier to wait for concurrent commands to complete.
-     * @method Hub#wait
-     * @param {Array<Promise<any>>} commands Array of executing commands.
-     * @returns {Promise} Resolved after the commands are finished.
-     */
-    wait(commands) {
-        return Promise.all(commands);
-    }
-    /**
-     * Get the hub type.
-     * @method Hub#getHubType
-     * @returns {HubType}
-     */
-    getHubType() {
-        return this.type;
-    }
-    /**
-     * Get the device type for a given port.
-     * @method Hub#getPortDeviceType
-     * @param {string} port
-     * @returns {DeviceType}
-     */
-    getPortDeviceType(port) {
-        return this._portLookup(port).type;
-    }
-    // protected _getCharacteristic (uuid: string) {
-    //     return this._characteristics[uuid.replace(/-/g, "")];
-    // }
-    // protected _subscribeToCharacteristic (characteristic: Characteristic, callback: (data: Buffer) => void) {
-    //     characteristic.on("data", (data: Buffer) => {
-    //         return callback(data);
-    //     });
-    //     characteristic.subscribe((err) => {
-    //         if (err) {
-    //             this.emit("error", err);
-    //         }
-    //     });
-    // }
-    _activatePortDevice(port, type, mode, format, callback) {
-        if (callback) {
-            callback();
-        }
-    }
-    _deactivatePortDevice(port, type, mode, format, callback) {
-        if (callback) {
-            callback();
-        }
-    }
-    _registerDeviceAttachment(port, type) {
-        if (port.connected) {
-            port.type = type;
-            if (this.autoSubscribe) {
-                this._activatePortDevice(port.value, type, this._getModeForDeviceType(type), 0x00);
-            }
-            /**
-             * Emits when a motor or sensor is attached to the Hub.
-             * @event Hub#attach
-             * @param {string} port
-             * @param {DeviceType} type
-             */
-            this.emit("attach", port.id, type);
-        }
-        else {
-            port.type = Consts.DeviceType.UNKNOWN;
-            debug(`Port ${port.id} disconnected`);
-            /**
-             * Emits when an attached motor or sensor is detached from the Hub.
-             * @event Hub#detach
-             * @param {string} port
-             */
-            if (this._virtualPorts[port.id]) {
-                delete this._virtualPorts[port.id];
-            }
-            this.emit("detach", port.id);
-        }
-    }
-    _getPortForPortNumber(num) {
-        for (const key of Object.keys(this._ports)) {
-            if (this._ports[key].value === num) {
-                return this._ports[key];
-            }
-        }
-        for (const key of Object.keys(this._virtualPorts)) {
-            if (this._virtualPorts[key].value === num) {
-                return this._virtualPorts[key];
-            }
-        }
-        return false;
-    }
-    _mapSpeed(speed) {
-        if (!this.useSpeedMap) {
-            return speed;
-        }
-        if (speed === 127) {
-            return 127; // Hard stop
-        }
-        if (speed > 100) {
-            speed = 100;
-        }
-        else if (speed < -100) {
-            speed = -100;
-        }
-        return speed;
-    }
-    _calculateRamp(fromSpeed, toSpeed, time, port) {
-        const emitter = new events_1.EventEmitter();
-        const steps = Math.abs(toSpeed - fromSpeed);
-        let delay = time / steps;
-        let increment = 1;
-        if (delay < 50 && steps > 0) {
-            increment = 50 / delay;
-            delay = 50;
-        }
-        if (fromSpeed > toSpeed) {
-            increment = -increment;
-        }
-        let i = 0;
-        const interval = setInterval(() => {
-            let speed = Math.round(fromSpeed + (++i * increment));
-            if (toSpeed > fromSpeed && speed > toSpeed) {
-                speed = toSpeed;
-            }
-            else if (fromSpeed > toSpeed && speed < toSpeed) {
-                speed = toSpeed;
-            }
-            emitter.emit("changeSpeed", speed);
-            if (speed === toSpeed) {
-                clearInterval(interval);
-                emitter.emit("finished");
-            }
-        }, delay);
-        port.setEventTimer(interval);
-        return emitter;
-    }
-    _portLookup(portName) {
-        const portNameUpper = portName.toUpperCase();
-        const port = this._ports[portNameUpper] || this._virtualPorts[portNameUpper];
-        if (!port) {
-            throw new Error(`Port ${portNameUpper} does not exist on this Hub type`);
-        }
-        return port;
-    }
-    _getModeForDeviceType(type) {
-        switch (type) {
-            case Consts.DeviceType.BASIC_MOTOR:
-                return 0x02;
-            case Consts.DeviceType.TRAIN_MOTOR:
-                return 0x02;
-            case Consts.DeviceType.BOOST_TACHO_MOTOR:
-                return 0x02;
-            case Consts.DeviceType.BOOST_MOVE_HUB_MOTOR:
-                return 0x02;
-            case Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR:
-                return 0x02;
-            case Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR:
-                return 0x02;
-            case Consts.DeviceType.CONTROL_PLUS_TILT:
-                return 0x00;
-            case Consts.DeviceType.CONTROL_PLUS_ACCELEROMETER:
-                return 0x00;
-            case Consts.DeviceType.BOOST_DISTANCE:
-                return (this.type === Consts.HubType.WEDO2_SMART_HUB ? 0x00 : 0x08);
-            case Consts.DeviceType.BOOST_TILT:
-                return 0x04;
-            default:
-                return 0x00;
-        }
-    }
-}
-exports.Hub = Hub;
-//# sourceMappingURL=hub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/hubs_boostmovehub.js.html b/docs/hubs_boostmovehub.js.html deleted file mode 100644 index 7407d47..0000000 --- a/docs/hubs_boostmovehub.js.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - node-poweredup Source: hubs/boostmovehub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: hubs/boostmovehub.js

- -
-
-
"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const compare_versions_1 = __importDefault(require("compare-versions"));
-const lpf2hub_1 = require("./lpf2hub");
-const Consts = __importStar(require("../consts"));
-const Debug = require("debug");
-const debug = Debug("boostmovehub");
-/**
- * The BoostMoveHub is emitted if the discovered device is a Boost Move Hub.
- * @class BoostMoveHub
- * @extends LPF2Hub
- * @extends Hub
- */
-class BoostMoveHub extends lpf2hub_1.LPF2Hub {
-    constructor(device) {
-        super(device, Consts.HubType.BOOST_MOVE_HUB);
-        this._currentPort = 0x3b;
-        this._voltagePort = 0x3c;
-        this._portNames = {
-            "A": 0,
-            "B": 1,
-            "C": 2,
-            "D": 3,
-            "TILT": 58
-        };
-        debug("Discovered Boost Move Hub");
-    }
-    static IsBoostMoveHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.BOOST_MOVE_HUB_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Boost Move Hub");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-    _checkFirmware(version) {
-        if (compare_versions_1.default("2.0.00.0017", version) === 1) {
-            throw new Error(`Your Boost Move Hub's (${this.name}) firmware is out of date and unsupported by this library. Please update it via the official Powered Up app.`);
-        }
-    }
-}
-exports.BoostMoveHub = BoostMoveHub;
-//# sourceMappingURL=boostmovehub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/hubs_controlplushub.js.html b/docs/hubs_controlplushub.js.html deleted file mode 100644 index dd41ddd..0000000 --- a/docs/hubs_controlplushub.js.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - node-poweredup Source: hubs/controlplushub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: hubs/controlplushub.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const lpf2hub_1 = require("./lpf2hub");
-const Consts = __importStar(require("../consts"));
-const Debug = require("debug");
-const debug = Debug("ControlPlusHub");
-/**
- * The ControlPlusHub is emitted if the discovered device is a Control+ Hub.
- * @class ControlPlusHub
- * @extends LPF2Hub
- * @extends Hub
- */
-class ControlPlusHub extends lpf2hub_1.LPF2Hub {
-    constructor(device) {
-        super(device, Consts.HubType.CONTROL_PLUS_HUB);
-        this._currentPort = 0x3b;
-        this._currentMaxMA = 4175;
-        this._voltagePort = 0x3c;
-        this._voltageMaxRaw = 4095;
-        this._voltageMaxV = 9.615;
-        this._portNames = {
-            "A": 0,
-            "B": 1,
-            "C": 2,
-            "D": 3,
-            "ACCEL": 97,
-            "GYRO": 98,
-            "TILT": 99
-        };
-        debug("Discovered Control+ Hub");
-    }
-    static IsControlPlusHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.CONTROL_PLUS_LARGE_HUB);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Control+ Hub");
-            await super.connect();
-            this.send(Buffer.from([0x41, 0x3d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01]), Consts.BLECharacteristic.LPF2_ALL); // Temperature
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-}
-exports.ControlPlusHub = ControlPlusHub;
-//# sourceMappingURL=controlplushub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/hubs_puphub.js.html b/docs/hubs_puphub.js.html deleted file mode 100644 index 90d7df8..0000000 --- a/docs/hubs_puphub.js.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - node-poweredup Source: hubs/puphub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: hubs/puphub.js

- -
-
-
"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const compare_versions_1 = __importDefault(require("compare-versions"));
-const lpf2hub_1 = require("./lpf2hub");
-const Consts = __importStar(require("../consts"));
-const Debug = require("debug");
-const debug = Debug("puphub");
-/**
- * The PUPHub is emitted if the discovered device is a Powered UP Hub.
- * @class PUPHub
- * @extends LPF2Hub
- * @extends Hub
- */
-class PUPHub extends lpf2hub_1.LPF2Hub {
-    constructor(device) {
-        super(device, Consts.HubType.POWERED_UP_HUB);
-        this._currentPort = 0x3b;
-        this._voltagePort = 0x3c;
-        this._portNames = {
-            "A": 0,
-            "B": 1
-        };
-        debug("Discovered Powered UP Hub");
-    }
-    static IsPUPHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.POWERED_UP_HUB_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Powered UP Hub");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-    _checkFirmware(version) {
-        if (compare_versions_1.default("1.1.00.0004", version) === 1) {
-            throw new Error(`Your Powered Up Hub's (${this.name}) firmware is out of date and unsupported by this library. Please update it via the official Powered Up app.`);
-        }
-    }
-}
-exports.PUPHub = PUPHub;
-//# sourceMappingURL=puphub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/hubs_pupremote.js.html b/docs/hubs_pupremote.js.html deleted file mode 100644 index 826c4de..0000000 --- a/docs/hubs_pupremote.js.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - node-poweredup Source: hubs/pupremote.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: hubs/pupremote.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const lpf2hub_1 = require("./lpf2hub");
-const Consts = __importStar(require("../consts"));
-const Debug = require("debug");
-const debug = Debug("pupremote");
-/**
- * The PUPRemote is emitted if the discovered device is a Powered UP Remote.
- * @class PUPRemote
- * @extends LPF2Hub
- * @extends Hub
- */
-class PUPRemote extends lpf2hub_1.LPF2Hub {
-    constructor(device) {
-        super(device, Consts.HubType.POWERED_UP_REMOTE);
-        this._ledPort = 0x34;
-        this._voltagePort = 0x3b;
-        this._voltageMaxV = 6.4;
-        this._voltageMaxRaw = 3200;
-        this._portNames = {
-            "LEFT": 0,
-            "RIGHT": 1
-        };
-        debug("Discovered Powered UP Remote");
-    }
-    static IsPUPRemote(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.POWERED_UP_REMOTE_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Powered UP Remote");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-}
-exports.PUPRemote = PUPRemote;
-//# sourceMappingURL=pupremote.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/lpf2hub.js.html b/docs/lpf2hub.js.html deleted file mode 100644 index 866aef4..0000000 --- a/docs/lpf2hub.js.html +++ /dev/null @@ -1,791 +0,0 @@ - - - - - - - node-poweredup Source: lpf2hub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: lpf2hub.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const hub_1 = require("./hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const utils_1 = require("./utils");
-const Debug = require("debug");
-const debug = Debug("lpf2hub");
-const modeInfoDebug = Debug("lpf2hubmodeinfo");
-/**
- * @class LPF2Hub
- * @extends Hub
- */
-class LPF2Hub extends hub_1.Hub {
-    constructor() {
-        super(...arguments);
-        this._ledPort = 0x32;
-        this._voltageMaxV = 9.6;
-        this._voltageMaxRaw = 3893;
-        this._currentMaxMA = 2444;
-        this._currentMaxRaw = 4095;
-        this._lastTiltX = 0;
-        this._lastTiltY = 0;
-        this._lastTiltZ = 0;
-        this._messageBuffer = Buffer.alloc(0);
-    }
-    static decodeVersion(v) {
-        const t = v.toString(16).padStart(8, "0");
-        return [t[0], t[1], t.substring(2, 4), t.substring(4)].join(".");
-    }
-    static decodeMACAddress(v) {
-        return Array.from(v).map((n) => utils_1.toHex(n, 2)).join(":");
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            await super.connect();
-            await this._bleDevice.discoverCharacteristicsForService(Consts.BLEService.LPF2_HUB);
-            this._bleDevice.subscribeToCharacteristic(Consts.BLECharacteristic.LPF2_ALL, this._parseMessage.bind(this));
-            if (this._voltagePort !== undefined) {
-                this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x41, this._voltagePort, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01])); // Activate voltage reports
-            }
-            if (this._currentPort !== undefined) {
-                this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x41, this._currentPort, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01])); // Activate current reports
-            }
-            if (this.type === Consts.HubType.DUPLO_TRAIN_HUB) {
-                this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]));
-            }
-            await this.sleep(100);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x01, 0x02, 0x02])); // Activate button reports
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x01, 0x03, 0x05])); // Request firmware version
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x01, 0x04, 0x05])); // Request hardware version
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x01, 0x05, 0x02])); // Activate RSSI updates
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x01, 0x06, 0x02])); // Activate battery level reports
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x01, 0x0d, 0x05])); // Request primary MAC address
-            this.emit("connect");
-            resolve();
-        });
-    }
-    /**
-     * Shutdown the Hub.
-     * @method LPF2Hub#shutdown
-     * @returns {Promise} Resolved upon successful disconnect.
-     */
-    shutdown() {
-        return new Promise((resolve, reject) => {
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x02, 0x01]), () => {
-                return resolve();
-            });
-        });
-    }
-    /**
-     * Set the name of the Hub.
-     * @method LPF2Hub#setName
-     * @param {string} name New name of the hub (14 characters or less, ASCII only).
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    setName(name) {
-        if (name.length > 14) {
-            throw new Error("Name must be 14 characters or less");
-        }
-        return new Promise((resolve, reject) => {
-            let data = Buffer.from([0x01, 0x01, 0x01]);
-            data = Buffer.concat([data, Buffer.from(name, "ascii")]);
-            // Send this twice, as sometimes the first time doesn't take
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            this._name = name;
-            return resolve();
-        });
-    }
-    /**
-     * Set the color of the LED on the Hub via a color value.
-     * @method LPF2Hub#setLEDColor
-     * @param {Color} color
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    setLEDColor(color) {
-        return new Promise((resolve, reject) => {
-            let data = Buffer.from([0x41, this._ledPort, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            if (typeof color === "boolean") {
-                color = 0;
-            }
-            data = Buffer.from([0x81, this._ledPort, 0x11, 0x51, 0x00, color]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            return resolve();
-        });
-    }
-    /**
-     * Set the color of the LED on the Hub via RGB values.
-     * @method LPF2Hub#setLEDRGB
-     * @param {number} red
-     * @param {number} green
-     * @param {number} blue
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    setLEDRGB(red, green, blue) {
-        return new Promise((resolve, reject) => {
-            let data = Buffer.from([0x41, this._ledPort, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            data = Buffer.from([0x81, this._ledPort, 0x11, 0x51, 0x01, red, green, blue]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            return resolve();
-        });
-    }
-    sendRaw(message) {
-        return new Promise((resolve, reject) => {
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, message, () => {
-                return resolve();
-            });
-        });
-    }
-    _activatePortDevice(port, type, mode, format, callback) {
-        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x41, port, mode, 0x01, 0x00, 0x00, 0x00, 0x01]), callback);
-    }
-    _deactivatePortDevice(port, type, mode, format, callback) {
-        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x41, port, mode, 0x01, 0x00, 0x00, 0x00, 0x00]), callback);
-    }
-    _writeMessage(uuid, message, callback) {
-        message = Buffer.concat([Buffer.alloc(2), message]);
-        message[0] = message.length;
-        debug("Sent Message (LPF2_ALL)", message);
-        this._bleDevice.writeToCharacteristic(uuid, message, callback);
-    }
-    _combinePorts(port, type) {
-        if (!this._ports[port]) {
-            return;
-        }
-        const portObj = this._portLookup(port);
-        if (portObj) {
-            Object.keys(this._ports).forEach((id) => {
-                if (this._ports[id].type === type && this._ports[id].value !== portObj.value && !this._virtualPorts[`${portObj.value < this._ports[id].value ? portObj.id : this._ports[id].id}${portObj.value > this._ports[id].value ? portObj.id : this._ports[id].id}`]) {
-                    debug("Combining ports", portObj.value < this._ports[id].value ? portObj.id : id, portObj.value > this._ports[id].value ? portObj.id : id);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x61, 0x01, portObj.value < this._ports[id].value ? portObj.value : this._ports[id].value, portObj.value > this._ports[id].value ? portObj.value : this._ports[id].value]));
-                }
-            });
-        }
-    }
-    _checkFirmware(version) {
-        return;
-    }
-    _parseMessage(data) {
-        if (data) {
-            this._messageBuffer = Buffer.concat([this._messageBuffer, data]);
-        }
-        if (this._messageBuffer.length <= 0) {
-            return;
-        }
-        const len = this._messageBuffer[0];
-        if (len >= this._messageBuffer.length) {
-            const message = this._messageBuffer.slice(0, len);
-            this._messageBuffer = this._messageBuffer.slice(len);
-            debug("Received Message (LPF2_ALL)", message);
-            switch (message[2]) {
-                case 0x01: {
-                    this._parseDeviceInfo(message);
-                    break;
-                }
-                case 0x04: {
-                    this._parsePortMessage(message);
-                    break;
-                }
-                case 0x43: {
-                    this._parsePortInformationResponse(message);
-                    break;
-                }
-                case 0x44: {
-                    this._parseModeInformationResponse(message);
-                    break;
-                }
-                case 0x45: {
-                    this._parseSensorMessage(message);
-                    break;
-                }
-                case 0x82: {
-                    this._parsePortAction(message);
-                    break;
-                }
-            }
-            if (this._messageBuffer.length > 0) {
-                this._parseMessage();
-            }
-        }
-    }
-    _parseDeviceInfo(data) {
-        // Button press reports
-        if (data[3] === 0x02) {
-            if (data[5] === 1) {
-                /**
-                 * Emits when a button is pressed.
-                 * @event LPF2Hub#button
-                 * @param {string} button
-                 * @param {ButtonState} state
-                 */
-                this.emit("button", "GREEN", Consts.ButtonState.PRESSED);
-                return;
-            }
-            else if (data[5] === 0) {
-                this.emit("button", "GREEN", Consts.ButtonState.RELEASED);
-                return;
-            }
-            // Firmware version
-        }
-        else if (data[3] === 0x03) {
-            this._firmwareVersion = LPF2Hub.decodeVersion(data.readInt32LE(5));
-            this._checkFirmware(this._firmwareVersion);
-            // Hardware version
-        }
-        else if (data[3] === 0x04) {
-            this._hardwareVersion = LPF2Hub.decodeVersion(data.readInt32LE(5));
-            // RSSI update
-        }
-        else if (data[3] === 0x05) {
-            const rssi = data.readInt8(5);
-            if (rssi !== 0) {
-                this._rssi = rssi;
-                this.emit("rssiChange", this._rssi);
-            }
-            // primary MAC Address
-        }
-        else if (data[3] === 0x0d) {
-            this._primaryMACAddress = LPF2Hub.decodeMACAddress(data.slice(5));
-            // Battery level reports
-        }
-        else if (data[3] === 0x06) {
-            this._batteryLevel = data[5];
-        }
-    }
-    _parsePortMessage(data) {
-        let port = this._getPortForPortNumber(data[3]);
-        const type = data[4] ? data.readUInt16LE(5) : 0;
-        if (data[4] === 0x01 && modeInfoDebug.enabled) {
-            const typeName = Consts.DeviceTypeNames[data[5]] || "unknown";
-            modeInfoDebug(`Port ${utils_1.toHex(data[3])}, type ${utils_1.toHex(type, 4)} (${typeName})`);
-            const hwVersion = LPF2Hub.decodeVersion(data.readInt32LE(7));
-            const swVersion = LPF2Hub.decodeVersion(data.readInt32LE(11));
-            modeInfoDebug(`Port ${utils_1.toHex(data[3])}, hardware version ${hwVersion}, software version ${swVersion}`);
-            this._sendPortInformationRequest(data[3]);
-        }
-        if (!port) {
-            if (data[4] === 0x02) {
-                const portA = this._getPortForPortNumber(data[7]);
-                const portB = this._getPortForPortNumber(data[8]);
-                if (portA && portB) {
-                    this._virtualPorts[`${portA.id}${portB.id}`] = new port_1.Port(`${portA.id}${portB.id}`, data[3]);
-                    port = this._getPortForPortNumber(data[3]);
-                    if (port) {
-                        port.connected = true;
-                        this._registerDeviceAttachment(port, type);
-                    }
-                    else {
-                        return;
-                    }
-                }
-                else {
-                    return;
-                }
-            }
-            else {
-                return;
-            }
-        }
-        else {
-            port.connected = (data[4] === 0x01 || data[4] === 0x02) ? true : false;
-            this._registerDeviceAttachment(port, type);
-        }
-    }
-    _sendPortInformationRequest(port) {
-        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x21, port, 0x01]));
-        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x21, port, 0x02])); // Mode combinations
-    }
-    _parsePortInformationResponse(data) {
-        const port = data[3];
-        if (data[4] === 2) {
-            const modeCombinationMasks = [];
-            for (let i = 5; i < data.length; i += 2) {
-                modeCombinationMasks.push(data.readUInt16LE(i));
-            }
-            modeInfoDebug(`Port ${utils_1.toHex(port)}, mode combinations [${modeCombinationMasks.map((c) => utils_1.toBin(c, 0)).join(", ")}]`);
-            return;
-        }
-        const count = data[6];
-        const input = utils_1.toBin(data.readUInt16LE(7), count);
-        const output = utils_1.toBin(data.readUInt16LE(9), count);
-        modeInfoDebug(`Port ${utils_1.toHex(port)}, total modes ${count}, input modes ${input}, output modes ${output}`);
-        for (let i = 0; i < count; i++) {
-            this._sendModeInformationRequest(port, i, 0x00); // Mode Name
-            this._sendModeInformationRequest(port, i, 0x01); // RAW Range
-            this._sendModeInformationRequest(port, i, 0x02); // PCT Range
-            this._sendModeInformationRequest(port, i, 0x03); // SI Range
-            this._sendModeInformationRequest(port, i, 0x04); // SI Symbol
-            this._sendModeInformationRequest(port, i, 0x80); // Value Format
-        }
-    }
-    _sendModeInformationRequest(port, mode, type) {
-        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, Buffer.from([0x22, port, mode, type]));
-    }
-    _parseModeInformationResponse(data) {
-        const port = utils_1.toHex(data[3]);
-        const mode = data[4];
-        const type = data[5];
-        switch (type) {
-            case 0x00: // Mode Name
-                modeInfoDebug(`Port ${port}, mode ${mode}, name ${data.slice(6, data.length).toString()}`);
-                break;
-            case 0x01: // RAW Range
-                modeInfoDebug(`Port ${port}, mode ${mode}, RAW min ${data.readFloatLE(6)}, max ${data.readFloatLE(10)}`);
-                break;
-            case 0x02: // PCT Range
-                modeInfoDebug(`Port ${port}, mode ${mode}, PCT min ${data.readFloatLE(6)}, max ${data.readFloatLE(10)}`);
-                break;
-            case 0x03: // SI Range
-                modeInfoDebug(`Port ${port}, mode ${mode}, SI min ${data.readFloatLE(6)}, max ${data.readFloatLE(10)}`);
-                break;
-            case 0x04: // SI Symbol
-                modeInfoDebug(`Port ${port}, mode ${mode}, SI symbol ${data.slice(6, data.length).toString()}`);
-                break;
-            case 0x80: // Value Format
-                const numValues = data[6];
-                const dataType = ["8bit", "16bit", "32bit", "float"][data[7]];
-                const totalFigures = data[8];
-                const decimals = data[9];
-                modeInfoDebug(`Port ${port}, mode ${mode}, Value ${numValues} x ${dataType}, Decimal format ${totalFigures}.${decimals}`);
-        }
-    }
-    _parsePortAction(data) {
-        const port = this._getPortForPortNumber(data[3]);
-        if (!port) {
-            return;
-        }
-        if (data[4] === 0x0a) {
-            port.busy = false;
-            if (port.finished) {
-                port.finished();
-                port.finished = null;
-            }
-        }
-    }
-    _parseSensorMessage(data) {
-        if (data[3] === this._voltagePort) {
-            const voltageRaw = data.readUInt16LE(4);
-            this._voltage = voltageRaw * this._voltageMaxV / this._voltageMaxRaw;
-            return;
-        }
-        else if (data[3] === this._currentPort) {
-            const currentRaw = data.readUInt16LE(4);
-            this._current = this._currentMaxMA * currentRaw / this._currentMaxRaw;
-            return;
-        }
-        if ((data[3] === 0x3d && this.type === Consts.HubType.CONTROL_PLUS_HUB)) { // Control+ CPU Temperature
-            /**
-             * Emits when a change is detected on a temperature sensor. Measured in degrees centigrade.
-             * @event LPF2Hub#temp
-             * @param {string} port For Control+ Hubs, port will be "CPU" as the sensor reports CPU temperature.
-             * @param {number} temp
-             */
-            this.emit("temp", "CPU", ((data.readInt16LE(4) / 900) * 90).toFixed(2));
-            return;
-        }
-        const port = this._getPortForPortNumber(data[3]);
-        if (!port) {
-            return;
-        }
-        if (port && port.connected) {
-            switch (port.type) {
-                case Consts.DeviceType.WEDO2_DISTANCE: {
-                    let distance = data[4];
-                    if (data[5] === 1) {
-                        distance = data[4] + 255;
-                    }
-                    /**
-                     * Emits when a distance sensor is activated.
-                     * @event LPF2Hub#distance
-                     * @param {string} port
-                     * @param {number} distance Distance, in millimeters.
-                     */
-                    this.emit("distance", port.id, distance * 10);
-                    break;
-                }
-                case Consts.DeviceType.BOOST_DISTANCE: {
-                    /**
-                     * Emits when a color sensor is activated.
-                     * @event LPF2Hub#color
-                     * @param {string} port
-                     * @param {Color} color
-                     */
-                    if (data[4] <= 10) {
-                        this.emit("color", port.id, data[4]);
-                    }
-                    let distance = data[5];
-                    const partial = data[7];
-                    if (partial > 0) {
-                        distance += 1.0 / partial;
-                    }
-                    distance = Math.floor(distance * 25.4) - 20;
-                    this.emit("distance", port.id, distance);
-                    /**
-                     * A combined color and distance event, emits when the sensor is activated.
-                     * @event LPF2Hub#colorAndDistance
-                     * @param {string} port
-                     * @param {Color} color
-                     * @param {number} distance Distance, in millimeters.
-                     */
-                    if (data[4] <= 10) {
-                        this.emit("colorAndDistance", port.id, data[4], distance);
-                    }
-                    break;
-                }
-                case Consts.DeviceType.WEDO2_TILT: {
-                    const tiltX = data.readInt8(4);
-                    const tiltY = data.readInt8(5);
-                    this._lastTiltX = tiltX;
-                    this._lastTiltY = tiltY;
-                    /**
-                     * Emits when a tilt sensor is activated.
-                     * @event LPF2Hub#tilt
-                     * @param {string} port If the event is fired from the Move Hub or Control+ Hub's in-built tilt sensor, the special port "TILT" is used.
-                     * @param {number} x
-                     * @param {number} y
-                     * @param {number} z (Only available when using a Control+ Hub)
-                     */
-                    this.emit("tilt", port.id, this._lastTiltX, this._lastTiltY, this._lastTiltZ);
-                    break;
-                }
-                case Consts.DeviceType.BOOST_TACHO_MOTOR: {
-                    const rotation = data.readInt32LE(4);
-                    /**
-                     * Emits when a rotation sensor is activated.
-                     * @event LPF2Hub#rotate
-                     * @param {string} port
-                     * @param {number} rotation
-                     */
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-                case Consts.DeviceType.BOOST_MOVE_HUB_MOTOR: {
-                    const rotation = data.readInt32LE(4);
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR: {
-                    const rotation = data.readInt32LE(4);
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR: {
-                    const rotation = data.readInt32LE(4);
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_TILT: {
-                    const tiltZ = data.readInt16LE(4);
-                    const tiltY = data.readInt16LE(6);
-                    const tiltX = data.readInt16LE(8);
-                    this._lastTiltX = tiltX;
-                    this._lastTiltY = tiltY;
-                    this._lastTiltZ = tiltZ;
-                    this.emit("tilt", "TILT", this._lastTiltX, this._lastTiltY, this._lastTiltZ);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_GYRO: {
-                    const gyroX = Math.round(data.readInt16LE(4) * 7 / 400);
-                    const gyroY = Math.round(data.readInt16LE(6) * 7 / 400);
-                    const gyroZ = Math.round(data.readInt16LE(8) * 7 / 400);
-                    /**
-                     * Emits when gyroscope detects movement. Measured in DPS - degrees per second.
-                     * @event LPF2Hub#gyro
-                     * @param {string} port
-                     * @param {number} x
-                     * @param {number} y
-                     * @param {number} z
-                     */
-                    this.emit("gyro", "GYRO", gyroX, gyroY, gyroZ);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_ACCELEROMETER: {
-                    const accelX = Math.round(data.readInt16LE(4) / 4.096);
-                    const accelY = Math.round(data.readInt16LE(6) / 4.096);
-                    const accelZ = Math.round(data.readInt16LE(8) / 4.096);
-                    /**
-                     * Emits when accelerometer detects movement. Measured in mG.
-                     * @event LPF2Hub#accel
-                     * @param {string} port
-                     * @param {number} x
-                     * @param {number} y
-                     * @param {number} z
-                     */
-                    this.emit("accel", "ACCEL", accelX, accelY, accelZ);
-                    break;
-                }
-                case Consts.DeviceType.BOOST_TILT: {
-                    const tiltX = data.readInt8(4);
-                    const tiltY = data.readInt8(5);
-                    this._lastTiltX = tiltX;
-                    this._lastTiltY = tiltY;
-                    this.emit("tilt", port.id, this._lastTiltX, this._lastTiltY, this._lastTiltZ);
-                    break;
-                }
-                case Consts.DeviceType.POWERED_UP_REMOTE_BUTTON: {
-                    switch (data[4]) {
-                        case 0x01: {
-                            this.emit("button", port.id, Consts.ButtonState.UP);
-                            break;
-                        }
-                        case 0xff: {
-                            this.emit("button", port.id, Consts.ButtonState.DOWN);
-                            break;
-                        }
-                        case 0x7f: {
-                            this.emit("button", port.id, Consts.ButtonState.STOP);
-                            break;
-                        }
-                        case 0x00: {
-                            this.emit("button", port.id, Consts.ButtonState.RELEASED);
-                            break;
-                        }
-                    }
-                    break;
-                }
-                case Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR: {
-                    if (data[4] <= 10) {
-                        this.emit("color", port.id, data[4]);
-                    }
-                    break;
-                }
-                case Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER: {
-                    /**
-                     * Emits on a speed change.
-                     * @event LPF2Hub#speed
-                     * @param {string} port
-                     * @param {number} speed
-                     */
-                    const speed = data.readInt16LE(4);
-                    this.emit("speed", port.id, speed);
-                    break;
-                }
-            }
-        }
-    }
-}
-exports.LPF2Hub = LPF2Hub;
-//# sourceMappingURL=lpf2hub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/poweredup-node.js.html b/docs/poweredup-node.js.html deleted file mode 100644 index 46a1b7d..0000000 --- a/docs/poweredup-node.js.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - - - node-poweredup Source: poweredup-node.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: poweredup-node.js

- -
-
-
"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const nobleabstraction_1 = require("./nobleabstraction");
-const duplotrainbase_1 = require("./hubs/duplotrainbase");
-const hub_1 = require("./hubs/hub");
-const movehub_1 = require("./hubs/movehub");
-const remotecontrol_1 = require("./hubs/remotecontrol");
-const technicmediumhub_1 = require("./hubs/technicmediumhub");
-const wedo2smarthub_1 = require("./hubs/wedo2smarthub");
-const events_1 = require("events");
-const Debug = require("debug");
-const debug = Debug("poweredup");
-const noble = require("@abandonware/noble");
-let ready = false;
-let wantScan = false;
-let discoveryEventAttached = false;
-const startScanning = () => {
-    noble.startScanning();
-};
-noble.on("stateChange", (state) => {
-    ready = (state === "poweredOn");
-    if (ready) {
-        if (wantScan) {
-            debug("Scanning started");
-            startScanning();
-        }
-    }
-    else {
-        noble.stopScanning();
-    }
-});
-/**
- * @class PoweredUP
- * @extends EventEmitter
- */
-class PoweredUP extends events_1.EventEmitter {
-    constructor() {
-        super();
-        this._connectedHubs = {};
-        this._discoveryEventHandler = this._discoveryEventHandler.bind(this);
-    }
-    /**
-     * Begin scanning for Powered UP Hub devices.
-     * @method PoweredUP#scan
-     */
-    async scan() {
-        wantScan = true;
-        if (!discoveryEventAttached) {
-            noble.on("discover", this._discoveryEventHandler);
-            discoveryEventAttached = true;
-        }
-        if (ready) {
-            debug("Scanning started");
-            startScanning();
-        }
-        return true;
-    }
-    /**
-     * Stop scanning for Powered UP Hub devices.
-     * @method PoweredUP#stop
-     */
-    stop() {
-        wantScan = false;
-        if (discoveryEventAttached) {
-            noble.removeListener("discover", this._discoveryEventHandler);
-            discoveryEventAttached = false;
-        }
-        noble.stopScanning();
-    }
-    /**
-     * Retrieve a list of Powered UP Hubs.
-     * @method PoweredUP#getHubs
-     * @returns {BaseHub[]}
-     */
-    getHubs() {
-        return Object.values(this._connectedHubs);
-    }
-    /**
-     * Retrieve a Powered UP Hub by UUID.
-     * @method PoweredUP#getHubByUUID
-     * @param {string} uuid
-     * @returns {BaseHub | null}
-     */
-    getHubByUUID(uuid) {
-        return this._connectedHubs[uuid];
-    }
-    /**
-     * Retrieve a Powered UP Hub by primary MAC address.
-     * @method PoweredUP#getHubByPrimaryMACAddress
-     * @param {string} address
-     * @returns {BaseHub}
-     */
-    getHubByPrimaryMACAddress(address) {
-        return Object.values(this._connectedHubs).filter((hub) => hub.primaryMACAddress === address)[0];
-    }
-    /**
-     * Retrieve a list of Powered UP Hub by name.
-     * @method PoweredUP#getHubsByName
-     * @param {string} name
-     * @returns {BaseHub[]}
-     */
-    getHubsByName(name) {
-        return Object.values(this._connectedHubs).filter((hub) => hub.name === name);
-    }
-    /**
-     * Retrieve a list of Powered UP Hub by type.
-     * @method PoweredUP#getHubsByType
-     * @param {string} name
-     * @returns {BaseHub[]}
-     */
-    getHubsByType(hubType) {
-        return Object.values(this._connectedHubs).filter((hub) => hub.type === hubType);
-    }
-    async _discoveryEventHandler(peripheral) {
-        peripheral.removeAllListeners();
-        const device = new nobleabstraction_1.NobleDevice(peripheral);
-        let hub;
-        if (await wedo2smarthub_1.WeDo2SmartHub.IsWeDo2SmartHub(peripheral)) {
-            hub = new wedo2smarthub_1.WeDo2SmartHub(device);
-        }
-        else if (await movehub_1.MoveHub.IsMoveHub(peripheral)) {
-            hub = new movehub_1.MoveHub(device);
-        }
-        else if (await hub_1.Hub.IsHub(peripheral)) {
-            hub = new hub_1.Hub(device);
-        }
-        else if (await remotecontrol_1.RemoteControl.IsRemoteControl(peripheral)) {
-            hub = new remotecontrol_1.RemoteControl(device);
-        }
-        else if (await duplotrainbase_1.DuploTrainBase.IsDuploTrainBase(peripheral)) {
-            hub = new duplotrainbase_1.DuploTrainBase(device);
-        }
-        else if (await technicmediumhub_1.TechnicMediumHub.IsTechnicMediumHub(peripheral)) {
-            hub = new technicmediumhub_1.TechnicMediumHub(device);
-        }
-        else {
-            return;
-        }
-        device.on("discoverComplete", () => {
-            hub.on("connect", () => {
-                debug(`Hub ${hub.uuid} connected`);
-                this._connectedHubs[hub.uuid] = hub;
-            });
-            hub.on("disconnect", () => {
-                debug(`Hub ${hub.uuid} disconnected`);
-                delete this._connectedHubs[hub.uuid];
-                if (wantScan) {
-                    startScanning();
-                }
-            });
-            debug(`Hub ${hub.uuid} discovered`);
-            /**
-             * Emits when a Powered UP Hub device is found.
-             * @event PoweredUP#discover
-             * @param {WeDo2SmartHub | MoveHub | TechnicMediumHub | Hub | RemoteControl | DuploTrainBase} hub
-             */
-            this.emit("discover", hub);
-        });
-    }
-}
-exports.PoweredUP = PoweredUP;
-//# sourceMappingURL=poweredup-node.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/poweredup.js.html b/docs/poweredup.js.html deleted file mode 100644 index ecc71a3..0000000 --- a/docs/poweredup.js.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - DocStrap Source: poweredup.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: poweredup.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const bledevice_1 = require("./bledevice");
-const boostmovehub_1 = require("./boostmovehub");
-const duplotrainbase_1 = require("./duplotrainbase");
-const puphub_1 = require("./puphub");
-const pupremote_1 = require("./pupremote");
-const wedo2smarthub_1 = require("./wedo2smarthub");
-const utils_1 = require("./utils");
-const Consts = __importStar(require("./consts"));
-const events_1 = require("events");
-const Debug = require("debug");
-const debug = Debug("poweredup");
-const noble = require("noble-mac");
-let ready = false;
-let wantScan = false;
-let discoveryEventAttached = false;
-const startScanning = () => {
-    if (utils_1.isBrowserContext) {
-        noble.startScanning([Consts.BLEService.WEDO2_SMART_HUB, Consts.BLEService.LPF2_HUB]);
-    }
-    else {
-        noble.startScanning();
-    }
-};
-noble.on("stateChange", (state) => {
-    ready = (state === "poweredOn");
-    if (ready) {
-        if (wantScan) {
-            debug("Scanning started");
-            startScanning();
-        }
-    }
-    else {
-        noble.stopScanning();
-    }
-});
-/**
- * @class PoweredUP
- * @extends EventEmitter
- */
-class PoweredUP extends events_1.EventEmitter {
-    constructor() {
-        super();
-        this.autoSubscribe = true;
-        this._connectedHubs = {};
-        this._discoveryEventHandler = this._discoveryEventHandler.bind(this);
-    }
-    /**
-     * Begin scanning for Powered UP Hub devices.
-     * @method PoweredUP#scan
-     */
-    scan() {
-        wantScan = true;
-        if (!discoveryEventAttached) {
-            noble.on("discover", this._discoveryEventHandler);
-            discoveryEventAttached = true;
-        }
-        if (ready) {
-            debug("Scanning started");
-            startScanning();
-        }
-    }
-    /**
-     * Stop scanning for Powered UP Hub devices.
-     * @method PoweredUP#stop
-     */
-    stop() {
-        wantScan = false;
-        if (discoveryEventAttached) {
-            noble.removeListener("discover", this._discoveryEventHandler);
-            discoveryEventAttached = false;
-        }
-        noble.stopScanning();
-    }
-    /**
-     * Retrieve a list of Powered UP Hubs.
-     * @method PoweredUP#getConnectedHubs
-     * @returns {Hub[]}
-     */
-    getConnectedHubs() {
-        return Object.keys(this._connectedHubs).map((uuid) => this._connectedHubs[uuid]);
-    }
-    /**
-     * Retrieve a Powered UP Hub by UUID.
-     * @method PoweredUP#getConnectedHubByUUID
-     * @param {string} uuid
-     * @returns {Hub | null}
-     */
-    getConnectedHubByUUID(uuid) {
-        return this._connectedHubs[uuid];
-    }
-    /**
-     * Retrieve a list of Powered UP Hub by name.
-     * @method PoweredUP#getConnectedHubsByName
-     * @param {string} name
-     * @returns {Hub[]}
-     */
-    getConnectedHubsByName(name) {
-        return Object.keys(this._connectedHubs).map((uuid) => this._connectedHubs[uuid]).filter((hub) => hub.name === name);
-    }
-    async _discoveryEventHandler(peripheral) {
-        const device = new bledevice_1.BLEDevice(peripheral);
-        let hub;
-        if (await wedo2smarthub_1.WeDo2SmartHub.IsWeDo2SmartHub(peripheral)) {
-            hub = new wedo2smarthub_1.WeDo2SmartHub(device, this.autoSubscribe);
-        }
-        else if (await boostmovehub_1.BoostMoveHub.IsBoostMoveHub(peripheral)) {
-            hub = new boostmovehub_1.BoostMoveHub(device, this.autoSubscribe);
-        }
-        else if (await puphub_1.PUPHub.IsPUPHub(peripheral)) {
-            hub = new puphub_1.PUPHub(device, this.autoSubscribe);
-        }
-        else if (await pupremote_1.PUPRemote.IsPUPRemote(peripheral)) {
-            hub = new pupremote_1.PUPRemote(device, this.autoSubscribe);
-        }
-        else if (await duplotrainbase_1.DuploTrainBase.IsDuploTrainBase(peripheral)) {
-            hub = new duplotrainbase_1.DuploTrainBase(device, this.autoSubscribe);
-        }
-        else {
-            return;
-        }
-        peripheral.removeAllListeners();
-        // noble.stopScanning();
-        // if (!isBrowserContext) {
-        //     startScanning();
-        // }
-        device.on("discoverComplete", () => {
-            hub.on("connect", () => {
-                debug(`Hub ${hub.uuid} connected`);
-                this._connectedHubs[hub.uuid] = hub;
-            });
-            hub.on("disconnect", () => {
-                debug(`Hub ${hub.uuid} disconnected`);
-                delete this._connectedHubs[hub.uuid];
-                if (wantScan) {
-                    startScanning();
-                }
-            });
-            debug(`Hub ${hub.uuid} discovered`);
-            /**
-             * Emits when a Powered UP Hub device is found.
-             * @event PoweredUP#discover
-             * @param {WeDo2SmartHub | BoostMoveHub | PUPHub | PUPRemote | DuploTrainBase} hub
-             */
-            this.emit("discover", hub);
-        });
-    }
-}
-exports.PoweredUP = PoweredUP;
-
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/puphub.js.html b/docs/puphub.js.html deleted file mode 100644 index 3219250..0000000 --- a/docs/puphub.js.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - node-poweredup Source: puphub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: puphub.js

- -
-
-
"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const compare_versions_1 = __importDefault(require("compare-versions"));
-const lpf2hub_1 = require("./lpf2hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const debug = Debug("puphub");
-/**
- * The PUPHub is emitted if the discovered device is a Powered UP Hub.
- * @class PUPHub
- * @extends LPF2Hub
- * @extends Hub
- */
-class PUPHub extends lpf2hub_1.LPF2Hub {
-    constructor(device, autoSubscribe = true) {
-        super(device, autoSubscribe);
-        this._currentPort = 0x3b;
-        this._voltagePort = 0x3c;
-        this.type = Consts.HubType.POWERED_UP_HUB;
-        this._ports = {
-            "A": new port_1.Port("A", 0),
-            "B": new port_1.Port("B", 1)
-        };
-        this.on("attach", (port, type) => {
-            this._combinePorts(port, type);
-        });
-        debug("Discovered Powered UP Hub");
-    }
-    static IsPUPHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.POWERED_UP_HUB_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Powered UP Hub");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-    /**
-     * Set the motor speed on a given port.
-     * @method PUPHub#setMotorSpeed
-     * @param {string} port
-     * @param {number | Array.<number>} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @param {number} [time] How long to activate the motor for (in milliseconds). Leave empty to turn the motor on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the motor is finished.
-     */
-    setMotorSpeed(port, speed, time) {
-        const portObj = this._portLookup(port);
-        if (!this._virtualPorts[portObj.id] && speed instanceof Array) {
-            throw new Error(`Port ${portObj.id} can only accept a single speed`);
-        }
-        let cancelEventTimer = true;
-        if (typeof time === "boolean") {
-            if (time === true) {
-                cancelEventTimer = false;
-            }
-            time = undefined;
-        }
-        if (cancelEventTimer) {
-            portObj.cancelEventTimer();
-        }
-        return new Promise((resolve, reject) => {
-            if (time && typeof time === "number") {
-                if (portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-                    portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-                    portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR) {
-                    portObj.busy = true;
-                    let data = null;
-                    if (this._virtualPorts[portObj.id]) {
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x0a, 0x00, 0x00, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-                    }
-                    else {
-                        // @ts-ignore: The type of speed is properly checked at the start
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x09, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                    }
-                    data.writeUInt16LE(time > 65535 ? 65535 : time, 4);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    portObj.finished = () => {
-                        return resolve();
-                    };
-                }
-                else {
-                    // @ts-ignore: The type of speed is properly checked at the start
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    const timeout = global.setTimeout(() => {
-                        const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                        this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                        return resolve();
-                        // @ts-ignore: The type of time is properly checked at the start
-                    }, time);
-                    portObj.setEventTimer(timeout);
-                }
-            }
-            else {
-                if (portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR || portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR) {
-                    portObj.busy = true;
-                    let data = null;
-                    if (this._virtualPorts[portObj.id]) {
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x02, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-                    }
-                    else {
-                        // @ts-ignore: The type of speed is properly checked at the start
-                        data = Buffer.from([0x81, portObj.value, 0x11, 0x01, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                    }
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    portObj.finished = () => {
-                        return resolve();
-                    };
-                }
-                else {
-                    // @ts-ignore: The type of speed is properly checked at the start
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, this._mapSpeed(speed)]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                }
-            }
-        });
-    }
-    /**
-     * Ramp the motor speed on a given port.
-     * @method PUPHub#rampMotorSpeed
-     * @param {string} port
-     * @param {number} fromSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} toSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} time How long the ramp should last (in milliseconds).
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    rampMotorSpeed(port, fromSpeed, toSpeed, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            this._calculateRamp(fromSpeed, toSpeed, time, portObj)
-                .on("changeSpeed", (speed) => {
-                this.setMotorSpeed(port, speed, true);
-            })
-                .on("finished", resolve);
-        });
-    }
-    /**
-     * Rotate a motor by a given angle.
-     * @method PUPHub#setMotorAngle
-     * @param {string} port
-     * @param {number} angle How much the motor should be rotated (in degrees).
-     * @param {number | Array.<number>} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. If you are specifying port AB to control both motors, you can optionally supply a tuple of speeds.
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    setMotorAngle(port, angle, speed = 100) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.BOOST_TACHO_MOTOR ||
-            portObj.type === Consts.DeviceType.BOOST_MOVE_HUB_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Angle rotation is only available when using a Boost Tacho Motor, Boost Move Hub Motor, Control+ Medium Motor, or Control+ Large Motor");
-        }
-        if (!this._virtualPorts[portObj.id] && speed instanceof Array) {
-            throw new Error(`Port ${portObj.id} can only accept a single speed`);
-        }
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            portObj.busy = true;
-            let data = null;
-            if (this._virtualPorts[portObj.id]) {
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0c, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed instanceof Array ? speed[0] : speed), this._mapSpeed(speed instanceof Array ? speed[1] : speed), 0x64, 0x7f, 0x03]);
-            }
-            else {
-                // @ts-ignore: The type of speed is properly checked at the start
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0b, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-            }
-            data.writeUInt32LE(angle, 4);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            portObj.finished = () => {
-                return resolve();
-            };
-        });
-    }
-    /**
-     * Tell motor to goto an absolute position
-     * @method PUPHub#setAbsolutePosition
-     * @param {string} port
-     * @param {number} pos The position of the motor to go to
-     * @param {number | Array.<number>} [speed=100] A value between 1 - 100 should be set (Direction does not apply when going to absolute position)
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    setAbsolutePosition(port, pos, speed = 100) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Absolute positioning is only available when using a Control+ Medium Motor, or Control+ Large Motor");
-        }
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            portObj.busy = true;
-            let data = null;
-            if (this._virtualPorts[portObj.id]) {
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                data.writeInt32LE(pos, 4);
-                data.writeInt32LE(pos, 8);
-            }
-            else {
-                // @ts-ignore: The type of speed is properly checked at the start
-                data = Buffer.from([0x81, portObj.value, 0x11, 0x0d, 0x00, 0x00, 0x00, 0x00, this._mapSpeed(speed), 0x64, 0x7f, 0x03]);
-                data.writeInt32LE(pos, 4);
-            }
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            portObj.finished = () => {
-                return resolve();
-            };
-        });
-    }
-    /**
-     * Reset the current motor position as absolute position zero
-     * @method PUPHub#resetAbsolutePosition
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the motor is finished).
-     */
-    resetAbsolutePosition(port) {
-        const portObj = this._portLookup(port);
-        if (!(portObj.type === Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR ||
-            portObj.type === Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR)) {
-            throw new Error("Absolute positioning is only available when using a Control+ Medium Motor, or Control+ Large Motor");
-        }
-        return new Promise((resolve) => {
-            const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x02, 0x00, 0x00, 0x00, 0x00]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            return resolve();
-        });
-    }
-    /**
-     * Fully (hard) stop the motor on a given port.
-     * @method PUPHub#brakeMotor
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    brakeMotor(port) {
-        return this.setMotorSpeed(port, 127);
-    }
-    /**
-     * Set the light brightness on a given port.
-     * @method PUPHub#setLightBrightness
-     * @param {string} port
-     * @param {number} brightness Brightness value between 0-100 (0 is off)
-     * @param {number} [time] How long to turn the light on (in milliseconds). Leave empty to turn the light on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the light is turned off.
-     */
-    setLightBrightness(port, brightness, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, brightness]);
-            this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-            if (time) {
-                const timeout = global.setTimeout(() => {
-                    const data = Buffer.from([0x81, portObj.value, 0x11, 0x51, 0x00, 0x00]);
-                    this._writeMessage(Consts.BLECharacteristic.LPF2_ALL, data);
-                    return resolve();
-                }, time);
-                portObj.setEventTimer(timeout);
-            }
-            else {
-                return resolve();
-            }
-        });
-    }
-    _checkFirmware(version) {
-        if (compare_versions_1.default("1.1.00.0004", version) === 1) {
-            throw new Error(`Your Powered Up Hub's (${this.name}) firmware is out of date and unsupported by this library. Please update it via the official Powered Up app.`);
-        }
-    }
-}
-exports.PUPHub = PUPHub;
-//# sourceMappingURL=puphub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pupremote.js.html b/docs/pupremote.js.html deleted file mode 100644 index c7e9543..0000000 --- a/docs/pupremote.js.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - node-poweredup Source: pupremote.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: pupremote.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const lpf2hub_1 = require("./lpf2hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const debug = Debug("pupremote");
-/**
- * The PUPRemote is emitted if the discovered device is a Powered UP Remote.
- * @class PUPRemote
- * @extends LPF2Hub
- * @extends Hub
- */
-class PUPRemote extends lpf2hub_1.LPF2Hub {
-    constructor(device, autoSubscribe = true) {
-        super(device, autoSubscribe);
-        this._ledPort = 0x34;
-        this._voltagePort = 0x3b;
-        this._voltageMaxV = 6.4;
-        this._voltageMaxRaw = 3200;
-        this.type = Consts.HubType.POWERED_UP_REMOTE;
-        this._ports = {
-            "LEFT": new port_1.Port("LEFT", 0),
-            "RIGHT": new port_1.Port("RIGHT", 1)
-        };
-        debug("Discovered Powered UP Remote");
-    }
-    static IsPUPRemote(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.LPF2_HUB.replace(/-/g, "")) >= 0 &&
-            peripheral.advertisement.manufacturerData &&
-            peripheral.advertisement.manufacturerData.length > 3 &&
-            peripheral.advertisement.manufacturerData[3] === Consts.BLEManufacturerData.POWERED_UP_REMOTE_ID);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to Powered UP Remote");
-            await super.connect();
-            debug("Connect completed");
-            return resolve();
-        });
-    }
-}
-exports.PUPRemote = PUPRemote;
-//# sourceMappingURL=pupremote.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/scripts/linenumber.js b/docs/scripts/linenumber.js deleted file mode 100644 index 8d52f7e..0000000 --- a/docs/scripts/linenumber.js +++ /dev/null @@ -1,25 +0,0 @@ -/*global document */ -(function() { - var source = document.getElementsByClassName('prettyprint source linenums'); - var i = 0; - var lineNumber = 0; - var lineId; - var lines; - var totalLines; - var anchorHash; - - if (source && source[0]) { - anchorHash = document.location.hash.substring(1); - lines = source[0].getElementsByTagName('li'); - totalLines = lines.length; - - for (; i < totalLines; i++) { - lineNumber++; - lineId = 'line' + lineNumber; - lines[i].id = lineId; - if (lineId === anchorHash) { - lines[i].className += ' selected'; - } - } - } -})(); diff --git a/docs/styles/jsdoc-default.css b/docs/styles/jsdoc-default.css deleted file mode 100644 index 9207bc8..0000000 --- a/docs/styles/jsdoc-default.css +++ /dev/null @@ -1,358 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-weight: normal; - font-style: normal; - src: url('../fonts/OpenSans-Regular-webfont.eot'); - src: - local('Open Sans'), - local('OpenSans'), - url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), - url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg'); -} - -@font-face { - font-family: 'Open Sans Light'; - font-weight: normal; - font-style: normal; - src: url('../fonts/OpenSans-Light-webfont.eot'); - src: - local('Open Sans Light'), - local('OpenSans Light'), - url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Light-webfont.woff') format('woff'), - url('../fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg'); -} - -html -{ - overflow: auto; - background-color: #fff; - font-size: 14px; -} - -body -{ - font-family: 'Open Sans', sans-serif; - line-height: 1.5; - color: #4d4e53; - background-color: white; -} - -a, a:visited, a:active { - color: #0095dd; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -header -{ - display: block; - padding: 0px 4px; -} - -tt, code, kbd, samp { - font-family: Consolas, Monaco, 'Andale Mono', monospace; -} - -.class-description { - font-size: 130%; - line-height: 140%; - margin-bottom: 1em; - margin-top: 1em; -} - -.class-description:empty { - margin: 0; -} - -#main { - float: left; - width: 70%; -} - -article dl { - margin-bottom: 40px; -} - -article img { - max-width: 100%; -} - -section -{ - display: block; - background-color: #fff; - padding: 12px 24px; - border-bottom: 1px solid #ccc; - margin-right: 30px; -} - -.variation { - display: none; -} - -.signature-attributes { - font-size: 60%; - color: #aaa; - font-style: italic; - font-weight: lighter; -} - -nav -{ - display: block; - float: right; - margin-top: 28px; - width: 30%; - box-sizing: border-box; - border-left: 1px solid #ccc; - padding-left: 16px; -} - -nav ul { - font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; - font-size: 100%; - line-height: 17px; - padding: 0; - margin: 0; - list-style-type: none; -} - -nav ul a, nav ul a:visited, nav ul a:active { - font-family: Consolas, Monaco, 'Andale Mono', monospace; - line-height: 18px; - color: #4D4E53; -} - -nav h3 { - margin-top: 12px; -} - -nav li { - margin-top: 6px; -} - -footer { - display: block; - padding: 6px; - margin-top: 12px; - font-style: italic; - font-size: 90%; -} - -h1, h2, h3, h4 { - font-weight: 200; - margin: 0; -} - -h1 -{ - font-family: 'Open Sans Light', sans-serif; - font-size: 48px; - letter-spacing: -2px; - margin: 12px 24px 20px; -} - -h2, h3.subsection-title -{ - font-size: 30px; - font-weight: 700; - letter-spacing: -1px; - margin-bottom: 12px; -} - -h3 -{ - font-size: 24px; - letter-spacing: -0.5px; - margin-bottom: 12px; -} - -h4 -{ - font-size: 18px; - letter-spacing: -0.33px; - margin-bottom: 12px; - color: #4d4e53; -} - -h5, .container-overview .subsection-title -{ - font-size: 120%; - font-weight: bold; - letter-spacing: -0.01em; - margin: 8px 0 3px 0; -} - -h6 -{ - font-size: 100%; - letter-spacing: -0.01em; - margin: 6px 0 3px 0; - font-style: italic; -} - -table -{ - border-spacing: 0; - border: 0; - border-collapse: collapse; -} - -td, th -{ - border: 1px solid #ddd; - margin: 0px; - text-align: left; - vertical-align: top; - padding: 4px 6px; - display: table-cell; -} - -thead tr -{ - background-color: #ddd; - font-weight: bold; -} - -th { border-right: 1px solid #aaa; } -tr > th:last-child { border-right: 1px solid #ddd; } - -.ancestors, .attribs { color: #999; } -.ancestors a, .attribs a -{ - color: #999 !important; - text-decoration: none; -} - -.clear -{ - clear: both; -} - -.important -{ - font-weight: bold; - color: #950B02; -} - -.yes-def { - text-indent: -1000px; -} - -.type-signature { - color: #aaa; -} - -.name, .signature { - font-family: Consolas, Monaco, 'Andale Mono', monospace; -} - -.details { margin-top: 14px; border-left: 2px solid #DDD; } -.details dt { width: 120px; float: left; padding-left: 10px; padding-top: 6px; } -.details dd { margin-left: 70px; } -.details ul { margin: 0; } -.details ul { list-style-type: none; } -.details li { margin-left: 30px; padding-top: 6px; } -.details pre.prettyprint { margin: 0 } -.details .object-value { padding-top: 0; } - -.description { - margin-bottom: 1em; - margin-top: 1em; -} - -.code-caption -{ - font-style: italic; - font-size: 107%; - margin: 0; -} - -.prettyprint -{ - border: 1px solid #ddd; - width: 80%; - overflow: auto; -} - -.prettyprint.source { - width: inherit; -} - -.prettyprint code -{ - font-size: 100%; - line-height: 18px; - display: block; - padding: 4px 12px; - margin: 0; - background-color: #fff; - color: #4D4E53; -} - -.prettyprint code span.line -{ - display: inline-block; -} - -.prettyprint.linenums -{ - padding-left: 70px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.prettyprint.linenums ol -{ - padding-left: 0; -} - -.prettyprint.linenums li -{ - border-left: 3px #ddd solid; -} - -.prettyprint.linenums li.selected, -.prettyprint.linenums li.selected * -{ - background-color: lightyellow; -} - -.prettyprint.linenums li * -{ - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} - -.params .name, .props .name, .name code { - color: #4D4E53; - font-family: Consolas, Monaco, 'Andale Mono', monospace; - font-size: 100%; -} - -.params td.description > p:first-child, -.props td.description > p:first-child -{ - margin-top: 0; - padding-top: 0; -} - -.params td.description > p:last-child, -.props td.description > p:last-child -{ - margin-bottom: 0; - padding-bottom: 0; -} - -.disabled { - color: #454545; -} diff --git a/docs/styles/prettify-jsdoc.css b/docs/styles/prettify-jsdoc.css deleted file mode 100644 index 5a2526e..0000000 --- a/docs/styles/prettify-jsdoc.css +++ /dev/null @@ -1,111 +0,0 @@ -/* JSDoc prettify.js theme */ - -/* plain text */ -.pln { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* string content */ -.str { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a keyword */ -.kwd { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a comment */ -.com { - font-weight: normal; - font-style: italic; -} - -/* a type name */ -.typ { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a literal value */ -.lit { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* punctuation */ -.pun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp open bracket */ -.opn { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp close bracket */ -.clo { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a markup tag name */ -.tag { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute name */ -.atn { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute value */ -.atv { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a declaration */ -.dec { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a variable name */ -.var { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a function name */ -.fun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} diff --git a/docs/wedo2smarthub.js.html b/docs/wedo2smarthub.js.html deleted file mode 100644 index 2f6c0af..0000000 --- a/docs/wedo2smarthub.js.html +++ /dev/null @@ -1,633 +0,0 @@ - - - - - - - node-poweredup Source: wedo2smarthub.js - - - - - - - - - - - - - -
-
- - -
- -
- - -

Source: wedo2smarthub.js

- -
-
-
"use strict";
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-    result["default"] = mod;
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const hub_1 = require("./hub");
-const port_1 = require("./port");
-const Consts = __importStar(require("./consts"));
-const Debug = require("debug");
-const utils_1 = require("./utils");
-const debug = Debug("wedo2smarthub");
-/**
- * The WeDo2SmartHub is emitted if the discovered device is a WeDo 2.0 Smart Hub.
- * @class WeDo2SmartHub
- * @extends Hub
- */
-class WeDo2SmartHub extends hub_1.Hub {
-    constructor(device, autoSubscribe = true) {
-        super(device, autoSubscribe);
-        this._lastTiltX = 0;
-        this._lastTiltY = 0;
-        this.type = Consts.HubType.WEDO2_SMART_HUB;
-        this._ports = {
-            "A": new port_1.Port("A", 1),
-            "B": new port_1.Port("B", 2)
-        };
-        debug("Discovered WeDo 2.0 Smart Hub");
-    }
-    static IsWeDo2SmartHub(peripheral) {
-        return (peripheral.advertisement &&
-            peripheral.advertisement.serviceUuids &&
-            peripheral.advertisement.serviceUuids.indexOf(Consts.BLEService.WEDO2_SMART_HUB.replace(/-/g, "")) >= 0);
-    }
-    connect() {
-        return new Promise(async (resolve, reject) => {
-            debug("Connecting to WeDo 2.0 Smart Hub");
-            await super.connect();
-            await this._bleDevice.discoverCharacteristicsForService(Consts.BLEService.WEDO2_SMART_HUB);
-            await this._bleDevice.discoverCharacteristicsForService(Consts.BLEService.WEDO2_SMART_HUB_2);
-            if (!utils_1.isWebBluetooth) {
-                await this._bleDevice.discoverCharacteristicsForService(Consts.BLEService.WEDO2_SMART_HUB_3);
-                await this._bleDevice.discoverCharacteristicsForService(Consts.BLEService.WEDO2_SMART_HUB_4);
-                await this._bleDevice.discoverCharacteristicsForService(Consts.BLEService.WEDO2_SMART_HUB_5);
-            }
-            else {
-                await this._bleDevice.discoverCharacteristicsForService("battery_service");
-                await this._bleDevice.discoverCharacteristicsForService("device_information");
-            }
-            this._activatePortDevice(0x03, 0x15, 0x00, 0x00); // Activate voltage reports
-            this._activatePortDevice(0x04, 0x14, 0x00, 0x00); // Activate current reports
-            debug("Connect completed");
-            this.emit("connect");
-            resolve();
-            this._bleDevice.subscribeToCharacteristic(Consts.BLECharacteristic.WEDO2_PORT_TYPE, this._parsePortMessage.bind(this));
-            this._bleDevice.subscribeToCharacteristic(Consts.BLECharacteristic.WEDO2_SENSOR_VALUE, this._parseSensorMessage.bind(this));
-            this._bleDevice.subscribeToCharacteristic(Consts.BLECharacteristic.WEDO2_BUTTON, this._parseSensorMessage.bind(this));
-            if (!utils_1.isWebBluetooth) {
-                this._bleDevice.subscribeToCharacteristic(Consts.BLECharacteristic.WEDO2_BATTERY, this._parseBatteryMessage.bind(this));
-                this._bleDevice.readFromCharacteristic(Consts.BLECharacteristic.WEDO2_BATTERY, (err, data) => {
-                    if (data) {
-                        this._parseBatteryMessage(data);
-                    }
-                });
-            }
-            else {
-                this._bleDevice.readFromCharacteristic("00002a19-0000-1000-8000-00805f9b34fb", (err, data) => {
-                    if (data) {
-                        this._parseBatteryMessage(data);
-                    }
-                });
-                this._bleDevice.subscribeToCharacteristic("00002a19-0000-1000-8000-00805f9b34fb", this._parseHighCurrentAlert.bind(this));
-            }
-            this._bleDevice.subscribeToCharacteristic(Consts.BLECharacteristic.WEDO2_HIGH_CURRENT_ALERT, this._parseHighCurrentAlert.bind(this));
-            if (!utils_1.isWebBluetooth) {
-                this._bleDevice.readFromCharacteristic(Consts.BLECharacteristic.WEDO2_FIRMWARE_REVISION, (err, data) => {
-                    if (data) {
-                        this._parseFirmwareRevisionString(data);
-                    }
-                });
-            }
-            else {
-                this._bleDevice.readFromCharacteristic("00002a26-0000-1000-8000-00805f9b34fb", (err, data) => {
-                    if (data) {
-                        this._parseFirmwareRevisionString(data);
-                    }
-                });
-            }
-        });
-    }
-    /**
-     * Set the name of the Hub.
-     * @method WeDo2SmartHub#setName
-     * @param {string} name New name of the hub (14 characters or less, ASCII only).
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    setName(name) {
-        if (name.length > 14) {
-            throw new Error("Name must be 14 characters or less");
-        }
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from(name, "ascii");
-            // Send this twice, as sometimes the first time doesn't take
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_NAME_ID, data);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_NAME_ID, data);
-            this._name = name;
-            return resolve();
-        });
-    }
-    /**
-     * Set the color of the LED on the Hub via a color value.
-     * @method WeDo2SmartHub#setLEDColor
-     * @param {Color} color
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    setLEDColor(color) {
-        return new Promise((resolve, reject) => {
-            let data = Buffer.from([0x06, 0x17, 0x01, 0x01]);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE, data);
-            if (typeof color === "boolean") {
-                color = 0;
-            }
-            data = Buffer.from([0x06, 0x04, 0x01, color]);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, data);
-            return resolve();
-        });
-    }
-    /**
-     * Shutdown the Hub.
-     * @method WeDo2SmartHub#shutdown
-     * @returns {Promise} Resolved upon successful disconnect.
-     */
-    shutdown() {
-        return new Promise((resolve, reject) => {
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_DISCONNECT, Buffer.from([0x00]), () => {
-                return resolve();
-            });
-        });
-    }
-    /**
-     * Set the color of the LED on the Hub via RGB values.
-     * @method WeDo2SmartHub#setLEDRGB
-     * @param {number} red
-     * @param {number} green
-     * @param {number} blue
-     * @returns {Promise} Resolved upon successful issuance of command.
-     */
-    setLEDRGB(red, green, blue) {
-        return new Promise((resolve, reject) => {
-            let data = Buffer.from([0x06, 0x17, 0x01, 0x02]);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE, data);
-            data = Buffer.from([0x06, 0x04, 0x03, red, green, blue]);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, data);
-            return resolve();
-        });
-    }
-    /**
-     * Set the motor speed on a given port.
-     * @method WeDo2SmartHub#setMotorSpeed
-     * @param {string} port
-     * @param {number} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} [time] How long to activate the motor for (in milliseconds). Leave empty to turn the motor on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the motor is finished.
-     */
-    setMotorSpeed(port, speed, time) {
-        const portObj = this._portLookup(port);
-        let cancelEventTimer = true;
-        if (typeof time === "boolean") {
-            if (time === true) {
-                cancelEventTimer = false;
-            }
-            time = undefined;
-        }
-        if (cancelEventTimer) {
-            portObj.cancelEventTimer();
-        }
-        return new Promise((resolve, reject) => {
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, Buffer.from([portObj.value, 0x01, 0x02, this._mapSpeed(speed)]));
-            if (time && typeof time === "number") {
-                const timeout = global.setTimeout(() => {
-                    this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, Buffer.from([portObj.value, 0x01, 0x02, 0x00]));
-                    return resolve();
-                }, time);
-                portObj.setEventTimer(timeout);
-            }
-            else {
-                return resolve();
-            }
-        });
-    }
-    /**
-     * Ramp the motor speed on a given port.
-     * @method WeDo2SmartHub#rampMotorSpeed
-     * @param {string} port
-     * @param {number} fromSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} toSpeed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0.
-     * @param {number} time How long the ramp should last (in milliseconds).
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    rampMotorSpeed(port, fromSpeed, toSpeed, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            this._calculateRamp(fromSpeed, toSpeed, time, portObj)
-                .on("changeSpeed", (speed) => {
-                this.setMotorSpeed(port, speed, true);
-            })
-                .on("finished", resolve);
-        });
-    }
-    /**
-     * Fully (hard) stop the motor on a given port.
-     * @method WeDo2SmartHub#brakeMotor
-     * @param {string} port
-     * @returns {Promise} Resolved upon successful completion of command.
-     */
-    brakeMotor(port) {
-        return this.setMotorSpeed(port, 127);
-    }
-    /**
-     * Play a tone on the Hub's in-built buzzer
-     * @method WeDo2SmartHub#playTone
-     * @param {number} frequency
-     * @param {number} time How long the tone should play for (in milliseconds).
-     * @returns {Promise} Resolved upon successful completion of command (ie. once the tone has finished playing).
-     */
-    playTone(frequency, time) {
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from([0x05, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00]);
-            data.writeUInt16LE(frequency, 3);
-            data.writeUInt16LE(time, 5);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, data);
-            global.setTimeout(resolve, time);
-        });
-    }
-    /**
-     * Set the light brightness on a given port.
-     * @method WeDo2SmartHub#setLightBrightness
-     * @param {string} port
-     * @param {number} brightness Brightness value between 0-100 (0 is off)
-     * @param {number} [time] How long to turn the light on (in milliseconds). Leave empty to turn the light on indefinitely.
-     * @returns {Promise} Resolved upon successful completion of command. If time is specified, this is once the light is turned off.
-     */
-    setLightBrightness(port, brightness, time) {
-        const portObj = this._portLookup(port);
-        portObj.cancelEventTimer();
-        return new Promise((resolve, reject) => {
-            const data = Buffer.from([portObj.value, 0x01, 0x02, brightness]);
-            this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, data);
-            if (time) {
-                const timeout = global.setTimeout(() => {
-                    const data = Buffer.from([portObj.value, 0x01, 0x02, 0x00]);
-                    this._writeMessage(Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE, data);
-                    return resolve();
-                }, time);
-                portObj.setEventTimer(timeout);
-            }
-            else {
-                return resolve();
-            }
-        });
-    }
-    sendRaw(message, characteristic = Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE) {
-        return new Promise((resolve, reject) => {
-            this._writeMessage(characteristic, message, () => {
-                return resolve();
-            });
-        });
-    }
-    _activatePortDevice(port, type, mode, format, callback) {
-        this._writeMessage(Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE, Buffer.from([0x01, 0x02, port, type, mode, 0x01, 0x00, 0x00, 0x00, format, 0x01]), callback);
-    }
-    _deactivatePortDevice(port, type, mode, format, callback) {
-        this._writeMessage(Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE, Buffer.from([0x01, 0x02, port, type, mode, 0x01, 0x00, 0x00, 0x00, format, 0x00]), callback);
-    }
-    _writeMessage(uuid, message, callback) {
-        if (debug.enabled) {
-            debug(`Sent Message (${this._getCharacteristicNameFromUUID(uuid)})`, message);
-        }
-        this._bleDevice.writeToCharacteristic(uuid, message, callback);
-    }
-    _getCharacteristicNameFromUUID(uuid) {
-        const keys = Object.keys(Consts.BLECharacteristic);
-        for (let i = 0; i < keys.length; i++) {
-            const key = keys[i];
-            if (Consts.BLECharacteristic[key] === uuid) {
-                return key;
-            }
-        }
-        return "UNKNOWN";
-    }
-    _parseHighCurrentAlert(data) {
-        debug("Received Message (WEDO2_HIGH_CURRENT_ALERT)", data);
-    }
-    _parseBatteryMessage(data) {
-        debug("Received Message (WEDO2_BATTERY)", data);
-        this._batteryLevel = data[0];
-    }
-    _parseFirmwareRevisionString(data) {
-        debug("Received Message (WEDO2_FIRMWARE_REVISION)", data);
-        this._firmwareVersion = data.toString();
-    }
-    _parsePortMessage(data) {
-        debug("Received Message (WEDO2_PORT_TYPE)", data);
-        const port = this._getPortForPortNumber(data[0]);
-        if (!port) {
-            return;
-        }
-        port.connected = data[1] === 1 ? true : false;
-        this._registerDeviceAttachment(port, data[3]);
-    }
-    _parseSensorMessage(data) {
-        debug("Received Message (WEDO2_SENSOR_VALUE)", data);
-        if (data[0] === 0x01) {
-            /**
-             * Emits when a button is pressed.
-             * @event WeDo2SmartHub#button
-             * @param {string} button
-             * @param {ButtonState} state
-             */
-            this.emit("button", "GREEN", Consts.ButtonState.PRESSED);
-            return;
-        }
-        else if (data[0] === 0x00) {
-            this.emit("button", "GREEN", Consts.ButtonState.RELEASED);
-            return;
-        }
-        // Voltage
-        if (data[1] === 0x03) {
-            const voltage = data.readInt16LE(2);
-            this._voltage = voltage / 40;
-            // Current
-        }
-        else if (data[1] === 0x04) {
-            const current = data.readInt16LE(2);
-            this._current = current / 1000;
-        }
-        const port = this._getPortForPortNumber(data[1]);
-        if (!port) {
-            return;
-        }
-        if (port && port.connected) {
-            switch (port.type) {
-                case Consts.DeviceType.WEDO2_DISTANCE: {
-                    let distance = data[2];
-                    if (data[3] === 1) {
-                        distance = data[2] + 255;
-                    }
-                    /**
-                     * Emits when a distance sensor is activated.
-                     * @event WeDo2SmartHub#distance
-                     * @param {string} port
-                     * @param {number} distance Distance, in millimeters.
-                     */
-                    this.emit("distance", port.id, distance * 10);
-                    break;
-                }
-                case Consts.DeviceType.BOOST_DISTANCE: {
-                    const distance = data[2];
-                    /**
-                     * Emits when a color sensor is activated.
-                     * @event WeDo2SmartHub#color
-                     * @param {string} port
-                     * @param {Color} color
-                     */
-                    this.emit("color", port.id, distance);
-                    break;
-                }
-                case Consts.DeviceType.WEDO2_TILT: {
-                    this._lastTiltX = data.readInt8(2);
-                    this._lastTiltY = data.readInt8(3);
-                    /**
-                     * Emits when a tilt sensor is activated.
-                     * @event WeDo2SmartHub#tilt
-                     * @param {string} port
-                     * @param {number} x
-                     * @param {number} y
-                     */
-                    this.emit("tilt", port.id, this._lastTiltX, this._lastTiltY);
-                    break;
-                }
-                case Consts.DeviceType.BOOST_TACHO_MOTOR: {
-                    const rotation = data.readInt32LE(2);
-                    /**
-                     * Emits when a rotation sensor is activated.
-                     * @event WeDo2SmartHub#rotate
-                     * @param {string} port
-                     * @param {number} rotation
-                     */
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_LARGE_MOTOR: {
-                    const rotation = data.readInt32LE(2);
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-                case Consts.DeviceType.CONTROL_PLUS_XLARGE_MOTOR: {
-                    const rotation = data.readInt32LE(2);
-                    this.emit("rotate", port.id, rotation);
-                    break;
-                }
-            }
-        }
-    }
-}
-exports.WeDo2SmartHub = WeDo2SmartHub;
-//# sourceMappingURL=wedo2smarthub.js.map
-
-
- - - - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -