Update all examples to remove unnecessary disabling of watchdogs (#768)
* Update `esp32-hal` examples * Update `esp32c2-hal` examples * Update `esp32c3-hal` examples * Update `esp32c6-hal` examples * Update `esp32h2-hal` examples * Update `esp32s2-hal` examples * Update `esp32s3-hal` examples * Fix the `ram.rs` examples
This commit is contained in:
parent
c63f40f412
commit
d12a3dbac5
@ -11,9 +11,7 @@ use esp32_hal::{
|
|||||||
gpio::IO,
|
gpio::IO,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -21,21 +19,9 @@ use esp_println::println;
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create ADC instances
|
// Create ADC instances
|
||||||
|
|||||||
@ -15,13 +15,11 @@ use esp32_hal::{
|
|||||||
gpio::IO,
|
gpio::IO,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
uart::{
|
uart::{
|
||||||
config::{Config, DataBits, Parity, StopBits},
|
config::{Config, DataBits, Parity, StopBits},
|
||||||
TxRxPins,
|
TxRxPins,
|
||||||
},
|
},
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -34,18 +32,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let config = Config {
|
let config = Config {
|
||||||
baudrate: 115200,
|
baudrate: 115200,
|
||||||
data_bits: DataBits::DataBits8,
|
data_bits: DataBits::DataBits8,
|
||||||
|
|||||||
@ -11,9 +11,7 @@ use esp32_hal::{
|
|||||||
clock::ClockControl,
|
clock::ClockControl,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
xtensa_lx,
|
xtensa_lx,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -22,26 +20,7 @@ use esp_println::println;
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the RTC and TIMG watchdog timers
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let mut aes = Aes::new(peripherals.AES, &mut system.peripheral_clock_control);
|
let mut aes = Aes::new(peripherals.AES, &mut system.peripheral_clock_control);
|
||||||
|
|
||||||
|
|||||||
@ -6,35 +6,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, gpio::IO, peripherals::Peripherals, prelude::*, Delay};
|
||||||
clock::ClockControl,
|
|
||||||
gpio::IO,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
// Set GPIO2 as an output, and set its state high initially.
|
// Set GPIO2 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut led = io.pins.gpio2.into_push_pull_output();
|
let mut led = io.pins.gpio2.into_push_pull_output();
|
||||||
|
|||||||
@ -10,30 +10,16 @@ use esp32_hal::{
|
|||||||
gpio::{AnyPin, Input, Output, PullDown, PushPull, IO},
|
gpio::{AnyPin, Input, Output, PullDown, PushPull, IO},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
// Set LED GPIOs as an output.
|
// Set LED GPIOs as an output.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let led1 = io.pins.gpio25.into_push_pull_output();
|
let led1 = io.pins.gpio25.into_push_pull_output();
|
||||||
|
|||||||
@ -26,10 +26,6 @@ fn main() -> ! {
|
|||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
|
|
||||||
// Disable watchdog timer
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
rtc.rwdt.start(2000u64.millis());
|
rtc.rwdt.start(2000u64.millis());
|
||||||
rtc.rwdt.listen();
|
rtc.rwdt.listen();
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,6 @@ use esp32_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
rom::{crc, md5},
|
rom::{crc, md5},
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -29,13 +28,7 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
|
|||||||
@ -5,36 +5,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, dac, gpio::IO, peripherals::Peripherals, prelude::*, Delay};
|
||||||
clock::ClockControl,
|
|
||||||
dac,
|
|
||||||
gpio::IO,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let pin25 = io.pins.gpio25.into_analog();
|
let pin25 = io.pins.gpio25.into_analog();
|
||||||
let pin26 = io.pins.gpio26.into_analog();
|
let pin26 = io.pins.gpio26.into_analog();
|
||||||
|
|||||||
@ -14,7 +14,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use static_cell::make_static;
|
use static_cell::make_static;
|
||||||
@ -42,26 +41,11 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
|
|
||||||
let executor = make_static!(Executor::new());
|
let executor = make_static!(Executor::new());
|
||||||
|
|||||||
@ -23,7 +23,6 @@ use esp32_hal::{
|
|||||||
peripherals::{Interrupt, Peripherals, I2C0},
|
peripherals::{Interrupt, Peripherals, I2C0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -54,13 +53,6 @@ fn main() -> ! {
|
|||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -16,7 +16,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_hal_common::get_core;
|
use esp_hal_common::get_core;
|
||||||
@ -69,29 +68,16 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let timer_group0 = TimerGroup::new(
|
||||||
let mut timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer_group1 = TimerGroup::new(
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
timer_group0.wdt.disable();
|
|
||||||
timer_group1.wdt.disable();
|
|
||||||
|
|
||||||
// Set GPIO2 as an output, and set its state high initially.
|
// Set GPIO2 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
|
||||||
|
|
||||||
let mut cpu_control = CpuControl::new(system.cpu_control);
|
let mut cpu_control = CpuControl::new(system.cpu_control);
|
||||||
|
|
||||||
let led_ctrl_signal = &*make_static!(Signal::new());
|
let led_ctrl_signal = &*make_static!(Signal::new());
|
||||||
|
|||||||
@ -20,7 +20,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_hal_common::get_core;
|
use esp_hal_common::get_core;
|
||||||
@ -86,29 +85,16 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let timer_group0 = TimerGroup::new(
|
||||||
let mut timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer_group1 = TimerGroup::new(
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
timer_group0.wdt.disable();
|
|
||||||
timer_group1.wdt.disable();
|
|
||||||
|
|
||||||
// Set GPIO2 as an output, and set its state high initially.
|
// Set GPIO2 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
|
||||||
|
|
||||||
let mut cpu_control = CpuControl::new(system.cpu_control);
|
let mut cpu_control = CpuControl::new(system.cpu_control);
|
||||||
|
|
||||||
let led_ctrl_signal = &*make_static!(Signal::new());
|
let led_ctrl_signal = &*make_static!(Signal::new());
|
||||||
|
|||||||
@ -19,7 +19,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_hal_common::get_core;
|
use esp_hal_common::get_core;
|
||||||
@ -86,29 +85,16 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let timer_group0 = TimerGroup::new(
|
||||||
let mut timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer_group1 = TimerGroup::new(
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
timer_group0.wdt.disable();
|
|
||||||
timer_group1.wdt.disable();
|
|
||||||
|
|
||||||
// Set GPIO2 as an output, and set its state high initially.
|
// Set GPIO2 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
|
||||||
|
|
||||||
let led = make_static!(io.pins.gpio0.into_push_pull_output());
|
let led = make_static!(io.pins.gpio0.into_push_pull_output());
|
||||||
|
|
||||||
let spawner = INT_EXECUTOR_0.start(Priority::Priority2);
|
let spawner = INT_EXECUTOR_0.start(Priority::Priority2);
|
||||||
|
|||||||
@ -17,7 +17,6 @@ use esp32_hal::{
|
|||||||
peripherals::{Interrupt, Peripherals, UART0},
|
peripherals::{Interrupt, Peripherals, UART0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -107,26 +106,11 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
|
|
||||||
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
|
|||||||
@ -28,7 +28,6 @@ use esp32_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{dma::SpiDma, FullDuplexMode, Spi, SpiMode},
|
spi::{dma::SpiDma, FullDuplexMode, Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -57,32 +56,11 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
|
||||||
embassy::init(
|
|
||||||
&clocks,
|
|
||||||
esp32_hal::systimer::SystemTimer::new(peripherals.SYSTIMER),
|
|
||||||
);
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
|
|
||||||
esp32_hal::interrupt::enable(
|
esp32_hal::interrupt::enable(
|
||||||
|
|||||||
@ -15,7 +15,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -38,26 +37,11 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(&clocks, timer_group0.timer0);
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|||||||
@ -16,10 +16,8 @@ use esp32_hal::{
|
|||||||
macros::ram,
|
macros::ram,
|
||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
xtensa_lx,
|
xtensa_lx,
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -28,22 +26,9 @@ static BUTTON: Mutex<RefCell<Option<Gpio0<Input<PullDown>>>>> = Mutex::new(RefCe
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
// Set GPIO15 as an output, and set its state high initially.
|
// Set GPIO15 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut led = io.pins.gpio15.into_push_pull_output();
|
let mut led = io.pins.gpio15.into_push_pull_output();
|
||||||
|
|||||||
@ -13,16 +13,7 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, peripherals, prelude::*, rmt::Rmt, Delay, IO};
|
||||||
clock::ClockControl,
|
|
||||||
peripherals,
|
|
||||||
prelude::*,
|
|
||||||
rmt::Rmt,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_hal_smartled::{smartLedAdapter, SmartLedsAdapter};
|
use esp_hal_smartled::{smartLedAdapter, SmartLedsAdapter};
|
||||||
use smart_leds::{
|
use smart_leds::{
|
||||||
@ -38,17 +29,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let mut timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
timer_group0.wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Configure RMT peripheral globally
|
// Configure RMT peripheral globally
|
||||||
|
|||||||
@ -11,7 +11,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -29,13 +28,7 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
|
|||||||
@ -9,15 +9,7 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, gpio::IO, i2c::I2C, peripherals::Peripherals, prelude::*};
|
||||||
clock::ClockControl,
|
|
||||||
gpio::IO,
|
|
||||||
i2c::I2C,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
@ -27,18 +19,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable watchdog timer
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create a new peripheral object with the described wiring
|
// Create a new peripheral object with the described wiring
|
||||||
|
|||||||
@ -26,7 +26,6 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use nb::block;
|
use nb::block;
|
||||||
@ -44,12 +43,6 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable watchdog timer
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
|
|||||||
@ -20,8 +20,6 @@ use esp32_hal::{
|
|||||||
pdma::Dma,
|
pdma::Dma,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -33,18 +31,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
let dma = Dma::new(system.dma, &mut system.peripheral_clock_control);
|
let dma = Dma::new(system.dma, &mut system.peripheral_clock_control);
|
||||||
|
|||||||
@ -36,8 +36,6 @@ use esp32_hal::{
|
|||||||
pdma::Dma,
|
pdma::Dma,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -56,18 +54,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
let dma = Dma::new(system.dma, &mut system.peripheral_clock_control);
|
let dma = Dma::new(system.dma, &mut system.peripheral_clock_control);
|
||||||
|
|||||||
@ -17,8 +17,6 @@ use esp32_hal::{
|
|||||||
},
|
},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -28,18 +26,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable watchdog timer
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let led = io.pins.gpio4.into_push_pull_output();
|
let led = io.pins.gpio4.into_push_pull_output();
|
||||||
|
|
||||||
|
|||||||
@ -12,8 +12,6 @@ use esp32_hal::{
|
|||||||
mcpwm::{operator::PwmPinConfig, timer::PwmWorkingMode, PeripheralClockConfig, MCPWM},
|
mcpwm::{operator::PwmPinConfig, timer::PwmWorkingMode, PeripheralClockConfig, MCPWM},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -23,18 +21,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable watchdog timer
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let pin = io.pins.gpio4;
|
let pin = io.pins.gpio4;
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,6 @@ use esp32_hal::{
|
|||||||
peripherals::{Peripherals, TIMG1},
|
peripherals::{Peripherals, TIMG1},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::{Timer, Timer0, TimerGroup},
|
timer::{Timer, Timer0, TimerGroup},
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -34,7 +33,6 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
let timer_group1 = TimerGroup::new(
|
let timer_group1 = TimerGroup::new(
|
||||||
peripherals.TIMG1,
|
peripherals.TIMG1,
|
||||||
@ -42,14 +40,6 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer1 = timer_group1.timer0;
|
let mut timer1 = timer_group1.timer0;
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
timer1.start(500u64.millis());
|
timer1.start(500u64.millis());
|
||||||
|
|||||||
@ -23,8 +23,6 @@ use esp_hal::{
|
|||||||
pcnt::{channel, channel::PcntSource, unit, PCNT},
|
pcnt::{channel, channel::PcntSource, unit, PCNT},
|
||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -36,21 +34,10 @@ static VALUE: AtomicI32 = AtomicI32::new(0);
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let unit_number = unit::Number::Unit1;
|
let unit_number = unit::Number::Unit1;
|
||||||
|
|
||||||
// setup a pulse couter
|
// setup a pulse couter
|
||||||
|
|||||||
@ -41,18 +41,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
println!("Going to access PSRAM");
|
println!("Going to access PSRAM");
|
||||||
|
|
||||||
let mut large_vec: alloc::vec::Vec<u32> = alloc::vec::Vec::with_capacity(500 * 1024 / 4);
|
let mut large_vec: alloc::vec::Vec<u32> = alloc::vec::Vec::with_capacity(500 * 1024 / 4);
|
||||||
|
|||||||
@ -25,9 +25,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Address, Command, Spi, SpiDataMode, SpiMode},
|
spi::{Address, Command, Spi, SpiDataMode, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
@ -38,26 +36,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32, this includes
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio19;
|
let sclk = io.pins.gpio19;
|
||||||
let miso = io.pins.gpio18;
|
let miso = io.pins.gpio18;
|
||||||
|
|||||||
@ -14,6 +14,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
|
Rtc,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -40,12 +41,11 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable MWDT flash boot protection
|
// The RWDT flash boot protection must be enabled, as it is triggered as part of
|
||||||
wdt.disable();
|
// the example.
|
||||||
// The RWDT flash boot protection remains enabled and it being triggered is part
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
// of the example
|
rtc.rwdt.enable();
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
|
|||||||
@ -4,34 +4,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, efuse::Efuse, peripherals::Peripherals, prelude::*};
|
||||||
clock::ClockControl,
|
|
||||||
efuse::Efuse,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
println!("MAC address {:02x?}", Efuse::get_mac_address());
|
println!("MAC address {:02x?}", Efuse::get_mac_address());
|
||||||
println!("Core Count {}", Efuse::get_core_count());
|
println!("Core Count {}", Efuse::get_core_count());
|
||||||
|
|||||||
@ -10,10 +10,8 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::{PulseCode, RxChannel, RxChannelConfig, RxChannelCreator},
|
rmt::{PulseCode, RxChannel, RxChannelConfig, RxChannelCreator},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rmt,
|
Rmt,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -25,14 +23,6 @@ fn main() -> ! {
|
|||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
let mut clock_control = system.peripheral_clock_control;
|
let mut clock_control = system.peripheral_clock_control;
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(peripherals.TIMG0, &clocks, &mut clock_control);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut out = io.pins.gpio15.into_push_pull_output();
|
let mut out = io.pins.gpio15.into_push_pull_output();
|
||||||
|
|
||||||
|
|||||||
@ -10,10 +10,8 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rmt::{PulseCode, TxChannel, TxChannelConfig, TxChannelCreator},
|
rmt::{PulseCode, TxChannel, TxChannelConfig, TxChannelCreator},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rmt,
|
Rmt,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -24,14 +22,6 @@ fn main() -> ! {
|
|||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
let mut clock_control = system.peripheral_clock_control;
|
let mut clock_control = system.peripheral_clock_control;
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(peripherals.TIMG0, &clocks, &mut clock_control);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
let rmt = Rmt::new(peripherals.RMT, 80u32.MHz(), &mut clock_control, &clocks).unwrap();
|
let rmt = Rmt::new(peripherals.RMT, 80u32.MHz(), &mut clock_control, &clocks).unwrap();
|
||||||
|
|||||||
@ -3,34 +3,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, Rng};
|
||||||
clock::ClockControl,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rng,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection:
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
// Instantiate the Random Number Generator peripheral:
|
// Instantiate the Random Number Generator peripheral:
|
||||||
let mut rng = Rng::new(peripherals.RNG);
|
let mut rng = Rng::new(peripherals.RNG);
|
||||||
|
|||||||
@ -22,9 +22,7 @@ use esp32_hal::{
|
|||||||
RsaModularMultiplication,
|
RsaModularMultiplication,
|
||||||
RsaMultiplication,
|
RsaMultiplication,
|
||||||
},
|
},
|
||||||
timer::TimerGroup,
|
|
||||||
xtensa_lx,
|
xtensa_lx,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -59,26 +57,7 @@ const fn compute_mprime(modulus: &U512) -> u32 {
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the RTC and TIMG watchdog timers
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let rsa = peripherals.RSA;
|
let rsa = peripherals.RSA;
|
||||||
let mut rsa = Rsa::new(rsa, &mut system.peripheral_clock_control);
|
let mut rsa = Rsa::new(rsa, &mut system.peripheral_clock_control);
|
||||||
|
|||||||
@ -3,33 +3,16 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32_hal::{
|
use esp32_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, Delay, Rtc};
|
||||||
clock::ClockControl,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let mut delay = Delay::new(&clocks);
|
let mut delay = Delay::new(&clocks);
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,6 @@ use esp32_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
uart::config::AtCmdConfig,
|
uart::config::AtCmdConfig,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -29,30 +28,14 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the TIMG watchdog timer.
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
serial0.set_at_cmd(AtCmdConfig::new(None, None, None, b'#', None));
|
serial0.set_at_cmd(AtCmdConfig::new(None, None, None, b'#', None));
|
||||||
serial0.set_rx_fifo_full_threshold(30).unwrap();
|
serial0.set_rx_fifo_full_threshold(30).unwrap();
|
||||||
serial0.listen_at_cmd();
|
serial0.listen_at_cmd();
|
||||||
|
|||||||
@ -9,9 +9,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
sha::{Sha, ShaMode},
|
sha::{Sha, ShaMode},
|
||||||
timer::TimerGroup,
|
|
||||||
xtensa_lx,
|
xtensa_lx,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -22,19 +20,7 @@ use sha2::{Digest, Sha512};
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes();
|
let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes();
|
||||||
let mut remaining = source_data.clone();
|
let mut remaining = source_data.clone();
|
||||||
|
|||||||
@ -14,7 +14,6 @@ use hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
rtc_cntl::{get_reset_reason, get_wakeup_cause, sleep::TimerWakeupSource, SocResetReason},
|
rtc_cntl::{get_reset_reason, get_wakeup_cause, sleep::TimerWakeupSource, SocResetReason},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
Rtc,
|
||||||
};
|
};
|
||||||
@ -22,27 +21,10 @@ use hal::{
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the RTC and TIMG watchdog timers
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
println!("up and runnning!");
|
println!("up and runnning!");
|
||||||
let reason = get_reset_reason(hal::Cpu::ProCpu).unwrap_or(SocResetReason::ChipPowerOn);
|
let reason = get_reset_reason(hal::Cpu::ProCpu).unwrap_or(SocResetReason::ChipPowerOn);
|
||||||
|
|||||||
@ -19,7 +19,6 @@ use hal::{
|
|||||||
sleep::{Ext0WakeupSource, TimerWakeupSource, WakeupLevel},
|
sleep::{Ext0WakeupSource, TimerWakeupSource, WakeupLevel},
|
||||||
SocResetReason,
|
SocResetReason,
|
||||||
},
|
},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
Rtc,
|
||||||
IO,
|
IO,
|
||||||
@ -28,27 +27,10 @@ use hal::{
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the RTC and TIMG watchdog timers
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut ext0_pin = io.pins.gpio27;
|
let mut ext0_pin = io.pins.gpio27;
|
||||||
|
|||||||
@ -19,7 +19,6 @@ use hal::{
|
|||||||
sleep::{Ext1WakeupSource, TimerWakeupSource, WakeupLevel},
|
sleep::{Ext1WakeupSource, TimerWakeupSource, WakeupLevel},
|
||||||
SocResetReason,
|
SocResetReason,
|
||||||
},
|
},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
Rtc,
|
||||||
IO,
|
IO,
|
||||||
@ -28,27 +27,10 @@ use hal::{
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the RTC and TIMG watchdog timers
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut pin27 = io.pins.gpio27;
|
let mut pin27 = io.pins.gpio27;
|
||||||
|
|||||||
@ -16,9 +16,7 @@ use esp32_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -27,22 +25,10 @@ static SWINT: Mutex<RefCell<Option<SoftwareInterruptControl>>> = Mutex::new(RefC
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.DPORT.split();
|
let system = peripherals.DPORT.split();
|
||||||
let sw_int = system.software_interrupt_control;
|
let sw_int = system.software_interrupt_control;
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
||||||
|
|
||||||
interrupt::enable(
|
interrupt::enable(
|
||||||
|
|||||||
@ -25,9 +25,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiBusController, SpiMode},
|
spi::{Spi, SpiBusController, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
@ -38,19 +36,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32 this includes the RTC WDT and the
|
|
||||||
// TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio19;
|
let sclk = io.pins.gpio19;
|
||||||
let miso = io.pins.gpio25;
|
let miso = io.pins.gpio25;
|
||||||
|
|||||||
@ -23,9 +23,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiMode},
|
spi::{Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
@ -36,19 +34,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32 this includes the RTC WDT and the
|
|
||||||
// TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio19;
|
let sclk = io.pins.gpio19;
|
||||||
let miso = io.pins.gpio25;
|
let miso = io.pins.gpio25;
|
||||||
|
|||||||
@ -23,9 +23,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Address, Command, HalfDuplexReadWrite, Spi, SpiDataMode, SpiMode},
|
spi::{Address, Command, HalfDuplexReadWrite, Spi, SpiDataMode, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -36,26 +34,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32, this includes
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio19;
|
let sclk = io.pins.gpio19;
|
||||||
let miso = io.pins.gpio18;
|
let miso = io.pins.gpio18;
|
||||||
|
|||||||
@ -22,9 +22,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiMode},
|
spi::{Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -35,19 +33,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32 this includes the RTC WDT and the
|
|
||||||
// TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio19;
|
let sclk = io.pins.gpio19;
|
||||||
let miso = io.pins.gpio25;
|
let miso = io.pins.gpio25;
|
||||||
|
|||||||
@ -24,9 +24,7 @@ use esp32_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiMode},
|
spi::{Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -37,19 +35,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32 this includes
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
|
|
||||||
wdt.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio19;
|
let sclk = io.pins.gpio19;
|
||||||
let miso = io.pins.gpio25;
|
let miso = io.pins.gpio25;
|
||||||
|
|||||||
@ -15,7 +15,6 @@ use esp32_hal::{
|
|||||||
peripherals::{self, Peripherals, TIMG0, TIMG1},
|
peripherals::{self, Peripherals, TIMG0, TIMG1},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::{Timer, Timer0, Timer1, TimerGroup},
|
timer::{Timer, Timer0, Timer1, TimerGroup},
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -30,7 +29,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.DPORT.split();
|
let mut system = peripherals.DPORT.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the TIMG watchdog timer.
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -38,7 +36,6 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
let mut timer00 = timer_group0.timer0;
|
let mut timer00 = timer_group0.timer0;
|
||||||
let mut timer01 = timer_group0.timer1;
|
let mut timer01 = timer_group0.timer1;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
let timer_group1 = TimerGroup::new(
|
let timer_group1 = TimerGroup::new(
|
||||||
peripherals.TIMG1,
|
peripherals.TIMG1,
|
||||||
@ -47,19 +44,12 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
let mut timer10 = timer_group1.timer0;
|
let mut timer10 = timer_group1.timer0;
|
||||||
let mut timer11 = timer_group1.timer1;
|
let mut timer11 = timer_group1.timer1;
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
interrupt::enable(peripherals::Interrupt::TG0_T0_LEVEL, Priority::Priority2).unwrap();
|
interrupt::enable(peripherals::Interrupt::TG0_T0_LEVEL, Priority::Priority2).unwrap();
|
||||||
interrupt::enable(peripherals::Interrupt::TG0_T1_LEVEL, Priority::Priority2).unwrap();
|
interrupt::enable(peripherals::Interrupt::TG0_T1_LEVEL, Priority::Priority2).unwrap();
|
||||||
interrupt::enable(peripherals::Interrupt::TG1_T0_LEVEL, Priority::Priority3).unwrap();
|
interrupt::enable(peripherals::Interrupt::TG1_T0_LEVEL, Priority::Priority3).unwrap();
|
||||||
interrupt::enable(peripherals::Interrupt::TG1_T1_LEVEL, Priority::Priority3).unwrap();
|
interrupt::enable(peripherals::Interrupt::TG1_T1_LEVEL, Priority::Priority3).unwrap();
|
||||||
|
|
||||||
timer00.start(500u64.millis());
|
timer00.start(500u64.millis());
|
||||||
timer00.listen();
|
timer00.listen();
|
||||||
timer01.start(2500u64.millis());
|
timer01.start(2500u64.millis());
|
||||||
|
|||||||
@ -11,9 +11,7 @@ use esp32c2_hal::{
|
|||||||
gpio::IO,
|
gpio::IO,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -24,20 +22,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create ADC instances
|
// Create ADC instances
|
||||||
|
|||||||
@ -12,9 +12,7 @@ use esp32c2_hal::{
|
|||||||
gpio::IO,
|
gpio::IO,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -25,20 +23,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create ADC instances
|
// Create ADC instances
|
||||||
|
|||||||
@ -19,7 +19,6 @@ use esp32c2_hal::{
|
|||||||
config::{Config, DataBits, Parity, StopBits},
|
config::{Config, DataBits, Parity, StopBits},
|
||||||
TxRxPins,
|
TxRxPins,
|
||||||
},
|
},
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
@ -33,19 +32,12 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let config = Config {
|
let config = Config {
|
||||||
baudrate: 115200,
|
baudrate: 115200,
|
||||||
|
|||||||
@ -5,37 +5,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c2_hal::{
|
use esp32c2_hal::{clock::ClockControl, gpio::IO, peripherals::Peripherals, prelude::*, Delay};
|
||||||
clock::ClockControl,
|
|
||||||
gpio::IO,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
// Set GPIO5 as an output, and set its state high initially.
|
// Set GPIO5 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut led = io.pins.gpio5.into_push_pull_output();
|
let mut led = io.pins.gpio5.into_push_pull_output();
|
||||||
|
|||||||
@ -10,32 +10,16 @@ use esp32c2_hal::{
|
|||||||
gpio::{AnyPin, Input, Output, PullDown, PushPull, IO},
|
gpio::{AnyPin, Input, Output, PullDown, PushPull, IO},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDT.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
// Set LED GPIOs as an output.
|
// Set LED GPIOs as an output.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let led1 = io.pins.gpio3.into_push_pull_output();
|
let led1 = io.pins.gpio3.into_push_pull_output();
|
||||||
|
|||||||
@ -27,11 +27,6 @@ fn main() -> ! {
|
|||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
rtc.rwdt.start(2000u64.millis());
|
rtc.rwdt.start(2000u64.millis());
|
||||||
rtc.rwdt.listen();
|
rtc.rwdt.listen();
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,6 @@ use esp32c2_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
rom::{crc, md5},
|
rom::{crc, md5},
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -23,28 +22,20 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
let data = "123456789";
|
let data = "123456789";
|
||||||
let sentence = "The quick brown fox jumps over a lazy dog";
|
let sentence = "The quick brown fox jumps over a lazy dog";
|
||||||
|
|
||||||
writeln!(
|
writeln!(
|
||||||
serial0,
|
uart0,
|
||||||
"Performing CRC calculations on test string \"{data}\""
|
"Performing CRC calculations on test string \"{data}\""
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@ -89,7 +80,7 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
writeln!(
|
writeln!(
|
||||||
serial0,
|
uart0,
|
||||||
"{:08x} {:08x} {:08x} {:08x} {:04x} {:04x} {:02x} {:02x} {}",
|
"{:08x} {:08x} {:08x} {:08x} {:04x} {:04x} {:02x} {:02x} {}",
|
||||||
crc_hdlc,
|
crc_hdlc,
|
||||||
crc_bzip2,
|
crc_bzip2,
|
||||||
|
|||||||
@ -13,8 +13,6 @@ use esp32c2_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
riscv,
|
riscv,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -25,20 +23,7 @@ static DA: Mutex<RefCell<Option<DebugAssist>>> = Mutex::new(RefCell::new(None));
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let mut da = DebugAssist::new(
|
let mut da = DebugAssist::new(
|
||||||
peripherals.ASSIST_DEBUG,
|
peripherals.ASSIST_DEBUG,
|
||||||
|
|||||||
@ -9,8 +9,6 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -23,19 +21,6 @@ unsafe fn main() -> ! {
|
|||||||
let sw_int = system.software_interrupt_control;
|
let sw_int = system.software_interrupt_control;
|
||||||
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
||||||
unsafe {
|
unsafe {
|
||||||
asm!(
|
asm!(
|
||||||
|
|||||||
@ -9,14 +9,7 @@
|
|||||||
|
|
||||||
use embassy_executor::Executor;
|
use embassy_executor::Executor;
|
||||||
use embassy_time::{Duration, Timer};
|
use embassy_time::{Duration, Timer};
|
||||||
use esp32c2_hal::{
|
use esp32c2_hal::{clock::ClockControl, embassy, peripherals::Peripherals, prelude::*};
|
||||||
clock::ClockControl,
|
|
||||||
embassy,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use static_cell::make_static;
|
use static_cell::make_static;
|
||||||
|
|
||||||
@ -43,19 +36,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -63,7 +43,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c2_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let executor = make_static!(Executor::new());
|
let executor = make_static!(Executor::new());
|
||||||
executor.run(|spawner| {
|
executor.run(|spawner| {
|
||||||
|
|||||||
@ -23,8 +23,6 @@ use esp32c2_hal::{
|
|||||||
interrupt,
|
interrupt,
|
||||||
peripherals::{Interrupt, Peripherals, I2C0},
|
peripherals::{Interrupt, Peripherals, I2C0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -50,19 +48,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -70,7 +55,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c2_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
|
|||||||
@ -17,8 +17,6 @@ use esp32c2_hal::{
|
|||||||
interrupt,
|
interrupt,
|
||||||
peripherals::{Interrupt, Peripherals, UART0},
|
peripherals::{Interrupt, Peripherals, UART0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -28,7 +26,7 @@ use static_cell::make_static;
|
|||||||
|
|
||||||
// rx_fifo_full_threshold
|
// rx_fifo_full_threshold
|
||||||
const READ_BUF_SIZE: usize = 64;
|
const READ_BUF_SIZE: usize = 64;
|
||||||
/// EOT; CTRL-D
|
// EOT (CTRL-D)
|
||||||
const AT_CMD: u8 = 0x04;
|
const AT_CMD: u8 = 0x04;
|
||||||
|
|
||||||
#[embassy_executor::task]
|
#[embassy_executor::task]
|
||||||
@ -108,19 +106,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -128,7 +113,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c2_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
uart0.set_at_cmd(AtCmdConfig::new(None, None, None, AT_CMD, None));
|
uart0.set_at_cmd(AtCmdConfig::new(None, None, None, AT_CMD, None));
|
||||||
|
|||||||
@ -28,8 +28,6 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{dma::SpiDma, FullDuplexMode, Spi, SpiMode},
|
spi::{dma::SpiDma, FullDuplexMode, Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -59,19 +57,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -79,7 +64,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c2_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
esp32c2_hal::interrupt::enable(
|
esp32c2_hal::interrupt::enable(
|
||||||
esp32c2_hal::peripherals::Interrupt::DMA_CH0,
|
esp32c2_hal::peripherals::Interrupt::DMA_CH0,
|
||||||
|
|||||||
@ -15,8 +15,6 @@ use esp32c2_hal::{
|
|||||||
gpio::{Gpio9, Input, PullDown},
|
gpio::{Gpio9, Input, PullDown},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -39,18 +37,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -58,7 +44,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c2_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
// GPIO 9 as input
|
// GPIO 9 as input
|
||||||
|
|||||||
@ -16,9 +16,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
riscv,
|
riscv,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -27,23 +25,9 @@ static BUTTON: Mutex<RefCell<Option<Gpio9<Input<PullDown>>>>> = Mutex::new(RefCe
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
// Set GPIO5 as an output
|
// Set GPIO5 as an output
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut led = io.pins.gpio5.into_push_pull_output();
|
let mut led = io.pins.gpio5.into_push_pull_output();
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
//! This shows how to write text to serial0.
|
//! This shows how to write text to uart0.
|
||||||
//! You can see the output with `espflash` if you provide the `--monitor` option
|
//! You can see the output with `espflash` if you provide the `--monitor` option
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
@ -11,7 +11,6 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -23,25 +22,18 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
writeln!(serial0, "Hello world!").unwrap();
|
writeln!(uart0, "Hello world!").unwrap();
|
||||||
block!(timer0.wait()).unwrap();
|
block!(timer0.wait()).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,15 +9,7 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c2_hal::{
|
use esp32c2_hal::{clock::ClockControl, gpio::IO, i2c::I2C, peripherals::Peripherals, prelude::*};
|
||||||
clock::ClockControl,
|
|
||||||
gpio::IO,
|
|
||||||
i2c::I2C,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
@ -27,19 +19,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create a new peripheral object with the described wiring
|
// Create a new peripheral object with the described wiring
|
||||||
|
|||||||
@ -26,7 +26,6 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use nb::block;
|
use nb::block;
|
||||||
@ -38,19 +37,12 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
|
|||||||
@ -32,19 +32,6 @@ fn main() -> ! {
|
|||||||
let sw_int = system.software_interrupt_control;
|
let sw_int = system.software_interrupt_control;
|
||||||
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
||||||
|
|
||||||
interrupt::enable(
|
interrupt::enable(
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
//! Turns on LED with the option to change LED intensity depending on `duty`
|
//! Turns on LED with the option to change LED intensity depending on `duty`
|
||||||
//! value. Possible values (`u32`) are in range 0..100.
|
//! value, then fades it. Possible starting values (`u32`) are in range 0..100.
|
||||||
//!
|
//!
|
||||||
//! This assumes that a LED is connected to the pin assigned to `led`. (GPIO4)
|
//! This assumes that a LED is connected to the pin assigned to `led`. (GPIO4)
|
||||||
|
|
||||||
@ -18,8 +18,6 @@ use esp32c2_hal::{
|
|||||||
},
|
},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -29,19 +27,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let led = io.pins.gpio4.into_push_pull_output();
|
let led = io.pins.gpio4.into_push_pull_output();
|
||||||
|
|
||||||
@ -65,7 +50,7 @@ fn main() -> ! {
|
|||||||
channel0
|
channel0
|
||||||
.configure(channel::config::Config {
|
.configure(channel::config::Config {
|
||||||
timer: &lstimer0,
|
timer: &lstimer0,
|
||||||
duty_pct: 90,
|
duty_pct: 10,
|
||||||
pin_config: channel::config::PinConfig::PushPull,
|
pin_config: channel::config::PinConfig::PushPull,
|
||||||
})
|
})
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
@ -25,9 +25,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Address, Command, Spi, SpiDataMode, SpiMode},
|
spi::{Address, Command, Spi, SpiDataMode, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
@ -38,20 +36,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio4;
|
let sclk = io.pins.gpio4;
|
||||||
let miso = io.pins.gpio5;
|
let miso = io.pins.gpio5;
|
||||||
|
|||||||
@ -4,35 +4,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c2_hal::{
|
use esp32c2_hal::{clock::ClockControl, efuse::Efuse, peripherals::Peripherals, prelude::*};
|
||||||
clock::ClockControl,
|
|
||||||
efuse::Efuse,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
println!("MAC address {:02x?}", Efuse::get_mac_address());
|
println!("MAC address {:02x?}", Efuse::get_mac_address());
|
||||||
println!("Flash Encryption {:?}", Efuse::get_flash_encryption());
|
println!("Flash Encryption {:?}", Efuse::get_flash_encryption());
|
||||||
|
|||||||
@ -3,35 +3,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c2_hal::{
|
use esp32c2_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, Rng};
|
||||||
clock::ClockControl,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rng,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers:
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
// Instantiate the Random Number Generator peripheral:
|
// Instantiate the Random Number Generator peripheral:
|
||||||
let mut rng = Rng::new(peripherals.RNG);
|
let mut rng = Rng::new(peripherals.RNG);
|
||||||
|
|||||||
@ -3,36 +3,16 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c2_hal::{
|
use esp32c2_hal::{clock::ClockControl, peripherals::Peripherals, prelude::*, Delay, Rtc};
|
||||||
clock::ClockControl,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
let rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let mut delay = Delay::new(&clocks);
|
let mut delay = Delay::new(&clocks);
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
|
|||||||
@ -17,7 +17,6 @@ use esp32c2_hal::{
|
|||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
uart::config::AtCmdConfig,
|
uart::config::AtCmdConfig,
|
||||||
Cpu,
|
Cpu,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -31,7 +30,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut serial0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
@ -39,12 +37,6 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
serial0.set_at_cmd(AtCmdConfig::new(None, None, None, b'#', None));
|
serial0.set_at_cmd(AtCmdConfig::new(None, None, None, b'#', None));
|
||||||
serial0.set_rx_fifo_full_threshold(30).unwrap();
|
serial0.set_rx_fifo_full_threshold(30).unwrap();
|
||||||
|
|||||||
@ -9,8 +9,6 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
sha::{Sha, ShaMode},
|
sha::{Sha, ShaMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -21,23 +19,10 @@ use sha2::{Digest, Sha256};
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes();
|
let source_data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".as_bytes();
|
||||||
let mut remaining = source_data.clone();
|
let mut remaining = source_data;
|
||||||
let mut hasher = Sha::new(
|
let mut hasher = Sha::new(
|
||||||
peripherals.SHA,
|
peripherals.SHA,
|
||||||
ShaMode::SHA256,
|
ShaMode::SHA256,
|
||||||
|
|||||||
@ -17,9 +17,7 @@ use esp32c2_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
riscv,
|
riscv,
|
||||||
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -28,24 +26,11 @@ static SWINT: Mutex<RefCell<Option<SoftwareInterruptControl>>> = Mutex::new(RefC
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clockctrl = system.clock_control;
|
let clockctrl = system.clock_control;
|
||||||
let sw_int = system.software_interrupt_control;
|
let sw_int = system.software_interrupt_control;
|
||||||
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
||||||
|
|
||||||
interrupt::enable(
|
interrupt::enable(
|
||||||
|
|||||||
@ -25,9 +25,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiBusController, SpiMode},
|
spi::{Spi, SpiBusController, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
@ -38,20 +36,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio6;
|
let sclk = io.pins.gpio6;
|
||||||
let miso = io.pins.gpio2;
|
let miso = io.pins.gpio2;
|
||||||
|
|||||||
@ -23,9 +23,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiMode},
|
spi::{Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::{print, println};
|
use esp_println::{print, println};
|
||||||
@ -36,20 +34,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio6;
|
let sclk = io.pins.gpio6;
|
||||||
let miso = io.pins.gpio2;
|
let miso = io.pins.gpio2;
|
||||||
|
|||||||
@ -23,9 +23,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Address, Command, HalfDuplexReadWrite, Spi, SpiDataMode, SpiMode},
|
spi::{Address, Command, HalfDuplexReadWrite, Spi, SpiDataMode, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -36,20 +34,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio4;
|
let sclk = io.pins.gpio4;
|
||||||
let miso = io.pins.gpio5;
|
let miso = io.pins.gpio5;
|
||||||
|
|||||||
@ -22,9 +22,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiMode},
|
spi::{Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -35,20 +33,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio6;
|
let sclk = io.pins.gpio6;
|
||||||
let miso = io.pins.gpio2;
|
let miso = io.pins.gpio2;
|
||||||
|
|||||||
@ -24,9 +24,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{Spi, SpiMode},
|
spi::{Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -37,20 +35,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDT.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let sclk = io.pins.gpio6;
|
let sclk = io.pins.gpio6;
|
||||||
let miso = io.pins.gpio2;
|
let miso = io.pins.gpio2;
|
||||||
|
|||||||
@ -14,9 +14,7 @@ use esp32c2_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
systimer::{Alarm, Periodic, SystemTimer, Target},
|
systimer::{Alarm, Periodic, SystemTimer, Target},
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -28,22 +26,9 @@ static ALARM2: Mutex<RefCell<Option<Alarm<Target, 2>>>> = Mutex::new(RefCell::ne
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt = timer_group0.wdt;
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
|
|
||||||
// Disable MWDT and RWDT (Watchdog) flash boot protection
|
|
||||||
wdt.disable();
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
let syst = SystemTimer::new(peripherals.SYSTIMER);
|
let syst = SystemTimer::new(peripherals.SYSTIMER);
|
||||||
|
|
||||||
println!("SYSTIMER Current value = {}", SystemTimer::now());
|
println!("SYSTIMER Current value = {}", SystemTimer::now());
|
||||||
|
|||||||
@ -14,7 +14,6 @@ use esp32c2_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
riscv,
|
riscv,
|
||||||
timer::{Timer, Timer0, TimerGroup},
|
timer::{Timer, Timer0, TimerGroup},
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -26,20 +25,12 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C2, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDT.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
|
|
||||||
interrupt::enable(
|
interrupt::enable(
|
||||||
peripherals::Interrupt::TG0_T0_LEVEL,
|
peripherals::Interrupt::TG0_T0_LEVEL,
|
||||||
|
|||||||
@ -11,9 +11,7 @@ use esp32c3_hal::{
|
|||||||
gpio::IO,
|
gpio::IO,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -24,27 +22,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C3, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create ADC instances
|
// Create ADC instances
|
||||||
|
|||||||
@ -12,9 +12,7 @@ use esp32c3_hal::{
|
|||||||
gpio::IO,
|
gpio::IO,
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -25,27 +23,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C3, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Create ADC instances
|
// Create ADC instances
|
||||||
|
|||||||
@ -19,7 +19,6 @@ use esp32c3_hal::{
|
|||||||
config::{Config, DataBits, Parity, StopBits},
|
config::{Config, DataBits, Parity, StopBits},
|
||||||
TxRxPins,
|
TxRxPins,
|
||||||
},
|
},
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
@ -33,26 +32,12 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
&clocks,
|
&clocks,
|
||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let config = Config {
|
let config = Config {
|
||||||
baudrate: 115200,
|
baudrate: 115200,
|
||||||
|
|||||||
@ -12,8 +12,6 @@ use esp32c3_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
systimer::SystemTimer,
|
systimer::SystemTimer,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -22,27 +20,7 @@ use esp_println::println;
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the RTC and TIMG watchdog timers
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let mut aes = Aes::new(peripherals.AES, &mut system.peripheral_clock_control);
|
let mut aes = Aes::new(peripherals.AES, &mut system.peripheral_clock_control);
|
||||||
|
|
||||||
|
|||||||
@ -5,44 +5,15 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c3_hal::{
|
use esp32c3_hal::{clock::ClockControl, gpio::IO, peripherals::Peripherals, prelude::*, Delay};
|
||||||
clock::ClockControl,
|
|
||||||
gpio::IO,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C3, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
// Set GPIO5 as an output, and set its state high initially.
|
// Set GPIO5 as an output, and set its state high initially.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut led = io.pins.gpio5.into_push_pull_output();
|
let mut led = io.pins.gpio5.into_push_pull_output();
|
||||||
|
|||||||
@ -10,39 +10,16 @@ use esp32c3_hal::{
|
|||||||
gpio::{AnyPin, Input, Output, PullDown, PushPull, IO},
|
gpio::{AnyPin, Input, Output, PullDown, PushPull, IO},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C3, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
// Set LED GPIOs as an output.
|
// Set LED GPIOs as an output.
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let led1 = io.pins.gpio3.into_push_pull_output();
|
let led1 = io.pins.gpio3.into_push_pull_output();
|
||||||
|
|||||||
@ -27,11 +27,6 @@ fn main() -> ! {
|
|||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
|
|
||||||
rtc.rwdt.start(2000u64.millis());
|
rtc.rwdt.start(2000u64.millis());
|
||||||
rtc.rwdt.listen();
|
rtc.rwdt.listen();
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,6 @@ use esp32c3_hal::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
rom::{crc, md5},
|
rom::{crc, md5},
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -23,7 +22,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
@ -31,20 +29,6 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
let data = "123456789";
|
let data = "123456789";
|
||||||
|
|||||||
@ -15,8 +15,6 @@ use esp32c3_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
riscv,
|
riscv,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_println::println;
|
use esp_println::println;
|
||||||
@ -27,27 +25,7 @@ static DA: Mutex<RefCell<Option<DebugAssist>>> = Mutex::new(RefCell::new(None));
|
|||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let _ = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
let mut da = DebugAssist::new(
|
let mut da = DebugAssist::new(
|
||||||
peripherals.ASSIST_DEBUG,
|
peripherals.ASSIST_DEBUG,
|
||||||
|
|||||||
@ -13,8 +13,6 @@ use esp32c3_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
system::{SoftwareInterrupt, SoftwareInterruptControl},
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -27,27 +25,6 @@ unsafe fn main() -> ! {
|
|||||||
let sw_int = system.software_interrupt_control;
|
let sw_int = system.software_interrupt_control;
|
||||||
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
let clocks = ClockControl::boot_defaults(clockctrl).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C3, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
critical_section::with(|cs| SWINT.borrow_ref_mut(cs).replace(sw_int));
|
||||||
interrupt::enable(
|
interrupt::enable(
|
||||||
peripherals::Interrupt::FROM_CPU_INTR0,
|
peripherals::Interrupt::FROM_CPU_INTR0,
|
||||||
|
|||||||
@ -9,14 +9,7 @@
|
|||||||
|
|
||||||
use embassy_executor::Executor;
|
use embassy_executor::Executor;
|
||||||
use embassy_time::{Duration, Timer};
|
use embassy_time::{Duration, Timer};
|
||||||
use esp32c3_hal::{
|
use esp32c3_hal::{clock::ClockControl, embassy, peripherals::Peripherals, prelude::*};
|
||||||
clock::ClockControl,
|
|
||||||
embassy,
|
|
||||||
peripherals::Peripherals,
|
|
||||||
prelude::*,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use static_cell::make_static;
|
use static_cell::make_static;
|
||||||
|
|
||||||
@ -43,26 +36,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -70,7 +43,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c3_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let executor = make_static!(Executor::new());
|
let executor = make_static!(Executor::new());
|
||||||
executor.run(|spawner| {
|
executor.run(|spawner| {
|
||||||
|
|||||||
@ -23,8 +23,6 @@ use esp32c3_hal::{
|
|||||||
interrupt,
|
interrupt,
|
||||||
peripherals::{Interrupt, Peripherals, I2C0},
|
peripherals::{Interrupt, Peripherals, I2C0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -50,26 +48,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -77,7 +55,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c3_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
|
|||||||
@ -17,8 +17,6 @@ use esp32c3_hal::{
|
|||||||
interrupt,
|
interrupt,
|
||||||
peripherals::{Interrupt, Peripherals, UART0},
|
peripherals::{Interrupt, Peripherals, UART0},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -108,26 +106,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -135,7 +113,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c3_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
uart0.set_at_cmd(AtCmdConfig::new(None, None, None, AT_CMD, None));
|
uart0.set_at_cmd(AtCmdConfig::new(None, None, None, AT_CMD, None));
|
||||||
|
|||||||
@ -28,8 +28,6 @@ use esp32c3_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
spi::{dma::SpiDma, FullDuplexMode, Spi, SpiMode},
|
spi::{dma::SpiDma, FullDuplexMode, Spi, SpiMode},
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -59,26 +57,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -86,7 +64,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c3_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
esp32c3_hal::interrupt::enable(
|
esp32c3_hal::interrupt::enable(
|
||||||
esp32c3_hal::peripherals::Interrupt::DMA_CH0,
|
esp32c3_hal::peripherals::Interrupt::DMA_CH0,
|
||||||
|
|||||||
@ -15,8 +15,6 @@ use esp32c3_hal::{
|
|||||||
gpio::{Gpio9, Input, PullDown},
|
gpio::{Gpio9, Input, PullDown},
|
||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
IO,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -39,26 +37,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-systick")]
|
#[cfg(feature = "embassy-time-systick")]
|
||||||
embassy::init(
|
embassy::init(
|
||||||
&clocks,
|
&clocks,
|
||||||
@ -66,7 +44,15 @@ fn main() -> ! {
|
|||||||
);
|
);
|
||||||
|
|
||||||
#[cfg(feature = "embassy-time-timg0")]
|
#[cfg(feature = "embassy-time-timg0")]
|
||||||
embassy::init(&clocks, timer_group0.timer0);
|
embassy::init(
|
||||||
|
&clocks,
|
||||||
|
esp32c3_hal::timer::TimerGroup::new(
|
||||||
|
peripherals.TIMG0,
|
||||||
|
&clocks,
|
||||||
|
&mut system.peripheral_clock_control,
|
||||||
|
)
|
||||||
|
.timer0,
|
||||||
|
);
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
// GPIO 9 as input
|
// GPIO 9 as input
|
||||||
|
|||||||
@ -16,9 +16,7 @@ use esp32c3_hal::{
|
|||||||
peripherals::{self, Peripherals},
|
peripherals::{self, Peripherals},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
riscv,
|
riscv,
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
Delay,
|
||||||
Rtc,
|
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
|
||||||
@ -27,30 +25,9 @@ static BUTTON: Mutex<RefCell<Option<Gpio9<Input<PullDown>>>>> = Mutex::new(RefCe
|
|||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let peripherals = Peripherals::take();
|
let peripherals = Peripherals::take();
|
||||||
let mut system = peripherals.SYSTEM.split();
|
let system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
// Disable the watchdog timers. For the ESP32-C3, this includes the Super WDT,
|
|
||||||
// the RTC WDT, and the TIMG WDTs.
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
// Set GPIO5 as an output
|
// Set GPIO5 as an output
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
let mut led = io.pins.gpio5.into_push_pull_output();
|
let mut led = io.pins.gpio5.into_push_pull_output();
|
||||||
|
|||||||
@ -11,16 +11,7 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
|
|
||||||
use esp32c3_hal::{
|
use esp32c3_hal::{clock::ClockControl, peripherals, prelude::*, rmt::Rmt, Delay, IO};
|
||||||
clock::ClockControl,
|
|
||||||
peripherals,
|
|
||||||
prelude::*,
|
|
||||||
rmt::Rmt,
|
|
||||||
timer::TimerGroup,
|
|
||||||
Delay,
|
|
||||||
Rtc,
|
|
||||||
IO,
|
|
||||||
};
|
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
use esp_hal_smartled::{smartLedAdapter, SmartLedsAdapter};
|
use esp_hal_smartled::{smartLedAdapter, SmartLedsAdapter};
|
||||||
use smart_leds::{
|
use smart_leds::{
|
||||||
@ -36,18 +27,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let mut timer_group0 = TimerGroup::new(
|
|
||||||
peripherals.TIMG0,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
|
|
||||||
// Disable watchdogs
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
timer_group0.wdt.disable();
|
|
||||||
|
|
||||||
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
|
||||||
|
|
||||||
// Configure RMT peripheral globally
|
// Configure RMT peripheral globally
|
||||||
|
|||||||
@ -11,7 +11,6 @@ use esp32c3_hal::{
|
|||||||
peripherals::Peripherals,
|
peripherals::Peripherals,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
timer::TimerGroup,
|
timer::TimerGroup,
|
||||||
Rtc,
|
|
||||||
Uart,
|
Uart,
|
||||||
};
|
};
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
@ -23,7 +22,6 @@ fn main() -> ! {
|
|||||||
let mut system = peripherals.SYSTEM.split();
|
let mut system = peripherals.SYSTEM.split();
|
||||||
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
let clocks = ClockControl::boot_defaults(system.clock_control).freeze();
|
||||||
|
|
||||||
let mut rtc = Rtc::new(peripherals.RTC_CNTL);
|
|
||||||
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
let mut uart0 = Uart::new(peripherals.UART0, &mut system.peripheral_clock_control);
|
||||||
let timer_group0 = TimerGroup::new(
|
let timer_group0 = TimerGroup::new(
|
||||||
peripherals.TIMG0,
|
peripherals.TIMG0,
|
||||||
@ -31,19 +29,6 @@ fn main() -> ! {
|
|||||||
&mut system.peripheral_clock_control,
|
&mut system.peripheral_clock_control,
|
||||||
);
|
);
|
||||||
let mut timer0 = timer_group0.timer0;
|
let mut timer0 = timer_group0.timer0;
|
||||||
let mut wdt0 = timer_group0.wdt;
|
|
||||||
let timer_group1 = TimerGroup::new(
|
|
||||||
peripherals.TIMG1,
|
|
||||||
&clocks,
|
|
||||||
&mut system.peripheral_clock_control,
|
|
||||||
);
|
|
||||||
let mut wdt1 = timer_group1.wdt;
|
|
||||||
|
|
||||||
// Disable watchdog timers
|
|
||||||
rtc.swd.disable();
|
|
||||||
rtc.rwdt.disable();
|
|
||||||
wdt0.disable();
|
|
||||||
wdt1.disable();
|
|
||||||
|
|
||||||
timer0.start(1u64.secs());
|
timer0.start(1u64.secs());
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user