avrora.sim
Interface Simulator.InterruptProbe

All Known Implementing Classes:
MulticastInterruptProbe, Simulator.InterruptProbe.Empty
Enclosing interface:
Simulator

public static interface Simulator.InterruptProbe

The InterruptProbe interface represents a programmer-defined probe that can be inserted on an interrupt. During simulation, when the interrupt is masked, posted, or executed, the probe will be notified.


Nested Class Summary
static class Simulator.InterruptProbe.Empty
          The Empty class represents a default implementation of the InterruptProbe interface where each fireXXX() method does nothing.
 
Method Summary
 void fireAfterInvoke(State s, int inum)
          The fireAfterInvoke() method of an interrupt probe will be called by the simulator after control is transferred to this interrupt handler, i.e. after the current PC is pushed onto the stack, interrupts are disabled, and the current PC is set to the start of the interrupt handler.
 void fireBeforeInvoke(State s, int inum)
          The fireBeforeInvoke() method of an interrupt probe will be called by the simulator before control is transferred to this interrupt, before the microcontroller has been woken from its current sleep mode.
 void fireWhenDisabled(State s, int inum)
          The fireWhenDisabled() method of an interrupt probe will be called by the simulator when the interrupt is masked out (disabled) by the program.
 void fireWhenEnabled(State s, int inum)
          The fireWhenEnabled() method of an interrupt probe will be called by the simulator when the interrupt is unmasked (enabled) by the program.
 void fireWhenPosted(State s, int inum)
          The fireWhenPosted() method of an interrupt probe will be called by the simulator when the interrupt is posted.
 void fireWhenUnposted(State s, int inum)
          The fireWhenUnposted() method of an interrupt probe will be called by the simulator when the interrupt is unposted.
 

Method Detail

fireBeforeInvoke

public void fireBeforeInvoke(State s,
                             int inum)
The fireBeforeInvoke() method of an interrupt probe will be called by the simulator before control is transferred to this interrupt, before the microcontroller has been woken from its current sleep mode.

Parameters:
s - the state of the simulator
inum - the number of the interrupt being entered

fireAfterInvoke

public void fireAfterInvoke(State s,
                            int inum)
The fireAfterInvoke() method of an interrupt probe will be called by the simulator after control is transferred to this interrupt handler, i.e. after the current PC is pushed onto the stack, interrupts are disabled, and the current PC is set to the start of the interrupt handler.

Parameters:
s - the state of the simulator
inum - the number of the interrupt being entered

fireWhenDisabled

public void fireWhenDisabled(State s,
                             int inum)
The fireWhenDisabled() method of an interrupt probe will be called by the simulator when the interrupt is masked out (disabled) by the program.

Parameters:
s - the state of the simulator
inum - the number of the interrupt being masked out

fireWhenEnabled

public void fireWhenEnabled(State s,
                            int inum)
The fireWhenEnabled() method of an interrupt probe will be called by the simulator when the interrupt is unmasked (enabled) by the program.

Parameters:
s - the state of the simulator
inum - the number of the interrupt being unmasked

fireWhenPosted

public void fireWhenPosted(State s,
                           int inum)
The fireWhenPosted() method of an interrupt probe will be called by the simulator when the interrupt is posted. When an interrupt is posted to the simulator, it will be coming pending if it is enabled (unmasked) and eventually be handled.

Parameters:
s - the state of the simulator
inum - the number of the interrupt being posted

fireWhenUnposted

public void fireWhenUnposted(State s,
                             int inum)
The fireWhenUnposted() method of an interrupt probe will be called by the simulator when the interrupt is unposted. This can happen if the software resets the flag bit of the corresponding IO register or, for most interrupts, when the pending interrupt is handled.

Parameters:
s - the state of the simulator
inum - the number of the interrupt being unposted