Remove the SystemExt trait and rename SystemParts to SystemControl (#1495)

* Convert `SoftwareInterrupt` to a unit struct

* Remove the `SystemExt` trait and rename `SystemParts` to `SystemControl`

* Update all examples an HIL tests to reflect previous API changes

* Clean up imports in `hil-test` package, address `clippy` lint warnings

* Update `CHANGELOG.md`
This commit is contained in:
Jesse Braham 2024-04-23 13:25:03 +00:00 committed by GitHub
parent 0023473068
commit 086b6059b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
78 changed files with 244 additions and 139 deletions

View File

@ -14,7 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- i2c: i2c1_handler used I2C0 register block by mistake (#1487)
- Smart LEDs docs example (#1504)
- Removed ESP32 specific code for resolutions > 16 bit in ledc embedded_hal::pwm max_duty_cycle function. (#1441)
- Fixed division by zero in ledc embedded_hal::pwm set_duty_cycle function and converted to set_duty_hw instead of set_duty to eliminate loss of granularity. (#1441)
### Changed
@ -23,9 +24,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `IO`, `ADC`, `DAC`, `RTC*`, `LEDC`, `PWM` and `PCNT` drivers have been converted to camel case format (#1473)
- RNG is no longer TRNG, the `CryptoRng` implementation has been removed. To track this being re-added see #1499 (#1498)
- Make software interrupts shareable (#1500)
- The `SystemParts` struct has been renamed to `SystemControl`, and now has a constructor which takes the `SYSTEM` peripheral (#1495)
### Removed
- Removed the `SystemExt` trait (#1495)
## [0.17.0] - 2024-04-18
### Added
@ -62,8 +66,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed writes to SPI not flushing before attempting to write, causing corrupted writes (#1381)
- fix AdcConfig::adc_calibrate for xtensa targets (#1379)
- Fixed a divide by zero panic when setting the LEDC duty cycle to 0 with `SetDutyCycle::set_duty_cycle` (#1403)
- Fix for issue #1419. Removed ESP32 specific code for resolutions > 16 bit in ledc embedded_hal::pwm max_duty_cycle function.
- Fix for issue #1419. Fixed division by zero in ledc embedded_hal::pwm set_duty_cycle function and converted to set_duty_hw instead of set_duty to eliminate loss of granularity.
- Support 192 and 256-bit keys for AES (#1316)
- Fixed MCPWM DeadTimeCfg bit values (#1378)
- ESP32 LEDC `set_duty_cycle` used HighSpeedChannel for LowSpeedChannel (#1457)

View File

@ -36,8 +36,6 @@ pub use crate::ledc::{
},
timer::{TimerHW as _esp_hal_ledc_timer_TimerHW, TimerIFace as _esp_hal_ledc_timer_TimerIFace},
};
#[cfg(any(dport, pcr, system))]
pub use crate::system::SystemExt as _esp_hal_system_SystemExt;
#[cfg(any(timg0, timg1))]
pub use crate::timer::{
Instance as _esp_hal_timer_Instance,

View File

@ -23,7 +23,7 @@
//! ## Example
//! ```no_run
//! let peripherals = Peripherals::take();
//! let system = peripherals.SYSTEM.split();
//! let system = SystemControl::new(peripherals.SYSTEM);
//! let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
//! ```
@ -99,9 +99,30 @@ pub enum Peripheral {
LcdCam,
}
/// The `DPORT`/`PCR`/`SYSTEM` peripheral split into its different logical
/// components.
pub struct SystemControl<'d> {
_inner: PeripheralRef<'d, SYSTEM>,
pub clock_control: SystemClockControl,
pub software_interrupt_control: SoftwareInterruptControl,
}
impl<'d> SystemControl<'d> {
/// Construct a new instance of [`SystemControl`].
pub fn new(system: impl crate::peripheral::Peripheral<P = SYSTEM> + 'd) -> Self {
crate::into_ref!(system);
Self {
_inner: system,
clock_control: SystemClockControl::new(),
software_interrupt_control: SoftwareInterruptControl::new(),
}
}
}
/// A software interrupt can be triggered by software.
#[non_exhaustive]
pub struct SoftwareInterrupt<const NUM: u8> {}
pub struct SoftwareInterrupt<const NUM: u8>;
impl<const NUM: u8> SoftwareInterrupt<NUM> {
/// Sets the interrupt handler for this software-interrupt
@ -192,7 +213,7 @@ impl<const NUM: u8> SoftwareInterrupt<NUM> {
/// time.
#[inline]
pub unsafe fn steal() -> Self {
Self {}
Self
}
}
@ -221,17 +242,17 @@ pub struct SoftwareInterruptControl {
}
impl SoftwareInterruptControl {
fn new_internal() -> Self {
fn new() -> Self {
// the thread-executor uses SW-INT0 when used on a multi-core system
// we cannot easily require `software_interrupt0` there since it's created
// before `main` via proc-macro
SoftwareInterruptControl {
#[cfg(not(all(feature = "embassy-executor-thread", multi_core)))]
software_interrupt0: SoftwareInterrupt {},
software_interrupt1: SoftwareInterrupt {},
software_interrupt2: SoftwareInterrupt {},
software_interrupt3: SoftwareInterrupt {},
software_interrupt0: SoftwareInterrupt,
software_interrupt1: SoftwareInterrupt,
software_interrupt2: SoftwareInterrupt,
software_interrupt3: SoftwareInterrupt,
}
}
}
@ -1077,6 +1098,29 @@ pub struct SystemClockControl {
_private: (),
}
impl SystemClockControl {
pub fn new() -> Self {
Self { _private: () }
}
}
impl Default for SystemClockControl {
fn default() -> Self {
Self::new()
}
}
impl crate::peripheral::Peripheral for SystemClockControl {
type P = SystemClockControl;
#[inline]
unsafe fn clone_unchecked(&mut self) -> Self::P {
SystemClockControl { _private: () }
}
}
impl crate::private::Sealed for SystemClockControl {}
/// Enumeration of the available radio peripherals for this chip.
#[cfg(any(bt, ieee802154, wifi))]
pub enum RadioPeripherals {
@ -1110,42 +1154,3 @@ pub trait RadioClockController {
fn reset_rpa(&mut self);
}
/// The SYSTEM/DPORT splitted into it's different logical parts.
pub struct SystemParts<'d> {
_private: PeripheralRef<'d, SYSTEM>,
pub clock_control: SystemClockControl,
pub software_interrupt_control: SoftwareInterruptControl,
}
/// Extension trait to split a SYSTEM/DPORT peripheral in independent logical
/// parts
pub trait SystemExt<'d> {
type Parts;
/// Splits the SYSTEM/DPORT peripheral into it's parts.
fn split(self) -> Self::Parts;
}
impl<'d, T: crate::peripheral::Peripheral<P = SYSTEM> + 'd> SystemExt<'d> for T {
type Parts = SystemParts<'d>;
fn split(self) -> Self::Parts {
Self::Parts {
_private: self.into_ref(),
clock_control: SystemClockControl { _private: () },
software_interrupt_control: SoftwareInterruptControl::new_internal(),
}
}
}
impl crate::peripheral::Peripheral for SystemClockControl {
type P = SystemClockControl;
#[inline]
unsafe fn clone_unchecked(&mut self) -> Self::P {
SystemClockControl { _private: () }
}
}
impl crate::private::Sealed for SystemClockControl {}

View File

@ -17,13 +17,14 @@ use esp_hal::{
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -15,13 +15,14 @@ use esp_hal::{
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -19,6 +19,7 @@ use esp_hal::{
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
uart::{config::Config, TxRxPins, Uart},
};
use esp_println::println;
@ -27,7 +28,7 @@ use nb::block;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -8,12 +8,19 @@
#![no_main]
use esp_backtrace as _;
use esp_hal::{clock::ClockControl, delay::Delay, gpio::Io, peripherals::Peripherals, prelude::*};
use esp_hal::{
clock::ClockControl,
delay::Delay,
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
// Set GPIO0 as an output, and set its state high initially.

View File

@ -17,12 +17,13 @@ use esp_hal::{
gpio::{AnyPin, Input, Io, Output, PullDown, PushPull},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -11,7 +11,13 @@ use core::cell::RefCell;
use critical_section::Mutex;
use esp_backtrace as _;
use esp_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, rtc_cntl::Rtc};
use esp_hal::{
clock::ClockControl,
peripherals::Peripherals,
prelude::*,
rtc_cntl::Rtc,
system::SystemControl,
};
use esp_println::println;
static RTC: Mutex<RefCell<Option<Rtc>>> = Mutex::new(RefCell::new(None));
@ -19,7 +25,7 @@ static RTC: Mutex<RefCell<Option<Rtc>>> = Mutex::new(RefCell::new(None));
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut rtc = Rtc::new(peripherals.LPWR, Some(interrupt_handler));

View File

@ -14,13 +14,14 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rom::{crc, md5},
system::SystemControl,
uart::Uart,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -19,12 +19,13 @@ use esp_hal::{
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -16,6 +16,7 @@ use esp_hal::{
clock::ClockControl,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
@ -24,7 +25,7 @@ static DA: Mutex<RefCell<Option<DebugAssist>>> = Mutex::new(RefCell::new(None));
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut da = DebugAssist::new(peripherals.ASSIST_DEBUG, Some(interrupt_handler));

View File

@ -11,7 +11,7 @@ use esp_hal::{
interrupt::{self, CpuInterrupt, Priority},
peripherals::{Interrupt, Peripherals},
prelude::*,
system::SoftwareInterrupt,
system::{SoftwareInterrupt, SystemControl},
};
static SWINT0: Mutex<RefCell<Option<SoftwareInterrupt<0>>>> = Mutex::new(RefCell::new(None));
@ -28,7 +28,7 @@ fn main() -> ! {
}
let sw0_trigger_addr = cpu_intr.cpu_intr_from_cpu_0() as *const _ as u32;
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let sw_int = system.software_interrupt_control;
critical_section::with(|cs| {

View File

@ -18,6 +18,7 @@ use esp_hal::{
embassy::{self},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
@ -33,7 +34,7 @@ async fn run() {
async fn main(spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -20,6 +20,7 @@ use esp_hal::{
embassy,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
systimer::SystemTimer,
};
@ -35,7 +36,7 @@ async fn run() {
async fn main(spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let systimer = SystemTimer::new_async(peripherals.SYSTIMER);

View File

@ -27,6 +27,7 @@ use esp_hal::{
i2c::I2C,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use lis3dh_async::{Lis3dh, Range, SlaveAddr};
@ -34,7 +35,7 @@ use lis3dh_async::{Lis3dh, Range, SlaveAddr};
#[main]
async fn main(_spawner: Spawner) {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -29,6 +29,7 @@ use esp_hal::{
i2s::{asynch::*, DataFormat, I2s, Standard},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -37,7 +38,7 @@ use esp_println::println;
async fn main(_spawner: Spawner) {
println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -44,6 +44,7 @@ use esp_hal::{
i2s::{asynch::*, DataFormat, I2s, Standard},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -60,7 +61,7 @@ const SINE: [i16; 64] = [
async fn main(_spawner: Spawner) {
println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -24,6 +24,7 @@ use esp_hal::{
gpio::{GpioPin, Io, Output, PushPull},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -53,7 +54,7 @@ async fn control_led(
#[main]
async fn main(_spawner: Spawner) {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -24,6 +24,7 @@ use esp_hal::{
interrupt::Priority,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -72,7 +73,7 @@ async fn enable_disable_led(control: &'static Signal<CriticalSectionRawMutex, bo
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -31,6 +31,7 @@ use esp_hal::{
interrupt::Priority,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -76,7 +77,7 @@ async fn main(low_prio_spawner: Spawner) {
esp_println::logger::init_logger_from_env();
println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -22,6 +22,7 @@ use esp_hal::{
parl_io::{BitPackOrder, NoClkPin, ParlIoRxOnly, RxFourBits},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -30,7 +31,7 @@ use esp_println::println;
async fn main(_spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -33,6 +33,7 @@ use esp_hal::{
},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -41,7 +42,7 @@ use esp_println::println;
async fn main(_spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -18,6 +18,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rmt::{asynch::RxChannelAsync, PulseCode, Rmt, RxChannelConfig, RxChannelCreatorAsync},
system::SystemControl,
};
use esp_println::{print, println};
@ -41,7 +42,7 @@ async fn signal_task(mut pin: Gpio5<Output<PushPull>>) {
async fn main(spawner: Spawner) {
println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timer_group0 = esp_hal::timer::TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -19,6 +19,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rmt::{asynch::TxChannelAsync, PulseCode, Rmt, TxChannelConfig, TxChannelCreatorAsync},
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -27,7 +28,7 @@ use esp_println::println;
async fn main(_spawner: Spawner) {
println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -18,6 +18,7 @@ use esp_hal::{
embassy,
peripherals::{Peripherals, UART0},
prelude::*,
system::SystemControl,
timer::TimerGroup,
uart::{config::AtCmdConfig, Uart, UartRx, UartTx},
Async,
@ -77,7 +78,7 @@ async fn reader(
async fn main(spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -36,6 +36,7 @@ use esp_hal::{
master::{prelude::*, Spi},
SpiMode,
},
system::SystemControl,
timer::TimerGroup,
};
@ -43,7 +44,7 @@ use esp_hal::{
async fn main(_spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -17,6 +17,7 @@ use esp_hal::{
embassy,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
systimer::SystemTimer,
timer::TimerGroup,
};
@ -25,7 +26,7 @@ use esp_hal::{
async fn main(_spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -28,6 +28,7 @@ use esp_hal::{
interrupt,
peripherals::{self, Peripherals, TWAI0},
prelude::*,
system::SystemControl,
timer::TimerGroup,
twai::{self, EspTwaiFrame, TwaiRx, TwaiTx},
};
@ -83,7 +84,7 @@ async fn transmitter(
#[main]
async fn main(spawner: Spawner) {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -17,6 +17,7 @@ use esp_hal::{
embassy,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
usb_serial_jtag::{UsbSerialJtag, UsbSerialJtagRx, UsbSerialJtagTx},
Async,
@ -68,7 +69,7 @@ async fn reader(
async fn main(spawner: Spawner) -> () {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
embassy::init(&clocks, TimerGroup::new_async(peripherals.TIMG0, &clocks));

View File

@ -18,6 +18,7 @@ use esp_hal::{
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
@ -25,7 +26,7 @@ use esp_hal::{
async fn main(_spawner: Spawner) {
esp_println::println!("Init!");
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);

View File

@ -16,6 +16,7 @@ use esp_hal::{
etm::Etm,
peripherals::{Peripherals, TIMG0},
prelude::*,
system::SystemControl,
timer::{
etm::{TimerEtmEvents, TimerEtmTasks},
Timer,
@ -31,7 +32,7 @@ static TIMER0: Mutex<RefCell<Option<Timer<Timer0<TIMG0>, esp_hal::Blocking>>>> =
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new(

View File

@ -19,6 +19,7 @@ use esp_hal::{
macros::ram,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
#[cfg(any(feature = "esp32", feature = "esp32s2", feature = "esp32s3"))]
@ -31,7 +32,7 @@ static BUTTON: Mutex<RefCell<Option<gpio::Gpio9<Input<PullDown>>>>> =
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
// Set GPIO2 as an output, and set its state high initially.

View File

@ -21,6 +21,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rmt::Rmt,
system::SystemControl,
};
use esp_hal_smartled::{smartLedBuffer, SmartLedsAdapter};
use smart_leds::{
@ -33,7 +34,7 @@ use smart_leds::{
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -20,13 +20,14 @@ use esp_hal::{
delay::Delay,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
uart::Uart,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -64,6 +64,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rng::Rng,
system::SystemControl,
systimer::SystemTimer,
};
use esp_println::println;
@ -76,7 +77,7 @@ type HmacSha256 = HmacSw<Sha256>;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut rng = Rng::new(peripherals.RNG);

View File

@ -12,13 +12,20 @@
#![no_main]
use esp_backtrace as _;
use esp_hal::{clock::ClockControl, gpio::Io, i2c::I2C, peripherals::Peripherals, prelude::*};
use esp_hal::{
clock::ClockControl,
gpio::Io,
i2c::I2C,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -30,13 +30,14 @@ use esp_hal::{
i2c::I2C,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use ssd1306::{prelude::*, I2CDisplayInterface, Ssd1306};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -25,13 +25,14 @@ use esp_hal::{
i2s::{DataFormat, I2s, I2sReadDma, Standard},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -40,6 +40,7 @@ use esp_hal::{
i2s::{DataFormat, I2s, I2sWriteDma, Standard},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
const SINE: [i16; 64] = [
@ -53,7 +54,7 @@ const SINE: [i16; 64] = [
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -13,7 +13,11 @@ use core::cell::RefCell;
use critical_section::Mutex;
use esp_backtrace as _;
use esp_hal::{peripherals::Peripherals, prelude::*, system::SoftwareInterrupt};
use esp_hal::{
peripherals::Peripherals,
prelude::*,
system::{SoftwareInterrupt, SystemControl},
};
static SWINT0: Mutex<RefCell<Option<SoftwareInterrupt<0>>>> = Mutex::new(RefCell::new(None));
static SWINT1: Mutex<RefCell<Option<SoftwareInterrupt<1>>>> = Mutex::new(RefCell::new(None));
@ -23,7 +27,7 @@ static SWINT3: Mutex<RefCell<Option<SoftwareInterrupt<3>>>> = Mutex::new(RefCell
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let mut sw_int = system.software_interrupt_control;
critical_section::with(|cs| {

View File

@ -35,13 +35,14 @@ use esp_hal::{
},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -21,12 +21,13 @@ use esp_hal::{
},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -17,6 +17,7 @@ use esp_hal::{
lp_core::{LpCore, LpCoreWakeupSource},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
uart::{config::Config, lp_uart::LpUart, TxRxPins, Uart},
};
use esp_println::println;
@ -24,7 +25,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -15,12 +15,13 @@ use esp_hal::{
mcpwm::{operator::PwmPinConfig, timer::PwmWorkingMode, McPwm, PeripheralClockConfig},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -18,6 +18,7 @@ use esp_hal::{
delay::Delay,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
@ -26,7 +27,7 @@ static mut APP_CORE_STACK: Stack<8192> = Stack::new();
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -18,13 +18,14 @@ use esp_hal::{
parl_io::{BitPackOrder, NoClkPin, ParlIoRxOnly, RxFourBits},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -29,13 +29,14 @@ use esp_hal::{
},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -13,7 +13,13 @@ extern crate alloc;
use alloc::{string::String, vec::Vec};
use esp_backtrace as _;
use esp_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, psram};
use esp_hal::{
clock::ClockControl,
peripherals::Peripherals,
prelude::*,
psram,
system::SystemControl,
};
use esp_println::println;
#[global_allocator]
@ -35,7 +41,7 @@ fn main() -> ! {
psram::init_psram(peripherals.PSRAM);
init_psram_heap();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let _clocks = ClockControl::max(system.clock_control).freeze();
println!("Going to access PSRAM");

View File

@ -41,13 +41,14 @@ use esp_hal::{
SpiDataMode,
SpiMode,
},
system::SystemControl,
};
use esp_println::{print, println};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -24,6 +24,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rtc_cntl::Rtc,
system::SystemControl,
};
use esp_println::println;
@ -39,7 +40,7 @@ static mut SOME_ZEROED_DATA: [u8; 8] = [0; 8];
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -14,6 +14,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rmt::{PulseCode, Rmt, RxChannel, RxChannelConfig, RxChannelCreator},
system::SystemControl,
};
use esp_println::{print, println};
@ -22,7 +23,7 @@ const WIDTH: usize = 80;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -15,12 +15,13 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rmt::{PulseCode, Rmt, TxChannel, TxChannelConfig, TxChannelCreator},
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -12,12 +12,13 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rtc_cntl::Rtc,
system::SystemControl,
};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let rtc = Rtc::new(peripherals.LPWR, None);

View File

@ -17,6 +17,7 @@ use esp_hal::{
gpio,
peripherals::{Peripherals, UART0},
prelude::*,
system::SystemControl,
uart::{
config::{AtCmdConfig, Config},
TxRxPins,
@ -30,7 +31,7 @@ static SERIAL: Mutex<RefCell<Option<Uart<UART0, Blocking>>>> = Mutex::new(RefCel
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -15,6 +15,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
rtc_cntl::{get_reset_reason, get_wakeup_cause, sleep::TimerWakeupSource, Rtc, SocResetReason},
system::SystemControl,
Cpu,
};
use esp_println::println;
@ -22,7 +23,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut delay = Delay::new(&clocks);

View File

@ -22,6 +22,7 @@ use esp_hal::{
Rtc,
SocResetReason,
},
system::SystemControl,
Cpu,
};
use esp_println::println;
@ -29,7 +30,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut rtc = Rtc::new(peripherals.LPWR, None);

View File

@ -22,6 +22,7 @@ use esp_hal::{
Rtc,
SocResetReason,
},
system::SystemControl,
Cpu,
};
use esp_println::println;
@ -29,7 +30,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut rtc = Rtc::new(peripherals.LPWR, None);

View File

@ -22,6 +22,7 @@ use esp_hal::{
Rtc,
SocResetReason,
},
system::SystemControl,
Cpu,
};
use esp_println::println;
@ -29,7 +30,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut rtc = Rtc::new(peripherals.LPWR, None);

View File

@ -24,6 +24,7 @@ use esp_hal::{
Rtc,
SocResetReason,
},
system::SystemControl,
Cpu,
};
use esp_println::println;
@ -31,7 +32,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -18,7 +18,7 @@ use esp_hal::{
delay::Delay,
peripherals::Peripherals,
prelude::*,
system::SoftwareInterrupt,
system::{SoftwareInterrupt, SystemControl},
};
static SWINT0: Mutex<RefCell<Option<SoftwareInterrupt<0>>>> = Mutex::new(RefCell::new(None));
@ -29,7 +29,7 @@ static SWINT3: Mutex<RefCell<Option<SoftwareInterrupt<3>>>> = Mutex::new(RefCell
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut sw_int = system.software_interrupt_control;

View File

@ -41,13 +41,14 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
spi::{master::Spi, SpiMode},
system::SystemControl,
};
use esp_println::{print, println};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -28,13 +28,14 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
spi::{master::Spi, SpiMode},
system::SystemControl,
};
use esp_println::{print, println};
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -39,13 +39,14 @@ use esp_hal::{
SpiDataMode,
SpiMode,
},
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -26,13 +26,14 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
spi::{master::Spi, SpiMode},
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -31,13 +31,14 @@ use esp_hal::{
master::{prelude::*, Spi},
SpiMode,
},
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -41,13 +41,14 @@ use esp_hal::{
slave::{prelude::*, Spi},
SpiMode,
},
system::SystemControl,
};
use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -17,6 +17,7 @@ use esp_hal::{
interrupt::{self, Priority},
peripherals::{Interrupt, Peripherals},
prelude::*,
system::SystemControl,
systimer::{Alarm, Periodic, SystemTimer, Target},
Blocking,
};
@ -31,7 +32,7 @@ static ALARM2: Mutex<RefCell<Option<Alarm<Target, Blocking, 2>>>> = Mutex::new(R
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let systimer = SystemTimer::new(peripherals.SYSTIMER);

View File

@ -16,6 +16,7 @@ use esp_hal::{
interrupt::{self, Priority},
peripherals::{Interrupt, Peripherals, TIMG0},
prelude::*,
system::SystemControl,
timer::{Timer, Timer0, TimerGroup, TimerInterrupts},
};
@ -25,7 +26,7 @@ static TIMER0: Mutex<RefCell<Option<Timer<Timer0<TIMG0>, esp_hal::Blocking>>>> =
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let timg0 = TimerGroup::new(

View File

@ -24,6 +24,7 @@ use esp_hal::{
gpio::Io,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
twai::{self, filter::SingleStandardFilter, EspTwaiFrame, StandardId},
};
use esp_println::println;
@ -32,7 +33,7 @@ use nb::block;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -17,6 +17,7 @@ use esp_hal::{
delay::Delay,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
usb_serial_jtag::UsbSerialJtag,
Blocking,
};
@ -27,7 +28,7 @@ static USB_SERIAL: Mutex<RefCell<Option<UsbSerialJtag<'static, Blocking>>>> =
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -14,6 +14,7 @@ use esp_hal::{
delay::Delay,
peripherals::Peripherals,
prelude::*,
system::SystemControl,
timer::TimerGroup,
};
use esp_println::println;
@ -21,7 +22,7 @@ use esp_println::println;
#[entry]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let delay = Delay::new(&clocks);

View File

@ -7,7 +7,12 @@
use defmt_rtt as _;
use esp_backtrace as _;
use esp_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, rtc_cntl::Rtc};
use esp_hal::{
clock::ClockControl,
peripherals::Peripherals,
rtc_cntl::Rtc,
system::SystemControl,
};
struct Context<'a> {
rtc: Rtc<'a>,
@ -16,7 +21,7 @@ struct Context<'a> {
impl Context<'_> {
pub fn init() -> Self {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
ClockControl::boot_defaults(system.clock_control).freeze();
let rtc = Rtc::new(peripherals.LPWR, None);

View File

@ -19,8 +19,8 @@ use esp_hal::{
gpio::{GpioPin, Input, Io, Output, OutputPin, PullDown, PushPull, Unknown},
macros::handler,
peripherals::Peripherals,
system::SystemExt,
timer::TimerGroup,
system::SystemControl,
};
static COUNTER: Mutex<RefCell<u32>> = Mutex::new(RefCell::new(0));
@ -36,7 +36,7 @@ struct Context {
impl Context {
pub fn init() -> Self {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let mut io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -20,6 +20,7 @@ use esp_hal::{
peripherals::Peripherals,
prelude::*,
spi::{master::Spi, FullDuplexMode, SpiMode},
system::SystemControl,
};
struct Context {
@ -29,7 +30,7 @@ struct Context {
impl Context {
pub fn init() -> Self {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -26,6 +26,7 @@ use esp_hal::{
master::{prelude::*, Spi},
SpiMode,
},
system::SystemControl,
};
#[cfg(test)]
@ -41,7 +42,7 @@ mod tests {
const DMA_BUFFER_SIZE: usize = 4;
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
@ -84,7 +85,7 @@ mod tests {
#[timeout(3)]
fn test_asymmetric_dma_transfer() {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
@ -128,7 +129,7 @@ mod tests {
const DMA_BUFFER_SIZE: usize = 4096;
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

View File

@ -17,6 +17,7 @@ use esp_hal::{
gpio::Io,
peripherals::{Peripherals, UART0},
prelude::*,
system::SystemControl,
uart::{config::Config, TxRxPins, Uart},
Blocking,
};
@ -29,7 +30,7 @@ struct Context {
impl Context {
pub fn init() -> Self {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
let pins = TxRxPins::new_tx_rx(

View File

@ -15,9 +15,9 @@ use esp_hal::{
clock::ClockControl,
gpio::Io,
peripherals::{Peripherals, UART0},
prelude::*,
uart::{config::Config, TxRxPins, Uart, UartRx, UartTx},
Async,
system::SystemControl,
};
struct Context {
@ -28,7 +28,7 @@ struct Context {
impl Context {
pub fn init() -> Self {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let system = SystemControl::new(peripherals.SYSTEM);
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
let pins = TxRxPins::new_tx_rx(