Skip to content

Commit 672f95c

Browse files
committed
pin release flow
1 parent c1d6b81 commit 672f95c

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

src/rcc/clockout.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ impl Lsco {
2020
}
2121

2222
pub fn release(self) -> LscoPin {
23-
self.pin.into()
23+
self.pin.into_analog()
2424
}
2525
}
2626

src/spi.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,17 @@ pub trait Pins<SPI> {
3030

3131
pub trait PinSck<SPI> {
3232
fn setup(&self);
33+
fn release(self) -> Self;
3334
}
3435

3536
pub trait PinMiso<SPI> {
3637
fn setup(&self);
38+
fn release(self) -> Self;
3739
}
3840

3941
pub trait PinMosi<SPI> {
4042
fn setup(&self);
43+
fn release(self) -> Self;
4144
}
4245

4346
impl<SPI, SCK, MISO, MOSI> Pins<SPI> for (SCK, MISO, MOSI)
@@ -53,7 +56,7 @@ where
5356
}
5457

5558
fn release(self) -> Self {
56-
(self.0.into(), self.1.into(), self.2.into())
59+
(self.0.release(), self.1.release(), self.2.release())
5760
}
5861
}
5962

@@ -78,35 +81,59 @@ macro_rules! spi {
7881
) => {
7982
impl PinSck<$SPIX> for NoSck {
8083
fn setup(&self) {}
84+
85+
fn release(self) -> Self {
86+
self
87+
}
8188
}
8289

8390
impl PinMiso<$SPIX> for NoMiso {
8491
fn setup(&self) {}
92+
93+
fn release(self) -> Self {
94+
self
95+
}
8596
}
8697

8798
impl PinMosi<$SPIX> for NoMosi {
8899
fn setup(&self) {}
100+
101+
fn release(self) -> Self {
102+
self
103+
}
89104
}
90105

91106
$(
92107
impl PinSck<$SPIX> for $SCK {
93108
fn setup(&self) {
94109
self.set_alt_mode($SCK_AF);
95110
}
111+
112+
fn release(self) -> Self {
113+
self.into()
114+
}
96115
}
97116
)*
98117
$(
99118
impl PinMiso<$SPIX> for $MISO {
100119
fn setup(&self) {
101120
self.set_alt_mode($MISO_AF);
102121
}
122+
123+
fn release(self) -> Self {
124+
self.into()
125+
}
103126
}
104127
)*
105128
$(
106129
impl PinMosi<$SPIX> for $MOSI {
107130
fn setup(&self) {
108131
self.set_alt_mode($MOSI_AF);
109132
}
133+
134+
fn release(self) -> Self {
135+
self.into()
136+
}
110137
}
111138
)*
112139

0 commit comments

Comments
 (0)