50 if((val & 0x80) == 0x80) {
56 if((val & 0x40) == 0x40) {
63 if((val & 0x20) == 0x20)
103 bool do_count =
false;
143 unsigned char di = (bool)
DI ? 1 : 0;
209 unsigned int ivec_start,
210 unsigned int ivec_ovr):
262 if(nextStepIn_ns != NULL)
366 unsigned int ivec_start,
367 unsigned int ivec_ovr):
368 HWUSI(_c, _irq, din, dout, sck, ivec_start, ivec_ovr),
375 avr_warning(
"register USIBR is read only (try to write value 0x%02x)", val);
void Add(SimulationMember *dev)
Add a simulation member (normally a device)
void PinStateHasChanged(Pin *)
Basic AVR device, contains the core functionality.
compare[0] value reached for one count cycle
Pin class, handles input and output to external parts.
void SetAlternateDdr(bool val)
virtual void setDataBuffer(unsigned char data)
HWUSI_BR(AvrDevice *core, HWIrqSystem *, PinAtPort din, PinAtPort dout, PinAtPort sck, unsigned int irq_start, unsigned int irq_ovr)
virtual void toggleSCK(void)
virtual void controlTWI(bool state)
virtual void setDO(bool state)
virtual void setDataBuffer(unsigned char data)
void SetUseAlternatePullup(bool val)
unsigned char GetUSISR(void)
unsigned char buffer_data
void SetUSIBR(unsigned char val)
void SetUseAlternatePortIfDdrSet(bool val)
HWUSI(AvrDevice *core, HWIrqSystem *, PinAtPort din, PinAtPort dout, PinAtPort sck, unsigned int irq_start, unsigned int irq_ovr)
void SetAlternatePort(bool val)
Build a register for TraceValue's.
static SystemClock & Instance()
Returns the central SystemClock instance for the application.
void SetIrqFlag(Hardware *, unsigned int vector_index)
virtual void setDI(bool state, bool ddr, bool port)
unsigned char GetUSICR(void)
long long SystemClockOffset
virtual void fireEvent(int event)
virtual void setSCK_TWI(bool hold, bool ddr, bool port)
unsigned char counter_data
void SetAlternatePullup(bool val)
void SetUSICR(unsigned char val)
void SetUseAlternateDdr(bool val)
void RegisterCallback(HasPinNotifyFunction *)
virtual void registerDIandSCK(HWUSI *cb)
unsigned char GetUSIDR(void)
void DebugVerifyInterruptVector(unsigned int vector_index, const Hardware *source)
In datasheets RESET vector is index 1 but we use 0! And not a byte address.
virtual void controlDO(bool state)
void SetUSISR(unsigned char val)
void ClearIrqFlag(unsigned int vector_index)
unsigned char control_data
void SetUSIDR(unsigned char val)
int Step(bool &untilCoreStepFinished, SystemClockOffset *nextStepIn_ns=0)
Return nonzero if a breakpoint was hit.
TraceValue * trace_direct(TraceValueRegister *t, const std::string &name, const bool *val)
Register a directly traced bool value.