From 5a5d08f92768c48949cb175605055b853e559c5c Mon Sep 17 00:00:00 2001 From: Diego Barrios Romero Date: Sun, 4 Nov 2018 21:32:46 +0100 Subject: Initial version --- src/devices/ads1013.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/devices/ads1013.rs (limited to 'src/devices/ads1013.rs') diff --git a/src/devices/ads1013.rs b/src/devices/ads1013.rs new file mode 100644 index 0000000..b4628b5 --- /dev/null +++ b/src/devices/ads1013.rs @@ -0,0 +1,28 @@ +//! Functions exclusive of ADS1013 + +extern crate embedded_hal as hal; +use hal::blocking; +use core::marker::PhantomData; +use { Ads1x1x, DEVICE_BASE_ADDRESS, SlaveAddr, ic }; +use interface::I2cInterface; + +impl Ads1x1x, ic::ADS1013> +where + I2C: blocking::i2c::Write + blocking::i2c::WriteRead +{ + /// Create a new instance of the ADS1013 device. + pub fn new_ads1013(i2c: I2C, address: SlaveAddr) -> Self { + Ads1x1x { + iface: I2cInterface { + i2c, + address: address.addr(DEVICE_BASE_ADDRESS) + }, + _ic: PhantomData + } + } + + /// Destroy driver instance, return I²C bus instance. + pub fn destroy_ads1013(self) -> I2C { + self.iface.i2c + } +} -- cgit v1.2.3-54-g00ecf