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
#[macro_use] extern crate failure; #[macro_use] extern crate log; extern crate bus; extern crate byteorder; extern crate serialport; extern crate uuid; use byteorder::LittleEndian as Endian; use std::io; mod error; pub use error::{Error, ErrorKind}; mod messages; pub use messages::*; mod data_value; pub use data_value::DataValue; use data_value::{DataValueReaderExt, DataValueWriterExt}; mod device_capability; pub use device_capability::DeviceCapability; use device_capability::DeviceCapabilityReaderExt; mod error_code; pub use error_code::ErrorCode; use error_code::{ErrorCodeReaderExt, ErrorCodeWriterExt, HasErrorCode}; mod connection; pub use connection::{Connection, Handle, SendAndReceive}; mod job_stopped_reason; pub use job_stopped_reason::JobStoppedReason; use job_stopped_reason::{ JobStoppedReasonReaderExt, JobStoppedReasonWriterExt, }; mod job_set_info; pub use job_set_info::JobSetInfo; use job_set_info::JobSetInfoReaderExt; mod module_channel_reference; pub use module_channel_reference::ModuleChannelReference; mod module_state; pub use module_state::ModuleState; use module_state::{ModuleStateReaderExt, ModuleStateWriterExt}; mod parameter_value; pub use parameter_value::ParameterValue; use parameter_value::{ ParameterValueReaderExt, ParameterValueWriteMode, ParameterValueWriterExt, }; mod with_fixed_payload_length; pub(crate) use with_fixed_payload_length::WithFixedPayloadLength; pub type Result<T> = std::result::Result<T, Error>; pub trait PreliminaryTryFrom<T>: Sized { type Error: failure::Fail; fn try_from(value: T) -> std::result::Result<Self, Self::Error>; } pub trait PreliminaryTryInto<T: Sized> { type Error: failure::Fail; fn try_into(self) -> std::result::Result<T, Self::Error>; } impl<T, U> PreliminaryTryInto<U> for T where U: PreliminaryTryFrom<T>, { type Error = <U as PreliminaryTryFrom<T>>::Error; fn try_into(self) -> std::result::Result<U, Self::Error> { U::try_from(self) } }