Skip to content

Commit 878e43d

Browse files
committed
Allow multiple pins to map to one channel
1 parent 2fa0098 commit 878e43d

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/pwm.rs

+27
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,33 @@ pins_impl!(
116116
(P4), (PinC4), (C4);
117117
);
118118

119+
impl<TIM, P1: PinC1<TIM>, P2: PinC1<TIM>> PinC1<TIM> for (P1, P2) {}
120+
impl<TIM, P1: PinC2<TIM>, P2: PinC2<TIM>> PinC2<TIM> for (P1, P2) {}
121+
impl<TIM, P1: PinC3<TIM>, P2: PinC3<TIM>> PinC3<TIM> for (P1, P2) {}
122+
impl<TIM, P1: PinC4<TIM>, P2: PinC4<TIM>> PinC4<TIM> for (P1, P2) {}
123+
124+
impl<TIM, P1: PinC1<TIM>, P2: PinC1<TIM>, P3: PinC1<TIM>> PinC1<TIM> for (P1, P2, P3) {}
125+
impl<TIM, P1: PinC2<TIM>, P2: PinC2<TIM>, P3: PinC2<TIM>> PinC2<TIM> for (P1, P2, P3) {}
126+
impl<TIM, P1: PinC3<TIM>, P2: PinC3<TIM>, P3: PinC3<TIM>> PinC3<TIM> for (P1, P2, P3) {}
127+
impl<TIM, P1: PinC4<TIM>, P2: PinC4<TIM>, P3: PinC4<TIM>> PinC4<TIM> for (P1, P2, P3) {}
128+
129+
impl<TIM, P1: PinC1<TIM>, P2: PinC1<TIM>, P3: PinC1<TIM>, P4: PinC1<TIM>> PinC1<TIM>
130+
for (P1, P2, P3, P4)
131+
{
132+
}
133+
impl<TIM, P1: PinC2<TIM>, P2: PinC2<TIM>, P3: PinC2<TIM>, P4: PinC2<TIM>> PinC2<TIM>
134+
for (P1, P2, P3, P4)
135+
{
136+
}
137+
impl<TIM, P1: PinC3<TIM>, P2: PinC3<TIM>, P3: PinC3<TIM>, P4: PinC3<TIM>> PinC3<TIM>
138+
for (P1, P2, P3, P4)
139+
{
140+
}
141+
impl<TIM, P1: PinC4<TIM>, P2: PinC4<TIM>, P3: PinC4<TIM>, P4: PinC4<TIM>> PinC4<TIM>
142+
for (P1, P2, P3, P4)
143+
{
144+
}
145+
119146
macro_rules! brk {
120147
(TIM1, $tim:ident) => {
121148
$tim.bdtr.modify(|_, w| w.aoe().set_bit());

0 commit comments

Comments
 (0)