simulavr
1.1.0
|
Pin-change interrupt on all pins of a port. More...
#include <externalirq.h>
Public Member Functions | |
ExternalIRQPort (IOSpecialReg *ctrl, HWPort *port) | |
ExternalIRQPort (IOSpecialReg *ctrl, Pin *pinList[8]) | |
void | PinStateHasChanged (Pin *pin) |
![]() | |
ExternalIRQ (IOSpecialReg *ctrl, int ctrlOffset, int ctrlBits) | |
virtual unsigned char | set_from_reg (const IOSpecialReg *reg, unsigned char nv) |
virtual unsigned char | get_from_client (const IOSpecialReg *reg, unsigned char v) |
![]() | |
virtual | ~IOSpecialRegClient () |
![]() | |
virtual | ~HasPinNotifyFunction () |
Protected Attributes | |
bool | state [8] |
saved states from all pins More... | |
Pin * | pins [8] |
pins of port for identifying, which bit is changed More... | |
unsigned int | portSize |
how much pins the port controls More... | |
![]() | |
int | handlerIndex |
my own index on handler instance More... | |
ExternalIRQHandler * | handler |
reference to IRQ handler More... | |
int | bitshift |
how many bits to shift to get mode from control register More... | |
unsigned char | mask |
mask for extract mode from control register More... | |
unsigned char | mode |
control mode from control register More... | |
Additional Inherited Members | |
![]() | |
void | setHandlerIndex (ExternalIRQHandler *h, int idx) |
register handler and index for signaling interrupt More... | |
void | fireInterrupt (void) |
fire a interrupt More... | |
virtual void | ResetMode (void) |
Reset mode. More... | |
virtual void | ChangeMode (unsigned char m) |
Handle change of control register. More... | |
virtual bool | fireAgain (void) |
does the interrupt source fire again? (for interrupt on level) More... | |
virtual bool | mustSetFlagOnFire (void) |
does fire interrupt set the interrupt flag? (level interrupt does this not!) More... | |
Pin-change interrupt on all pins of a port.
Definition at line 137 of file externalirq.h.
ExternalIRQPort::ExternalIRQPort | ( | IOSpecialReg * | ctrl, |
HWPort * | port | ||
) |
Definition at line 220 of file externalirq.cpp.
References HWPort::GetPin(), HWPort::GetPortSize(), pins, portSize, Pin::RegisterCallback(), ExternalIRQ::ResetMode(), and state.
ExternalIRQPort::ExternalIRQPort | ( | IOSpecialReg * | ctrl, |
Pin * | pinList[8] | ||
) |
Definition at line 238 of file externalirq.cpp.
References pins, portSize, Pin::RegisterCallback(), ExternalIRQ::ResetMode(), and state.
|
virtual |
Implements HasPinNotifyFunction.
Definition at line 256 of file externalirq.cpp.
References ExternalIRQ::fireInterrupt(), ExternalIRQ::mode, pins, portSize, and state.
|
protected |
pins of port for identifying, which bit is changed
Definition at line 141 of file externalirq.h.
Referenced by ExternalIRQPort(), and PinStateHasChanged().
|
protected |
how much pins the port controls
Definition at line 142 of file externalirq.h.
Referenced by ExternalIRQPort(), and PinStateHasChanged().
|
protected |
saved states from all pins
Definition at line 140 of file externalirq.h.
Referenced by ExternalIRQPort(), and PinStateHasChanged().