Search in sources :

Example 1 with BrickletLEDStrip

use of com.tinkerforge.BrickletLEDStrip in project openhab1-addons by openhab.

the class MBrickletLEDStripImpl method setTinkerforgeDevice.

/**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * 
     * @generated
     */
@Override
public void setTinkerforgeDevice(BrickletLEDStrip newTinkerforgeDevice) {
    BrickletLEDStrip oldTinkerforgeDevice = tinkerforgeDevice;
    tinkerforgeDevice = newTinkerforgeDevice;
    if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.MBRICKLET_LED_STRIP__TINKERFORGE_DEVICE, oldTinkerforgeDevice, tinkerforgeDevice));
}
Also used : MBrickletLEDStrip(org.openhab.binding.tinkerforge.internal.model.MBrickletLEDStrip) BrickletLEDStrip(com.tinkerforge.BrickletLEDStrip) ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl)

Example 2 with BrickletLEDStrip

use of com.tinkerforge.BrickletLEDStrip in project openhab1-addons by openhab.

the class MBrickletLEDStripImpl method enable.

/**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * 
     * @generated NOT
     */
@Override
public void enable() {
    logger.trace("enabling");
    int chipType = BrickletLEDStrip.CHIP_TYPE_WS2801;
    int frameDuration = 100;
    Long clockFrequency = null;
    tinkerforgeDevice = new BrickletLEDStrip(getUid(), getIpConnection());
    if (tfConfig != null) {
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("chiptype"))) {
            String chipTypeString = tfConfig.getChiptype();
            if (chipTypeString.equalsIgnoreCase("ws2801")) {
                chipType = BrickletLEDStrip.CHIP_TYPE_WS2801;
            } else if (chipTypeString.equalsIgnoreCase("ws2811")) {
                chipType = BrickletLEDStrip.CHIP_TYPE_WS2811;
            } else if (chipTypeString.equalsIgnoreCase("ws2812")) {
                chipType = BrickletLEDStrip.CHIP_TYPE_WS2812;
            } else {
                logger.error("Unknown ChipType {}", chipTypeString);
            // TODO raise configuration error
            }
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("frameduration"))) {
            frameDuration = tfConfig.getFrameduration();
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature("clockfrequency"))) {
            clockFrequency = tfConfig.getClockfrequency();
        }
        // subdevices because subdevices use the ColorMapping
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature(ModelPackage.LED_STRIP_CONFIGURATION__COLOR_MAPPING))) {
            colorMapping = tfConfig.getColorMapping();
        }
        if (tfConfig.eIsSet(tfConfig.eClass().getEStructuralFeature(ModelPackage.LED_STRIP_CONFIGURATION__SUB_DEVICES))) {
            String[] subdevices = tfConfig.getSubDevices().trim().split("\\s+");
            for (String subId : subdevices) {
                addSubdevice(subId);
            }
        }
    }
    logger.debug("chipType is {}", chipType);
    logger.debug("frameDuration is {}", frameDuration);
    logger.debug("colorMapping is {}", colorMapping);
    try {
        tinkerforgeDevice.setChipType(chipType);
        tinkerforgeDevice.setFrameDuration(frameDuration);
        if (clockFrequency != null) {
            logger.debug("clockFrequency is {}", clockFrequency);
            tinkerforgeDevice.setClockFrequency(clockFrequency);
        } else {
            logger.debug("clockFrequency is not set");
        }
    } catch (TimeoutException e) {
        TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_TIMEOUT_EXCEPTION, e);
    } catch (NotConnectedException e) {
        TinkerforgeErrorHandler.handleError(this, TinkerforgeErrorHandler.TF_NOT_CONNECTION_EXCEPTION, e);
    }
}
Also used : MBrickletLEDStrip(org.openhab.binding.tinkerforge.internal.model.MBrickletLEDStrip) BrickletLEDStrip(com.tinkerforge.BrickletLEDStrip) NotConnectedException(com.tinkerforge.NotConnectedException) TimeoutException(com.tinkerforge.TimeoutException)

Aggregations

BrickletLEDStrip (com.tinkerforge.BrickletLEDStrip)2 MBrickletLEDStrip (org.openhab.binding.tinkerforge.internal.model.MBrickletLEDStrip)2 NotConnectedException (com.tinkerforge.NotConnectedException)1 TimeoutException (com.tinkerforge.TimeoutException)1 ENotificationImpl (org.eclipse.emf.ecore.impl.ENotificationImpl)1