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_BASEenv variable that contains path toepics-baseroot, or - adding to
RUSTFLAGSa 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_BASEpath inconfigure/RELEASE. - Build with
make. - Go to
iocBoot/iocTest/and run scriptst.cmdand don't stop it.
In separate shell run cargo test.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.