From 07353004dbddb43a01fec5f4a57f8714dbe74897 Mon Sep 17 00:00:00 2001 From: Rahix Date: Mon, 16 Nov 2020 00:01:20 +0100 Subject: [PATCH] treewide: i2c: Rename I2c struct to I2cMaster In preparation for a future addition of an I2C slave driver, rename the I2C master driver to `I2cMaster`. To ease migration, add a type-alias for the old name which is marked as deprecated. This alias will be removed at a later time when most users have switched to the new name. Co-authored-by: toddg Signed-off-by: Rahix --- avr-hal-generic/src/i2c.rs | 28 +++++++++---------- boards/arduino-diecimila/src/lib.rs | 2 +- .../examples/leonardo-i2cdetect.rs | 2 +- boards/arduino-leonardo/src/lib.rs | 7 +++-- .../examples/mega2560-i2cdetect.rs | 2 +- boards/arduino-mega2560/src/lib.rs | 5 +++- boards/arduino-uno/examples/uno-i2cdetect.rs | 2 +- boards/arduino-uno/src/lib.rs | 7 +++-- boards/bigavr6/examples/bigavr6-i2cdetect.rs | 2 +- boards/bigavr6/src/lib.rs | 5 +++- .../examples/pro-micro-i2cdetect.rs | 2 +- boards/sparkfun-pro-micro/src/lib.rs | 7 +++-- 12 files changed, 43 insertions(+), 28 deletions(-) diff --git a/avr-hal-generic/src/i2c.rs b/avr-hal-generic/src/i2c.rs index e45976ff4d..928ad190bc 100644 --- a/avr-hal-generic/src/i2c.rs +++ b/avr-hal-generic/src/i2c.rs @@ -186,16 +186,16 @@ macro_rules! impl_twi_i2c { scl: $sclmod:ident::$SCL:ident, }, } - ) => { + ) => {$crate::paste::paste! { $(#[$i2c_attr])* - pub struct $I2c { + pub struct [<$I2c Master>] { p: $I2C, _clock: ::core::marker::PhantomData, sda: $sdamod::$SDA, scl: $sclmod::$SCL, } - impl $I2c + impl [<$I2c Master>] where CLOCK: $crate::clock::Clock, { @@ -209,8 +209,8 @@ macro_rules! impl_twi_i2c { sda: $sdamod::$SDA<$crate::port::mode::Input<$crate::port::mode::PullUp>>, scl: $sclmod::$SCL<$crate::port::mode::Input<$crate::port::mode::PullUp>>, speed: u32, - ) -> $I2c { - let mut i2c = $I2c { + ) -> [<$I2c Master>] { + let mut i2c = [<$I2c Master>] { p, sda, scl, @@ -222,7 +222,7 @@ macro_rules! impl_twi_i2c { } } - impl $I2c + impl [<$I2c Master>] where CLOCK: $crate::clock::Clock, { @@ -236,8 +236,8 @@ macro_rules! impl_twi_i2c { sda: $sdamod::$SDA<$crate::port::mode::Input<$crate::port::mode::Floating>>, scl: $sclmod::$SCL<$crate::port::mode::Input<$crate::port::mode::Floating>>, speed: u32, - ) -> $I2c { - let mut i2c = $I2c { + ) -> [<$I2c Master>] { + let mut i2c = [<$I2c Master>] { p, sda, scl, @@ -249,7 +249,7 @@ macro_rules! impl_twi_i2c { } } - impl $I2c + impl [<$I2c Master>] where CLOCK: $crate::clock::Clock, { @@ -414,7 +414,7 @@ macro_rules! impl_twi_i2c { } } - impl $I2c + impl [<$I2c Master>] where CLOCK: $crate::clock::Clock, $crate::delay::Delay: $crate::hal::blocking::delay::DelayMs, @@ -438,7 +438,7 @@ macro_rules! impl_twi_i2c { } - impl $crate::hal::blocking::i2c::Write for $I2c + impl $crate::hal::blocking::i2c::Write for [<$I2c Master>] where CLOCK: $crate::clock::Clock, { @@ -452,7 +452,7 @@ macro_rules! impl_twi_i2c { } } - impl $crate::hal::blocking::i2c::Read for $I2c + impl $crate::hal::blocking::i2c::Read for [<$I2c Master>] where CLOCK: $crate::clock::Clock, { @@ -466,7 +466,7 @@ macro_rules! impl_twi_i2c { } } - impl $crate::hal::blocking::i2c::WriteRead for $I2c + impl $crate::hal::blocking::i2c::WriteRead for [<$I2c Master>] where CLOCK: $crate::clock::Clock, { @@ -486,5 +486,5 @@ macro_rules! impl_twi_i2c { Ok(()) } } - }; + }}; } diff --git a/boards/arduino-diecimila/src/lib.rs b/boards/arduino-diecimila/src/lib.rs index 85d9a9f91f..f783a911d3 100644 --- a/boards/arduino-diecimila/src/lib.rs +++ b/boards/arduino-diecimila/src/lib.rs @@ -22,4 +22,4 @@ pub use crate::hal::spi; pub type Delay = crate::hal::delay::Delay; pub type Serial = crate::hal::usart::Usart0; -pub type I2c = crate::hal::i2c::I2c; +pub type I2cMaster = crate::hal::i2c::I2cMaster; diff --git a/boards/arduino-leonardo/examples/leonardo-i2cdetect.rs b/boards/arduino-leonardo/examples/leonardo-i2cdetect.rs index 49c0ac3b34..20ec170052 100644 --- a/boards/arduino-leonardo/examples/leonardo-i2cdetect.rs +++ b/boards/arduino-leonardo/examples/leonardo-i2cdetect.rs @@ -15,7 +15,7 @@ fn main() -> ! { pins.d1.into_output(&mut pins.ddr), 57600.into_baudrate(), ); - let mut i2c = arduino_leonardo::I2c::new( + let mut i2c = arduino_leonardo::I2cMaster::new( dp.TWI, pins.d2.into_pull_up_input(&mut pins.ddr), pins.d3.into_pull_up_input(&mut pins.ddr), diff --git a/boards/arduino-leonardo/src/lib.rs b/boards/arduino-leonardo/src/lib.rs index 35c2f270fa..d1b08d85ce 100644 --- a/boards/arduino-leonardo/src/lib.rs +++ b/boards/arduino-leonardo/src/lib.rs @@ -209,7 +209,7 @@ pub type Serial = hal::usart::Usart1; /// /// let mut pins = arduino_leonardo::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD, dp.PORTE); /// -/// let mut i2c = arduino_leonardo::I2c::new( +/// let mut i2c = arduino_leonardo::I2cMaster::new( /// dp.TWI, /// pins.d2.into_pull_up_input(&mut pins.ddr), /// pins.d3.into_pull_up_input(&mut pins.ddr), @@ -218,7 +218,10 @@ pub type Serial = hal::usart::Usart1; /// ``` /// /// [ex-i2c]: https://github.com/Rahix/avr-hal/blob/master/boards/arduino-leonardo/examples/leonardo-i2cdetect.rs -pub type I2c = hal::i2c::I2c; +pub type I2cMaster = hal::i2c::I2cMaster; +#[doc(hidden)] +#[deprecated = "Please use `I2cMaster` instead of `I2c`"] +pub type I2c = I2cMaster; /// Support for the Watchdog Timer /// diff --git a/boards/arduino-mega2560/examples/mega2560-i2cdetect.rs b/boards/arduino-mega2560/examples/mega2560-i2cdetect.rs index 8da76a215c..3a1f214f18 100644 --- a/boards/arduino-mega2560/examples/mega2560-i2cdetect.rs +++ b/boards/arduino-mega2560/examples/mega2560-i2cdetect.rs @@ -19,7 +19,7 @@ fn main() -> ! { porte.pe1.into_output(&mut porte.ddr), 57600.into_baudrate(), ); - let mut i2c = arduino_mega2560::I2c::new( + let mut i2c = arduino_mega2560::I2cMaster::new( dp.TWI, portd.pd1.into_pull_up_input(&mut portd.ddr), portd.pd0.into_pull_up_input(&mut portd.ddr), diff --git a/boards/arduino-mega2560/src/lib.rs b/boards/arduino-mega2560/src/lib.rs index bfb81ea020..5b8ada112d 100644 --- a/boards/arduino-mega2560/src/lib.rs +++ b/boards/arduino-mega2560/src/lib.rs @@ -33,7 +33,10 @@ pub mod usart { pub type Usart3 = crate::hal::usart::Usart3; } -pub type I2c = crate::hal::i2c::I2c; +pub type I2cMaster = crate::hal::i2c::I2cMaster; +#[doc(hidden)] +#[deprecated = "Please use `I2cMaster` instead of `I2c`"] +pub type I2c = I2cMaster; /// Support for PWM pins /// diff --git a/boards/arduino-uno/examples/uno-i2cdetect.rs b/boards/arduino-uno/examples/uno-i2cdetect.rs index 24c2ef1ef5..92129ddeb0 100644 --- a/boards/arduino-uno/examples/uno-i2cdetect.rs +++ b/boards/arduino-uno/examples/uno-i2cdetect.rs @@ -15,7 +15,7 @@ fn main() -> ! { pins.d1.into_output(&mut pins.ddr), 57600.into_baudrate(), ); - let mut i2c = arduino_uno::I2c::new( + let mut i2c = arduino_uno::I2cMaster::new( dp.TWI, pins.a4.into_pull_up_input(&mut pins.ddr), pins.a5.into_pull_up_input(&mut pins.ddr), diff --git a/boards/arduino-uno/src/lib.rs b/boards/arduino-uno/src/lib.rs index f1d5b2ab2a..296a211959 100644 --- a/boards/arduino-uno/src/lib.rs +++ b/boards/arduino-uno/src/lib.rs @@ -213,7 +213,7 @@ pub type Serial = hal::usart::Usart0; /// /// let mut pins = arduino_uno::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD); /// -/// let mut i2c = arduino_uno::I2c::new( +/// let mut i2c = arduino_uno::I2cMaster::new( /// dp.TWI, /// pins.a4.into_pull_up_input(&mut pins.ddr), /// pins.a5.into_pull_up_input(&mut pins.ddr), @@ -222,7 +222,10 @@ pub type Serial = hal::usart::Usart0; /// ``` /// /// [ex-i2c]: https://github.com/Rahix/avr-hal/blob/master/boards/arduino-uno/examples/uno-i2cdetect.rs -pub type I2c = hal::i2c::I2c; +pub type I2cMaster = hal::i2c::I2cMaster; +#[doc(hidden)] +#[deprecated = "Please use `I2cMaster` instead of `I2c`"] +pub type I2c = I2cMaster; /// Support for the WatchDog Timer /// diff --git a/boards/bigavr6/examples/bigavr6-i2cdetect.rs b/boards/bigavr6/examples/bigavr6-i2cdetect.rs index e02edc6c7b..1c54b78da1 100644 --- a/boards/bigavr6/examples/bigavr6-i2cdetect.rs +++ b/boards/bigavr6/examples/bigavr6-i2cdetect.rs @@ -19,7 +19,7 @@ fn main() -> ! { porte.pe1.into_output(&mut porte.ddr), 57600.into_baudrate(), ); - let mut i2c = bigavr6::I2c::new( + let mut i2c = bigavr6::I2cMaster::new( dp.TWI, portd.pd1.into_pull_up_input(&mut portd.ddr), portd.pd0.into_pull_up_input(&mut portd.ddr), diff --git a/boards/bigavr6/src/lib.rs b/boards/bigavr6/src/lib.rs index 67444d8365..2c688eb0f4 100644 --- a/boards/bigavr6/src/lib.rs +++ b/boards/bigavr6/src/lib.rs @@ -16,4 +16,7 @@ pub mod prelude { pub type Delay = crate::hal::delay::Delay; pub type Serial = crate::hal::usart::Usart0; -pub type I2c = crate::hal::i2c::I2c; +pub type I2cMaster = crate::hal::i2c::I2cMaster; +#[doc(hidden)] +#[deprecated = "Please use `I2cMaster` instead of `I2c`"] +pub type I2c = I2cMaster; diff --git a/boards/sparkfun-pro-micro/examples/pro-micro-i2cdetect.rs b/boards/sparkfun-pro-micro/examples/pro-micro-i2cdetect.rs index 0145c89c45..64f1266be5 100644 --- a/boards/sparkfun-pro-micro/examples/pro-micro-i2cdetect.rs +++ b/boards/sparkfun-pro-micro/examples/pro-micro-i2cdetect.rs @@ -15,7 +15,7 @@ fn main() -> ! { pins.d1.into_output(&mut pins.ddr), 57600.into_baudrate(), ); - let mut i2c = sparkfun_pro_micro::I2c::new( + let mut i2c = sparkfun_pro_micro::I2cMaster::new( dp.TWI, pins.d2.into_pull_up_input(&mut pins.ddr), pins.d3.into_pull_up_input(&mut pins.ddr), diff --git a/boards/sparkfun-pro-micro/src/lib.rs b/boards/sparkfun-pro-micro/src/lib.rs index bdae34e886..d15f025c74 100644 --- a/boards/sparkfun-pro-micro/src/lib.rs +++ b/boards/sparkfun-pro-micro/src/lib.rs @@ -204,7 +204,7 @@ pub type Serial = hal::usart::Usart1; /// /// let mut pins = sparkfun_pro_micro::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD, dp.PORTE, dp.PORTF); /// -/// let mut i2c = sparkfun_pro_micro::I2c::new( +/// let mut i2c = sparkfun_pro_micro::I2cMaster::new( /// dp.TWI, /// pins.d2.into_pull_up_input(&mut pins.ddr), /// pins.d3.into_pull_up_input(&mut pins.ddr), @@ -213,4 +213,7 @@ pub type Serial = hal::usart::Usart1; /// ``` /// /// [ex-i2c]: https://github.com/Rahix/avr-hal/blob/master/boards/sparkfun-pro-micro/examples/pro-micro-i2cdetect.rs -pub type I2c = hal::i2c::I2c; +pub type I2cMaster = hal::i2c::I2cMaster; +#[doc(hidden)] +#[deprecated = "Please use `I2cMaster` instead of `I2c`"] +pub type I2c = I2cMaster;