diff --git a/core_generator/src/main.rs b/core_generator/src/main.rs index d0c2cb9..88c08bd 100644 --- a/core_generator/src/main.rs +++ b/core_generator/src/main.rs @@ -139,8 +139,13 @@ fn main() { fs::create_dir_all(&cores_path()).expect("could not create cores directory"); } - let microcontrollers = avr_mcu::microcontrollers(); - // let microcontrollers = vec![avr_mcu::microcontroller("atmega32u4")]; + let args: Vec = std::env::args().collect(); + println!("args: {:?}", args); + let microcontrollers = if args.len() > 2 { + vec![avr_mcu::microcontroller(args[2].as_ref())] + } else { + Vec::from(avr_mcu::microcontrollers()) + }; let (count_total, mut cores_successful, mut cores_failed) = (microcontrollers.len(), Vec::new(), Vec::new()); diff --git a/regenerate-cores.sh b/regenerate-cores.sh index 2cb8d85..bbd4cce 100755 --- a/regenerate-cores.sh +++ b/regenerate-cores.sh @@ -6,5 +6,5 @@ SCRIPT_DIR=$(dirname $0) cd "${SCRIPT_DIR}/core_generator" -cargo run "../src" +cargo run -- ../src $1 diff --git a/src/cores/mod.rs b/src/cores/mod.rs index 6ed0eff..7351784 100644 --- a/src/cores/mod.rs +++ b/src/cores/mod.rs @@ -1,141 +1,7 @@ //! The primary module containing microcontroller-specific core definitions -/// The ATmega48PA. -#[cfg(any(avr_mcu_atmega48pa, feature = "all-mcus"))] pub mod atmega48pa; -#[cfg(avr_mcu_atmega48pa)] pub use self::atmega48pa as current; - -/// The ATmega328P. -#[cfg(any(avr_mcu_atmega328p, feature = "all-mcus"))] pub mod atmega328p; -#[cfg(avr_mcu_atmega328p)] pub use self::atmega328p as current; - -/// The ATmega16U4. -#[cfg(any(avr_mcu_atmega16u4, feature = "all-mcus"))] pub mod atmega16u4; -#[cfg(avr_mcu_atmega16u4)] pub use self::atmega16u4 as current; - -/// The ATmega88. -#[cfg(any(avr_mcu_atmega88, feature = "all-mcus"))] pub mod atmega88; -#[cfg(avr_mcu_atmega88)] pub use self::atmega88 as current; - -/// The ATmega168A. -#[cfg(any(avr_mcu_atmega168a, feature = "all-mcus"))] pub mod atmega168a; -#[cfg(avr_mcu_atmega168a)] pub use self::atmega168a as current; - -/// The AT90PWM161. -#[cfg(any(avr_mcu_at90pwm161, feature = "all-mcus"))] pub mod at90pwm161; -#[cfg(avr_mcu_at90pwm161)] pub use self::at90pwm161 as current; - -/// The ATmega48. -#[cfg(any(avr_mcu_atmega48, feature = "all-mcus"))] pub mod atmega48; -#[cfg(avr_mcu_atmega48)] pub use self::atmega48 as current; - -/// The ATmega48A. -#[cfg(any(avr_mcu_atmega48a, feature = "all-mcus"))] pub mod atmega48a; -#[cfg(avr_mcu_atmega48a)] pub use self::atmega48a as current; - -/// The ATmega406. -#[cfg(any(avr_mcu_atmega406, feature = "all-mcus"))] pub mod atmega406; -#[cfg(avr_mcu_atmega406)] pub use self::atmega406 as current; - -/// The ATmega88PA. -#[cfg(any(avr_mcu_atmega88pa, feature = "all-mcus"))] pub mod atmega88pa; -#[cfg(avr_mcu_atmega88pa)] pub use self::atmega88pa as current; - -/// The ATmega328. -/// -/// This device is chosen as the default when the crate is targeting non-AVR devices. -#[cfg(any(avr_mcu_atmega328, feature = "all-mcus", not(target_arch = "avr")))] pub mod atmega328; -#[cfg(any(avr_mcu_atmega328, not(target_arch = "avr")))] pub use self::atmega328 as current; - -/// The ATmega168P. -#[cfg(any(avr_mcu_atmega168p, feature = "all-mcus"))] pub mod atmega168p; -#[cfg(avr_mcu_atmega168p)] pub use self::atmega168p as current; - -/// The ATmega88P. -#[cfg(any(avr_mcu_atmega88p, feature = "all-mcus"))] pub mod atmega88p; -#[cfg(avr_mcu_atmega88p)] pub use self::atmega88p as current; - -/// The ATmega168PA. -#[cfg(any(avr_mcu_atmega168pa, feature = "all-mcus"))] pub mod atmega168pa; -#[cfg(avr_mcu_atmega168pa)] pub use self::atmega168pa as current; - -/// The ATmega48P. -#[cfg(any(avr_mcu_atmega48p, feature = "all-mcus"))] pub mod atmega48p; -#[cfg(avr_mcu_atmega48p)] pub use self::atmega48p as current; - -/// The ATmega88A. -#[cfg(any(avr_mcu_atmega88a, feature = "all-mcus"))] pub mod atmega88a; -#[cfg(avr_mcu_atmega88a)] pub use self::atmega88a as current; - -/// The ATmega32U4. -#[cfg(any(avr_mcu_atmega32u4, feature = "all-mcus"))] pub mod atmega32u4; -#[cfg(avr_mcu_atmega32u4)] pub use self::atmega32u4 as current; - -/// The ATmega168. -#[cfg(any(avr_mcu_atmega168, feature = "all-mcus"))] pub mod atmega168; -#[cfg(avr_mcu_atmega168)] pub use self::atmega168 as current; - -/// The ATtiny261. -#[cfg(any(avr_mcu_attiny261, feature = "all-mcus"))] pub mod attiny261; -#[cfg(avr_mcu_attiny261)] pub use self::attiny261 as current; - -/// The ATtiny861A. -#[cfg(any(avr_mcu_attiny861a, feature = "all-mcus"))] pub mod attiny861a; -#[cfg(avr_mcu_attiny861a)] pub use self::attiny861a as current; - -/// The ATtiny461. -#[cfg(any(avr_mcu_attiny461, feature = "all-mcus"))] pub mod attiny461; -#[cfg(avr_mcu_attiny461)] pub use self::attiny461 as current; - -/// The ATtiny861. -#[cfg(any(avr_mcu_attiny861, feature = "all-mcus"))] pub mod attiny861; -#[cfg(avr_mcu_attiny861)] pub use self::attiny861 as current; - -/// The ATtiny26. -#[cfg(any(avr_mcu_attiny26, feature = "all-mcus"))] pub mod attiny26; -#[cfg(avr_mcu_attiny26)] pub use self::attiny26 as current; - -/// The ATtiny261A. -#[cfg(any(avr_mcu_attiny261a, feature = "all-mcus"))] pub mod attiny261a; -#[cfg(avr_mcu_attiny261a)] pub use self::attiny261a as current; - -/// The ATtiny2313. -#[cfg(any(avr_mcu_attiny2313, feature = "all-mcus"))] pub mod attiny2313; -#[cfg(avr_mcu_attiny2313)] pub use self::attiny2313 as current; - -/// The ATtiny11. -#[cfg(any(avr_mcu_attiny11, feature = "all-mcus"))] pub mod attiny11; -#[cfg(avr_mcu_attiny11)] pub use self::attiny11 as current; - -/// The ATtiny40. -#[cfg(any(avr_mcu_attiny40, feature = "all-mcus"))] pub mod attiny40; -#[cfg(avr_mcu_attiny40)] pub use self::attiny40 as current; - -/// The ATtiny12. -#[cfg(any(avr_mcu_attiny12, feature = "all-mcus"))] pub mod attiny12; -#[cfg(avr_mcu_attiny12)] pub use self::attiny12 as current; - -/// The ATtiny461A. -#[cfg(any(avr_mcu_attiny461a, feature = "all-mcus"))] pub mod attiny461a; -#[cfg(avr_mcu_attiny461a)] pub use self::attiny461a as current; - -/// The ATtiny2313A. -#[cfg(any(avr_mcu_attiny2313a, feature = "all-mcus"))] pub mod attiny2313a; -#[cfg(avr_mcu_attiny2313a)] pub use self::attiny2313a as current; - -/// The ATtiny20. -#[cfg(any(avr_mcu_attiny20, feature = "all-mcus"))] pub mod attiny20; -#[cfg(avr_mcu_attiny20)] pub use self::attiny20 as current; - -/// The ATtiny1634. -#[cfg(any(avr_mcu_attiny1634, feature = "all-mcus"))] pub mod attiny1634; -#[cfg(avr_mcu_attiny1634)] pub use self::attiny1634 as current; - /// The ATtiny85. #[cfg(any(avr_mcu_attiny85, feature = "all-mcus"))] pub mod attiny85; #[cfg(avr_mcu_attiny85)] pub use self::attiny85 as current; -/// The ATtiny4313. -#[cfg(any(avr_mcu_attiny4313, feature = "all-mcus"))] pub mod attiny4313; -#[cfg(avr_mcu_attiny4313)] pub use self::attiny4313 as current; -