epics-ca

Crates.ioepics-ca
lib.rsepics-ca
version0.1.2
sourcesrc
created_at2022-12-16 17:15:50.795229
updated_at2023-08-24 14:44:36.731992
descriptionClient library for EPICS Channel Access protocol
homepagehttps://gitlab.com/agerasev/epics-ca
repositoryhttps://gitlab.com/agerasev/epics-ca.git
max_upload_size
id739009
size139,320
Sam Demin (nthend)

documentation

https://docs.rs/epics-ca

README

epics-ca

Rust bindings for EPICS Channel Access protocol.

Requrements

This crate requires built epics-base or at least ca library.

During build you need to provide a path to a static library (libca.a or ca.lib). This could be done either by:

  • setting EPICS_BASE env variable that contains path to epics-base root, or
  • adding to RUSTFLAGS a path where static library file is stored (e.g. -L /opt/epics-base/lib/linux-x86_64).

At run time the crate also needs a dynamic library (libca.so or ca.dll). You need to provide path to its location (e.g. via LD_LIBRARY_PATH) or put it where it could be found automatically (e.g. along with executable).

Testing

To run tests you need to have dummy IOC running (located in ioc dir):

  • Set appropriate EPICS_BASE path in configure/RELEASE.
  • Build with make.
  • Go to iocBoot/iocTest/ and run script st.cmd and don't stop it.

In separate shell run cargo test.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 97

cargo fmt