From aec4e470d980bc5c31fe69476bf44afa2f20d9b2 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Fri, 9 Aug 2019 22:43:10 +0200 Subject: [PATCH] Added #inline(always) attributes to gpio functions This has a positive effect on dev build sizes Signed-off-by: Daniel Egger --- src/gpio.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gpio.rs b/src/gpio.rs index 2ffb10f..eb569df 100644 --- a/src/gpio.rs +++ b/src/gpio.rs @@ -77,20 +77,24 @@ unsafe impl Sync for Pin {} unsafe impl Send for Pin {} impl StatefulOutputPin for Pin> { + #[inline(always)] fn is_set_high(&self) -> bool { !self.is_set_low() } + #[inline(always)] fn is_set_low(&self) -> bool { unsafe { (*self.port).is_set_low(self.i) } } } impl OutputPin for Pin> { + #[inline(always)] fn set_high(&mut self) { unsafe { (*self.port).set_high(self.i) } } + #[inline(always)] fn set_low(&mut self) { unsafe { (*self.port).set_low(self.i) } } @@ -99,20 +103,24 @@ impl OutputPin for Pin> { impl toggleable::Default for Pin> {} impl InputPin for Pin> { + #[inline(always)] fn is_high(&self) -> bool { !self.is_low() } + #[inline(always)] fn is_low(&self) -> bool { unsafe { (*self.port).is_low(self.i) } } } impl InputPin for Pin> { + #[inline(always)] fn is_high(&self) -> bool { !self.is_low() } + #[inline(always)] fn is_low(&self) -> bool { unsafe { (*self.port).is_low(self.i) } }