Skip to content

Commit

Permalink
added integration test and increment version
Browse files Browse the repository at this point in the history
  • Loading branch information
deltronix committed Feb 11, 2024
1 parent c7ddeeb commit 739c34d
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 1 deletion.
5 changes: 4 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ad57xx"
version = "0.2.1"
version = "0.2.2"
edition = "2021"
license = "MIT"
description = "Analog Devices AD57xx SPI DAC driver"
Expand Down Expand Up @@ -28,6 +28,9 @@ panic-halt = "0.2.0"
panic-probe = { version = "0.3.0", features = [ "print-defmt" ] }
stm32f4xx-hal = { version = "0.20.0", features = ["stm32f405"] }

[target.x86_64-unknown-linux-gnu.dev-dependencies]
embedded-hal-mock = { version = "0.10.0", features = ["eh1"] }

# cargo build/run
[profile.dev]
codegen-units = 1
Expand Down
51 changes: 51 additions & 0 deletions tests/integration.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
use ad57xx::{marker, Ad57xx, Ad57xxShared};
use embedded_hal::spi::SpiDevice;
use embedded_hal_mock::common::Generic;
use embedded_hal_mock::eh1::spi::{Mock as MockSpi, Transaction as MockTransaction};
use std::fmt::Debug;

#[test]
fn write_dac_b() {
// Quad channel test
let mut trans = [
MockTransaction::transaction_start(),
MockTransaction::write_vec(vec![0b00000001, 0xF0, 0x0F]),
MockTransaction::transaction_end(),
];
let mut spi = MockSpi::new(&trans);

let mut dac = Ad57xxShared::new_ad57x4(spi);
dac.set_dac_output(ad57xx::ad57x4::ChannelQuad::DacB, 0xF00F);
dac.destroy().done();

// Dual channel test
let mut trans = [
MockTransaction::transaction_start(),
MockTransaction::write_vec(vec![0b00000010, 0xF0, 0x0F]),
MockTransaction::transaction_end(),
];
let mut spi = MockSpi::new(&trans);

let mut dac = Ad57xxShared::new_ad57x2(spi);
dac.set_dac_output(ad57xx::ad57x2::Channel::DacB, 0xF00F);
dac.destroy().done();
}
#[test]
fn read_config() {
let trans = [
MockTransaction::transaction_start(),
MockTransaction::write_vec(vec![0b10011001, 0x00, 0x00]),
MockTransaction::transaction_end(),
MockTransaction::transaction_start(),
MockTransaction::transfer(vec![0b00011000, 0x00, 0x00], vec![0x04, 0x00, 0x00]),
MockTransaction::transaction_end(),
];
let mut spi = MockSpi::new(&trans);

let mut dac = Ad57xxShared::new_ad57x4(spi);
assert_eq!(
u8::from(dac.get_config().unwrap()),
u8::from(ad57xx::Config::default())
);
dac.destroy().done();
}

0 comments on commit 739c34d

Please sign in to comment.