FailedDevice

Methods:

class Leap::FailedDevice

The FailedDevice class provides information about Leap Motion hardware that has been physically connected to the client computer, but is not operating correctly.

Failed devices do not provide any tracking data and do not show up in the Controller:devices() list.

Get the list of failed devices using Controller::failedDevices().

Leap::FailedDeviceList badDevices = controller.failedDevices();
for(auto badDevice : badDevices){
    std::string failureReason = "";
    switch (badDevice.failure()) {
        case Leap::FailedDevice::FailureType::FAIL_CALIBRATION:
            failureReason = " has bad calibration record.";
            break;
        case Leap::FailedDevice::FailureType::FAIL_CONTROL:
            failureReason = " failed to establish USB control interfaces.";
            break;
        case Leap::FailedDevice::FailureType::FAIL_FIRMWARE:
            failureReason = " has corrupt firmware or failed to update";
            break;
        case Leap::FailedDevice::FailureType::FAIL_TRANSPORT:
            failureReason = " not responding.";
            break;
        case Leap::FailedDevice::FailureType::FAIL_UNKNOWN:
            failureReason = " failed for unknown reason.";
            break;
    }
    std::cout << "USB device with pnpID: " << badDevice.pnpId() << failureReason << std::endl;
}

Since
3.0

Public Type

FailureType enum

The errors that can cause a device to fail to properly connect to the service.

Since
3.0

Values:

  • FAIL_UNKNOWN -

    The cause of the error is unknown.

    Since

    3.0

  • FAIL_CALIBRATION -

    The device has a bad calibration record.

    Since

    3.0

  • FAIL_FIRMWARE -

    The device firmware is corrupt or failed to update.

    Since

    3.0

  • FAIL_TRANSPORT -

    The device is unresponsive.

    Since

    3.0

  • FAIL_CONTROL -

    The service cannot establish the required USB control interfaces.

    Since

    3.0

  • FAIL_COUNT -

    Not currently used.

    Since

    3.0

Public Functions

FailureType failure()

The reason for device failure.

The failure reasons are defined as members of the FailureType enumeration:

FailureType::FAIL_UNKNOWN The cause of the error is unknown.

FailureType::FAIL_CALIBRATION The device has a bad calibration record.

FailureType::FAIL_FIRMWARE The device firmware is corrupt or failed to update.

FailureType::FAIL_TRANSPORT The device is unresponsive.

FailureType::FAIL_CONTROL The service cannot establish the required USB control interfaces.

FailureType::FAIL_COUNT Not currently used.

Since
3.0

bool isValid()

Reports whether this FailedDevice object contains valid data.

An invalid FailedDevice does not represent a physical device and can be the result of creating a new FailedDevice object with the constructor. Get FailedDevice objects from Controller::failedDevices() only.

Since
3.0

bool operator!=(const FailedDevice &)

Test FailedDevice inequality.

False if the devices are different.

Since
3.0

bool operator==(const FailedDevice &)

Test FailedDevice equality.

True if the devices are the same.

Since
3.0

std::string pnpId()

The device plug-and-play id string.

Since
3.0

Public Static Functions

const FailedDevice & invalid()

An invalid FailedDevice object.

Since
3.0

Failure Types

FailureType enum

The errors that can cause a device to fail to properly connect to the service.

Since
3.0

Values:

  • FAIL_UNKNOWN -

    The cause of the error is unknown.

    Since

    3.0

  • FAIL_CALIBRATION -

    The device has a bad calibration record.

    Since

    3.0

  • FAIL_FIRMWARE -

    The device firmware is corrupt or failed to update.

    Since

    3.0

  • FAIL_TRANSPORT -

    The device is unresponsive.

    Since

    3.0

  • FAIL_CONTROL -

    The service cannot establish the required USB control interfaces.

    Since

    3.0

  • FAIL_COUNT -

    Not currently used.

    Since

    3.0