Crate tango_client

Source
Expand description

A Rust binding to the Tango control system.

This crate provides a client API for Tango control system servers. It uses the preexisting C bindings (included) and wraps the API functions provided by it in a Rustic interface.

Example usage:

use tango_client::{DeviceProxy, CommandData};

let mut dev = DeviceProxy::new("sys/tg_test/1")?;
let argin = CommandData::from_str("Test");
let argout = dev.command_inout("DevString", arg)?;
assert_eq!(argout.into_bytes().unwrap(), "Test".as_bytes());

At present, only the most used subset of Database and Device APIs are wrapped. Only synchronous calls are implemented.

Re-exports§

pub use proxy::DeviceProxy;
pub use dbase::DatabaseProxy;
pub use error::TangoError;
pub use error::TangoResult;
pub use types::TangoDataType;
pub use types::TangoDevState;
pub use types::DispLevel;
pub use types::DevSource;
pub use types::CommandInfo;
pub use types::CommandData;
pub use types::DevEncoded;
pub use types::AttributeInfo;
pub use types::AttrQuality;
pub use types::AttrWriteType;
pub use types::AttrDataFormat;
pub use types::AttributeData;
pub use types::AttrValue;
pub use types::DbDatum;
pub use types::PropertyValue;
pub use types::ErrSeverity;

Modules§

dbase
Binding to the Tango Database API.
error
Error types used with Tango.
proxy
Binding to the Tango Device proxy API.
serde
This module implements the serde Serialize and Deserialize traits for the Tango data types CommandData, AttrValue and PropertyValue.
types
Data types used with the Tango API.