1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//! Pure Rust EPICS control system framework.
//!
//! This is the umbrella crate that re-exports all epics-rs sub-crates.
//! Use feature flags to select which modules you need:
//!
//! ```toml
//! [dependencies]
//! epics-rs = { version = "0.6", features = ["motor", "ad"] }
//! ```
//!
//! ## Features
//!
//! | Feature | Description | Default |
//! |---------|-------------|---------|
//! | `ca` | Channel Access client & server | yes |
//! | `pva` | pvAccess client (experimental) | no |
//! | `bridge` | Record ↔ PVA bridge (QSRV equivalent) | no |
//! | `asyn` | Async port driver framework | no |
//! | `motor` | Motor record + SimMotor | no |
//! | `ad` | areaDetector (core + plugins) | no |
//! | `calc` | Calc expression engine | always |
//! | `autosave` | PV save/restore | always |
//! | `busy` | Busy record | always |
//! | `std` | Standard records (epid, throttle, timestamp) | no |
//! | `scaler` | Scaler record (multi-channel counter) | no |
//! | `full` | Everything | no |
/// Core IOC infrastructure — record system, database, iocsh, types.
pub use epics_base_rs as base;
/// Channel Access protocol — client and server.
pub use epics_ca_rs as ca;
/// pvAccess protocol — client (experimental).
pub use epics_pva_rs as pva;
/// Bridge: exposes EPICS records as pvAccess channels (QSRV equivalent).
pub use epics_bridge_rs as bridge;
/// Async port driver framework.
pub use asyn_rs as asyn;
/// Motor record + SimMotor.
pub use motor_rs as motor;
/// areaDetector core — NDArray, driver base.
pub use ad_core_rs as ad_core;
/// areaDetector plugins — Stats, ROI, FFT, file writers, etc.
pub use ad_plugins_rs as ad_plugins;
/// Calc expression engine (re-exported from epics-base-rs).
/// PV automatic save/restore (re-exported from epics-base-rs).
/// Busy record (re-exported from epics-base-rs).
/// Standard records (epid, throttle, timestamp) and device support.
pub use std_rs as std_mod;
/// Scaler record — multi-channel counter with preset and auto-count support.
pub use scaler_rs as scaler;
/// Optics record types and device support (table, monochromator, filters, etc.).
pub use optics_rs as optics;