xmc4_hal/
lib.rs

1#![no_std]
2#![allow(clippy::new_without_default)]
3#![allow(dead_code)]
4
5// Error if not target feature provided
6#[cfg(not(any(
7    feature = "xmc4100",
8    feature = "xmc4200",
9    feature = "xmc4300",
10    feature = "xmc4400",
11    feature = "xmc4500",
12    feature = "xmc4700",
13    feature = "xmc4800",
14)))]
15compile_error!("Target not provided. Give `--features <target>` is required.");
16
17// Error if more than one target feature provided
18#[cfg(any(
19    all(feature = "xmc4100", feature = "xmc4200"),
20    all(feature = "xmc4100", feature = "xmc4300"),
21    all(feature = "xmc4100", feature = "xmc4400"),
22    all(feature = "xmc4100", feature = "xmc4500"),
23    all(feature = "xmc4100", feature = "xmc4700"),
24    all(feature = "xmc4100", feature = "xmc4800"),
25    all(feature = "xmc4200", feature = "xmc4300"),
26    all(feature = "xmc4200", feature = "xmc4400"),
27    all(feature = "xmc4200", feature = "xmc4500"),
28    all(feature = "xmc4200", feature = "xmc4700"),
29    all(feature = "xmc4200", feature = "xmc4800"),
30    all(feature = "xmc4300", feature = "xmc4400"),
31    all(feature = "xmc4300", feature = "xmc4500"),
32    all(feature = "xmc4300", feature = "xmc4700"),
33    all(feature = "xmc4300", feature = "xmc4800"),
34    all(feature = "xmc4400", feature = "xmc4500"),
35    all(feature = "xmc4400", feature = "xmc4700"),
36    all(feature = "xmc4400", feature = "xmc4800"),
37    all(feature = "xmc4500", feature = "xmc4700"),
38    all(feature = "xmc4500", feature = "xmc4800"),
39    all(feature = "xmc4700", feature = "xmc4800"),
40))]
41compile_error!("Multiple targets specified. Can only specify `--features <target>` once.");
42
43#[macro_use]
44pub mod macros;
45
46pub mod delay;
47pub mod time;
48
49#[cfg(feature = "xmc4100")]
50pub use xmc4100;
51#[cfg(feature = "xmc4100")]
52pub use xmc4100 as pac;
53
54#[cfg(feature = "xmc4200")]
55pub use xmc4200;
56#[cfg(feature = "xmc4200")]
57pub use xmc4200 as pac;
58
59#[cfg(feature = "xmc4300")]
60pub use xmc4300;
61#[cfg(feature = "xmc4300")]
62pub use xmc4300 as pac;
63
64#[cfg(feature = "xmc4400")]
65pub use xmc4400;
66#[cfg(feature = "xmc4400")]
67pub use xmc4400 as pac;
68
69#[cfg(feature = "xmc4500")]
70pub use xmc4500;
71#[cfg(feature = "xmc4500")]
72pub use xmc4500 as pac;
73
74#[cfg(feature = "xmc4700")]
75pub use xmc4700;
76#[cfg(feature = "xmc4700")]
77pub use xmc4700 as pac;
78
79#[cfg(feature = "xmc4800")]
80pub use xmc4800;
81#[cfg(feature = "xmc4800")]
82pub use xmc4800 as pac;
83
84#[cfg(feature = "device-selected")]
85pub mod can;
86#[cfg(feature = "device-selected")]
87pub mod ccu40;
88#[cfg(feature = "device-selected")]
89pub mod ccu80;
90#[cfg(feature = "device-selected")]
91pub mod dac;
92#[cfg(feature = "device-selected")]
93pub mod dlr;
94
95#[cfg(feature = "ecat")]
96pub mod ecat;
97
98#[cfg(feature = "device-selected")]
99pub mod eru;
100#[cfg(feature = "device-selected")]
101pub mod fce;
102#[cfg(feature = "device-selected")]
103pub mod flash;
104#[cfg(feature = "device-selected")]
105pub mod gpdma;
106#[cfg(feature = "device-selected")]
107pub mod hrpwm;
108#[cfg(feature = "device-selected")]
109pub mod ledts;
110#[cfg(feature = "device-selected")]
111pub mod pmu;
112#[cfg(feature = "device-selected")]
113pub mod port;
114#[cfg(feature = "device-selected")]
115pub mod posif;
116#[cfg(feature = "device-selected")]
117pub mod pref;
118#[cfg(feature = "device-selected")]
119pub mod rtc;
120
121#[cfg(feature = "sdmmc")]
122pub mod sdmmc;
123
124#[cfg(feature = "device-selected")]
125pub mod scu;
126#[cfg(feature = "device-selected")]
127pub mod usb;
128#[cfg(feature = "device-selected")]
129pub mod usic;
130#[cfg(feature = "device-selected")]
131pub mod vadc;
132#[cfg(feature = "device-selected")]
133pub mod wdt;