simulavr  1.1.0
HWAd_SFIOR Class Reference

#include <hwad.h>

Inheritance diagram for HWAd_SFIOR:

Public Member Functions

 HWAd_SFIOR (AvrDevice *c, int _typ, HWIrqSystem *i, unsigned int iv, HWAdmux *a, HWARef *r, IOSpecialReg *s)
 
void Reset (void)
 
unsigned char set_from_reg (const IOSpecialReg *reg, unsigned char nv)
 
unsigned char get_from_client (const IOSpecialReg *reg, unsigned char v)
 
virtual int GetTriggerSource (void)
 
- Public Member Functions inherited from HWAd
 HWAd (AvrDevice *c, int _typ, HWIrqSystem *i, unsigned int iv, HWAdmux *a, HWARef *r)
 
virtual ~HWAd ()
 
unsigned int CpuCycle ()
 
unsigned char GetAdch (void)
 
unsigned char GetAdcl (void)
 
unsigned char GetAdcsrA (void)
 
unsigned char GetAdcsrB (void)
 
unsigned char GetAdmux (void)
 
void SetAdcsrA (unsigned char)
 
void SetAdcsrB (unsigned char)
 
void SetAdmux (unsigned char val)
 
void ClearIrqFlag (unsigned int vec)
 
void NotifySignalChanged (void)
 
bool IsADEnabled (void)
 Check, if ADC is enabled. More...
 
bool IsSetACME (void)
 Check, if ACME bit is set, return false, if not available. More...
 
float GetADMuxValue (float vcc)
 Get analog value from ADC multiplexer. More...
 
void RegisterNotifyClient (AnalogSignalChange *client)
 Register analog comparator for notification of multiplexer signal change. More...
 
void UnregisterNotifyClient (void)
 Unregister client for signal change notification. More...
 
- Public Member Functions inherited from Hardware
 Hardware (AvrDevice *core)
 
virtual ~Hardware ()
 
virtual bool IsLevelInterrupt (unsigned int vector)
 
virtual bool LevelInterruptPending (unsigned int vector)
 
- Public Member Functions inherited from TraceValueRegister
 TraceValueRegister (TraceValueRegister *parent, const std::string &name)
 Create a TraceValueRegister, with a scope prefix built on parent scope + name. More...
 
 TraceValueRegister ()
 Create a TraceValueRegister, with a empty scope name, single device application. More...
 
virtual ~TraceValueRegister ()
 
const std::string GetTraceValuePrefix (void)
 Returns the scope prefix. More...
 
const std::string GetScopeName (void)
 Returns the scope name. More...
 
void RegisterTraceValue (TraceValue *t)
 Registers a TraceValue for this register. More...
 
void UnregisterTraceValue (TraceValue *t)
 Unregisters a TraceValue, remove it from register. More...
 
TraceValueRegisterGetScopeGroupByName (const std::string &name)
 Get a here registered TraceValueRegister by it's name. More...
 
virtual TraceValueGetTraceValueByName (const std::string &name)
 Get a here registered TraceValue by it's name. More...
 
TraceValueRegisterFindScopeGroupByName (const std::string &name)
 Seek for a TraceValueRegister by it's name. More...
 
TraceValueFindTraceValueByName (const std::string &name)
 Seek for a TraceValue by it's name. More...
 
TraceSetGetAllTraceValues (void)
 Get all here registered TraceValue's only (not with descending values) More...
 
TraceSetGetAllTraceValuesRecursive (void)
 Get all here registered TraceValue's with descending values. More...
 
- Public Member Functions inherited from AnalogSignalChange
virtual ~AnalogSignalChange ()
 
- Public Member Functions inherited from IOSpecialRegClient
virtual ~IOSpecialRegClient ()
 

Protected Attributes

IOSpecialRegsfior_reg
 
int adts
 
- Protected Attributes inherited from HWAd
int adType
 
unsigned char adch
 
unsigned char adcl
 
unsigned char adcsra
 
unsigned char adcsrb
 
unsigned char admux
 
AvrDevicecore
 
HWAdmuxmux
 
HWARefaref
 
HWIrqSystemirqSystem
 
unsigned int irqVec
 
bool adchLocked
 
int adSample
 
int adMuxConfig
 
int prescaler
 
int prescalerSelect
 
int conversionState
 
bool firstConversion
 
AnalogSignalChangenotifyClient
 
enum HWAd::T_State state
 

Additional Inherited Members

- Public Types inherited from HWAd
enum  {
  AD_4433, AD_M8, AD_M16, AD_M64,
  AD_M128, AD_M48, AD_M164, AD_T25,
  AD_M2560
}
 
- Public Attributes inherited from HWAd
IOReg< HWAdadch_reg
 
IOReg< HWAdadcl_reg
 
IOReg< HWAdadcsra_reg
 
IOReg< HWAdadcsrb_reg
 
IOReg< HWAdadmux_reg
 
- Protected Types inherited from HWAd
enum  T_State { IDLE, INIT, RUNNING }
 
enum  {
  ADEN = 0x80, BIN = 0x80, ADSC = 0x40, ACME = 0x40,
  ADFR = 0x20, ADATE = 0x20, ADLAR = 0x20, IPR = 0x20,
  ADIF = 0x10, ADIE = 0x08, MUX5 = 0x08, ADPS = 0x07,
  ADTS = 0x07
}
 
- Protected Member Functions inherited from HWAd
bool IsPrescalerClock (void)
 
bool IsFreeRunning (void)
 
int ConversionBipolar (float value, float ref)
 
int ConversionUnipolar (float value, float ref)
 
- Protected Member Functions inherited from TraceValueRegister
virtual size_t _tvr_getValuesCount (void)
 Get the count of all TraceValues, that are registered here and descending. More...
 
virtual void _tvr_insertTraceValuesToSet (TraceSet &t)
 Insert all TraceValues into TraceSet, that registered here and descending. More...
 

Detailed Description

Analog-digital converter (ADC) with trigger sources in SFIOR register

Definition at line 308 of file hwad.h.

Constructor & Destructor Documentation

◆ HWAd_SFIOR()

HWAd_SFIOR::HWAd_SFIOR ( AvrDevice c,
int  _typ,
HWIrqSystem i,
unsigned int  iv,
HWAdmux a,
HWARef r,
IOSpecialReg s 
)

Definition at line 705 of file hwad.cpp.

References adts, IOSpecialReg::connectSRegClient(), and sfior_reg.

Member Function Documentation

◆ get_from_client()

unsigned char HWAd_SFIOR::get_from_client ( const IOSpecialReg reg,
unsigned char  v 
)
inlinevirtual

Informs your class, that a read access from IO register happens

Parameters
vthe internal saved register value (but maybe changed by other clients)
Returns
v, if nothing is changed or your changed value

Implements IOSpecialRegClient.

Definition at line 320 of file hwad.h.

◆ GetTriggerSource()

virtual int HWAd_SFIOR::GetTriggerSource ( void  )
inlinevirtual

Reimplemented from HWAd.

Definition at line 322 of file hwad.h.

◆ Reset()

void HWAd_SFIOR::Reset ( void  )
inlinevirtual

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

Reimplemented from HWAd.

Definition at line 317 of file hwad.h.

References HWAd::Reset().

◆ set_from_reg()

unsigned char HWAd_SFIOR::set_from_reg ( const IOSpecialReg reg,
unsigned char  nv 
)
virtual

Informs your class, that a write access to IO register is happen

Parameters
regcaller register instance
nvthe value, which is written to IO register (but maybe changed by other clients)
Returns
nv, if nothing is changed or your changed value

Implements IOSpecialRegClient.

Definition at line 712 of file hwad.cpp.

References adts.

Member Data Documentation

◆ adts

int HWAd_SFIOR::adts
protected

Definition at line 312 of file hwad.h.

Referenced by HWAd_SFIOR(), and set_from_reg().

◆ sfior_reg

IOSpecialReg* HWAd_SFIOR::sfior_reg
protected

Definition at line 311 of file hwad.h.

Referenced by HWAd_SFIOR().


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