insert-coin/ch32v-insert-coin/src/insert_coin/services/led.rs

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;
}
}