RWMemoryMember Class Reference

Member of any memory area in an AVR device. More...

#include <rwmem.h>

Inheritance diagram for RWMemoryMember:
Inheritance graph
[legend]
Collaboration diagram for RWMemoryMember:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RWMemoryMember (TraceValueRegister *registry, const std::string &tracename="", const int index=-1)
 RWMemoryMember (void)
 operator unsigned char () const
 Read access on memory.
unsigned char operator= (unsigned char val)
 Write access on memory.
unsigned char operator= (const RWMemoryMember &mm)
 Write access on memory.
virtual ~RWMemoryMember ()

Protected Member Functions

virtual void set (unsigned char nv)=0
virtual unsigned char get () const =0

Protected Attributes

TraceValuetv
TraceValueRegisterregistry

Detailed Description

Member of any memory area in an AVR device.

Allows to be read and written byte-wise. Accesses can be traced if necessary.

Definition at line 42 of file rwmem.h.


Constructor & Destructor Documentation

RWMemoryMember::RWMemoryMember ( TraceValueRegister registry,
const std::string &  tracename = "",
const int  index = -1 
)

Constructs a new memory member cell with the given trace value name. Index is used for memory-like structures which have indices.

Parameters:
registry pointer to TraceValueRegister instance
tracename name of this memory cell, used by TraceValue
index (optional) index to identify a cell in a group of memory cells

Definition at line 40 of file rwmem.cpp.

References avr_error, TraceValueRegister::GetTraceValuePrefix(), TraceValueRegister::RegisterTraceValue(), registry, and tv.

Here is the call graph for this function:

RWMemoryMember::RWMemoryMember ( void   ) 

Constructs a new memory member cell with no trace value name. (for InvalidRam)

Definition at line 56 of file rwmem.cpp.

RWMemoryMember::~RWMemoryMember (  )  [virtual]

Definition at line 84 of file rwmem.cpp.

References tv.


Member Function Documentation

virtual unsigned char RWMemoryMember::get (  )  const [protected, pure virtual]
RWMemoryMember::operator unsigned char (  )  const

Read access on memory.

Definition at line 60 of file rwmem.cpp.

References TraceValue::read(), and tv.

Here is the call graph for this function:

unsigned char RWMemoryMember::operator= ( const RWMemoryMember mm  ) 

Write access on memory.

Definition at line 73 of file rwmem.cpp.

References get(), TraceValue::read(), tv, and TraceValue::write().

Here is the call graph for this function:

unsigned char RWMemoryMember::operator= ( unsigned char  val  ) 

Write access on memory.

Definition at line 66 of file rwmem.cpp.

References tv, and TraceValue::write().

Here is the call graph for this function:

virtual void RWMemoryMember::set ( unsigned char  nv  )  [protected, pure virtual]

Member Data Documentation

Definition at line 83 of file rwmem.h.

Referenced by IOReg< HWTimer8_0C >::releaseTraceValue(), and RWMemoryMember().

TraceValue* RWMemoryMember::tv [mutable, protected]

If non-null, this is the tracing value bound to this memory member. All read/write operators on the contents of a memory member will inform the tracing value of changes and accesses, if applicable.

Definition at line 82 of file rwmem.h.

Referenced by IOReg< HWTimer8_0C >::get(), IOSpecialReg::hardwareChange(), IOReg< HWTimer8_0C >::hardwareChange(), IOSpecialReg::hardwareChangeMask(), IOReg< HWTimer8_0C >::IOReg(), operator unsigned char(), operator=(), RAM::RAM(), IOReg< HWTimer8_0C >::releaseTraceValue(), IOSpecialReg::Reset(), RWMemoryMember(), IOReg< HWTimer8_0C >::set(), RWSreg::trigger_change(), and ~RWMemoryMember().


The documentation for this class was generated from the following files:
Generated on Sun Feb 12 16:53:02 2012 for Simulavr by  doxygen 1.6.3