simulavr  1.1.0
OSCCALRegister Class Reference

Implement OSCCAL register. More...

#include <rwmem.h>

Inheritance diagram for OSCCALRegister:

Public Types

enum  { OSCCAL_V3 = 0, OSCCAL_V4 = 1, OSCCAL_V5 = 2 }
 

Public Member Functions

 OSCCALRegister (AvrDevice *core, TraceValueRegister *registry, int cal)
 
void Reset (void)
 
- 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 ()
 
virtual void set_bit (unsigned int bitaddr)
 
virtual void clear_bit (unsigned int bitaddr)
 
const std::string & GetTraceName (void)
 
bool IsInvalid (void) const
 
- Public Member Functions inherited from Hardware
 Hardware (AvrDevice *core)
 
virtual ~Hardware ()
 
virtual unsigned int CpuCycle (void)
 
virtual void ClearIrqFlag (unsigned int vector)
 
virtual bool IsLevelInterrupt (unsigned int vector)
 
virtual bool LevelInterruptPending (unsigned int vector)
 

Protected Member Functions

unsigned char get () const
 
void set (unsigned char v)
 

Private Attributes

unsigned char value
 
int cal_type
 

Additional Inherited Members

- Protected Attributes inherited from RWMemoryMember
TraceValuetv
 
TraceValueRegisterregistry
 
const std::string tracename
 
const bool isInvalid
 

Detailed Description

Implement OSCCAL register.

Definition at line 174 of file rwmem.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
OSCCAL_V3 

oscillator version 3.x and older, 8bit, one range

OSCCAL_V4 

oscillator version 4.x, 7bit, one range

OSCCAL_V5 

oscillator version 5.x, 8bit, two ranges

Definition at line 178 of file rwmem.h.

Constructor & Destructor Documentation

◆ OSCCALRegister()

OSCCALRegister::OSCCALRegister ( AvrDevice core,
TraceValueRegister registry,
int  cal 
)

Definition at line 163 of file rwmem.cpp.

References Reset().

Member Function Documentation

◆ get()

unsigned char OSCCALRegister::get ( ) const
inlineprotectedvirtual

This function as the oppposite to get() is expected to read the real byte.

Implements RWMemoryMember.

Definition at line 192 of file rwmem.h.

◆ Reset()

void OSCCALRegister::Reset ( void  )
virtual

Implement the hardware's reset functionality here. The default is no action on reset.

Reimplemented from Hardware.

Definition at line 173 of file rwmem.cpp.

References cal_type, OSCCAL_V3, and value.

Referenced by OSCCALRegister().

◆ set()

void OSCCALRegister::set ( unsigned char  nv)
protectedvirtual

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.

Definition at line 182 of file rwmem.cpp.

References avr_warning, cal_type, OSCCAL_V4, and value.

Member Data Documentation

◆ cal_type

int OSCCALRegister::cal_type
private

Definition at line 197 of file rwmem.h.

Referenced by Reset(), and set().

◆ value

unsigned char OSCCALRegister::value
private

Definition at line 196 of file rwmem.h.

Referenced by RAM::get(), RAM::RAM(), Reset(), set(), and RAM::set().


The documentation for this class was generated from the following files: