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. | |
| HWPrescaler (AvrDevice *core, const std::string &tracename, IOSpecialReg *ioreg, int resetBit) | |
| Creates HWPrescaler instance with reset but without sync reset feature. | |
| HWPrescaler (AvrDevice *core, const std::string &tracename, IOSpecialReg *ioreg, int resetBit, int resetSyncBit) | |
| Creates HWPrescaler instance with reset and sync reset feature. | |
| virtual unsigned int | CpuCycle () |
| Count functionality for prescaler. | |
| unsigned short | GetValue () |
| Get method for current prescaler counter value. | |
| void | Reset () |
| Reset method, sets prescaler counter to 0. | |
Protected Member Functions | |
| unsigned char | set_from_reg (const IOSpecialReg *reg, unsigned char nv) |
| IO register interface set method, see IOSpecialRegClient. | |
| unsigned char | get_from_client (const IOSpecialReg *reg, unsigned char v) |
| IO register interface get method, see IOSpecialRegClient. | |
Protected Attributes | |
| IOSpecialReg * | resetRegister |
| instance of IO register with reset bits | |
| unsigned short | preScaleValue |
| prescaler counter value | |
| bool | countEnable |
Private Attributes | |
| int | _resetBit |
| holds bit position for reset bit on IO register | |
| int | _resetSyncBit |
| holds sync bit position for prescaler reset synchronisation | |
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().

| 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().

| virtual unsigned int HWPrescaler::CpuCycle | ( | void | ) | [inline, virtual] |
Count functionality for prescaler.
Reimplemented from Hardware.
Reimplemented in HWPrescalerAsync.
Definition at line 67 of file timerprescaler.h.
References countEnable, and preScaleValue.
| unsigned char HWPrescaler::get_from_client | ( | const IOSpecialReg * | reg, | |
| unsigned char | v | |||
| ) | [inline, protected, virtual] |
IO register interface get method, see IOSpecialRegClient.
Implements IOSpecialRegClient.
Definition at line 50 of file timerprescaler.h.
| unsigned short HWPrescaler::GetValue | ( | ) | [inline] |
Get method for current prescaler counter value.
Definition at line 75 of file timerprescaler.h.
References preScaleValue.
Referenced by PrescalerMultiplexerExt::isClock(), and PrescalerMultiplexer::isClock().

| void HWPrescaler::Reset | ( | void | ) | [inline, virtual] |
Reset method, sets prescaler counter to 0.
Reimplemented from Hardware.
Definition at line 77 of file timerprescaler.h.
References preScaleValue.
Referenced by set_from_reg().

| unsigned char HWPrescaler::set_from_reg | ( | const IOSpecialReg * | reg, | |
| unsigned char | nv | |||
| ) | [protected, virtual] |
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.

int HWPrescaler::_resetBit [private] |
holds bit position for reset bit on IO register
Definition at line 40 of file timerprescaler.h.
Referenced by set_from_reg().
int HWPrescaler::_resetSyncBit [private] |
holds sync bit position for prescaler reset synchronisation
Definition at line 41 of file timerprescaler.h.
Referenced by set_from_reg().
bool HWPrescaler::countEnable [protected] |
enables counting of prescaler (for reset sync)
Definition at line 46 of file timerprescaler.h.
Referenced by CpuCycle(), HWPrescalerAsync::CpuCycle(), and set_from_reg().
unsigned short HWPrescaler::preScaleValue [protected] |
prescaler counter value
Definition at line 45 of file timerprescaler.h.
Referenced by CpuCycle(), HWPrescalerAsync::CpuCycle(), GetValue(), HWPrescaler(), and Reset().
IOSpecialReg* HWPrescaler::resetRegister [protected] |
instance of IO register with reset bits
Definition at line 44 of file timerprescaler.h.
Referenced by HWPrescaler(), and set_from_reg().
1.6.3