On Aug 2, 2007, at 6:39 AM, Mathieu DAVID wrote:

Hi,
We wanted to know about the procedure to change the *CCA threshold* using tinyOS. We are trying to simulate the scenario from the tutorials in chapter 11. However, the nodes were established, but we could not see the packets received. We attribute this to the default value of CCA if -110dbm. Is this correct? And if so, how does one alter the CCA threshold to facilitate packet transfer?

We are actually facing the problem described in the tutorial with this output:

1 2 -54.0
2 1 -55.0
1 3 -60.0
3 1 -60.0
2 3 -64.0
3 2 -64.0
DEBUG (1): Application booted.
DEBUG (1): Application booted again.
DEBUG (1): Application booted a third time.
DEBUG (2): Application booted.
DEBUG (2): Application booted again.
DEBUG (2): Application booted a third time.
DEBUG (3): Application booted.
DEBUG (3): Application booted again.
DEBUG (3): Application booted a third time.
DEBUG (1): RadioCountToLedsC: timer fired, counter is 1.
DEBUG (1): RadioCountToLedsC: packet sent.
DEBUG (2): RadioCountToLedsC: timer fired, counter is 1.
DEBUG (2): RadioCountToLedsC: packet sent.
DEBUG (3): RadioCountToLedsC: timer fired, counter is 1.
DEBUG (3): RadioCountToLedsC: packet sent.
DEBUG (1): RadioCountToLedsC: timer fired, counter is 2.
DEBUG (2): RadioCountToLedsC: timer fired, counter is 2.
DEBUG (3): RadioCountToLedsC: timer fired, counter is 2.

In the tutorial, some commands are given to modify the parameters of the radio channel :

/>>> from TOSSIM import *
t = Tossim([])
r = t.radio()
dir(r)
['__class__', '__del__', '__delattr__', '__dict__', '__doc__',
'__getattr__', '__getattribute__', '__hash__', '__init__',
'__module__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__setattr__', '__str__', '__swig_getmethods__',
'__swig_setmethods__', '__weakref__', 'add', 'connected',
'gain', 'remove', 'setNoise', 'this', 'thisown',
]
       /

/The first set of methods (with the double underscores) are ones that you usually don't call. The important ones are at the end. They are:/

   * /*|add(src, dest, gain)|*: Add a link from //src to //dest with
     //gain. When //src transmits, //dest will receive a packet
     attenuated by the //gain value. /
   * /*|connected(src, dest)|*: Return whether there is a link from
     //src to //dest. /
* /*|gain(src, dest)|*: Return the gain value of the link from // src
     to //dest. /
   * /*|threshold()|*: Return the CCA threshold. /
   * /*|setThreshold(val)|*: Set the CCA threshold value in dBm. The
     default is -72dbM./


*But the fact is, None of the two last command exists !! *How can we solve this issue??

What version are you referring to? For 2.0.1 and 2.0.2, it looks like the tutorial is out of sync with the code. I removed those two calls because the CCA threshold is often something the node itself can adjust. A node can current adjust it by calling GainRadioModel.setClearValue(). Note that this call is simulator specific. The hope was that future radio models might incorporate chip-specific interfaces (e.g., setting the CCA with a CC2420 control interface) and map them to this underlying call.

Phil


_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to