From c32c2ffd59abb323a34aea49ec7b8cc5cc91f7d7 Mon Sep 17 00:00:00 2001 From: scipio Date: Mon, 21 May 2007 22:08:29 +0000 Subject: [PATCH] Include false positive acknowledgements. Adjusted default constants to reduce RAM footprint of noise model. --- tos/lib/tossim/CpmModelC.nc | 13 +++++++++++++ tos/lib/tossim/sim_noise.h | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tos/lib/tossim/CpmModelC.nc b/tos/lib/tossim/CpmModelC.nc index 5e6b61e1..59f94e10 100644 --- a/tos/lib/tossim/CpmModelC.nc +++ b/tos/lib/tossim/CpmModelC.nc @@ -329,6 +329,19 @@ implementation { receiving = 0; } // If the packet was lost, then we're searching for new packets again else { + if (RandomUniform() < 0.001) { + dbg("CpmModelC,SNRLoss", "Packet was technically lost, but TOSSIM introduces an ack false positive rate.\n"); + if (mine->ack && signal Model.shouldAck(mine->msg)) { + dbg_clear("CpmModelC", " scheduling ack.\n"); + sim_gain_schedule_ack(mine->source, sim_time() + 1, mine); + } + else { // Otherwise free the receive_message_t* + free_receive_message(mine); + } + } + else { + free_receive_message(mine); + } receiving = 0; dbg_clear("CpmModelC,SNRLoss", " -packet was lost.\n"); } diff --git a/tos/lib/tossim/sim_noise.h b/tos/lib/tossim/sim_noise.h index a46aea9b..73c9b52c 100644 --- a/tos/lib/tossim/sim_noise.h +++ b/tos/lib/tossim/sim_noise.h @@ -48,8 +48,8 @@ enum { NOISE_BIN_SIZE = (NOISE_MAX - NOISE_MIN)/NOISE_QUANTIZE_INTERVAL, NOISE_HISTORY = 20, NOISE_DEFAULT_ELEMENT_SIZE = 8, - NOISE_HASHTABLE_SIZE = 8192, - NOISE_MIN_TRACE = 1024, + NOISE_HASHTABLE_SIZE = 128, + NOISE_MIN_TRACE = 128, }; typedef struct sim_noise_hash_t { -- 2.39.2