[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/tossim
SerialActiveMessageC.nc, 1.1.2.2,
1.1.2.3 TossimActiveMessageP.nc, 1.1.2.9,
1.1.2.10 TossimPacketModelC.nc, 1.1.2.6,
1.1.2.7 UscGainInterferenceModelC.nc, 1.1.2.9, 1.1.2.10
Phil Levis
scipio at users.sourceforge.net
Fri Sep 8 10:48:08 PDT 2006
- Previous message: [Tinyos-2-commits]
CVS: tinyos-2.x/tos/lib/tossim TOSSIM.py, 1.1.2.8,
1.1.2.9 tossim.c, 1.1.2.10, 1.1.2.11 tossim.h, 1.1.2.9,
1.1.2.10 tossim.i, 1.1.2.7, 1.1.2.8 tossim_wrap.cxx, 1.1.2.8,
1.1.2.9
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/apps/MultihopOscilloscope
Makefile, 1.1.2.1, 1.1.2.2 MultihopOscilloscopeAppC.nc,
1.1.2.1, 1.1.2.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/tossim
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25859
Modified Files:
Tag: tinyos-2_0_devel-BRANCH
SerialActiveMessageC.nc TossimActiveMessageP.nc
TossimPacketModelC.nc UscGainInterferenceModelC.nc
Log Message:
Fixed bug where nodes who were transmitting could receive packets.
Added source address to TOSSIM serial packets.
Index: SerialActiveMessageC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/tossim/SerialActiveMessageC.nc,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -C2 -d -r1.1.2.2 -r1.1.2.3
*** SerialActiveMessageC.nc 10 Jun 2006 02:02:46 -0000 1.1.2.2
--- SerialActiveMessageC.nc 8 Sep 2006 17:48:06 -0000 1.1.2.3
***************
*** 110,119 ****
command am_addr_t AMPacket.destination(message_t* amsg) {
serial_header_t* header = getHeader(amsg);
! return header->addr;
}
command void AMPacket.setDestination(message_t* amsg, am_addr_t addr) {
serial_header_t* header = getHeader(amsg);
! header->addr = addr;
}
--- 110,129 ----
command am_addr_t AMPacket.destination(message_t* amsg) {
serial_header_t* header = getHeader(amsg);
! return header->dest;
}
command void AMPacket.setDestination(message_t* amsg, am_addr_t addr) {
serial_header_t* header = getHeader(amsg);
! header->dest = addr;
! }
!
! command am_addr_t AMPacket.source(message_t* amsg) {
! serial_header_t* header = getHeader(amsg);
! return header->src;
! }
!
! command void AMPacket.setSource(message_t* amsg, am_addr_t addr) {
! serial_header_t* header = getHeader(amsg);
! header->src = addr;
}
Index: TossimActiveMessageP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/tossim/TossimActiveMessageP.nc,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -C2 -d -r1.1.2.9 -r1.1.2.10
*** TossimActiveMessageP.nc 4 Aug 2006 01:41:15 -0000 1.1.2.9
--- TossimActiveMessageP.nc 8 Sep 2006 17:48:06 -0000 1.1.2.10
***************
*** 61,64 ****
--- 61,65 ----
message_t* amsg,
uint8_t len) {
+ error_t err;
tossim_header_t* header = getHeader(amsg);
header->type = id;
***************
*** 66,70 ****
header->src = call AMPacket.address();
header->length = len;
! return call Model.send((int)addr, amsg, len + sizeof(tossim_header_t));
}
--- 67,72 ----
header->src = call AMPacket.address();
header->length = len;
! err = call Model.send((int)addr, amsg, len + sizeof(tossim_header_t));
! return err;
}
***************
*** 106,110 ****
uint8_t len;
void* payload;
!
memcpy(bufferPointer, msg, sizeof(message_t));
payload = call Packet.getPayload(bufferPointer, &len);
--- 108,112 ----
uint8_t len;
void* payload;
!
memcpy(bufferPointer, msg, sizeof(message_t));
payload = call Packet.getPayload(bufferPointer, &len);
Index: TossimPacketModelC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/tossim/TossimPacketModelC.nc,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -C2 -d -r1.1.2.6 -r1.1.2.7
*** TossimPacketModelC.nc 5 Jun 2006 16:48:40 -0000 1.1.2.6
--- TossimPacketModelC.nc 8 Sep 2006 17:48:06 -0000 1.1.2.7
***************
*** 65,68 ****
--- 65,69 ----
uint8_t neededFreeSamples;
message_t* sending = NULL;
+ bool transmitting = FALSE;
uint8_t sendingLength = 0;
int destNode;
***************
*** 209,213 ****
delay *= (sim_ticks_per_sec() / sim_csma_symbols_per_sec());
evt->time += delay;
!
evt->handle = send_transmit;
sim_queue_insert(evt);
--- 210,214 ----
delay *= (sim_ticks_per_sec() / sim_csma_symbols_per_sec());
evt->time += delay;
! transmitting = TRUE;
evt->handle = send_transmit;
sim_queue_insert(evt);
***************
*** 267,270 ****
--- 268,272 ----
message_t* rval = sending;
sending = NULL;
+ transmitting = FALSE;
dbg("TossimPacketModelC", "PACKET: Signaling send done at %llu.\n", sim_time());
signal Packet.sendDone(rval, SUCCESS);
***************
*** 272,276 ****
event void GainRadioModel.receive(message_t* msg) {
! if (running) {
signal Packet.receive(msg);
}
--- 274,278 ----
event void GainRadioModel.receive(message_t* msg) {
! if (running && !transmitting) {
signal Packet.receive(msg);
}
Index: UscGainInterferenceModelC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/tossim/UscGainInterferenceModelC.nc,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -C2 -d -r1.1.2.9 -r1.1.2.10
*** UscGainInterferenceModelC.nc 5 Jun 2006 16:48:40 -0000 1.1.2.9
--- UscGainInterferenceModelC.nc 8 Sep 2006 17:48:06 -0000 1.1.2.10
***************
*** 141,145 ****
if (list != mine) {
if ((list->power - sim_gain_sensitivity()) < heardSignal()) {
! dbg("Gain", "Lost packet from %i as power %lf was too low\n", list->source, list->power);
list->lost = 1;
}
--- 141,145 ----
if (list != mine) {
if ((list->power - sim_gain_sensitivity()) < heardSignal()) {
! dbg("Gain", "Lost packet from %i as I concurrently received a packet stronger than %lf\n", list->source, list->power);
list->lost = 1;
}
***************
*** 158,162 ****
if ((mine->power - sim_gain_sensitivity()) < heardSignal()) {
! dbg("Gain", "Lost packet as power %lf was too low\n", mine->power);
mine->lost = 1;
}
--- 158,162 ----
if ((mine->power - sim_gain_sensitivity()) < heardSignal()) {
! dbg("Gain", "Lost packet from %i as its power %lf was below sensitivity threshold\n", mine->source, mine->power);
mine->lost = 1;
}
***************
*** 191,194 ****
--- 191,195 ----
void enqueue_receive_event(int source, sim_time_t endTime, message_t* msg, bool receive, double power) {
sim_event_t* evt;
+ receive_message_t* list;
receive_message_t* rcv = allocate_receive_message();
double sigStr = heardSignal();
***************
*** 209,225 ****
rcv->lost = 1;
}
! else {
! if ((sigStr + sim_gain_sensitivity()) >= power) {
! dbg("Gain", "Lost packet from %i due to power being too low (%f >= %f)\n", source, sigStr, power);
! rcv->lost = 1;
! }
! else if (receiving) {
! dbg("Gain", "Lost packet from %i due to being in the midst of a reception.\n", source);
! rcv->lost = 1;
! }
! if (power >= sim_gain_noise_mean(sim_node()) + sim_gain_noise_range(sim_node())) {
! receiving = 1;
}
}
rcv->next = outstandingReceptionHead;
--- 210,234 ----
rcv->lost = 1;
}
! else if ((sigStr + sim_gain_sensitivity()) >= power) {
! dbg("Gain", "Lost packet from %i due to power being below reception threshold (%f >= %f)\n", source, sigStr, power);
! rcv->lost = 1;
! }
! else if (receiving) {
! dbg("Gain", "Lost packet from %i due to being in the midst of a reception.\n", source);
! rcv->lost = 1;
! }
! else { // We are on, are not receiving a packet, and the packet is above the noise floor
! receiving = 1;
! }
!
! list = outstandingReceptionHead;
! while (list != NULL) {
! if ((list->power - sim_gain_sensitivity()) < power) {
! dbg("Gain", "Lost packet from %i as I concurrently received a packet from %i stronger than %lf\n", list->source, source, list->power);
! list->lost = 1;
}
+ list = list->next;
}
+
rcv->next = outstandingReceptionHead;
- Previous message: [Tinyos-2-commits]
CVS: tinyos-2.x/tos/lib/tossim TOSSIM.py, 1.1.2.8,
1.1.2.9 tossim.c, 1.1.2.10, 1.1.2.11 tossim.h, 1.1.2.9,
1.1.2.10 tossim.i, 1.1.2.7, 1.1.2.8 tossim_wrap.cxx, 1.1.2.8,
1.1.2.9
- Next message: [Tinyos-2-commits] CVS: tinyos-2.x/apps/MultihopOscilloscope
Makefile, 1.1.2.1, 1.1.2.2 MultihopOscilloscopeAppC.nc,
1.1.2.1, 1.1.2.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-2-commits
mailing list