Skip to content

Commit

Permalink
Adapt to updated versions of crates
Browse files Browse the repository at this point in the history
  • Loading branch information
eldruin committed May 4, 2024
1 parent 584d0a0 commit b2763f2
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 48 deletions.
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ embedded-hal = "1.0.0"
[dev-dependencies]
linux-embedded-hal = "0.4.0"
embedded-hal-mock = { version = "0.10.0", default-features=false, features=["eh1"] }
embedded-hal-bus = "0.1"
dummy-pin = "1.0.0"

[profile.release]
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ I wrote an example MIDI player that plays Beethoven's ninth symphony in hardware

```rust
use ad983x::{Ad983x, FrequencyRegister};
use embedded_hal::spi::blocking::ExclusiveDevice;
use linux_embedded_hal::{Spidev, SysfsPin};
use embedded_hal_bus::spi::ExclusiveDevice;
use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};

fn main() {
let spi = Spidev::open("/dev/spidev0.0").unwrap();
let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
let chip_select = SysfsPin::new(25);
let dev = ExclusiveDevice::new(spi, chip_select);
let dev = ExclusiveDevice::new(spi, chip_select, Delay);
let mut dds = Ad983x::new_ad9833(dev);
dds.reset().unwrap(); // reset is necessary before operation
dds.set_frequency(FrequencyRegister::F0, 4724).unwrap();
Expand Down
8 changes: 4 additions & 4 deletions examples/linux.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
use ad983x::{Ad983x, FrequencyRegister};
use embedded_hal::spi::blocking::ExclusiveDevice;
use linux_embedded_hal::{Spidev, SysfsPin};
use embedded_hal_bus::spi::ExclusiveDevice;
use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};

fn main() {
let spi = Spidev::open("/dev/spidev0.0").unwrap();
let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
let chip_select = SysfsPin::new(25);
let dev = ExclusiveDevice::new(spi, chip_select);
let dev = ExclusiveDevice::new(spi, chip_select, Delay);
let mut dds = Ad983x::new_ad9833(dev);
dds.reset().unwrap(); // reset is necessary before operation
dds.set_frequency(FrequencyRegister::F0, 4724).unwrap();
Expand Down
48 changes: 24 additions & 24 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,12 @@
//!
//! ```no_run
//! use ad983x::{Ad983x, FrequencyRegister};
//! use embedded_hal::spi::blocking::ExclusiveDevice;
//! use linux_embedded_hal::{SysfsPin, Spidev};
//! use embedded_hal_bus::spi::ExclusiveDevice;
//! use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};
//!
//! let spi = Spidev::open("/dev/spidev0.0").unwrap();
//! let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
//! let chip_select = SysfsPin::new(25);
//! let dev = ExclusiveDevice::new(spi, chip_select);
//! let dev = ExclusiveDevice::new(spi, chip_select, Delay);
//! let mut dds = Ad983x::new_ad9833(dev);
//! dds.reset().unwrap(); // reset is necessary before operation
//! dds.set_frequency(FrequencyRegister::F0, 4724).unwrap();
Expand All @@ -106,12 +106,12 @@
//!
//! ```no_run
//! use ad983x::{Ad983x, FrequencyRegister};
//! use embedded_hal::spi::blocking::ExclusiveDevice;
//! use linux_embedded_hal::{SysfsPin, Spidev};
//! use embedded_hal_bus::spi::ExclusiveDevice;
//! use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};
//!
//! let spi = Spidev::open("/dev/spidev0.0").unwrap();
//! let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
//! let chip_select = SysfsPin::new(25);
//! let dev = ExclusiveDevice::new(spi, chip_select);
//! let dev = ExclusiveDevice::new(spi, chip_select, Delay);
//! let mut dds = Ad983x::new_ad9833(dev);
//! dds.reset().unwrap(); // reset is necessary before operation
//! // A4 tone for a 25 MHz clock
Expand All @@ -131,12 +131,12 @@
//!
//! ```no_run
//! use ad983x::{Ad983x, PhaseRegister};
//! use embedded_hal::spi::blocking::ExclusiveDevice;
//! use linux_embedded_hal::{SysfsPin, Spidev};
//! use embedded_hal_bus::spi::ExclusiveDevice;
//! use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};
//!
//! let spi = Spidev::open("/dev/spidev0.0").unwrap();
//! let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
//! let chip_select = SysfsPin::new(25);
//! let dev = ExclusiveDevice::new(spi, chip_select);
//! let dev = ExclusiveDevice::new(spi, chip_select, Delay);
//! let mut dds = Ad983x::new_ad9833(dev);
//! dds.reset().unwrap(); // reset is necessary before operation
//! dds.set_phase(PhaseRegister::P1, 4724).unwrap();
Expand All @@ -147,12 +147,12 @@
//!
//! ```no_run
//! use ad983x::{Ad983x, OutputWaveform};
//! use embedded_hal::spi::blocking::ExclusiveDevice;
//! use linux_embedded_hal::{SysfsPin, Spidev};
//! use embedded_hal_bus::spi::ExclusiveDevice;
//! use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};
//!
//! let spi = Spidev::open("/dev/spidev0.0").unwrap();
//! let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
//! let chip_select = SysfsPin::new(25);
//! let dev = ExclusiveDevice::new(spi, chip_select);
//! let dev = ExclusiveDevice::new(spi, chip_select, Delay);
//! let mut dds = Ad983x::new_ad9833(dev);
//! dds.reset().unwrap(); // reset is necessary before operation
//! dds.set_output_waveform(OutputWaveform::Triangle).unwrap();
Expand All @@ -162,12 +162,12 @@
//!
//! ```no_run
//! use ad983x::{Ad983x, PoweredDown};
//! use embedded_hal::spi::blocking::ExclusiveDevice;
//! use linux_embedded_hal::{SysfsPin, Spidev};
//! use embedded_hal_bus::spi::ExclusiveDevice;
//! use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};
//!
//! let spi = Spidev::open("/dev/spidev0.0").unwrap();
//! let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
//! let chip_select = SysfsPin::new(25);
//! let dev = ExclusiveDevice::new(spi, chip_select);
//! let dev = ExclusiveDevice::new(spi, chip_select, Delay);
//! let mut dds = Ad983x::new_ad9833(dev);
//! dds.reset().unwrap(); // reset is necessary before operation
//! dds.set_powered_down(PoweredDown::Dac).unwrap();
Expand All @@ -177,12 +177,12 @@
//!
//! ```no_run
//! use ad983x::{Ad983x, ControlSource};
//! use embedded_hal::spi::blocking::ExclusiveDevice;
//! use linux_embedded_hal::{SysfsPin, Spidev};
//! use embedded_hal_bus::spi::ExclusiveDevice;
//! use linux_embedded_hal::{Delay, SpidevBus, SysfsPin};
//!
//! let spi = Spidev::open("/dev/spidev0.0").unwrap();
//! let spi = SpidevBus::open("/dev/spidev0.0").unwrap();
//! let chip_select = SysfsPin::new(25);
//! let dev = ExclusiveDevice::new(spi, chip_select);
//! let dev = ExclusiveDevice::new(spi, chip_select, Delay);
//! let mut dds = Ad983x::new_ad9838(dev);
//! dds.reset().unwrap(); // reset is necessary before operation
//! dds.set_control_source(ControlSource::HardwarePins).unwrap();
Expand Down
30 changes: 15 additions & 15 deletions tests/base/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use ad983x::{marker, Ad983x};
use embedded_hal_mock::spi::{Mock as SpiMock, Transaction as SpiTrans};
use embedded_hal_mock::eh1::spi::{Mock as SpiMock, Transaction as SpiTrans};

pub struct BitFlags;
impl BitFlags {
Expand All @@ -22,8 +22,8 @@ impl BitFlags {
pub const FREQ1: u8 = 1 << 7;
}

pub fn new_ad9833(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9833Ad9837> {
let wrapped: Vec<SpiTrans> = transactions
pub fn new_ad9833(transactions: &[SpiTrans<u8>]) -> Ad983x<SpiMock<u8>, marker::Ad9833Ad9837> {
let wrapped: Vec<SpiTrans<u8>> = transactions
.iter()
.flat_map(|trans| {
[
Expand All @@ -33,11 +33,11 @@ pub fn new_ad9833(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9833Ad
]
})
.collect();
Ad983x::new_ad9833(SpiMock::new(wrapped.iter()))
Ad983x::new_ad9833(SpiMock::new(&wrapped))
}

pub fn new_ad9834(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9834Ad9838> {
let wrapped: Vec<SpiTrans> = transactions
pub fn new_ad9834(transactions: &[SpiTrans<u8>]) -> Ad983x<SpiMock<u8>, marker::Ad9834Ad9838> {
let wrapped: Vec<SpiTrans<u8>> = transactions
.iter()
.flat_map(|trans| {
[
Expand All @@ -47,11 +47,11 @@ pub fn new_ad9834(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9834Ad
]
})
.collect();
Ad983x::new_ad9834(SpiMock::new(wrapped.iter()))
Ad983x::new_ad9834(SpiMock::new(&wrapped))
}

pub fn new_ad9837(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9833Ad9837> {
let wrapped: Vec<SpiTrans> = transactions
pub fn new_ad9837(transactions: &[SpiTrans<u8>]) -> Ad983x<SpiMock<u8>, marker::Ad9833Ad9837> {
let wrapped: Vec<SpiTrans<u8>> = transactions
.iter()
.flat_map(|trans| {
[
Expand All @@ -61,11 +61,11 @@ pub fn new_ad9837(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9833Ad
]
})
.collect();
Ad983x::new_ad9837(SpiMock::new(wrapped.iter()))
Ad983x::new_ad9837(SpiMock::new(&wrapped))
}

pub fn new_ad9838(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9834Ad9838> {
let wrapped: Vec<SpiTrans> = transactions
pub fn new_ad9838(transactions: &[SpiTrans<u8>]) -> Ad983x<SpiMock<u8>, marker::Ad9834Ad9838> {
let wrapped: Vec<SpiTrans<u8>> = transactions
.iter()
.flat_map(|trans| {
[
Expand All @@ -75,9 +75,9 @@ pub fn new_ad9838(transactions: &[SpiTrans]) -> Ad983x<SpiMock, marker::Ad9834Ad
]
})
.collect();
Ad983x::new_ad9838(SpiMock::new(wrapped.iter()))
Ad983x::new_ad9838(SpiMock::new(&wrapped))
}

pub fn destroy<IC>(device: Ad983x<SpiMock, IC>) {
device.destroy().done();
pub fn destroy<IC>(device: Ad983x<SpiMock<u8>, IC>) {
device.destroy().done()
}
2 changes: 1 addition & 1 deletion tests/integration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use ad983x::{
ControlSource, FrequencyRegister as FreqReg, OutputWaveform as OW, PhaseRegister as PhaseReg,
PoweredDown as PD, SignBitOutput as SBO,
};
use embedded_hal_mock::spi::Transaction as SpiTrans;
use embedded_hal_mock::eh1::spi::Transaction as SpiTrans;

mod base;
use crate::base::{destroy, new_ad9833, new_ad9834, new_ad9837, new_ad9838, BitFlags as BF};
Expand Down

0 comments on commit b2763f2

Please sign in to comment.