diff --git a/se/sics/mspsim/chip/CC2420.java b/se/sics/mspsim/chip/CC2420.java index 427bfc4..1118cf1 100644 --- a/se/sics/mspsim/chip/CC2420.java +++ b/se/sics/mspsim/chip/CC2420.java @@ -680,6 +680,12 @@ public class CC2420 extends Chip implements USARTListener, RFListener, RFSource autoCRC = (data & ADR_AUTOCRC) != 0; autoAck = (data & AUTOACK) != 0; break; + case REG_FSCTRL: + if (cl != null) { + updateActiveFrequency(); + cl.changedChannel(activeChannel); + } + break; } } @@ -1223,6 +1229,14 @@ public class CC2420 extends Chip implements USARTListener, RFListener, RFSource listener = rf; } + public interface ChannelListener { + public void changedChannel(int channel); + } + private ChannelListener cl = null; + public void setChannelListener(ChannelListener cl) { + this.cl = cl; + } + public void setVRegOn(boolean newOn) { if(on == newOn) return;