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:
parent
0023473068
commit
086b6059b9
@ -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)
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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 {}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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| {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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| {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user