lpc55_hal/typestates/pin/
function.rs

1#![allow(non_camel_case_types)]
2pub trait Function {}
3
4pub struct SWCLK;
5impl Function for SWCLK {}
6
7pub struct SWDIO;
8impl Function for SWDIO {}
9
10pub struct USB0_VBUS;
11impl Function for USB0_VBUS {}
12
13pub struct CTIMER_MAT {}
14impl Function for CTIMER_MAT {}
15
16// these are generated with `generate-flexcomm-pin-driver.py`
17pub struct FC0_CTS_SDA_SSEL0;
18impl Function for FC0_CTS_SDA_SSEL0 {}
19pub struct FC0_RTS_SCL_SSEL1;
20impl Function for FC0_RTS_SCL_SSEL1 {}
21pub struct FC0_RXD_SDA_MOSI_DATA;
22impl Function for FC0_RXD_SDA_MOSI_DATA {}
23pub struct FC0_SCK;
24impl Function for FC0_SCK {}
25pub struct FC0_TXD_SCL_MISO_WS;
26impl Function for FC0_TXD_SCL_MISO_WS {}
27pub struct FC1_CTS_SDA_SSEL0;
28impl Function for FC1_CTS_SDA_SSEL0 {}
29pub struct FC1_RTS_SCL_SSEL1;
30impl Function for FC1_RTS_SCL_SSEL1 {}
31pub struct FC1_RXD_SDA_MOSI_DATA;
32impl Function for FC1_RXD_SDA_MOSI_DATA {}
33pub struct FC1_SCK;
34impl Function for FC1_SCK {}
35pub struct FC1_TXD_SCL_MISO_WS;
36impl Function for FC1_TXD_SCL_MISO_WS {}
37pub struct FC2_CTS_SDA_SSEL0;
38impl Function for FC2_CTS_SDA_SSEL0 {}
39pub struct FC2_RTS_SCL_SSEL1;
40impl Function for FC2_RTS_SCL_SSEL1 {}
41pub struct FC2_RXD_SDA_MOSI_DATA;
42impl Function for FC2_RXD_SDA_MOSI_DATA {}
43pub struct FC2_SCK;
44impl Function for FC2_SCK {}
45pub struct FC2_TXD_SCL_MISO_WS;
46impl Function for FC2_TXD_SCL_MISO_WS {}
47pub struct FC3_CTS_SDA_SSEL0;
48impl Function for FC3_CTS_SDA_SSEL0 {}
49pub struct FC3_RTS_SCL_SSEL1;
50impl Function for FC3_RTS_SCL_SSEL1 {}
51pub struct FC3_RXD_SDA_MOSI_DATA;
52impl Function for FC3_RXD_SDA_MOSI_DATA {}
53pub struct FC3_SCK;
54impl Function for FC3_SCK {}
55pub struct FC3_SSEL2;
56impl Function for FC3_SSEL2 {}
57pub struct FC3_SSEL3;
58impl Function for FC3_SSEL3 {}
59pub struct FC3_TXD_SCL_MISO_WS;
60impl Function for FC3_TXD_SCL_MISO_WS {}
61pub struct FC4_CTS_SDA_SSEL0;
62impl Function for FC4_CTS_SDA_SSEL0 {}
63pub struct FC4_RTS_SCL_SSEL1;
64impl Function for FC4_RTS_SCL_SSEL1 {}
65pub struct FC4_RXD_SDA_MOSI_DATA;
66impl Function for FC4_RXD_SDA_MOSI_DATA {}
67pub struct FC4_SCK;
68impl Function for FC4_SCK {}
69pub struct FC4_SSEL2;
70impl Function for FC4_SSEL2 {}
71pub struct FC4_SSEL3;
72impl Function for FC4_SSEL3 {}
73pub struct FC4_TXD_SCL_MISO_WS;
74impl Function for FC4_TXD_SCL_MISO_WS {}
75pub struct FC5_CTS_SDA_SSEL0;
76impl Function for FC5_CTS_SDA_SSEL0 {}
77pub struct FC5_RTS_SCL_SSEL1;
78impl Function for FC5_RTS_SCL_SSEL1 {}
79pub struct FC5_RXD_SDA_MOSI_DATA;
80impl Function for FC5_RXD_SDA_MOSI_DATA {}
81pub struct FC5_SCK;
82impl Function for FC5_SCK {}
83pub struct FC5_TXD_SCL_MISO_WS;
84impl Function for FC5_TXD_SCL_MISO_WS {}
85pub struct FC6_CTS_SDA_SSEL0;
86impl Function for FC6_CTS_SDA_SSEL0 {}
87pub struct FC6_RTS_SCL_SSEL1;
88impl Function for FC6_RTS_SCL_SSEL1 {}
89pub struct FC6_RXD_SDA_MOSI_DATA;
90impl Function for FC6_RXD_SDA_MOSI_DATA {}
91pub struct FC6_SCK;
92impl Function for FC6_SCK {}
93pub struct FC6_TXD_SCL_MISO_WS;
94impl Function for FC6_TXD_SCL_MISO_WS {}
95pub struct FC7_CTS_SDA_SSEL0;
96impl Function for FC7_CTS_SDA_SSEL0 {}
97pub struct FC7_RTS_SCL_SSEL1;
98impl Function for FC7_RTS_SCL_SSEL1 {}
99pub struct FC7_RXD_SDA_MOSI_DATA;
100impl Function for FC7_RXD_SDA_MOSI_DATA {}
101pub struct FC7_SCK;
102impl Function for FC7_SCK {}
103pub struct FC7_TXD_SCL_MISO_WS;
104impl Function for FC7_TXD_SCL_MISO_WS {}
105
106pub struct HS_SPI_SCK {}
107impl Function for HS_SPI_SCK {}
108pub struct HS_SPI_MOSI {}
109impl Function for HS_SPI_MOSI {}
110pub struct HS_SPI_MISO {}
111impl Function for HS_SPI_MISO {}
112pub struct HS_SPI_SSEL0 {}
113impl Function for HS_SPI_SSEL0 {}
114pub struct HS_SPI_SSEL1 {}
115impl Function for HS_SPI_SSEL1 {}
116pub struct HS_SPI_SSEL2 {}
117impl Function for HS_SPI_SSEL2 {}
118pub struct HS_SPI_SSEL3 {}
119impl Function for HS_SPI_SSEL3 {}
120
121use crate::peripherals::ctimer;
122use crate::typestates::init_state::Enabled;
123use core::marker::PhantomData;
124
125pub struct MATCH_OUTPUT0<CTIMER>
126where
127    CTIMER: ctimer::Ctimer<Enabled>,
128{
129    pub _marker: PhantomData<CTIMER>,
130}
131pub struct MATCH_OUTPUT1<CTIMER>
132where
133    CTIMER: ctimer::Ctimer<Enabled>,
134{
135    pub _marker: PhantomData<CTIMER>,
136}
137pub struct MATCH_OUTPUT2<CTIMER>
138where
139    CTIMER: ctimer::Ctimer<Enabled>,
140{
141    pub _marker: PhantomData<CTIMER>,
142}
143pub struct MATCH_OUTPUT3<CTIMER>
144where
145    CTIMER: ctimer::Ctimer<Enabled>,
146{
147    pub _marker: PhantomData<CTIMER>,
148}
149
150impl Function for MATCH_OUTPUT0<ctimer::Ctimer0<Enabled>> {}
151impl Function for MATCH_OUTPUT1<ctimer::Ctimer0<Enabled>> {}
152impl Function for MATCH_OUTPUT2<ctimer::Ctimer0<Enabled>> {}
153impl Function for MATCH_OUTPUT3<ctimer::Ctimer0<Enabled>> {}
154
155impl Function for MATCH_OUTPUT0<ctimer::Ctimer1<Enabled>> {}
156impl Function for MATCH_OUTPUT1<ctimer::Ctimer1<Enabled>> {}
157impl Function for MATCH_OUTPUT2<ctimer::Ctimer1<Enabled>> {}
158impl Function for MATCH_OUTPUT3<ctimer::Ctimer1<Enabled>> {}
159
160impl Function for MATCH_OUTPUT0<ctimer::Ctimer2<Enabled>> {}
161impl Function for MATCH_OUTPUT1<ctimer::Ctimer2<Enabled>> {}
162impl Function for MATCH_OUTPUT2<ctimer::Ctimer2<Enabled>> {}
163impl Function for MATCH_OUTPUT3<ctimer::Ctimer2<Enabled>> {}
164
165impl Function for MATCH_OUTPUT0<ctimer::Ctimer3<Enabled>> {}
166impl Function for MATCH_OUTPUT1<ctimer::Ctimer3<Enabled>> {}
167impl Function for MATCH_OUTPUT2<ctimer::Ctimer3<Enabled>> {}
168impl Function for MATCH_OUTPUT3<ctimer::Ctimer3<Enabled>> {}
169
170impl Function for MATCH_OUTPUT0<ctimer::Ctimer4<Enabled>> {}
171impl Function for MATCH_OUTPUT1<ctimer::Ctimer4<Enabled>> {}
172impl Function for MATCH_OUTPUT2<ctimer::Ctimer4<Enabled>> {}
173impl Function for MATCH_OUTPUT3<ctimer::Ctimer4<Enabled>> {}