[Tinyos-help] Re: question on simple_transmit from Rfm_model.c
Liu Haibin
liu.haibin at gmail.com
Mon Jun 5 23:51:14 PDT 2006
But according to tossim document, the "simple" radio model places all nodes
in a single cell and every bit transmitted is received without error. So it
should not have any hidden station problem.
The thing is every time node is transmitting 0s, it is considered not
transmitting. That's the part that I don't understand. I'm afraid that it
has nothing to do with hidden station problem.
Regards,
Haibin
On 6/5/06, Aditya Bhave <abhave at hotmail.com> wrote:
>
> Any wireless xommunication has two problems associated with it
>
> 1. HIdden Station problem
>
> 2. Exposed Station problem.
>
> You may want to google these terms to see what they mean. Essentially it
> means that it is not always possible to detect whether a channel is "really"
> idle or not. Thats why CSMA (used by tinyos) will not always work correctly.
> Newer versions of tinyos implemet the B-MAC and S-MAC protocol which
> supposedly solves these problems. If youre using older versionsof tinyos (<
> 2.0), you will have to figure out how to tackle these problems on your own
> at the application level. In my project, i used redundancy i.e every
> packet was sent 3 times at 500 ms intervals with the hope that at least one
> of these packet reaches the destination correctly. It worked for me.
>
>
>
>
>
>
>
> regards,
> Aditya Bhave
>
> ------------------------------
> From: *"Liu Haibin" <liu.haibin at gmail.com>*
> To: *tinyos-help at Millennium.Berkeley.EDU*
> Subject: *[Tinyos-help] Re: question on simple_transmit from Rfm_model.c*
> Date: *Mon, 5 Jun 2006 18:04:10 +0800*
>
>
>
> For example, let's say we have 2 motes. Mote 0 is transmitting 0s all the
> time, so transmitting[5] = 0, radio_active[0] = 0, and radio_active[1] = 0.
>
> While mote 0 is transmitting 0s, the TOSH_rfm_rx_bit() in
> TOS_SIGNAL_HANDLER(SIG_OUTPUT_COMPARE2B, ()) of mote 1 is called. And
> because radio_active[1] == 0, TOSH_rfm_rx_bit() returns 0. After 12 bits, it
> signal
> ChannelMon.idleDetect() to show the channel is free. But actually mote 0
> is using the channel and transmitting 0s.
>
> Why is it so? Any help is appreciated.
>
>
> Regards,
> Haibin
>
>
>
>
>
> On 6/2/06, Liu Haibin <liu.haibin at gmail.com> wrote:
> >
> > Hi,
> >
> > I have a question about the following code from Rfm_model.c. The
> > parameter bit can be 1 or 0. When simple_trasmit is transmitting bit 1,
> > transmitting[modeID] is set to 1, meaning it's transmitting. However, when
> > simple_transmit is transmitting bit 0, transmitting[modeID] is set to 0,
> > meaning it's not transmitting (actually it's transmitting bit 0). Why is it
> > so? I must have the concept wrong. Could any help me on this?
> >
> >
> > void simple_transmit(int moteID, char bit) {
> > int i;
> >
> > transmitting[moteID] = bit;
> > for (i = 0; i < tos_state.num_nodes; i++) {
> > radio_active[i] += bit;
> > }
> > }
> >
> >
> > Regards,
> > Haibin
> >
>
>
> >_______________________________________________
> >Tinyos-help mailing list
> >Tinyos-help at Millennium.Berkeley.EDU
> >https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20060606/ba09d4d6/attachment.htm
More information about the Tinyos-help
mailing list