@@ -8,24 +8,114 @@ use crate::{gpio::*, pac::*};
88
99// Binder types ------------------
1010
11- pub trait TimBkinPin < REMAP > { }
12- impl < T > TimBkinPin < T > for NonePin { }
13- pub trait TimCh1Pin < REMAP > { }
14- impl < T > TimCh1Pin < T > for NonePin { }
15- pub trait TimCh1nPin < REMAP > { }
16- impl < T > TimCh1nPin < T > for NonePin { }
17- pub trait TimCh2Pin < REMAP > { }
18- impl < T > TimCh2Pin < T > for NonePin { }
19- pub trait TimCh2nPin < REMAP > { }
20- impl < T > TimCh2nPin < T > for NonePin { }
21- pub trait TimCh3Pin < REMAP > { }
22- impl < T > TimCh3Pin < T > for NonePin { }
23- pub trait TimCh3nPin < REMAP > { }
24- impl < T > TimCh3nPin < T > for NonePin { }
25- pub trait TimCh4Pin < REMAP > { }
26- impl < T > TimCh4Pin < T > for NonePin { }
27- pub trait TimEtrPin < REMAP > { }
28- impl < T > TimEtrPin < T > for NonePin { }
11+ pub trait TimBkinPin < REMAP > {
12+ #[ inline( always) ]
13+ fn is_pin ( & self ) -> bool {
14+ true
15+ }
16+ }
17+ impl < T > TimBkinPin < T > for NonePin {
18+ #[ inline( always) ]
19+ fn is_pin ( & self ) -> bool {
20+ false
21+ }
22+ }
23+ pub trait TimCh1Pin < REMAP > {
24+ #[ inline( always) ]
25+ fn is_pin ( & self ) -> bool {
26+ true
27+ }
28+ }
29+ impl < T > TimCh1Pin < T > for NonePin {
30+ #[ inline( always) ]
31+ fn is_pin ( & self ) -> bool {
32+ false
33+ }
34+ }
35+ pub trait TimCh1nPin < REMAP > {
36+ #[ inline( always) ]
37+ fn is_pin ( & self ) -> bool {
38+ true
39+ }
40+ }
41+ impl < T > TimCh1nPin < T > for NonePin {
42+ #[ inline( always) ]
43+ fn is_pin ( & self ) -> bool {
44+ false
45+ }
46+ }
47+ pub trait TimCh2Pin < REMAP > {
48+ #[ inline( always) ]
49+ fn is_pin ( & self ) -> bool {
50+ true
51+ }
52+ }
53+ impl < T > TimCh2Pin < T > for NonePin {
54+ #[ inline( always) ]
55+ fn is_pin ( & self ) -> bool {
56+ false
57+ }
58+ }
59+ pub trait TimCh2nPin < REMAP > {
60+ #[ inline( always) ]
61+ fn is_pin ( & self ) -> bool {
62+ true
63+ }
64+ }
65+ impl < T > TimCh2nPin < T > for NonePin {
66+ #[ inline( always) ]
67+ fn is_pin ( & self ) -> bool {
68+ false
69+ }
70+ }
71+ pub trait TimCh3Pin < REMAP > {
72+ #[ inline( always) ]
73+ fn is_pin ( & self ) -> bool {
74+ true
75+ }
76+ }
77+ impl < T > TimCh3Pin < T > for NonePin {
78+ #[ inline( always) ]
79+ fn is_pin ( & self ) -> bool {
80+ false
81+ }
82+ }
83+ pub trait TimCh3nPin < REMAP > {
84+ #[ inline( always) ]
85+ fn is_pin ( & self ) -> bool {
86+ true
87+ }
88+ }
89+ impl < T > TimCh3nPin < T > for NonePin {
90+ #[ inline( always) ]
91+ fn is_pin ( & self ) -> bool {
92+ false
93+ }
94+ }
95+ pub trait TimCh4Pin < REMAP > {
96+ #[ inline( always) ]
97+ fn is_pin ( & self ) -> bool {
98+ true
99+ }
100+ }
101+ impl < T > TimCh4Pin < T > for NonePin {
102+ #[ inline( always) ]
103+ fn is_pin ( & self ) -> bool {
104+ false
105+ }
106+ }
107+ pub trait TimEtrPin < REMAP > {
108+ #[ inline( always) ]
109+ fn is_pin ( & self ) -> bool {
110+ true
111+ }
112+ }
113+ impl < T > TimEtrPin < T > for NonePin {
114+ #[ inline( always) ]
115+ fn is_pin ( & self ) -> bool {
116+ false
117+ }
118+ }
29119
30120// Bind pins ---------------------
31121
0 commit comments