From 7ec1a4f7aacb6e9844405b351a71a5aa1b5330a5 Mon Sep 17 00:00:00 2001 From: fros4943 Date: Tue, 29 May 2007 12:53:49 +0000 Subject: [PATCH] added check that outgoing packet was not discarded from simulator --- platform/cooja/dev/cooja-radio.c | 17 +++++++++++------ .../contikimote/interfaces/ContikiRadio.java | 6 +++--- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/platform/cooja/dev/cooja-radio.c b/platform/cooja/dev/cooja-radio.c index 395bae374..31317b4b2 100644 --- a/platform/cooja/dev/cooja-radio.c +++ b/platform/cooja/dev/cooja-radio.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cooja-radio.c,v 1.3 2007/05/28 15:47:07 fros4943 Exp $ + * $Id: cooja-radio.c,v 1.4 2007/05/29 12:53:49 fros4943 Exp $ */ #include @@ -43,14 +43,14 @@ const struct simInterface radio_interface; // COOJA variables -char simTransmitting; -char simReceiving; +char simTransmitting = 0; +char simReceiving = 0; char simInDataBuffer[COOJA_RADIO_BUFSIZE]; -int simInSize; -char simInPolled; +int simInSize = 0; +char simInPolled = 0; char simOutDataBuffer[COOJA_RADIO_BUFSIZE]; -int simOutSize; +int simOutSize = 0; char simRadioHWOn = 1; int simSignalStrength = -200; @@ -232,6 +232,11 @@ radio_send(const u8_t *payload, u16_t payload_len) return COOJA_RADIO_DROPPED; } + if(simOutSize <= 0) { + inSendFunction = 0; + return COOJA_RADIO_DROPPED; + } + // - Initiate transmission - simTransmitting = 1; diff --git a/tools/cooja/java/se/sics/cooja/contikimote/interfaces/ContikiRadio.java b/tools/cooja/java/se/sics/cooja/contikimote/interfaces/ContikiRadio.java index 557741568..184166526 100644 --- a/tools/cooja/java/se/sics/cooja/contikimote/interfaces/ContikiRadio.java +++ b/tools/cooja/java/se/sics/cooja/contikimote/interfaces/ContikiRadio.java @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ContikiRadio.java,v 1.13 2007/04/23 11:58:20 fros4943 Exp $ + * $Id: ContikiRadio.java,v 1.14 2007/05/29 12:53:49 fros4943 Exp $ */ package se.sics.cooja.contikimote.interfaces; @@ -348,13 +348,13 @@ public class ContikiRadio extends Radio implements ContikiMoteInterface, if (!isTransmitting && myMoteMemory.getByteValueOf("simTransmitting") == 1) { int size = myMoteMemory.getIntValueOf("simOutSize"); if (size <= 0) { - logger.warn("Skipping zero sized Contiki packet"); + logger.warn("Skipping zero sized Contiki packet (no size)"); myMoteMemory.setByteValueOf("simTransmitting", (byte) 0); return; } packetFromMote = myMoteMemory.getByteArray("simOutDataBuffer", size); if (packetFromMote == null || packetFromMote.length == 0) { - logger.warn("Skipping zero sized Contiki packet"); + logger.warn("Skipping zero sized Contiki packet (no buffer)"); myMoteMemory.setByteValueOf("simTransmitting", (byte) 0); return; }