Merge #356
356: Dependency cleanup, s/enum-iterator/num-enum/ r=jordens a=jordens * remove unused dependencies * replace `enum-iterator` and manual matching with `num-enum`. Co-authored-by: Robert Jördens <rj@quartiq.de>
This commit is contained in:
commit
a6e030a69a
|
@ -200,6 +200,17 @@ dependencies = [
|
||||||
"cortex-m 0.7.2",
|
"cortex-m 0.7.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "derivative"
|
||||||
|
version = "2.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "derive_miniconf"
|
name = "derive_miniconf"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
@ -215,7 +226,6 @@ name = "dsp"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"easybench",
|
"easybench",
|
||||||
"libm",
|
|
||||||
"miniconf",
|
"miniconf",
|
||||||
"ndarray",
|
"ndarray",
|
||||||
"num",
|
"num",
|
||||||
|
@ -374,12 +384,6 @@ version = "0.2.93"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
|
checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libm"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "log"
|
name = "log"
|
||||||
version = "0.4.14"
|
version = "0.4.14"
|
||||||
|
@ -537,6 +541,27 @@ dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num_enum"
|
||||||
|
version = "0.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "226b45a5c2ac4dd696ed30fa6b94b057ad909c7b7fc2e0d0808192bced894066"
|
||||||
|
dependencies = [
|
||||||
|
"derivative",
|
||||||
|
"num_enum_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num_enum_derive"
|
||||||
|
version = "0.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1c0fd9eba1d5db0994a239e09c1be402d35622277e35468ba891aa5e3188ce7e"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "panic-semihosting"
|
name = "panic-semihosting"
|
||||||
version = "0.5.6"
|
version = "0.5.6"
|
||||||
|
@ -751,14 +776,13 @@ dependencies = [
|
||||||
"cortex-m-rtic",
|
"cortex-m-rtic",
|
||||||
"dsp",
|
"dsp",
|
||||||
"embedded-hal",
|
"embedded-hal",
|
||||||
"enum-iterator",
|
|
||||||
"generic-array 0.14.4",
|
|
||||||
"heapless 0.6.1",
|
"heapless 0.6.1",
|
||||||
"log",
|
"log",
|
||||||
"mcp23017",
|
"mcp23017",
|
||||||
"miniconf",
|
"miniconf",
|
||||||
"minimq",
|
"minimq",
|
||||||
"nb 1.0.0",
|
"nb 1.0.0",
|
||||||
|
"num_enum",
|
||||||
"panic-semihosting",
|
"panic-semihosting",
|
||||||
"paste",
|
"paste",
|
||||||
"serde",
|
"serde",
|
||||||
|
|
|
@ -39,11 +39,10 @@ cortex-m-rtic = "0.5.6"
|
||||||
embedded-hal = "0.2.4"
|
embedded-hal = "0.2.4"
|
||||||
nb = "1.0.0"
|
nb = "1.0.0"
|
||||||
asm-delay = "0.9.0"
|
asm-delay = "0.9.0"
|
||||||
enum-iterator = "0.6.0"
|
num_enum = { version = "0.5.1", default-features = false }
|
||||||
paste = "1"
|
paste = "1"
|
||||||
dsp = { path = "dsp" }
|
dsp = { path = "dsp" }
|
||||||
ad9959 = { path = "ad9959" }
|
ad9959 = { path = "ad9959" }
|
||||||
generic-array = "0.14"
|
|
||||||
miniconf = "0.1.0"
|
miniconf = "0.1.0"
|
||||||
shared-bus = {version = "0.2.2", features = ["cortex-m"] }
|
shared-bus = {version = "0.2.2", features = ["cortex-m"] }
|
||||||
serde-json-core = "0.3"
|
serde-json-core = "0.3"
|
||||||
|
|
|
@ -5,7 +5,6 @@ authors = ["Robert Jördens <rj@quartiq.de>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libm = "0.2.1"
|
|
||||||
serde = { version = "1.0", features = ["derive"], default-features = false }
|
serde = { version = "1.0", features = ["derive"], default-features = false }
|
||||||
num = { version = "0.4.0", default-features = false }
|
num = { version = "0.4.0", default-features = false }
|
||||||
miniconf = "0.1"
|
miniconf = "0.1"
|
||||||
|
|
|
@ -2,11 +2,12 @@ use miniconf::Miniconf;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use core::convert::TryFrom;
|
use core::convert::TryFrom;
|
||||||
use enum_iterator::IntoEnumIterator;
|
use num_enum::TryFromPrimitive;
|
||||||
|
|
||||||
#[derive(
|
#[derive(
|
||||||
Copy, Clone, Debug, Serialize, Deserialize, IntoEnumIterator, Miniconf,
|
Copy, Clone, Debug, Serialize, Deserialize, TryFromPrimitive, Miniconf,
|
||||||
)]
|
)]
|
||||||
|
#[repr(u8)]
|
||||||
pub enum Gain {
|
pub enum Gain {
|
||||||
G1 = 0b00,
|
G1 = 0b00,
|
||||||
G2 = 0b01,
|
G2 = 0b01,
|
||||||
|
@ -32,20 +33,6 @@ impl Gain {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TryFrom<u8> for Gain {
|
|
||||||
type Error = ();
|
|
||||||
|
|
||||||
fn try_from(value: u8) -> Result<Self, Self::Error> {
|
|
||||||
for gain in Gain::into_enum_iter() {
|
|
||||||
if value == gain as u8 {
|
|
||||||
return Ok(gain);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Err(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<A0, A1> ProgrammableGainAmplifier<A0, A1>
|
impl<A0, A1> ProgrammableGainAmplifier<A0, A1>
|
||||||
where
|
where
|
||||||
A0: embedded_hal::digital::v2::StatefulOutputPin,
|
A0: embedded_hal::digital::v2::StatefulOutputPin,
|
||||||
|
@ -82,7 +69,7 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the programmed gain of the analog front-end.
|
/// Get the programmed gain of the analog front-end.
|
||||||
pub fn get_gain(&self) -> Result<Gain, ()> {
|
pub fn get_gain(&self) -> Gain {
|
||||||
let mut code: u8 = 0;
|
let mut code: u8 = 0;
|
||||||
if self.a0.is_set_high().unwrap() {
|
if self.a0.is_set_high().unwrap() {
|
||||||
code |= 0b1;
|
code |= 0b1;
|
||||||
|
@ -91,6 +78,7 @@ where
|
||||||
code |= 0b10;
|
code |= 0b10;
|
||||||
}
|
}
|
||||||
|
|
||||||
Gain::try_from(code)
|
// NOTE(unwrap): All possibilities covered.
|
||||||
|
Gain::try_from(code).unwrap()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue