Examples of DeviceAttribute


Examples of fr.esrf.TangoApi.DeviceAttribute

     * @throws SalsaDeviceException
     */
    public static String getQuality(IDevice device) throws SalsaDeviceException {
        String quality;
        if (device != null && device.getName() != null && !"".equals(device.getName().trim())) {
            DeviceAttribute attribute = getDeviceAttribute(device);
            if (attribute != null) {
                try {
                    quality = QualityUtilities.getNameForQuality(attribute.getQuality());
                }
                catch (DevFailed e) {
                    SalsaDeviceException salsaDeviceException = new SalsaDeviceException(
                            "Error while trying to read the quality of the TangORB attribute value for the device "
                                    + device.getName() + ".", e);
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @return
     * @throws SalsaDeviceException
     */
    private static DeviceAttribute getDeviceAttribute(DeviceProxy proxy, String attributeName)
            throws SalsaDeviceException {
        DeviceAttribute attribute;
        try {
            attribute = proxy.read_attribute(attributeName);
        }
        catch (DevFailed e) {
            e.printStackTrace();
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

        }
        String deviceName = name.substring(0, separatorPos);
        String attributeName = name.substring(separatorPos + 1);

        DeviceProxy proxy = getDeviceProxy(deviceName);
        DeviceAttribute attribute = getDeviceAttribute(proxy, attributeName);
        AttributeInfo info = getAttributeInfo(proxy, attributeName);
        // Report.

        // Readable / writable.
        boolean readable;
        boolean writeable;
        switch (info.writable.value()) {
            case AttrWriteType._READ:
                readable = true;
                writeable = false;
                break;
            case AttrWriteType._READ_WITH_WRITE:
            case AttrWriteType._READ_WRITE:
                readable = true;
                writeable = true;
                break;
            case AttrWriteType._WRITE:
                readable = false;
                writeable = true;
                break;
            default:
                // Normally impossible.
                throw new SalsaDeviceException("Unknown write type for the device " + name + ".");
        }
        report.setReadable(readable);
        report.setWriteable(writeable);

        // Data and data format.
        try {
            TangoAttribute tangoAttribute = new TangoAttribute(name);
            String format = null;
            try {
                AttributeProxy attributeProxy = tangoAttribute.getAttributeProxy();
                if (attributeProxy != null) {
                    AttributeInfo attributeInfo = attributeProxy.get_info();
                    if (attributeInfo != null) {
                        format = attributeInfo.format;
                    }
                }
            }
            catch (Exception e) {
                // Ignore exception: it is not a problem if format is not recovered
                format = null;
            }
            report.setFormat(format);

            double[] rawData;
            switch (info.data_format.value()) {
                case AttrDataFormat._SCALAR:
                    report.setDimensionType(DimensionType.SCALAR);
                    rawData = AttributeHelper.extractToDoubleArray(attribute);
                    if (readable) {
                        report.setReadScalarData(rawData[0]);
                    }
                    else {
                        report.setReadScalarData(null);
                    }
                    if (writeable) {
                        Double dataWritten = tangoAttribute.readWritten(Double.class);
                        report.setWriteScalarData(dataWritten);
                    }
                    else {
                        report.setWriteScalarData(null);
                    }
                    report.setReadSpectrumData(null);
                    report.setWriteSpectrumData(null);
                    report.setReadImageData(null);
                    report.setWriteImageData(null);
                    break;
                case AttrDataFormat._SPECTRUM:
                    report.setDimensionType(DimensionType.SPECTRUM);
                    rawData = AttributeHelper.extractToDoubleArray(attribute);
                    int spectrumLength = attribute.getDimX();
                    Double[] readSpectrumData = null;
                    Double[] writeSpectrumData = null;

                    if (readable) {
                        readSpectrumData = new Double[spectrumLength];
                        writeSpectrumData = null;
                        for (int index = 0; index < spectrumLength; ++index) {
                            readSpectrumData[index] = rawData[index];
                        }
                    }

                    if (writeable) {
                        writeSpectrumData = new Double[spectrumLength];
                        for (int index = 0; index < spectrumLength; ++index) {
                            writeSpectrumData = tangoAttribute.readSpecOrImage(Double.class);

                        }

                    }
                    report.setReadScalarData(null);
                    report.setWriteScalarData(null);
                    report.setReadSpectrumData(readSpectrumData);
                    report.setWriteSpectrumData(writeSpectrumData);
                    report.setReadImageData(null);
                    report.setWriteImageData(null);
                    break;
                case AttrDataFormat._IMAGE:
                    report.setDimensionType(DimensionType.IMAGE);
                    rawData = AttributeHelper.extractToDoubleArray(attribute);
                    int xDim = attribute.getDimX();
                    int yDim = attribute.getDimY();
                    Double[][] readImageData;
                    Double[][] writeImageData;
                    Double[] writtenImage = tangoAttribute.readSpecOrImage(Double.class);
                    int yOffset;
                    if (readable) {
                        readImageData = new Double[yDim][xDim];
                        if (writeable) {
                            writeImageData = new Double[yDim][xDim];

                            for (int yPos = 0; yPos < yDim; ++yPos) {
                                yOffset = yPos * xDim;

                                for (int xPos = 0; xPos < xDim; ++xPos) {
                                    readImageData[yPos][xPos] = rawData[xPos + yOffset];
                                    writeImageData[yPos][xPos] = writtenImage[xPos + yOffset];

                                }
                            }
                        }
                        else {
                            writeImageData = null;
                            for (int yPos = 0; yPos < yDim; ++yPos) {
                                yOffset = yPos * xDim;
                                for (int xPos = 0; xPos < xDim; ++xPos) {
                                    readImageData[yPos][xPos] = rawData[xPos + yOffset];
                                }
                            }
                        }
                    }
                    else {
                        readImageData = null;
                        if (writeable) {
                            writeImageData = new Double[yDim][xDim];
                            for (int yPos = 0; yPos < yDim; ++yPos) {
                                yOffset = yPos * xDim;
                                for (int xPos = 0; xPos < xDim; ++xPos) {
                                    writeImageData[yPos][xPos] = writtenImage[xPos + yOffset];
                                }
                            }
                        }
                        else {
                            writeImageData = null;
                        }
                    }
                    report.setReadScalarData(null);
                    report.setWriteScalarData(null);
                    report.setReadSpectrumData(null);
                    report.setWriteSpectrumData(null);
                    report.setReadImageData(readImageData);
                    report.setWriteImageData(writeImageData);
                    break;
                default:
                    // Normally impossible.
                    throw new SalsaDeviceException("Unknown data format for the device " + name
                            + ".");
            }
        }
        catch (DevFailed e) {
            e.printStackTrace();
            SalsaDeviceException salsaDeviceException = new SalsaDeviceException(
                    "Error while trying to read the TangORB attribute data for the device " + name
                            + ".", e);
            throw salsaDeviceException;
        }

        String quality;
        try {
            quality = QualityUtilities.getNameForQuality(attribute.getQuality());
        }
        catch (DevFailed e) {
            SalsaDeviceException salsaDeviceException = new SalsaDeviceException(
                    "Error while trying to read the quality of the TangORB attribute value for the device "
                            + name + ".", e);
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, boolean attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, byte attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, short attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, int attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, long attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, float attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here

Examples of fr.esrf.TangoApi.DeviceAttribute

     * @param attr
     */
    protected void setAttribute(String attributeName, double attributeValue)
            throws SalsaDeviceException {
        try {
            scanServerProxy.write_attribute(new DeviceAttribute(attributeName, attributeValue));
        }
        catch (DevFailed e) {
            String message = "Error setting attribute " + attributeName + " to " + attributeValue
                    + " : " + e.getMessage();
            if (e.errors != null && e.errors.length > 0) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.