use crate::traits::bus_device::BusDevice;

pub trait TimerChip: BusDevice {
    /// set_timer
    ///
    /// Set current value of timer
    fn set_timer(&mut self, timer_index: u8, new_value: u16);

    /// get_timer
    ///
    /// Read current value of timer
    fn get_timer(&mut self, timer_index: u8) -> u16;

    /// Advance Timer circutry 1 cycle
    fn tick(&mut self);
}