}
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);
}
uint8_t search_bin_num(char noise)__attribute__ ((C, spontaneous))
{
uint8_t bin;
+ if (noise > NOISE_MAX || noise < NOISE_MIN) {
+ noise = NOISE_MIN;
+ }
bin = (noise-NOISE_MIN)/NOISE_QUANTIZE_INTERVAL + 1;
return bin;
}
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);
arrangeKey(node_id);
for(i = NOISE_HISTORY; i < noiseData[node_id].noiseTraceIndex; i++) {
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]);
+ dbg("TestCorrupt", "Looking up with key ");
+ {
+ int ctr;
+ for(ctr = 0; ctr < NOISE_HISTORY; ctr++)
+ dbg_clear("TestCorrupt", "%0.3hhi ", pKey[ctr]);
+ }
+ dbg_clear("TestCorrupt", "\n");
sim_noise_dist(node_id);
arrangeKey(node_id);
}
prev_t = noiseData[node_id].noiseGenTime;
+ if (noiseData[node_id].generated == 0) {
+ dbgerror("TOSSIM", "Tried to generate noise from an uninitialized radio model of node %hu.\n", node_id);
+ return 127;
+ }
+
if ( (0<= cur_t) && (cur_t < NOISE_HISTORY) ) {
noiseData[node_id].noiseGenTime = cur_t;
noiseData[node_id].key[cur_t] = search_bin_num(noiseData[node_id].noiseTrace[cur_t]);
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]);
sim_noise_add(node_id, noiseData[node_id].noiseTrace[i+1]);
arrangeKey(node_id);
}
+ noiseData[node_id].generated = 1;
}