simulavr
1.1.0
|
#include <hwad.h>
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) |
![]() | |
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... | |
![]() | |
Hardware (AvrDevice *core) | |
virtual | ~Hardware () |
virtual bool | IsLevelInterrupt (unsigned int vector) |
virtual bool | LevelInterruptPending (unsigned int vector) |
![]() | |
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... | |
TraceValueRegister * | GetScopeGroupByName (const std::string &name) |
Get a here registered TraceValueRegister by it's name. More... | |
virtual TraceValue * | GetTraceValueByName (const std::string &name) |
Get a here registered TraceValue by it's name. More... | |
TraceValueRegister * | FindScopeGroupByName (const std::string &name) |
Seek for a TraceValueRegister by it's name. More... | |
TraceValue * | FindTraceValueByName (const std::string &name) |
Seek for a TraceValue by it's name. More... | |
TraceSet * | GetAllTraceValues (void) |
Get all here registered TraceValue's only (not with descending values) More... | |
TraceSet * | GetAllTraceValuesRecursive (void) |
Get all here registered TraceValue's with descending values. More... | |
![]() | |
virtual | ~AnalogSignalChange () |
![]() | |
virtual | ~IOSpecialRegClient () |
Protected Attributes | |
IOSpecialReg * | sfior_reg |
int | adts |
![]() | |
int | adType |
unsigned char | adch |
unsigned char | adcl |
unsigned char | adcsra |
unsigned char | adcsrb |
unsigned char | admux |
AvrDevice * | core |
HWAdmux * | mux |
HWARef * | aref |
HWIrqSystem * | irqSystem |
unsigned int | irqVec |
bool | adchLocked |
int | adSample |
int | adMuxConfig |
int | prescaler |
int | prescalerSelect |
int | conversionState |
bool | firstConversion |
AnalogSignalChange * | notifyClient |
enum HWAd::T_State | state |
Additional Inherited Members | |
![]() | |
enum | { AD_4433, AD_M8, AD_M16, AD_M64, AD_M128, AD_M48, AD_M164, AD_T25, AD_M2560 } |
![]() | |
IOReg< HWAd > | adch_reg |
IOReg< HWAd > | adcl_reg |
IOReg< HWAd > | adcsra_reg |
IOReg< HWAd > | adcsrb_reg |
IOReg< HWAd > | admux_reg |
![]() | |
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 } |
![]() | |
bool | IsPrescalerClock (void) |
bool | IsFreeRunning (void) |
int | ConversionBipolar (float value, float ref) |
int | ConversionUnipolar (float value, float ref) |
![]() | |
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... | |
Analog-digital converter (ADC) with trigger sources in SFIOR register
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.
|
inlinevirtual |
Informs your class, that a read access from IO register happens
v | the internal saved register value (but maybe changed by other clients) |
Implements IOSpecialRegClient.
|
inlinevirtual |
|
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().
|
virtual |
Informs your class, that a write access to IO register is happen
reg | caller register instance |
nv | the value, which is written to IO register (but maybe changed by other clients) |
Implements IOSpecialRegClient.
Definition at line 712 of file hwad.cpp.
References adts.
|
protected |
Definition at line 312 of file hwad.h.
Referenced by HWAd_SFIOR(), and set_from_reg().
|
protected |
Definition at line 311 of file hwad.h.
Referenced by HWAd_SFIOR().