simulavr
1.1.0
|
Prescaler unit for support timers with clock. More...
#include <timerprescaler.h>
Public Member Functions | |
HWPrescaler (AvrDevice *core, const std::string &tracename) | |
Creates HWPrescaler instance without reset feature. More... | |
HWPrescaler (AvrDevice *core, const std::string &tracename, IOSpecialReg *ioreg, int resetBit) | |
Creates HWPrescaler instance with reset but without sync reset feature. More... | |
HWPrescaler (AvrDevice *core, const std::string &tracename, IOSpecialReg *ioreg, int resetBit, int resetSyncBit) | |
Creates HWPrescaler instance with reset and sync reset feature. More... | |
virtual unsigned int | CpuCycle () |
Count functionality for prescaler. More... | |
unsigned short | GetValue () |
Get method for current prescaler counter value. More... | |
void | Reset () |
Reset method, sets prescaler counter to 0. More... | |
![]() | |
Hardware (AvrDevice *core) | |
virtual | ~Hardware () |
virtual void | ClearIrqFlag (unsigned int vector) |
virtual bool | IsLevelInterrupt (unsigned int vector) |
virtual bool | LevelInterruptPending (unsigned int vector) |
![]() | |
virtual | ~IOSpecialRegClient () |
Protected Member Functions | |
unsigned char | set_from_reg (const IOSpecialReg *reg, unsigned char nv) |
IO register interface set method, see IOSpecialRegClient. More... | |
unsigned char | get_from_client (const IOSpecialReg *reg, unsigned char v) |
IO register interface get method, see IOSpecialRegClient. More... | |
Protected Attributes | |
IOSpecialReg * | resetRegister |
instance of IO register with reset bits More... | |
unsigned short | preScaleValue |
prescaler counter value More... | |
bool | countEnable |
Private Attributes | |
int | _resetBit |
holds bit position for reset bit on IO register More... | |
int | _resetSyncBit |
holds sync bit position for prescaler reset synchronisation More... | |
Prescaler unit for support timers with clock.
This is a prescaler unit without external clock input, features reset and reset sync bit. Size of prescaler is 10 bit.
Definition at line 37 of file timerprescaler.h.
HWPrescaler::HWPrescaler | ( | AvrDevice * | core, |
const std::string & | tracename | ||
) |
Creates HWPrescaler instance without reset feature.
Definition at line 29 of file timerprescaler.cpp.
References AvrDevice::AddToCycleList(), AvrDevice::coreTraceGroup, preScaleValue, resetRegister, and trace_direct().
Referenced by get_from_client().
HWPrescaler::HWPrescaler | ( | AvrDevice * | core, |
const std::string & | tracename, | ||
IOSpecialReg * | ioreg, | ||
int | resetBit | ||
) |
Creates HWPrescaler instance with reset but without sync reset feature.
Definition at line 40 of file timerprescaler.cpp.
References AvrDevice::AddToCycleList(), IOSpecialReg::connectSRegClient(), AvrDevice::coreTraceGroup, preScaleValue, resetRegister, and trace_direct().
HWPrescaler::HWPrescaler | ( | AvrDevice * | core, |
const std::string & | tracename, | ||
IOSpecialReg * | ioreg, | ||
int | resetBit, | ||
int | resetSyncBit | ||
) |
Creates HWPrescaler instance with reset and sync reset feature.
Definition at line 55 of file timerprescaler.cpp.
References AvrDevice::AddToCycleList(), IOSpecialReg::connectSRegClient(), AvrDevice::coreTraceGroup, preScaleValue, resetRegister, and trace_direct().
|
inlinevirtual |
Count functionality for prescaler.
Reimplemented from Hardware.
Reimplemented in HWPrescalerAsync.
Definition at line 67 of file timerprescaler.h.
|
inlineprotectedvirtual |
IO register interface get method, see IOSpecialRegClient.
Implements IOSpecialRegClient.
Definition at line 50 of file timerprescaler.h.
References HWPrescaler().
|
inline |
Get method for current prescaler counter value.
Definition at line 75 of file timerprescaler.h.
References preScaleValue.
Referenced by PrescalerMultiplexer::isClock(), and PrescalerMultiplexerExt::isClock().
|
inlinevirtual |
Reset method, sets prescaler counter to 0.
Reimplemented from Hardware.
Definition at line 77 of file timerprescaler.h.
Referenced by set_from_reg().
|
protectedvirtual |
IO register interface set method, see IOSpecialRegClient.
Implements IOSpecialRegClient.
Reimplemented in HWPrescalerAsync.
Definition at line 71 of file timerprescaler.cpp.
References _resetBit, _resetSyncBit, countEnable, Reset(), and resetRegister.
Referenced by HWPrescalerAsync::set_from_reg().
|
private |
holds bit position for reset bit on IO register
Definition at line 40 of file timerprescaler.h.
Referenced by set_from_reg().
|
private |
holds sync bit position for prescaler reset synchronisation
Definition at line 41 of file timerprescaler.h.
Referenced by set_from_reg().
|
protected |
enables counting of prescaler (for reset sync)
Definition at line 46 of file timerprescaler.h.
Referenced by HWPrescalerAsync::CpuCycle(), and set_from_reg().
|
protected |
prescaler counter value
Definition at line 45 of file timerprescaler.h.
Referenced by HWPrescalerAsync::CpuCycle(), GetValue(), and HWPrescaler().
|
protected |
instance of IO register with reset bits
Definition at line 44 of file timerprescaler.h.
Referenced by HWPrescaler(), and set_from_reg().