Struct devices::pit::PitCounter
source · struct PitCounter {Show 18 fields
interrupt_evt: Option<IrqEdgeEvent>,
reload_value: u16,
latched_value: u16,
command: u8,
status: u8,
start: Option<Instant>,
clock: Arc<Mutex<Clock>>,
creation_time: Instant,
counter_id: usize,
wrote_low_byte: bool,
read_low_byte: bool,
latched: bool,
status_latched: bool,
gate: bool,
speaker_on: bool,
count: u32,
timer_valid: bool,
timer: Box<dyn TimerTrait>,
}
Fields§
§interrupt_evt: Option<IrqEdgeEvent>
§reload_value: u16
§latched_value: u16
§command: u8
§status: u8
§start: Option<Instant>
§clock: Arc<Mutex<Clock>>
§creation_time: Instant
§counter_id: usize
§wrote_low_byte: bool
§read_low_byte: bool
§latched: bool
§status_latched: bool
§gate: bool
§speaker_on: bool
§count: u32
§timer_valid: bool
§timer: Box<dyn TimerTrait>
Implementations§
source§impl PitCounter
impl PitCounter
fn new( counter_id: usize, interrupt_evt: Option<IrqEdgeEvent>, clock: Arc<Mutex<Clock>>, ) -> Result<PitCounter, PitError>
fn get_channel_state(&self) -> PitChannelState
fn set_channel_state(&mut self, state: &PitChannelState)
fn get_access_mode(&self) -> Option<CommandAccess>
fn get_command_mode(&self) -> Option<CommandMode>
fn read_counter(&mut self) -> u8
fn write_counter(&mut self, written_datum: u8)
fn get_output(&self) -> bool
fn read_speaker(&self) -> u8
fn write_speaker(&mut self, datum: u8)
fn load_and_start_timer(&mut self, initial_count: u32)
fn start_timer(&mut self)
fn read_back_command(&mut self, control_word: u8)
fn latch_counter(&mut self)
fn latch_status(&mut self)
fn store_command(&mut self, datum: u8)
fn timer_handler(&mut self)
fn get_ticks_passed(&self) -> u64
fn get_read_value(&self) -> u16
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PitCounter
impl !RefUnwindSafe for PitCounter
impl Send for PitCounter
impl !Sync for PitCounter
impl Unpin for PitCounter
impl !UnwindSafe for PitCounter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.