C++ Crashkurs
Ticker Class Reference
The Ticker device demonstrates HPET interrupts. More...
#include <device/ticker.h>
 Inheritance diagram for Ticker:
 Inheritance diagram for Ticker: Collaboration diagram for Ticker:
 Collaboration diagram for Ticker:| Public Member Functions | |
| bool | windup (uint64_t us) | 
| Windup / initialize.  More... | |
| bool | prologue () override | 
| Prologue of timer interrupts.  More... | |
| void | epilogue () override | 
| Epilogue of timer interrupts.  More... | |
| uint64_t | interval () const | 
| Retrieve the interrupt interval.  More... | |
| void | activate () | 
| Activate the timer. | |
| void | stop () | 
| Stop the timer. | |
|  Public Member Functions inherited from Gate | |
| Gate () | |
| Constructor. | |
| virtual | ~Gate () | 
| Destructor.  More... | |
| virtual bool | prologue ()=0 | 
| Device-specific interrupt handling routine that is executed immediately after the interrupt occurs (asynchronously).  More... | |
| virtual void | epilogue () | 
| Possibly delayed, synchronously executed Device-specific interrupt handling routine.  More... | |
Detailed Description
The Ticker device demonstrates HPET interrupts.
Periodic HPET interrupts increase the counter, which is displayed on a designated spot on the screen and shows the current systems runtime.
Member Function Documentation
| bool Ticker::windup | ( | uint64_t | us | ) | 
Windup / initialize.
Assigns itself to the Plugbox and initializes a HPET::Comparator in such a way that regular interrupts are triggered approx. every us microseconds when Ticker::activate() is called.
- Note
- This method must find a comparator capable of periodic interrupts.
- For IOAPIC::config use Trigger Mode `LEVEL` with Polarity `LOW` to ensure operation on both Qemu/KVM and our test hardware.
- Parameters
- 
  us Desired interrupt interval in microseconds. 
- Returns
- Indicates if the interval could be set.
| 
 | overridevirtual | 
Prologue of timer interrupts.
- Returns
- trueif the interrupt was issued by the HPET and Ticker::epilogue should be executed.
Implements Gate.
| 
 | overridevirtual | 
Epilogue of timer interrupts.
Increases and displays the counter value (uptime)
Reimplemented from Gate.
| 
 | inline | 
Retrieve the interrupt interval.
- Returns
- Interval in microseconds
The documentation for this class was generated from the following files:
- device/ticker.h
- device/ticker.cc