//! Third-party laboratory instruments presented as Deimos peripherals.
//!
//! Concrete modules pair a pure peripheral with a blocking-I/O worker and an
//! `attach` helper. The controller communicates with each worker through a
//! nonblocking, identity-keyed protocol responder; shared SCPI transport stays
//! independent of instrument-specific commands.
//!
//! Retain every returned [`InstrumentRunHandle`] until after the controller has
//! stopped, then join it so output-capable instruments can enter their safe
//! state and worker failures remain observable.
pub use InstrumentRunHandle;
pub use ScpiTcpConfig;
use ModelNumber;
/// Beginning of the model-number range reserved for built-in software peripherals.
pub const SOFTWARE_MODEL_NUMBER_BASE: ModelNumber = 1 << 63;