Compare commits

..

No commits in common. "d8477e3d2d6b74ce14b8a260b5ad6d4a06734fa8" and "4c80907c0f417562648e2371608f4abdaad51794" have entirely different histories.

View file

@ -239,13 +239,6 @@ fn systick_init(tick_freq_hz: usize) {
w.set_stclk(ch32_hal::pac::systick::vals::Stclk::HCLK_DIV8); // HCLK/8 clock source
});
}
fn systick_stop() {
let r = &ch32_hal::pac::SYSTICK;
// Reset SysTick
r.ctlr().write(|w| {
// Start with everything disabled
});
}
bind_interrupts!(struct Irqs {
EXTI7_0 => Test;
@ -261,15 +254,8 @@ fn app_main(mut p: hal::Peripherals, app_settings: Settings) -> Settings {
let mut adc = hal::adc::Adc::new(p.ADC1, Default::default());
let mut batt_monitor_pin = p.PD4;
let mut adc_core = AdcCore::new(adc, batt_monitor_pin);
let mut usb_detect_pin = p.PD5;
let usb_detect_input = Input::new(usb_detect_pin, Pull::Up);
let usb = Usb::new(usb_detect_input);
let bv = adc_core.get_battery_voltage();
// if we don't have USB power, and the batt ADC reads under 421, don't wake
if !usb.powered() && bv < 421 {
if bv < 421 {
adc_core.shutdown();
return app_settings;
}
@ -320,6 +306,9 @@ fn app_main(mut p: hal::Peripherals, app_settings: Settings) -> Settings {
// adc2
// let mut usb_detect_dc = hal::adc::Adc::new(p.ADC1, Default::default());
let mut usb_detect_pin = p.PD5;
let usb_detect_input = Input::new(usb_detect_pin, Pull::Up);
let usb = Usb::new(usb_detect_input);
// println!("ADC_PIN CHANNEL: {}", adc_pin.channel().channel());
@ -572,7 +561,6 @@ use ch32_hal::timer::Channel;
// fn shutdown_main(p: Peripherals) {
fn shutdown_main(p: hal::Peripherals) {
systick_stop();
// LED0 output setup
let led0_pin = OutputOpenDrain::new(p.PC3, Level::Low, Default::default());
let led1_pin = OutputOpenDrain::new(p.PD2, Level::High, Default::default());
@ -607,6 +595,43 @@ fn shutdown_main(p: hal::Peripherals) {
}
}
}
// loop {
// unsafe {
// #[allow(static_mut_refs)]
// INPUT_FLAGS.sense_coin_flag.clear();
// #[allow(static_mut_refs)]
// INPUT_FLAGS.main_btn_flag.clear();
// }
// unsafe { system::enter_standby() };
// riscv::asm::wfi();
// unsafe {
// #[allow(static_mut_refs)]
// if (INPUT_FLAGS.sense_coin_flag.active()
// || (INPUT_FLAGS.main_btn_flag.active() && main_btn_input.is_high_immediate()))
// && app.should_wake()
// {
// break;
// }
// }
// }
// let mut config = hal::Config::default();
// config.rcc = hal::rcc::Config::SYSCLK_FREQ_48MHZ_HSI;
// unsafe {
// hal::rcc::init(config.rcc);
// }
// unsafe {
// use hal::pac::Interrupt;
// use qingke::interrupt::Priority;
// use qingke_rt::CoreInterrupt;
// system::clear_interrupt(2, 6);
// qingke::pfic::set_priority(CoreInterrupt::SysTick as u8, Priority::P15 as u8);
// qingke::pfic::enable_interrupt(Interrupt::EXTI7_0 as u8);
// qingke::pfic::enable_interrupt(CoreInterrupt::SysTick as u8);
// }
}
#[qingke_rt::entry]