diff --git a/Cargo.toml b/Cargo.toml index 393c5dc..46a9690 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -96,6 +96,7 @@ default = ["f64", "cpal-api", "record"] # Use this for debugging extensions # default = ["f64", "python-bindings", "record", "cpal-api"] +pulse-api = [] cpal-api = ["dep:cpal"] record = ["dep:hdf5-sys", "dep:hdf5", "dep:chrono", "dep:uuid"] f64 = [] diff --git a/src/daq/api/mod.rs b/src/daq/api/mod.rs index 9f5e5be..29f352b 100644 --- a/src/daq/api/mod.rs +++ b/src/daq/api/mod.rs @@ -32,7 +32,7 @@ pub trait Stream { } /// Stream API descriptor: type and corresponding text -#[cfg_attr(feature = "python-bindings", pyclass)] +#[cfg_attr(feature = "python-bindings", pyclass(eq, eq_int))] #[derive(strum_macros::EnumMessage, Debug, Clone, PartialEq, Serialize, Deserialize, strum_macros::Display)] #[allow(dead_code)] pub enum StreamApiDescr { diff --git a/src/daq/datatype.rs b/src/daq/datatype.rs index d79fb66..ed53a63 100644 --- a/src/daq/datatype.rs +++ b/src/daq/datatype.rs @@ -8,7 +8,7 @@ use crate::config::*; /// Data type description for samples coming from a stream #[derive(strum_macros::EnumMessage, PartialEq, Copy, Debug, Clone, Serialize, Deserialize)] #[allow(dead_code)] -#[cfg_attr(feature = "python-bindings", pyclass)] +#[cfg_attr(feature = "python-bindings", pyclass(eq, eq_int))] pub enum DataType { /// 32-bit floats #[strum(message = "F32", detailed_message = "32-bits floating points")] diff --git a/src/daq/mod.rs b/src/daq/mod.rs index 5987c2e..408463a 100644 --- a/src/daq/mod.rs +++ b/src/daq/mod.rs @@ -50,7 +50,7 @@ use api::*; use crate::config::*; /// Stream types that can be started /// -#[cfg_attr(feature = "python-bindings", pyclass)] +#[cfg_attr(feature = "python-bindings", pyclass(eq, eq_int))] #[derive(PartialEq, Clone, Copy)] pub enum StreamType { /// Input-only stream diff --git a/src/daq/qty.rs b/src/daq/qty.rs index ec17140..c3049b7 100644 --- a/src/daq/qty.rs +++ b/src/daq/qty.rs @@ -8,7 +8,7 @@ use serde::{Serialize, Deserialize}; /// Physical quantities that are I/O of a Daq device. #[derive(PartialEq, Serialize, Deserialize, strum_macros::EnumMessage, Debug, Clone, Copy)] -#[cfg_attr(feature = "python-bindings", pyclass)] +#[cfg_attr(feature = "python-bindings", pyclass(eq, eq_int))] #[allow(dead_code)] pub enum Qty { /// Number diff --git a/src/daq/streamerror.rs b/src/daq/streamerror.rs index cae0d19..b3f4539 100644 --- a/src/daq/streamerror.rs +++ b/src/daq/streamerror.rs @@ -2,8 +2,8 @@ use strum_macros::Display; use crate::config::*; /// Errors that happen in a stream -#[derive(strum_macros::EnumMessage, Debug, Clone, Display, Copy)] -#[cfg_attr(feature = "python-bindings", pyclass)] +#[derive(strum_macros::EnumMessage, PartialEq, Debug, Clone, Display, Copy)] +#[cfg_attr(feature = "python-bindings", pyclass(eq, eq_int))] pub enum StreamError { /// Input overrun #[strum( diff --git a/src/filter/seriesbiquad.rs b/src/filter/seriesbiquad.rs index e4457a1..10b6515 100644 --- a/src/filter/seriesbiquad.rs +++ b/src/filter/seriesbiquad.rs @@ -97,7 +97,7 @@ impl SeriesBiquad { let filter_coefs = &[1., 0., 0., 1., 0., 0.]; SeriesBiquad::new(filter_coefs).unwrap() } - // pub fn fromZpk(ZerosOrPoles) + fn clone_dyn(&self) -> Box { Box::new(self.clone()) } diff --git a/src/ps/aps.rs b/src/ps/aps.rs index 82bc3cf..7a98bd7 100644 --- a/src/ps/aps.rs +++ b/src/ps/aps.rs @@ -587,12 +587,12 @@ mod test { #[test] #[should_panic] fn test_apssettings1() { - let s = ApsSettingsBuilder::default().build().unwrap(); + let _ = ApsSettingsBuilder::default().build().unwrap(); } #[test] fn test_apssettings2() { - let s = ApsSettingsBuilder::default() + let _ = ApsSettingsBuilder::default() .nfft(2048) .fs(1.0) .build() diff --git a/src/ps/timebuffer.rs b/src/ps/timebuffer.rs index 1408610..ec1e971 100644 --- a/src/ps/timebuffer.rs +++ b/src/ps/timebuffer.rs @@ -171,7 +171,7 @@ mod test { let tres = tb.pop(10, 5).unwrap(); assert_eq!(tres.shape(), [10, 1]); assert_eq!(tb.nsamples(), 15); - let tres = tb.pop(10, 0).unwrap(); + let _ = tb.pop(10, 0).unwrap(); assert_eq!(tb.nsamples(), 5); let tres = tb.pop(5, 5).unwrap(); assert_eq!(tres.shape(), [5, 1]);