40 lines
774 B
Rust
40 lines
774 B
Rust
use ch32_hal::timer::Channel;
|
|
|
|
use crate::insert_coin::services::{Service};
|
|
|
|
pub struct LedService {
|
|
// need_service: core::cell::RefCell<bool>,
|
|
need_service: bool,
|
|
pub channel: Channel,
|
|
pub amplitude: u8,
|
|
}
|
|
|
|
impl LedService {
|
|
pub fn new(channel: Channel) -> Self {
|
|
Self {
|
|
// service_data: core::cell::RefCell::new(service_data),
|
|
need_service: false,
|
|
channel,
|
|
amplitude: 0,
|
|
}
|
|
}
|
|
|
|
pub fn set_amplitude(&mut self, amplitude: u8) {
|
|
self.amplitude = amplitude;
|
|
self.need_service = true;
|
|
}
|
|
}
|
|
|
|
|
|
impl Service for LedService {
|
|
|
|
fn need_service(&self) -> bool {
|
|
self.need_service
|
|
}
|
|
|
|
fn service(&mut self) {
|
|
self.need_service = false;
|
|
}
|
|
}
|
|
|
|
|