Hi, Phil. Thanks for your reply. I agree with what you said.
-- Within TossimActiveMessageC I did change the previous call of Model.send to: err = call Model.send((int)addr, amsg, len + sizeof(tossim_header_t) + sizeof(tossim_footer_t)); -- Regarding to TossimPacketModelC, I deleted the "+ sim_packet_header_length()": duration = 8 * (sendingLength); // where sendingLength is actually (len + header + footer) Still, I don't think this has any impact on simulation since the whole message_t is passed whether you include footer's length or not. For the double-count of header, the only result is that a message would take longer to be transmitted. Kind regards, Pedro Nunes On Tue, Jun 1, 2010 at 1:11 AM, Philip Levis <[email protected]> wrote: > > On May 30, 2010, at 9:07 AM, Pedro Nunes wrote: > > > Hello all. > > > > I'm using TOSSIM under TinyOS 2.1.1 and I would like to ask you all two > questions: > > > > ### First > > > > I noticed that inside TossimActiveMessageC.nc in command AMSend.send we > can find this piece of code: > > > > "err = call Model.send((int)addr, amsg, len + sizeof(tossim_header_t));" > > > > But the documentation on this function (command error_t send(int node, > message_t* msg, uint8_t len)) says that this command sends a packet with a > data payload of length "len". > > Therefore, I found it a little awkward that we're adding the size of the > header since the command only requests the length of the DATA PAYLOAD. > > A header at layer N is a payload at layer N-1. To the link layer, the > TOSSIM header is a header; to the physical layer (which Model represents), > it's payload. > > > > I proceed to the next call on the next component (TossimPacketModelC). > Within this component, it will be created an event to fulfill our request of > sending a message and that event will be inserted on a queue. Later, the > event will eventually be popped from that queue and the operation of sending > the message will take place, calling the "send_transmit(sim_event_t* evt)" > function. Inside that function we can find the following line: > > > > "duration = 8 * (sendingLength + sim_packet_header_length());" being > sendingLength the len parameter previously defined inside AMSend.send. > > > > My question is: why are we adding the length of the header again? This > way, the header's length will be added twice! And why isn't the footer being > added too? > > Those both look like bugs. The footer should be included in the Model.send > call, though. > > Phil > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
