* Example: This config is for firmware that works on G4 and H7. It uses the same peripheral set for both. Note how the H7 config is much more complex. ```rust let pll_src = PllSrc::Hse(16_000_000); if #[cfg(feature = "h7")] { let clock_cfg = Clocks { // Config for H723 at 520Mhz, or H743 at 400Mhz. pll_src, pll1: PllCfg { divm: 8, // To compensate with 16Mhz HSE instead of 64Mhz HSI // PLLQ for Spi1 and CAN clocks. We set it to 80Mhz, which is convenient for // CAN timings. For example, setting to 100Mhz or 120Mhz doesn't allow 5Mbps, // among other speeds. pllq_en: true, divq: 10, // Sets to 80Mhz, assuming divn = 400. ..Default::default() }, // We use PLL2P as the (default) ADC clock. Keep the speed under 80Mhz. pll2: PllCfg { divm: 8, // To compensate with 16Mhz HSE instead of 64Mhz HSI divn: 80, divp: 2, // Sets ADC clock to 80Mhz (400Mhz sysclock) ..Default::default() }, hsi48_on: true, ..Default::default() }; } else { let clock_cfg = Clocks { input_src: InputSrc::Pll(pll_src), hsi48_on: true, ..Default::default() }; } ```