Skip to main content

Crate pvxs_sys

Crate pvxs_sys 

Source
Expand description

§EPICS PVXS Rust Bindings

Safe Rust bindings for the EPICS PVXS (PVAccess) library.

§Overview

This crate provides idiomatic Rust bindings to the EPICS PVXS C++ library, which implements the PVAccess network protocol used in EPICS (Experimental Physics and Industrial Control System).

§Features

§Client

§Server

  • Start: Server::start_from_env (network) or Server::start_isolated (local-only)
  • PV creation: create_pv_double, create_pv_int32, create_pv_string, create_pv_enum, and their _array variants
  • POST: Publish new values with automatic alarm computation — post_double, post_int32, post_string, post_enum, and _array variants
  • Fetch: Read the current server-side value with alarm info — fetch_double, fetch_int32, fetch_string, fetch_enum
  • Stop: Server::stop_drop — consumes the server and frees all resources
  • Handle: ServerHandle — clone-able, thread-safe handle for use across threads

§Metadata & Alarms

§Other

Re-exports§

pub use bridge::ContextWrapper;
pub use bridge::MonitorBuilderWrapper;
pub use bridge::MonitorWrapper;
pub use bridge::RpcWrapper;
pub use bridge::ServerWrapper;
pub use bridge::SharedPVWrapper;
pub use bridge::StaticSourceWrapper;
pub use bridge::ValueWrapper;

Modules§

bridge

Structs§

AlarmConfig
AlarmMetadata
Alarm metadata for NTScalar
AlarmResult
Context
A PVXS client context for performing PVAccess operations
ControlMetadata
Control metadata for NTScalar
DisplayMetadata
Display metadata for NTScalar
FetchedDouble
Fetched double value with alarm information
FetchedDoubleArray
Fetched double array value with alarm information
FetchedEnum
Fetched enum value with alarm information
FetchedInt32
Fetched int32 value with alarm information
FetchedInt32Array
Fetched int32 array value with alarm information
FetchedString
Fetched string value with alarm information
FetchedStringArray
Fetched string array value with alarm information
Monitor
RPC (Remote Procedure Call) builder for EPICS servers
MonitorBuilder
MonitorBuilder provides a builder pattern for creating monitors with advanced configuration
NTEnumMetadataBuilder
Builder for creating NTEnum metadata
NTScalarMetadataBuilder
Builder for creating NTScalar metadata with optional fields
PvxsError
Error type for PVXS operations
Rpc
Server
A PVXS server for hosting process variables with automatic alarm management
ServerHandle
Handle to a running PVXS server
SharedPV
A shared process variable that can be hosted by a server
StaticSource
A static source for organising collections of PVs
Value
A PVAccess value container

Enums§

AlarmSeverity
AlarmStatus
MonitorEvent
Monitor event types that can be returned by pop()
Ordering
Atomic memory orderings

Functions§

compute_alarm_for_scalar
configure_logging_from_env
Configure PVXS logging from environment variable PVXS_LOG
set_logger_level
Set logging level for a specific PVXS logger

Type Aliases§

AtomicUsize
An integer type which can be safely shared between threads.
Result