simulavr
1.1.0
|
IO register to be specialized for a certain class/hardware. More...
#include <pin.h>
Public Types | |
typedef unsigned char(P::* | getter_t) () |
typedef void(P::* | setter_t) (unsigned char) |
typedef unsigned char(P::* | getter_bit_t) (unsigned int) |
typedef void(P::* | setter_bit_t) (bool, unsigned int) |
Public Member Functions | |
IOReg (TraceValueRegister *registry, const std::string &tracename, P *_p, getter_t _g=0, setter_t _s=0, getter_bit_t _gb=0, setter_bit_t _sb=0) | |
void | hardwareChange (unsigned char val) |
void | releaseTraceValue (void) |
virtual void | set_bit (unsigned int bitaddr) |
virtual void | clear_bit (unsigned int bitaddr) |
![]() | |
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 () |
const std::string & | GetTraceName (void) |
bool | IsInvalid (void) const |
Protected Member Functions | |
unsigned char | get () const |
void | set (unsigned char val) |
Private Attributes | |
P * | p |
getter_t | g |
setter_t | s |
getter_bit_t | gb |
setter_bit_t | sb |
Additional Inherited Members | |
![]() | |
TraceValue * | tv |
TraceValueRegister * | registry |
const std::string | tracename |
const bool | isInvalid |
IO register to be specialized for a certain class/hardware.
The template parameter class P specifies the class type in which the io register resides.
typedef unsigned char(P::* IOReg< P >::getter_bit_t) (unsigned int) |
typedef unsigned char(P::* IOReg< P >::getter_t) () |
typedef void(P::* IOReg< P >::setter_bit_t) (bool, unsigned int) |
typedef void(P::* IOReg< P >::setter_t) (unsigned char) |
|
inline |
|
inlinevirtual |
bitwise access to IOReg from CBI
Reimplemented from RWMemoryMember.
|
inlineprotectedvirtual |
This function as the oppposite to get() is expected to read the real byte.
Implements RWMemoryMember.
|
inline |
Reflects a value change from hardware (for example timer count occured)
val | the new register value |
Definition at line 318 of file rwmem.h.
Referenced by HWPort::CalcOutputs(), HWStackSram::Pop(), HWStackSram::Push(), HWPort::SetDdr(), HWPort::SetPin(), HWPort::SetPinBit(), HWPort::SetPort(), HWStackSram::SetSph(), and HWStackSram::SetSpl().
|
inline |
Releases the TraceValue to hide this IOReg from registry
Definition at line 320 of file rwmem.h.
Referenced by HWTimer16::HWTimer16(), HWTimer8::HWTimer8(), and HWUsart::HWUsart().
|
inlineprotectedvirtual |
This function is the function which will be called by the above access operators and is expected to do the real work when writing a byte.
Implements RWMemoryMember.
|
inlinevirtual |
bitwise access to IOReg from SBI
Reimplemented from RWMemoryMember.
|
private |
|
private |