|
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) |
Public Member Functions inherited from RWMemoryMember | |
| 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 | |
Protected Attributes inherited from RWMemoryMember | |
| 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 |