simulavr
1.1.0
|
#include <rwmem.h>
Public Member Functions | |
IOSpecialReg (TraceValueRegister *registry, const std::string &tracename) | |
Creates a IOSpecialReg instance, see RWMemoryMember for more info. More... | |
void | connectSRegClient (IOSpecialRegClient *c) |
Registers a client to this IO register to inform this client on read or write access. More... | |
void | Reset (void) |
Register reset functionality, sets internal register value to 0. More... | |
void | Reset (unsigned char val) |
void | hardwareChange (unsigned char val) |
void | hardwareChangeMask (unsigned char val, unsigned char mask) |
![]() | |
RWMemoryMember (TraceValueRegister *registry, const std::string &tracename="", const int index=-1) | |
RWMemoryMember (void) | |
operator unsigned char () const | |
Read access on memory. More... | |
unsigned char | operator= (unsigned char val) |
Write access on memory. More... | |
unsigned char | operator= (const RWMemoryMember &mm) |
Write access on memory. More... | |
virtual | ~RWMemoryMember () |
virtual void | set_bit (unsigned int bitaddr) |
virtual void | clear_bit (unsigned int bitaddr) |
const std::string & | GetTraceName (void) |
bool | IsInvalid (void) const |
Protected Member Functions | |
unsigned char | get () const |
Get value method, see RWMemoryMember. More... | |
void | set (unsigned char) |
Set value method, see RWMemoryMember. More... | |
Protected Attributes | |
std::vector< IOSpecialRegClient * > | clients |
clients-list with registered clients More... | |
![]() | |
TraceValue * | tv |
TraceValueRegister * | registry |
const std::string | tracename |
const bool | isInvalid |
Private Attributes | |
unsigned char | value |
Internal register value. More... | |
IO register, which holds configuration for more than one hardware unit
IOSpecialReg::IOSpecialReg | ( | TraceValueRegister * | registry, |
const std::string & | tracename | ||
) |
Creates a IOSpecialReg instance, see RWMemoryMember for more info.
Definition at line 303 of file rwmem.cpp.
References Reset().
|
inline |
Registers a client to this IO register to inform this client on read or write access.
Definition at line 429 of file rwmem.h.
Referenced by ExternalIRQ::ExternalIRQ(), ExternalIRQHandler::ExternalIRQHandler(), HWAcomp::HWAcomp(), HWAd_SFIOR::HWAd_SFIOR(), HWPrescaler::HWPrescaler(), HWPrescalerAsync::HWPrescalerAsync(), HWTimerTinyX5::HWTimerTinyX5(), and TimerIRQRegister::TimerIRQRegister().
|
protectedvirtual |
Get value method, see RWMemoryMember.
Implements RWMemoryMember.
|
inline |
Reflects a value change from hardware (for example timer count occured)
val | the new register value |
Definition at line 439 of file rwmem.h.
References TraceValue::change(), and RWMemoryMember::tv.
Referenced by TimerIRQRegister::ClearIrqFlag(), TimerIRQRegister::fireInterrupt(), and set().
|
inline |
Reflects a value change from hardware (for example timer count occured), but with bitmask
val | the new register value |
mask | the bitmask for val |
Definition at line 444 of file rwmem.h.
References TraceValue::change(), and RWMemoryMember::tv.
Referenced by ExternalIRQHandler::ClearIrqFlag(), and ExternalIRQHandler::fireInterrupt().
|
inline |
Register reset functionality, sets internal register value to 0.
Definition at line 432 of file rwmem.h.
References Reset().
Referenced by IOSpecialReg(), TimerIRQRegister::Reset(), and Reset().
|
inline |
Register reset functionality, sets internal register value to val.
val | the reset value |
Definition at line 435 of file rwmem.h.
References TraceValue::set_written(), and RWMemoryMember::tv.
|
protectedvirtual |
Set value method, see RWMemoryMember.
Implements RWMemoryMember.
Definition at line 316 of file rwmem.cpp.
References clients, hardwareChange(), and value.
|
protected |
|
private |