Package fr.soleil.tango.clientapi

Examples of fr.soleil.tango.clientapi.TangoAttribute


     * @param attr
     */
    protected void setAttribute(String attributeName, String attributeValue, boolean testIfIsRunning) throws DevFailed {
        if (!testIfIsRunning
                || ((attributeValue != null) && TangoAttributeHelper.isAttributeRunning(scanServerName, attributeName))) {
            new TangoAttribute(scanServerName + "/" + attributeName).write(attributeValue);
        }
    }
View Full Code Here


     */
    protected void setAttribute(String attributeName, double[] attributeValue, boolean testIfIsRunning)
    throws DevFailed {
        if ((attributeValue != null)
                && (!testIfIsRunning || (TangoAttributeHelper.isAttributeRunning(scanServerName, attributeName)))) {
            new TangoAttribute(scanServerName + "/" + attributeName).write(attributeValue);
        }
    }
View Full Code Here

     */
    protected void setAttribute(String attributeName, String[] attributeValue, boolean testIfIsRunning)
    throws DevFailed {
        if ((attributeValue != null)
                && (!testIfIsRunning || TangoAttributeHelper.isAttributeRunning(scanServerName, attributeName))) {
            new TangoAttribute(scanServerName + "/" + attributeName).writeSpectrum((Object[]) attributeValue);
        }
    }
View Full Code Here

     * @return The desired {@link TangoAttribute}, or <code>null</code> if device was
     *         <code>null</code> or if its name was <code>null</code> or empty
     * @throws SalsaDeviceException If a problem occurred while accessing the attribute
     */
    private static TangoAttribute getTangoAttribute(IDevice device) throws SalsaDeviceException {
        TangoAttribute result = null;
        if (device != null) {
            result = getTangoAttribute(device.getName());
        }
        return result;
    }
View Full Code Here

     *         <code>null</code> or empty
     * @throws SalsaDeviceException If a problem occurred while accessing the attribute
     */
    private static TangoAttribute getTangoAttribute(String completeName)
            throws SalsaDeviceException {
        TangoAttribute result = null;
        if (completeName != null && !completeName.trim().isEmpty()) {
            try {
                result = new TangoAttribute(completeName);
            }
            catch (DevFailed e) {
                e.printStackTrace();
                throw generateSalsaAccessDeviceException(e, completeName);
            }
View Full Code Here

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

        DeviceProxy proxy = getDeviceProxy(deviceName);
        TangoAttribute attribute = getTangoAttribute(proxy.get_name() + "/" + 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);
                    if (readable) {
                        report.setReadScalarData(tangoAttribute.read(Double.class));
                    }
                    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 = (double[]) tangoAttribute.readArray(Double.TYPE);
                    int spectrumLength = attribute.getDeviceAttribute().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 = (double[]) tangoAttribute.readArray(Double.TYPE);
                    int xDim = attribute.getDeviceAttribute().getDimX();
                    int yDim = attribute.getDeviceAttribute().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];
View Full Code Here

     * @param attr
     */
    protected void setAttribute(String attributeName, boolean attributeValue)
            throws SalsaDeviceException {
        try {
            new TangoAttribute(scanServerName + "/" + attributeName).write(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

     * @param attr
     */
    protected void setAttribute(String attributeName, byte attributeValue)
            throws SalsaDeviceException {
        try {
            new TangoAttribute(scanServerName + "/" + attributeName).write(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

     * @param attr
     */
    protected void setAttribute(String attributeName, short attributeValue)
            throws SalsaDeviceException {
        try {
            new TangoAttribute(scanServerName + "/" + attributeName).write(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

     * @param attr
     */
    protected void setAttribute(String attributeName, int attributeValue)
            throws SalsaDeviceException {
        try {
            new TangoAttribute(scanServerName + "/" + attributeName).write(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

Related Classes of fr.soleil.tango.clientapi.TangoAttribute

Copyright © 2018 www.massapicom. 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.