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
|
### Fixed
|
||||||
|
|
||||||
- i2c: i2c1_handler used I2C0 register block by mistake (#1487)
|
- 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
|
### 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)
|
- `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)
|
- 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)
|
- 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
|
||||||
|
|
||||||
|
- Removed the `SystemExt` trait (#1495)
|
||||||
|
|
||||||
## [0.17.0] - 2024-04-18
|
## [0.17.0] - 2024-04-18
|
||||||
|
|
||||||
### Added
|
### 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)
|
- Fixed writes to SPI not flushing before attempting to write, causing corrupted writes (#1381)
|
||||||
- fix AdcConfig::adc_calibrate for xtensa targets (#1379)
|
- 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)
|
- 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)
|
- Support 192 and 256-bit keys for AES (#1316)
|
||||||
- Fixed MCPWM DeadTimeCfg bit values (#1378)
|
- Fixed MCPWM DeadTimeCfg bit values (#1378)
|
||||||
- ESP32 LEDC `set_duty_cycle` used HighSpeedChannel for LowSpeedChannel (#1457)
|
- 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},
|
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))]
|
#[cfg(any(timg0, timg1))]
|
||||||
pub use crate::timer::{
|
pub use crate::timer::{
|
||||||
Instance as _esp_hal_timer_Instance,
|
Instance as _esp_hal_timer_Instance,
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
//! ## Example
|
//! ## Example
|
||||||
//! ```no_run
|
//! ```no_run
|
||||||
//! let peripherals = Peripherals::take();
|
//! 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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
//! ```
|
//! ```
|
||||||
|
|
||||||
@ -99,9 +99,30 @@ pub enum Peripheral {
|
|||||||
LcdCam,
|
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.
|
/// A software interrupt can be triggered by software.
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub struct SoftwareInterrupt<const NUM: u8> {}
|
pub struct SoftwareInterrupt<const NUM: u8>;
|
||||||
|
|
||||||
impl<const NUM: u8> SoftwareInterrupt<NUM> {
|
impl<const NUM: u8> SoftwareInterrupt<NUM> {
|
||||||
/// Sets the interrupt handler for this software-interrupt
|
/// Sets the interrupt handler for this software-interrupt
|
||||||
@ -192,7 +213,7 @@ impl<const NUM: u8> SoftwareInterrupt<NUM> {
|
|||||||
/// time.
|
/// time.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub unsafe fn steal() -> Self {
|
pub unsafe fn steal() -> Self {
|
||||||
Self {}
|
Self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,17 +242,17 @@ pub struct SoftwareInterruptControl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl SoftwareInterruptControl {
|
impl SoftwareInterruptControl {
|
||||||
fn new_internal() -> Self {
|
fn new() -> Self {
|
||||||
// the thread-executor uses SW-INT0 when used on a multi-core system
|
// the thread-executor uses SW-INT0 when used on a multi-core system
|
||||||
// we cannot easily require `software_interrupt0` there since it's created
|
// we cannot easily require `software_interrupt0` there since it's created
|
||||||
// before `main` via proc-macro
|
// before `main` via proc-macro
|
||||||
|
|
||||||
SoftwareInterruptControl {
|
SoftwareInterruptControl {
|
||||||
#[cfg(not(all(feature = "embassy-executor-thread", multi_core)))]
|
#[cfg(not(all(feature = "embassy-executor-thread", multi_core)))]
|
||||||
software_interrupt0: SoftwareInterrupt {},
|
software_interrupt0: SoftwareInterrupt,
|
||||||
software_interrupt1: SoftwareInterrupt {},
|
software_interrupt1: SoftwareInterrupt,
|
||||||
software_interrupt2: SoftwareInterrupt {},
|
software_interrupt2: SoftwareInterrupt,
|
||||||
software_interrupt3: SoftwareInterrupt {},
|
software_interrupt3: SoftwareInterrupt,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1077,6 +1098,29 @@ pub struct SystemClockControl {
|
|||||||
_private: (),
|
_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.
|
/// Enumeration of the available radio peripherals for this chip.
|
||||||
#[cfg(any(bt, ieee802154, wifi))]
|
#[cfg(any(bt, ieee802154, wifi))]
|
||||||
pub enum RadioPeripherals {
|
pub enum RadioPeripherals {
|
||||||
@ -1110,42 +1154,3 @@ pub trait RadioClockController {
|
|||||||
|
|
||||||
fn reset_rpa(&mut self);
|
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,
|
gpio::Io,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -15,13 +15,14 @@ use esp_hal::{
|
|||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -19,6 +19,7 @@ use esp_hal::{
|
|||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
uart::{config::Config, TxRxPins, Uart},
|
uart::{config::Config, TxRxPins, Uart},
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -27,7 +28,7 @@ use nb::block;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -8,12 +8,19 @@
|
|||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp_backtrace as _;
|
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]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Set GPIO0 as an output, and set its state high initially.
|
// 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},
|
gpio::{AnyPin, Input, Io, Output, PullDown, PushPull},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -11,7 +11,13 @@ use core::cell::RefCell;
|
|||||||
|
|
||||||
use critical_section::Mutex;
|
use critical_section::Mutex;
|
||||||
use esp_backtrace as _;
|
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;
|
use esp_println::println;
|
||||||
|
|
||||||
static RTC: Mutex<RefCell<Option<Rtc>>> = Mutex::new(RefCell::new(None));
|
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]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.LPWR, Some(interrupt_handler));
|
let mut rtc = Rtc::new(peripherals.LPWR, Some(interrupt_handler));
|
||||||
|
|||||||
@ -14,13 +14,14 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rom::{crc, md5},
|
rom::{crc, md5},
|
||||||
|
system::SystemControl,
|
||||||
uart::Uart,
|
uart::Uart,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -19,12 +19,13 @@ use esp_hal::{
|
|||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ use esp_hal::{
|
|||||||
clock::ClockControl,
|
clock::ClockControl,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ static DA: Mutex<RefCell<Option<DebugAssist>>> = Mutex::new(RefCell::new(None));
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut da = DebugAssist::new(peripherals.ASSIST_DEBUG, Some(interrupt_handler));
|
let mut da = DebugAssist::new(peripherals.ASSIST_DEBUG, Some(interrupt_handler));
|
||||||
|
|||||||
@ -11,7 +11,7 @@ use esp_hal::{
|
|||||||
interrupt::{self, CpuInterrupt, Priority},
|
interrupt::{self, CpuInterrupt, Priority},
|
||||||
peripherals::{Interrupt, Peripherals},
|
peripherals::{Interrupt, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
system::SoftwareInterrupt,
|
system::{SoftwareInterrupt, SystemControl},
|
||||||
};
|
};
|
||||||
|
|
||||||
static SWINT0: Mutex<RefCell<Option<SoftwareInterrupt<0>>>> = Mutex::new(RefCell::new(None));
|
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 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;
|
let sw_int = system.software_interrupt_control;
|
||||||
|
|
||||||
critical_section::with(|cs| {
|
critical_section::with(|cs| {
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use esp_hal::{
|
|||||||
embassy::{self},
|
embassy::{self},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ async fn run() {
|
|||||||
async fn main(spawner: Spawner) {
|
async fn main(spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -20,6 +20,7 @@ use esp_hal::{
|
|||||||
embassy,
|
embassy,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
systimer::SystemTimer,
|
systimer::SystemTimer,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ async fn run() {
|
|||||||
async fn main(spawner: Spawner) {
|
async fn main(spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let systimer = SystemTimer::new_async(peripherals.SYSTIMER);
|
let systimer = SystemTimer::new_async(peripherals.SYSTIMER);
|
||||||
|
|||||||
@ -27,6 +27,7 @@ use esp_hal::{
|
|||||||
i2c::I2C,
|
i2c::I2C,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use lis3dh_async::{Lis3dh, Range, SlaveAddr};
|
use lis3dh_async::{Lis3dh, Range, SlaveAddr};
|
||||||
@ -34,7 +35,7 @@ use lis3dh_async::{Lis3dh, Range, SlaveAddr};
|
|||||||
#[main]
|
#[main]
|
||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -29,6 +29,7 @@ use esp_hal::{
|
|||||||
i2s::{asynch::*, DataFormat, I2s, Standard},
|
i2s::{asynch::*, DataFormat, I2s, Standard},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -37,7 +38,7 @@ use esp_println::println;
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
println!("Init!");
|
println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -44,6 +44,7 @@ use esp_hal::{
|
|||||||
i2s::{asynch::*, DataFormat, I2s, Standard},
|
i2s::{asynch::*, DataFormat, I2s, Standard},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -60,7 +61,7 @@ const SINE: [i16; 64] = [
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
println!("Init!");
|
println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ use esp_hal::{
|
|||||||
gpio::{GpioPin, Io, Output, PushPull},
|
gpio::{GpioPin, Io, Output, PushPull},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -53,7 +54,7 @@ async fn control_led(
|
|||||||
#[main]
|
#[main]
|
||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ use esp_hal::{
|
|||||||
interrupt::Priority,
|
interrupt::Priority,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -72,7 +73,7 @@ async fn enable_disable_led(control: &'static Signal<CriticalSectionRawMutex, bo
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -31,6 +31,7 @@ use esp_hal::{
|
|||||||
interrupt::Priority,
|
interrupt::Priority,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -76,7 +77,7 @@ async fn main(low_prio_spawner: Spawner) {
|
|||||||
esp_println::logger::init_logger_from_env();
|
esp_println::logger::init_logger_from_env();
|
||||||
println!("Init!");
|
println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -22,6 +22,7 @@ use esp_hal::{
|
|||||||
parl_io::{BitPackOrder, NoClkPin, ParlIoRxOnly, RxFourBits},
|
parl_io::{BitPackOrder, NoClkPin, ParlIoRxOnly, RxFourBits},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -30,7 +31,7 @@ use esp_println::println;
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -33,6 +33,7 @@ use esp_hal::{
|
|||||||
},
|
},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -41,7 +42,7 @@ use esp_println::println;
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::{asynch::RxChannelAsync, PulseCode, Rmt, RxChannelConfig, RxChannelCreatorAsync},
|
rmt::{asynch::RxChannelAsync, PulseCode, Rmt, RxChannelConfig, RxChannelCreatorAsync},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
|
|
||||||
@ -41,7 +42,7 @@ async fn signal_task(mut pin: Gpio5<Output<PushPull>>) {
|
|||||||
async fn main(spawner: Spawner) {
|
async fn main(spawner: Spawner) {
|
||||||
println!("Init!");
|
println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = esp_hal::timer::TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timer_group0 = esp_hal::timer::TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -19,6 +19,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::{asynch::TxChannelAsync, PulseCode, Rmt, TxChannelConfig, TxChannelCreatorAsync},
|
rmt::{asynch::TxChannelAsync, PulseCode, Rmt, TxChannelConfig, TxChannelCreatorAsync},
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -27,7 +28,7 @@ use esp_println::println;
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
println!("Init!");
|
println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use esp_hal::{
|
|||||||
embassy,
|
embassy,
|
||||||
peripherals::{Peripherals, UART0},
|
peripherals::{Peripherals, UART0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
uart::{config::AtCmdConfig, Uart, UartRx, UartTx},
|
uart::{config::AtCmdConfig, Uart, UartRx, UartTx},
|
||||||
Async,
|
Async,
|
||||||
@ -77,7 +78,7 @@ async fn reader(
|
|||||||
async fn main(spawner: Spawner) {
|
async fn main(spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -36,6 +36,7 @@ use esp_hal::{
|
|||||||
master::{prelude::*, Spi},
|
master::{prelude::*, Spi},
|
||||||
SpiMode,
|
SpiMode,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ use esp_hal::{
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
embassy,
|
embassy,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
systimer::SystemTimer,
|
systimer::SystemTimer,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
@ -25,7 +26,7 @@ use esp_hal::{
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -28,6 +28,7 @@ use esp_hal::{
|
|||||||
interrupt,
|
interrupt,
|
||||||
peripherals::{self, Peripherals, TWAI0},
|
peripherals::{self, Peripherals, TWAI0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
twai::{self, EspTwaiFrame, TwaiRx, TwaiTx},
|
twai::{self, EspTwaiFrame, TwaiRx, TwaiTx},
|
||||||
};
|
};
|
||||||
@ -83,7 +84,7 @@ async fn transmitter(
|
|||||||
#[main]
|
#[main]
|
||||||
async fn main(spawner: Spawner) {
|
async fn main(spawner: Spawner) {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
embassy,
|
embassy,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
usb_serial_jtag::{UsbSerialJtag, UsbSerialJtagRx, UsbSerialJtagTx},
|
usb_serial_jtag::{UsbSerialJtag, UsbSerialJtagRx, UsbSerialJtagTx},
|
||||||
Async,
|
Async,
|
||||||
@ -68,7 +69,7 @@ async fn reader(
|
|||||||
async fn main(spawner: Spawner) -> () {
|
async fn main(spawner: Spawner) -> () {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
embassy::init(&clocks, TimerGroup::new_async(peripherals.TIMG0, &clocks));
|
embassy::init(&clocks, TimerGroup::new_async(peripherals.TIMG0, &clocks));
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use esp_hal::{
|
|||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ use esp_hal::{
|
|||||||
async fn main(_spawner: Spawner) {
|
async fn main(_spawner: Spawner) {
|
||||||
esp_println::println!("Init!");
|
esp_println::println!("Init!");
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ use esp_hal::{
|
|||||||
etm::Etm,
|
etm::Etm,
|
||||||
peripherals::{Peripherals, TIMG0},
|
peripherals::{Peripherals, TIMG0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::{
|
timer::{
|
||||||
etm::{TimerEtmEvents, TimerEtmTasks},
|
etm::{TimerEtmEvents, TimerEtmTasks},
|
||||||
Timer,
|
Timer,
|
||||||
@ -31,7 +32,7 @@ static TIMER0: Mutex<RefCell<Option<Timer<Timer0<TIMG0>, esp_hal::Blocking>>>> =
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new(
|
let timg0 = TimerGroup::new(
|
||||||
|
|||||||
@ -19,6 +19,7 @@ use esp_hal::{
|
|||||||
macros::ram,
|
macros::ram,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(any(feature = "esp32", feature = "esp32s2", feature = "esp32s3"))]
|
#[cfg(any(feature = "esp32", feature = "esp32s2", feature = "esp32s3"))]
|
||||||
@ -31,7 +32,7 @@ static BUTTON: Mutex<RefCell<Option<gpio::Gpio9<Input<PullDown>>>>> =
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Set GPIO2 as an output, and set its state high initially.
|
// Set GPIO2 as an output, and set its state high initially.
|
||||||
|
|||||||
@ -21,6 +21,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::Rmt,
|
rmt::Rmt,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_hal_smartled::{smartLedBuffer, SmartLedsAdapter};
|
use esp_hal_smartled::{smartLedBuffer, SmartLedsAdapter};
|
||||||
use smart_leds::{
|
use smart_leds::{
|
||||||
@ -33,7 +34,7 @@ use smart_leds::{
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -20,13 +20,14 @@ use esp_hal::{
|
|||||||
delay::Delay,
|
delay::Delay,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
uart::Uart,
|
uart::Uart,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -64,6 +64,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rng::Rng,
|
rng::Rng,
|
||||||
|
system::SystemControl,
|
||||||
systimer::SystemTimer,
|
systimer::SystemTimer,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -76,7 +77,7 @@ type HmacSha256 = HmacSw<Sha256>;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rng = Rng::new(peripherals.RNG);
|
let mut rng = Rng::new(peripherals.RNG);
|
||||||
|
|||||||
@ -12,13 +12,20 @@
|
|||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp_backtrace as _;
|
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;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -30,13 +30,14 @@ use esp_hal::{
|
|||||||
i2c::I2C,
|
i2c::I2C,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use ssd1306::{prelude::*, I2CDisplayInterface, Ssd1306};
|
use ssd1306::{prelude::*, I2CDisplayInterface, Ssd1306};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -25,13 +25,14 @@ use esp_hal::{
|
|||||||
i2s::{DataFormat, I2s, I2sReadDma, Standard},
|
i2s::{DataFormat, I2s, I2sReadDma, Standard},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -40,6 +40,7 @@ use esp_hal::{
|
|||||||
i2s::{DataFormat, I2s, I2sWriteDma, Standard},
|
i2s::{DataFormat, I2s, I2sWriteDma, Standard},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
const SINE: [i16; 64] = [
|
const SINE: [i16; 64] = [
|
||||||
@ -53,7 +54,7 @@ const SINE: [i16; 64] = [
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -13,7 +13,11 @@ use core::cell::RefCell;
|
|||||||
|
|
||||||
use critical_section::Mutex;
|
use critical_section::Mutex;
|
||||||
use esp_backtrace as _;
|
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 SWINT0: Mutex<RefCell<Option<SoftwareInterrupt<0>>>> = Mutex::new(RefCell::new(None));
|
||||||
static SWINT1: Mutex<RefCell<Option<SoftwareInterrupt<1>>>> = 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]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let system = peripherals.SYSTEM.split();
|
let system = SystemControl::new(peripherals.SYSTEM);
|
||||||
let mut sw_int = system.software_interrupt_control;
|
let mut sw_int = system.software_interrupt_control;
|
||||||
|
|
||||||
critical_section::with(|cs| {
|
critical_section::with(|cs| {
|
||||||
|
|||||||
@ -35,13 +35,14 @@ use esp_hal::{
|
|||||||
},
|
},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -21,12 +21,13 @@ use esp_hal::{
|
|||||||
},
|
},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
lp_core::{LpCore, LpCoreWakeupSource},
|
lp_core::{LpCore, LpCoreWakeupSource},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
uart::{config::Config, lp_uart::LpUart, TxRxPins, Uart},
|
uart::{config::Config, lp_uart::LpUart, TxRxPins, Uart},
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -24,7 +25,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -15,12 +15,13 @@ use esp_hal::{
|
|||||||
mcpwm::{operator::PwmPinConfig, timer::PwmWorkingMode, McPwm, PeripheralClockConfig},
|
mcpwm::{operator::PwmPinConfig, timer::PwmWorkingMode, McPwm, PeripheralClockConfig},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -18,6 +18,7 @@ use esp_hal::{
|
|||||||
delay::Delay,
|
delay::Delay,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
@ -26,7 +27,7 @@ static mut APP_CORE_STACK: Stack<8192> = Stack::new();
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -18,13 +18,14 @@ use esp_hal::{
|
|||||||
parl_io::{BitPackOrder, NoClkPin, ParlIoRxOnly, RxFourBits},
|
parl_io::{BitPackOrder, NoClkPin, ParlIoRxOnly, RxFourBits},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -29,13 +29,14 @@ use esp_hal::{
|
|||||||
},
|
},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -13,7 +13,13 @@ extern crate alloc;
|
|||||||
use alloc::{string::String, vec::Vec};
|
use alloc::{string::String, vec::Vec};
|
||||||
|
|
||||||
use esp_backtrace as _;
|
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;
|
use esp_println::println;
|
||||||
|
|
||||||
#[global_allocator]
|
#[global_allocator]
|
||||||
@ -35,7 +41,7 @@ fn main() -> ! {
|
|||||||
psram::init_psram(peripherals.PSRAM);
|
psram::init_psram(peripherals.PSRAM);
|
||||||
init_psram_heap();
|
init_psram_heap();
|
||||||
|
|
||||||
let system = peripherals.SYSTEM.split();
|
let system = SystemControl::new(peripherals.SYSTEM);
|
||||||
let _clocks = ClockControl::max(system.clock_control).freeze();
|
let _clocks = ClockControl::max(system.clock_control).freeze();
|
||||||
|
|
||||||
println!("Going to access PSRAM");
|
println!("Going to access PSRAM");
|
||||||
|
|||||||
@ -41,13 +41,14 @@ use esp_hal::{
|
|||||||
SpiDataMode,
|
SpiDataMode,
|
||||||
SpiMode,
|
SpiMode,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rtc_cntl::Rtc,
|
rtc_cntl::Rtc,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ static mut SOME_ZEROED_DATA: [u8; 8] = [0; 8];
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -14,6 +14,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::{PulseCode, Rmt, RxChannel, RxChannelConfig, RxChannelCreator},
|
rmt::{PulseCode, Rmt, RxChannel, RxChannelConfig, RxChannelCreator},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
|
|
||||||
@ -22,7 +23,7 @@ const WIDTH: usize = 80;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -15,12 +15,13 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::{PulseCode, Rmt, TxChannel, TxChannelConfig, TxChannelCreator},
|
rmt::{PulseCode, Rmt, TxChannel, TxChannelConfig, TxChannelCreator},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -12,12 +12,13 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rtc_cntl::Rtc,
|
rtc_cntl::Rtc,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let rtc = Rtc::new(peripherals.LPWR, None);
|
let rtc = Rtc::new(peripherals.LPWR, None);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
gpio,
|
gpio,
|
||||||
peripherals::{Peripherals, UART0},
|
peripherals::{Peripherals, UART0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
uart::{
|
uart::{
|
||||||
config::{AtCmdConfig, Config},
|
config::{AtCmdConfig, Config},
|
||||||
TxRxPins,
|
TxRxPins,
|
||||||
@ -30,7 +31,7 @@ static SERIAL: Mutex<RefCell<Option<Uart<UART0, Blocking>>>> = Mutex::new(RefCel
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -15,6 +15,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rtc_cntl::{get_reset_reason, get_wakeup_cause, sleep::TimerWakeupSource, Rtc, SocResetReason},
|
rtc_cntl::{get_reset_reason, get_wakeup_cause, sleep::TimerWakeupSource, Rtc, SocResetReason},
|
||||||
|
system::SystemControl,
|
||||||
Cpu,
|
Cpu,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -22,7 +23,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut delay = Delay::new(&clocks);
|
let mut delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -22,6 +22,7 @@ use esp_hal::{
|
|||||||
Rtc,
|
Rtc,
|
||||||
SocResetReason,
|
SocResetReason,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
Cpu,
|
Cpu,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -29,7 +30,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.LPWR, None);
|
let mut rtc = Rtc::new(peripherals.LPWR, None);
|
||||||
|
|||||||
@ -22,6 +22,7 @@ use esp_hal::{
|
|||||||
Rtc,
|
Rtc,
|
||||||
SocResetReason,
|
SocResetReason,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
Cpu,
|
Cpu,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -29,7 +30,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.LPWR, None);
|
let mut rtc = Rtc::new(peripherals.LPWR, None);
|
||||||
|
|||||||
@ -22,6 +22,7 @@ use esp_hal::{
|
|||||||
Rtc,
|
Rtc,
|
||||||
SocResetReason,
|
SocResetReason,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
Cpu,
|
Cpu,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -29,7 +30,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.LPWR, None);
|
let mut rtc = Rtc::new(peripherals.LPWR, None);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ use esp_hal::{
|
|||||||
Rtc,
|
Rtc,
|
||||||
SocResetReason,
|
SocResetReason,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
Cpu,
|
Cpu,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -31,7 +32,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let mut io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -18,7 +18,7 @@ use esp_hal::{
|
|||||||
delay::Delay,
|
delay::Delay,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
system::SoftwareInterrupt,
|
system::{SoftwareInterrupt, SystemControl},
|
||||||
};
|
};
|
||||||
|
|
||||||
static SWINT0: Mutex<RefCell<Option<SoftwareInterrupt<0>>>> = Mutex::new(RefCell::new(None));
|
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]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut sw_int = system.software_interrupt_control;
|
let mut sw_int = system.software_interrupt_control;
|
||||||
|
|||||||
@ -41,13 +41,14 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{master::Spi, SpiMode},
|
spi::{master::Spi, SpiMode},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -28,13 +28,14 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{master::Spi, SpiMode},
|
spi::{master::Spi, SpiMode},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -39,13 +39,14 @@ use esp_hal::{
|
|||||||
SpiDataMode,
|
SpiDataMode,
|
||||||
SpiMode,
|
SpiMode,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -26,13 +26,14 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{master::Spi, SpiMode},
|
spi::{master::Spi, SpiMode},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -31,13 +31,14 @@ use esp_hal::{
|
|||||||
master::{prelude::*, Spi},
|
master::{prelude::*, Spi},
|
||||||
SpiMode,
|
SpiMode,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -41,13 +41,14 @@ use esp_hal::{
|
|||||||
slave::{prelude::*, Spi},
|
slave::{prelude::*, Spi},
|
||||||
SpiMode,
|
SpiMode,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
interrupt::{self, Priority},
|
interrupt::{self, Priority},
|
||||||
peripherals::{Interrupt, Peripherals},
|
peripherals::{Interrupt, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
systimer::{Alarm, Periodic, SystemTimer, Target},
|
systimer::{Alarm, Periodic, SystemTimer, Target},
|
||||||
Blocking,
|
Blocking,
|
||||||
};
|
};
|
||||||
@ -31,7 +32,7 @@ static ALARM2: Mutex<RefCell<Option<Alarm<Target, Blocking, 2>>>> = Mutex::new(R
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let systimer = SystemTimer::new(peripherals.SYSTIMER);
|
let systimer = SystemTimer::new(peripherals.SYSTIMER);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ use esp_hal::{
|
|||||||
interrupt::{self, Priority},
|
interrupt::{self, Priority},
|
||||||
peripherals::{Interrupt, Peripherals, TIMG0},
|
peripherals::{Interrupt, Peripherals, TIMG0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::{Timer, Timer0, TimerGroup, TimerInterrupts},
|
timer::{Timer, Timer0, TimerGroup, TimerInterrupts},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ static TIMER0: Mutex<RefCell<Option<Timer<Timer0<TIMG0>, esp_hal::Blocking>>>> =
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timg0 = TimerGroup::new(
|
let timg0 = TimerGroup::new(
|
||||||
|
|||||||
@ -24,6 +24,7 @@ use esp_hal::{
|
|||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
twai::{self, filter::SingleStandardFilter, EspTwaiFrame, StandardId},
|
twai::{self, filter::SingleStandardFilter, EspTwaiFrame, StandardId},
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -32,7 +33,7 @@ use nb::block;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
delay::Delay,
|
delay::Delay,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
usb_serial_jtag::UsbSerialJtag,
|
usb_serial_jtag::UsbSerialJtag,
|
||||||
Blocking,
|
Blocking,
|
||||||
};
|
};
|
||||||
@ -27,7 +28,7 @@ static USB_SERIAL: Mutex<RefCell<Option<UsbSerialJtag<'static, Blocking>>>> =
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -14,6 +14,7 @@ use esp_hal::{
|
|||||||
delay::Delay,
|
delay::Delay,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -21,7 +22,7 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let delay = Delay::new(&clocks);
|
let delay = Delay::new(&clocks);
|
||||||
|
|||||||
@ -7,7 +7,12 @@
|
|||||||
|
|
||||||
use defmt_rtt as _;
|
use defmt_rtt as _;
|
||||||
use esp_backtrace 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> {
|
struct Context<'a> {
|
||||||
rtc: Rtc<'a>,
|
rtc: Rtc<'a>,
|
||||||
@ -16,7 +21,7 @@ struct Context<'a> {
|
|||||||
impl Context<'_> {
|
impl Context<'_> {
|
||||||
pub fn init() -> Self {
|
pub fn init() -> Self {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let system = peripherals.SYSTEM.split();
|
let system = SystemControl::new(peripherals.SYSTEM);
|
||||||
ClockControl::boot_defaults(system.clock_control).freeze();
|
ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let rtc = Rtc::new(peripherals.LPWR, None);
|
let rtc = Rtc::new(peripherals.LPWR, None);
|
||||||
|
|||||||
@ -19,8 +19,8 @@ use esp_hal::{
|
|||||||
gpio::{GpioPin, Input, Io, Output, OutputPin, PullDown, PushPull, Unknown},
|
gpio::{GpioPin, Input, Io, Output, OutputPin, PullDown, PushPull, Unknown},
|
||||||
macros::handler,
|
macros::handler,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
system::SystemExt,
|
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
static COUNTER: Mutex<RefCell<u32>> = Mutex::new(RefCell::new(0));
|
static COUNTER: Mutex<RefCell<u32>> = Mutex::new(RefCell::new(0));
|
||||||
@ -36,7 +36,7 @@ struct Context {
|
|||||||
impl Context {
|
impl Context {
|
||||||
pub fn init() -> Self {
|
pub fn init() -> Self {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let mut io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -20,6 +20,7 @@ use esp_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{master::Spi, FullDuplexMode, SpiMode},
|
spi::{master::Spi, FullDuplexMode, SpiMode},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Context {
|
struct Context {
|
||||||
@ -29,7 +30,7 @@ struct Context {
|
|||||||
impl Context {
|
impl Context {
|
||||||
pub fn init() -> Self {
|
pub fn init() -> Self {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -26,6 +26,7 @@ use esp_hal::{
|
|||||||
master::{prelude::*, Spi},
|
master::{prelude::*, Spi},
|
||||||
SpiMode,
|
SpiMode,
|
||||||
},
|
},
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
@ -41,7 +42,7 @@ mod tests {
|
|||||||
const DMA_BUFFER_SIZE: usize = 4;
|
const DMA_BUFFER_SIZE: usize = 4;
|
||||||
|
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
@ -84,7 +85,7 @@ mod tests {
|
|||||||
#[timeout(3)]
|
#[timeout(3)]
|
||||||
fn test_asymmetric_dma_transfer() {
|
fn test_asymmetric_dma_transfer() {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
@ -128,7 +129,7 @@ mod tests {
|
|||||||
const DMA_BUFFER_SIZE: usize = 4096;
|
const DMA_BUFFER_SIZE: usize = 4096;
|
||||||
|
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -17,6 +17,7 @@ use esp_hal::{
|
|||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::{Peripherals, UART0},
|
peripherals::{Peripherals, UART0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
system::SystemControl,
|
||||||
uart::{config::Config, TxRxPins, Uart},
|
uart::{config::Config, TxRxPins, Uart},
|
||||||
Blocking,
|
Blocking,
|
||||||
};
|
};
|
||||||
@ -29,7 +30,7 @@ struct Context {
|
|||||||
impl Context {
|
impl Context {
|
||||||
pub fn init() -> Self {
|
pub fn init() -> Self {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let pins = TxRxPins::new_tx_rx(
|
let pins = TxRxPins::new_tx_rx(
|
||||||
|
|||||||
@ -15,9 +15,9 @@ use esp_hal::{
|
|||||||
clock::ClockControl,
|
clock::ClockControl,
|
||||||
gpio::Io,
|
gpio::Io,
|
||||||
peripherals::{Peripherals, UART0},
|
peripherals::{Peripherals, UART0},
|
||||||
prelude::*,
|
|
||||||
uart::{config::Config, TxRxPins, Uart, UartRx, UartTx},
|
uart::{config::Config, TxRxPins, Uart, UartRx, UartTx},
|
||||||
Async,
|
Async,
|
||||||
|
system::SystemControl,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Context {
|
struct Context {
|
||||||
@ -28,7 +28,7 @@ struct Context {
|
|||||||
impl Context {
|
impl Context {
|
||||||
pub fn init() -> Self {
|
pub fn init() -> Self {
|
||||||
let peripherals = Peripherals::take();
|
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 clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let pins = TxRxPins::new_tx_rx(
|
let pins = TxRxPins::new_tx_rx(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user