]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/lib/tossim/sim_noise.c
Fix off by one error
[tinyos-2.x.git] / tos / lib / tossim / sim_noise.c
index eb9784d0469ba5375d88e522b5e45cb46f853dd9..d54d5293d3f9b39988cdb95f84c6b965e05c1b43 100644 (file)
@@ -92,6 +92,7 @@ void sim_noise_trace_add(uint16_t node_id, char noiseVal)__attribute__ ((C, spon
   }
   noiseData[node_id].noiseTrace[noiseData[node_id].noiseTraceIndex] = noiseVal;
   noiseData[node_id].noiseTraceIndex++;
+  dbg("Insert", "Adding noise value %i for %i of %i\n", (int)noiseData[node_id].noiseTraceIndex, (int)node_id, (int)noiseVal);
 }
 
 
@@ -133,7 +134,7 @@ void sim_noise_add(uint16_t node_id, char noise)__attribute__ ((C, spontaneous))
   char *key = noiseData[node_id].key;
   sim_noise_hash_t *noise_hash;
   noise_hash = (sim_noise_hash_t *)hashtable_search(pnoiseTable, key);
-  dbg("Insert,HashZeroDebug", "Adding noise value %hhi\n", noise);
+  dbg("Insert", "Adding noise value %hhi\n", noise);
   if (noise_hash == NULL)      {
     noise_hash = (sim_noise_hash_t *)malloc(sizeof(sim_noise_hash_t));
     memcpy((void *)(noise_hash->key), (void *)key, NOISE_HISTORY);
@@ -245,11 +246,8 @@ void makePmfDistr(uint16_t node_id)__attribute__ ((C, spontaneous))
   sim_noise_dist(node_id);
   arrangeKey(node_id);
   for(i = NOISE_HISTORY; i < noiseData[node_id].noiseTraceIndex; i++) {
-    if (i >= 196605) {
-      int foo = 7;
-    }
     if (i == NOISE_HISTORY) {
-      printf("Inserting first element.\n");
+      //printf("Inserting first element.\n");
     }
     pKey[NOISE_HISTORY-1] = search_bin_num(noiseData[node_id].noiseTrace[i]);
     sim_noise_dist(node_id);
@@ -385,12 +383,13 @@ void makeNoiseModel(uint16_t node_id)__attribute__ ((C, spontaneous)) {
   int i;
   for(i=0; i<NOISE_HISTORY; i++) {
     noiseData[node_id].key[i] = search_bin_num(noiseData[node_id].noiseTrace[i]);
+    dbg("Insert", "Setting history %i to be %i\n", (int)i, (int)noiseData[node_id].key[i]);
   }
   
   sim_noise_add(node_id, noiseData[node_id].noiseTrace[NOISE_HISTORY]);
   arrangeKey(node_id);
   
-  for(i = NOISE_HISTORY; i < noiseData[node_id].noiseTraceIndex; i++) {
+  for(i = NOISE_HISTORY+1; i < noiseData[node_id].noiseTraceIndex; i++) {
     noiseData[node_id].key[NOISE_HISTORY-1] = search_bin_num(noiseData[node_id].noiseTrace[i]);
     sim_noise_add(node_id, noiseData[node_id].noiseTrace[i+1]);
     arrangeKey(node_id);