From e2e1fba86dadc0c8d0b49ded4591c52620b620b5 Mon Sep 17 00:00:00 2001 From: Niclas Finne Date: Thu, 31 May 2012 01:23:34 +0200 Subject: [PATCH] Publish the UART/USCI used for serial output by the platform in the registry as 'serialio' --- se/sics/mspsim/platform/esb/ESBNode.java | 5 +++++ se/sics/mspsim/platform/sky/CC2420Node.java | 5 +++++ se/sics/mspsim/platform/ti/Exp5438Node.java | 6 ++++++ se/sics/mspsim/platform/tyndall/TyndallNode.java | 5 +++++ se/sics/mspsim/platform/wismote/WismoteNode.java | 7 ++++++- se/sics/mspsim/platform/z1/Z1Node.java | 8 +++++++- 6 files changed, 34 insertions(+), 2 deletions(-) diff --git a/se/sics/mspsim/platform/esb/ESBNode.java b/se/sics/mspsim/platform/esb/ESBNode.java index cbbe5c9..c95fd0d 100644 --- a/se/sics/mspsim/platform/esb/ESBNode.java +++ b/se/sics/mspsim/platform/esb/ESBNode.java @@ -161,6 +161,11 @@ public class ESBNode extends GenericNode implements PortListener { leds = new Leds(cpu, LEDS); button = new Button("Button", cpu, port2, BUTTON_PIN, true); beeper = new Beeper(cpu); + + USART usart = cpu.getIOUnit(USART.class, "USART1"); + if (usart != null) { + registry.registerComponent("serialio", usart); + } } public void setupNode() { diff --git a/se/sics/mspsim/platform/sky/CC2420Node.java b/se/sics/mspsim/platform/sky/CC2420Node.java index 7d46e16..1a2a580 100644 --- a/se/sics/mspsim/platform/sky/CC2420Node.java +++ b/se/sics/mspsim/platform/sky/CC2420Node.java @@ -92,6 +92,11 @@ public abstract class CC2420Node extends GenericNode implements PortListener, US usart0.addUSARTListener(this); radio.setSFDPort(port4, CC2420_SFD); + + USART usart = cpu.getIOUnit(USART.class, "USART1"); + if (usart != null) { + registry.registerComponent("serialio", usart); + } } public void setupNode() { diff --git a/se/sics/mspsim/platform/ti/Exp5438Node.java b/se/sics/mspsim/platform/ti/Exp5438Node.java index 079f1ca..3cbeb35 100644 --- a/se/sics/mspsim/platform/ti/Exp5438Node.java +++ b/se/sics/mspsim/platform/ti/Exp5438Node.java @@ -8,6 +8,7 @@ import se.sics.mspsim.core.EmulationException; import se.sics.mspsim.core.IOPort; import se.sics.mspsim.core.IOUnit; import se.sics.mspsim.core.PortListener; +import se.sics.mspsim.core.USART; import se.sics.mspsim.core.USARTListener; import se.sics.mspsim.core.USARTSource; import se.sics.mspsim.platform.GenericNode; @@ -91,6 +92,11 @@ public class Exp5438Node extends GenericNode implements PortListener, USARTListe } else { throw new EmulationException("Could not setup exp5438 mote - missing USCI B0"); } + + IOUnit usart = cpu.getIOUnit("USCI A1"); + if (usart instanceof USARTSource) { + registry.registerComponent("serialio", usart); + } } public void setupNode() { diff --git a/se/sics/mspsim/platform/tyndall/TyndallNode.java b/se/sics/mspsim/platform/tyndall/TyndallNode.java index 28f72bc..e472f2e 100644 --- a/se/sics/mspsim/platform/tyndall/TyndallNode.java +++ b/se/sics/mspsim/platform/tyndall/TyndallNode.java @@ -117,6 +117,11 @@ public class TyndallNode extends GenericNode implements PortListener, USARTListe } else { throw new EmulationException("Could not setup tyndall mote - missing USCI B0"); } + + IOUnit usart = cpu.getIOUnit("USCI A0"); + if (usart instanceof USARTSource) { + registry.registerComponent("serialio", usart); + } } public void setupNode() { diff --git a/se/sics/mspsim/platform/wismote/WismoteNode.java b/se/sics/mspsim/platform/wismote/WismoteNode.java index 44eb885..d2b2853 100644 --- a/se/sics/mspsim/platform/wismote/WismoteNode.java +++ b/se/sics/mspsim/platform/wismote/WismoteNode.java @@ -174,6 +174,11 @@ public class WismoteNode extends GenericNode implements PortListener, USARTListe } leds = new Leds(cpu, LEDS); button = new Button("Button", cpu, port2, BUTTON_PIN, true); + + IOUnit usart = cpu.getIOUnit("USCI A1"); + if (usart instanceof USARTSource) { + registry.registerComponent("serialio", usart); + } } public void setupNode() { @@ -202,7 +207,7 @@ public class WismoteNode extends GenericNode implements PortListener, USARTListe // Add some windows for listening to serial output IOUnit usart = cpu.getIOUnit("USCI A1"); if (usart instanceof USARTSource) { - SerialMon serial = new SerialMon((USARTSource)usart, "USCI A0 Port Output"); + SerialMon serial = new SerialMon((USARTSource)usart, "USCI A1 Port Output"); registry.registerComponent("serialgui", serial); } } diff --git a/se/sics/mspsim/platform/z1/Z1Node.java b/se/sics/mspsim/platform/z1/Z1Node.java index 8c938ea..3fff11a 100644 --- a/se/sics/mspsim/platform/z1/Z1Node.java +++ b/se/sics/mspsim/platform/z1/Z1Node.java @@ -173,6 +173,12 @@ public class Z1Node extends GenericNode implements PortListener, USARTListener { leds = new Leds(cpu, LEDS); button = new Button("Button", cpu, port2, BUTTON_PIN, true); + + IOUnit usart = cpu.getIOUnit("USCI A0"); + if (usart instanceof USARTSource) { + registry.registerComponent("serialio", usart); + } + if (getFlash() == null) { setFlash(new M25P80(cpu)); } @@ -207,7 +213,7 @@ public class Z1Node extends GenericNode implements PortListener, USARTListener { // Add some windows for listening to serial output IOUnit usart = cpu.getIOUnit("USCI A0"); if (usart instanceof USARTSource) { - SerialMon serial = new SerialMon((USARTSource)usart, "USART1 Port Output"); + SerialMon serial = new SerialMon((USARTSource)usart, "USCI A0 Port Output"); registry.registerComponent("serialgui", serial); } }