pub struct PluginPortDriver { /* private fields */ }Expand description
PortDriver implementation for a plugin’s control plane.
Trait Implementations§
Source§impl PortDriver for PluginPortDriver
impl PortDriver for PluginPortDriver
fn base(&self) -> &PortDriverBase
fn base_mut(&mut self) -> &mut PortDriverBase
fn io_write_int32(&mut self, user: &mut AsynUser, value: i32) -> AsynResult<()>
fn io_write_float64( &mut self, user: &mut AsynUser, value: f64, ) -> AsynResult<()>
fn io_write_octet(&mut self, user: &mut AsynUser, data: &[u8]) -> AsynResult<()>
fn read_int8_array( &mut self, _user: &AsynUser, buf: &mut [i8], ) -> AsynResult<usize>
fn read_int16_array( &mut self, _user: &AsynUser, buf: &mut [i16], ) -> AsynResult<usize>
fn read_int32_array( &mut self, _user: &AsynUser, buf: &mut [i32], ) -> AsynResult<usize>
fn read_float32_array( &mut self, _user: &AsynUser, buf: &mut [f32], ) -> AsynResult<usize>
fn read_float64_array( &mut self, _user: &AsynUser, buf: &mut [f64], ) -> AsynResult<usize>
fn connect(&mut self, _user: &AsynUser) -> Result<(), AsynError>
fn disconnect(&mut self, _user: &AsynUser) -> Result<(), AsynError>
fn enable(&mut self, _user: &AsynUser) -> Result<(), AsynError>
fn disable(&mut self, _user: &AsynUser) -> Result<(), AsynError>
fn connect_addr(&mut self, user: &AsynUser) -> Result<(), AsynError>
fn disconnect_addr(&mut self, user: &AsynUser) -> Result<(), AsynError>
fn enable_addr(&mut self, user: &AsynUser) -> Result<(), AsynError>
fn disable_addr(&mut self, user: &AsynUser) -> Result<(), AsynError>
fn get_option(&self, key: &str) -> Result<String, AsynError>
fn set_option(&mut self, key: &str, value: &str) -> Result<(), AsynError>
fn report(&self, level: i32)
fn read_int32(&mut self, user: &AsynUser) -> Result<i32, AsynError>
fn write_int32( &mut self, user: &mut AsynUser, value: i32, ) -> Result<(), AsynError>
fn read_int64(&mut self, user: &AsynUser) -> Result<i64, AsynError>
fn write_int64( &mut self, user: &mut AsynUser, value: i64, ) -> Result<(), AsynError>
fn get_bounds_int32(&self, _user: &AsynUser) -> Result<(i32, i32), AsynError>
fn get_bounds_int64(&self, _user: &AsynUser) -> Result<(i64, i64), AsynError>
fn read_float64(&mut self, user: &AsynUser) -> Result<f64, AsynError>
fn write_float64( &mut self, user: &mut AsynUser, value: f64, ) -> Result<(), AsynError>
fn read_octet( &mut self, user: &AsynUser, buf: &mut [u8], ) -> Result<usize, AsynError>
fn write_octet( &mut self, user: &mut AsynUser, data: &[u8], ) -> Result<(), AsynError>
fn read_uint32_digital( &mut self, user: &AsynUser, mask: u32, ) -> Result<u32, AsynError>
fn write_uint32_digital( &mut self, user: &mut AsynUser, value: u32, mask: u32, ) -> Result<(), AsynError>
Source§fn set_interrupt_uint32_digital(
&mut self,
user: &AsynUser,
mask: u32,
reason: InterruptReason,
) -> Result<(), AsynError>
fn set_interrupt_uint32_digital( &mut self, user: &AsynUser, mask: u32, reason: InterruptReason, ) -> Result<(), AsynError>
Configure rising / falling interrupt masks for a
UInt32Digital parameter. C parity:
asynPortDriver::setInterruptUInt32Digital
(asynPortDriver.cpp:2346-2369) → routes to
paramList::setUInt32Interrupt. The default delegates to the
param store; drivers that need to push the configuration to
hardware (e.g. real GPIB cards toggling SRQ enable) override
it.Source§fn clear_interrupt_uint32_digital(
&mut self,
user: &AsynUser,
mask: u32,
) -> Result<(), AsynError>
fn clear_interrupt_uint32_digital( &mut self, user: &AsynUser, mask: u32, ) -> Result<(), AsynError>
Clear bits from rising AND falling masks. C parity:
asynPortDriver::clearInterruptUInt32Digital
(asynPortDriver.cpp:2392-2415). Mirrors C — the call does
not take an interruptReason; both masks are cleared.Source§fn get_interrupt_uint32_digital(
&self,
user: &AsynUser,
reason: InterruptReason,
) -> Result<u32, AsynError>
fn get_interrupt_uint32_digital( &self, user: &AsynUser, reason: InterruptReason, ) -> Result<u32, AsynError>
Read the configured rising / falling / combined mask. C
parity:
asynPortDriver::getInterruptUInt32Digital
(asynPortDriver.cpp:2438-2461).fn read_enum( &mut self, user: &AsynUser, ) -> Result<(usize, Arc<[EnumEntry]>), AsynError>
fn write_enum( &mut self, user: &mut AsynUser, index: usize, ) -> Result<(), AsynError>
fn write_enum_choices( &mut self, user: &mut AsynUser, choices: Arc<[EnumEntry]>, ) -> Result<(), AsynError>
fn read_generic_pointer( &mut self, user: &AsynUser, ) -> Result<Arc<dyn Any + Sync + Send>, AsynError>
fn write_generic_pointer( &mut self, user: &mut AsynUser, value: Arc<dyn Any + Sync + Send>, ) -> Result<(), AsynError>
fn write_float64_array( &mut self, user: &AsynUser, data: &[f64], ) -> Result<(), AsynError>
fn write_int32_array( &mut self, user: &AsynUser, data: &[i32], ) -> Result<(), AsynError>
fn write_int8_array( &mut self, user: &AsynUser, data: &[i8], ) -> Result<(), AsynError>
fn write_int16_array( &mut self, user: &AsynUser, data: &[i16], ) -> Result<(), AsynError>
fn read_int64_array( &mut self, _user: &AsynUser, _buf: &mut [i64], ) -> Result<usize, AsynError>
fn write_int64_array( &mut self, user: &AsynUser, data: &[i64], ) -> Result<(), AsynError>
fn write_float32_array( &mut self, user: &AsynUser, data: &[f32], ) -> Result<(), AsynError>
fn io_read_octet( &mut self, user: &AsynUser, buf: &mut [u8], ) -> Result<usize, AsynError>
Source§fn io_read_octet_eom(
&mut self,
user: &AsynUser,
buf: &mut [u8],
) -> Result<(usize, EomReason), AsynError>
fn io_read_octet_eom( &mut self, user: &AsynUser, buf: &mut [u8], ) -> Result<(usize, EomReason), AsynError>
Octet read that also reports the end-of-message reason — C
parity for
asynOctet::read(... int *eomReason)
(asynOctet.h:38-40). The default implementation delegates to
Self::io_read_octet and reconstructs a synthetic
EomReason: CNT when the buffer filled, empty otherwise.
Drivers that have native EOM information
(asynOctetSyncIO::readRaw, GPIB END, EOS match) must
override this method so consumers — asynRecord::EOMR,
asynOctetSyncIO::readRaw mirrors — receive the real flags.fn io_read_int32(&mut self, user: &AsynUser) -> Result<i32, AsynError>
fn io_read_int64(&mut self, user: &AsynUser) -> Result<i64, AsynError>
fn io_write_int64( &mut self, user: &mut AsynUser, value: i64, ) -> Result<(), AsynError>
fn io_read_float64(&mut self, user: &AsynUser) -> Result<f64, AsynError>
fn io_read_uint32_digital( &mut self, user: &AsynUser, mask: u32, ) -> Result<u32, AsynError>
fn io_write_uint32_digital( &mut self, user: &mut AsynUser, value: u32, mask: u32, ) -> Result<(), AsynError>
fn io_flush(&mut self, _user: &mut AsynUser) -> Result<(), AsynError>
fn set_input_eos(&mut self, eos: &[u8]) -> Result<(), AsynError>
fn get_input_eos(&self) -> Vec<u8> ⓘ
fn set_output_eos(&mut self, eos: &[u8]) -> Result<(), AsynError>
fn get_output_eos(&self) -> Vec<u8> ⓘ
Source§fn shutdown(&mut self) -> Result<(), AsynError>
fn shutdown(&mut self) -> Result<(), AsynError>
Called when the port is being shut down. Drivers override this
to release hardware resources. Matches C asynPortDriver::shutdownPortDriver().
Source§fn drv_user_create(&self, drv_info: &str) -> Result<usize, AsynError>
fn drv_user_create(&self, drv_info: &str) -> Result<usize, AsynError>
Resolve a driver info string to a parameter index.
Default: look up by parameter name.
Source§fn capabilities(&self) -> Vec<Capability>
fn capabilities(&self) -> Vec<Capability>
Declare the capabilities this driver supports.
Default implementation includes all scalar read/write operations.
Source§fn supports(&self, cap: Capability) -> bool
fn supports(&self, cap: Capability) -> bool
Check if this driver supports a specific capability.
fn init(&mut self) -> Result<(), AsynError>
Auto Trait Implementations§
impl Freeze for PluginPortDriver
impl !RefUnwindSafe for PluginPortDriver
impl Send for PluginPortDriver
impl Sync for PluginPortDriver
impl Unpin for PluginPortDriver
impl UnsafeUnpin for PluginPortDriver
impl !UnwindSafe for PluginPortDriver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more