RE: [Tinyos-help] Question
Hi, How is it possible to increase the task queue on TinyOS1.x (micaz motes)? which files and where do i have to modify? thanks for your availability cheers Daniele -Original Message- From: Aaron Ault [mailto:[EMAIL PROTECTED] Sent: Mon 7/31/2006 9:00 PM To: [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Question I've had problems like that when the task queue overflows. The default size is 8, you might want to increase it to 32 or so. Aaron On Mon, 2006-07-31 at 13:38 -0400, [EMAIL PROTECTED] wrote: Hello, I have a question regarding a message transmission problem that I encounter. I run a TinyOS application with 200 nodes, with the following configuration file: configuration test_filter { } implementation { components Main, test_filterM, SingleTimer, LedsC, PotC, GenericComm as Comm, RandomLFSR; Main.StdControl - SingleTimer.StdControl; Main.StdControl - test_filterM.StdControl; test_filterM.Timer - SingleTimer.Timer; test_filterM.Leds - LedsC; test_filterM.CommControl - Comm; test_filterM.SendMsg - Comm.SendMsg[1]; test_filterM.ReceiveMsg - Comm.ReceiveMsg[1]; test_filterM.Random - RandomLFSR; } A am building a routing tree over those nodes, using a sparse bit error graph (about 10 neighbors have 0 bit-errors, and the rest have 0.5) and the problem is that after multiple message broadcasts, well into the process, I encounter a case where a node repeatedly transmits a message (using call SendMsg.send) and its intended recipient does not register it (using event ReceiveMsg.receive). There are no other nodes that transmit at this time, just node A which tries to send a message to node B, which is targeted specifically to B (not a broadcast). The bit error between them is 0, and yet node B does not register the message. B has previously received messages from A before the current attempt on A's behalf. Source code and status logs can be provided on request. Why does this situation arise? Is it possible that there is some kind of overflow of internal message queues? Is it because of the methods use to send and receive? Can you suggest an alternative? Svilen Mihaylov - End forwarded message - ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] questions on timer interval
all, I wonder if the microsecond-level timer can be supported in tos? 3x sz -- 我现在使用Sogou.com的2G邮箱了,你也来试试吧! http://mail.sogou.com/recommend/sogoumail_invite_reg1.jsp?from=sogouinvitations_EMAIL=zkes1000%40sogou.comusername=tinyos-helpFullName=tinyos-helpEmail=tinyos-help%40Millennium.Berkeley.eduverify=745c577f6671680977e9a9ded9aaf819 ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Question
Daniele: you'd try including the CFLAGS += -DTOSH_MAX_TASKS_LOG2=8 line in the App Makefile, to increase the size of the task queue to 256. regards, Claro. On 01/08/06, Munaretto, Daniel [EMAIL PROTECTED] wrote: Hi,How is it possible to increase the task queue on TinyOS1.x (micaz motes)?which files and where do i have to modify? thanks for your availabilitycheersDaniele -Original Message- From: Aaron Ault [mailto:[EMAIL PROTECTED]] Sent: Mon 7/31/2006 9:00 PM To: [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Question I've had problems like that when the task queue overflows.The default size is 8, you might want to increase it to 32 or so. Aaron On Mon, 2006-07-31 at 13:38 -0400, [EMAIL PROTECTED] wrote: Hello, I have a question regarding a message transmission problem that I encounter. I run a TinyOS application with 200 nodes, with the following configuration file: configuration test_filter { } implementation { components Main, test_filterM, SingleTimer, LedsC, PotC, GenericComm as Comm, RandomLFSR; Main.StdControl - SingleTimer.StdControl; Main.StdControl - test_filterM.StdControl; test_filterM.Timer - SingleTimer.Timer; test_filterM.Leds - LedsC; test_filterM.CommControl - Comm; test_filterM.SendMsg - Comm.SendMsg[1]; test_filterM.ReceiveMsg - Comm.ReceiveMsg[1]; test_filterM.Random - RandomLFSR; } A am building a routing tree over those nodes, using a sparse bit error graph (about 10 neighbors have 0 bit-errors, and the rest have 0.5) and the problem is that after multiple message broadcasts, well into the process, I encounter a case where a node repeatedly transmits a message (using call SendMsg.send) and its intended recipient does not register it (using event ReceiveMsg.receive). There are no other nodes that transmit at this time, just node A which tries to send a message to node B, which is targeted specifically to B (not a broadcast). The bit error between them is 0, and yet node B does not register the message. B has previously received messages from A before the current attempt on A's behalf. Source code and status logs can be provided on request. Why does this situation arise? Is it possible that there is some kind of overflow of internal message queues? Is it because of the methods use to send and receive? Can you suggest an alternative? Svilen Mihaylov - End forwarded message -___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help___Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDUhttps://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: Re: [Tinyos-help] set distance between motes in tinyviz
Thanks Darren,The real thing I want to do is to limit the radio range to some nodes.I am simulating around 50 nodes and want to form a tree using them. The problem here is that the root (mote 0) broadcast and allocates the even furthest node (consider nodes are placed in a grid fashion)as its child. So I want to limit the radio range to a certain known distance so as to form the next level of the tree. As you said I can use the RadioModel plugin but how do I set the distance so that I can actually get the relation between the radio range and distance parameters.In other other words, set a numerical distance between two nodes to get the numerical radio range. I hope thats not too confusing.Thanks,Nilay ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] (no subject)
I'm trying to use the events under tinyDB but I've got some problems. 1 - If I write the following query, as in the TinyDB reference, On evtTest: SELECT nodeid,light SAMPLE PERIOD 1024 the GUI always tell errorMsg = Syntax error at on. What is the problem? 2 - I modified the TinyDBApp in nesC as following, including the code of /tinyos-1.x/tos/lib/TinyDB/TinyDBEvent.nc: includes CompileDefines; configuration TinyDBApp { provides interface EventUse; provides interface StdControl; } implementation { components Main, TupleRouter, Event, TinyDBEventM; Main.StdControl - TupleRouter; EventUse = Event.EventUse; Event.StdControl = StdControl; TinyDBEventM.StdControl = StdControl; TinyDBEventM.EventRegister - Event; } Does it is correct? 3 -I spent time to undurstand the way to use the tinyos-1.x/tos/lib/TinyDB/TinyDBEvent.nc in the TinyDBApp.nc without copy the code directly inside, but using the nesC syntax. Unfortunately I can't undestand exactly how I shuold do. What is the correct way to do? In general what is the right way to use components which are already made? 4- Also if i click the button Fire test Event on the Mote Commands windows, I have the following exeption: /opt/tinyos-1.x/tools/java# java net.tinyos.tinydb.TinyDBMain -sim Catalog file in use: net/tinyos/tinydb/catalog.xml Creating PhoenixSource with tossim-serial Opening tossim-serial source Connecting to Tossim event port at localhost:10585 Connection opened to TOSSIM event port Connecting to Tossim command port at localhost:10584 Connection opened to Tossim command port null Error sending message. java.lang.NullPointerException at net.tinyos.message.Sender.send(Sender.java:106) at net.tinyos.message.MoteIF.send(MoteIF.java:202) at net.tinyos.tinydb.CmdFrame.sendMsg(CmdFrame.java:234) at net.tinyos.tinydb.CmdFrame$9.actionPerformed(CmdFrame.java:196) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1815) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto n.java:1868) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4 49) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:287) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener .java:274) at java.awt.Component.processMouseEvent(Component.java:5196) at java.awt.Component.processEvent(Component.java:4993) at java.awt.Container.processEvent(Container.java:1607) at java.awt.Component.dispatchEventImpl(Component.java:3712) at java.awt.Container.dispatchEventImpl(Container.java:1665) at java.awt.Component.dispatchEvent(Component.java:3574) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3521) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3236) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3166) at java.awt.Container.dispatchEventImpl(Container.java:1651) at java.awt.Window.dispatchEventImpl(Window.java:1653) at java.awt.Component.dispatchEvent(Component.java:3574) at java.awt.EventQueue.dispatchEvent(EventQueue.java:536) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:237) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :187) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:181) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:173) at java.awt.EventDispatchThread.run(EventDispatchThread.java:136) So I can't undestand what this exception is due? Anyone could help me? Roberto Pietrangeli - EDALab - Networked Embedded Systems C.S. Dept - University of Verona - IT - email: [EMAIL PROTECTED] tel. : +39 045 802 70 62 fax : +39 045 802 70 68 web: www.edalab.net ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] tinyDB Topology
If i click over the Display topology in TinyDB GUI the windows doesn't draw anything and moreover an exception is throws: /opt/tinyos-1.x/tools/java# java net.tinyos.tinydb.TinyDBMain -sim Catalog file in use: net/tinyos/tinydb/catalog.xml Creating PhoenixSource with tossim-serial Opening tossim-serial source Connecting to Tossim event port at localhost:10585 Connection opened to TOSSIM event port Connecting to Tossim command port at localhost:10584 Connection opened to Tossim command port Topology Query: select nodeid, parent, light, temp, voltage epoch duration 2048 java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java(Compiled Code)) at java.lang.Integer.init(Integer.java:633) at net.tinyos.tinydb.topology.Packet.Packet.getNodeId(Packet.java:57) at net.tinyos.tinydb.topology.MainClass.addResult(MainClass.java:118) at net.tinyos.tinydb.TinyDBNetwork.messageReceived(TinyDBNetwork.java:216) at net.tinyos.message.Receiver.packetReceived(Receiver.java:218) at net.tinyos.packet.PhoenixSource.dispatch(PhoenixSource.java:160) at net.tinyos.packet.PhoenixSource.packetDipatchLoop(PhoenixSource.java:152) at net.tinyos.packet.PhoenixSource.run(PhoenixSource.java:169) Is there anybody which cuold help me and explain why I've got this singular behavior? Roberto Pietrangeli - EDALab - Networked Embedded Systems C.S. Dept - University of Verona - IT - email: [EMAIL PROTECTED] tel. : +39 045 802 70 62 fax : +39 045 802 70 68 web: www.edalab.net ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] HowTo use Acknowledge
Hi Ale, On telosb there is the CC2420Control interface which you can use to switch on acknowledgments; this is not synonymous to reliable communication, but it gives you a primitive to implement such. I am told it depends on the version of your hardware whether it is on by default. I do not know for sure, but I would assume the Micaz worked the same way. Best regards, Darren Ale wrote: Hi, Micaz and telos have implemented reliable communication? If yes, is there an (example) application that use the acknowledge, or tutorial that explain how to use it? Otherwise, how could I allow reliable communication? I thought to use TDM so that only mote at once can transimit. Thanks in advance ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: Re: Re: [Tinyos-help] set distance between motes in tinyviz
Hey Nilay, In TinyViz goto the 'Plugins' menu and enable the 'Radio model' plugin. Select the corresponding control panel (on the right) and choose the radio range e.g. 'Fixed radius (10.0)'. You can then scale this by setting the 'Distance scaling factor'; I believe you must use the reciprocal of the factor by which you wish to scale. Hope this helps. Darren Nilay Chheda wrote: Thanks Darren, The real thing I want to do is to limit the radio range to some nodes. I am simulating around 50 nodes and want to form a tree using them. The problem here is that the root (mote 0) broadcast and allocates the even furthest node (consider nodes are placed in a grid fashion)as its child. So I want to limit the radio range to a certain known distance so as to form the next level of the tree. As you said I can use the RadioModel plugin but how do I set the distance so that I can actually get the relation between the radio range and distance parameters. In other other words, set a numerical distance between two nodes to get the numerical radio range. I hope thats not too confusing. Thanks, Nilay ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x
Hi Michael, The problem is that we need more memory for our project. Even if FLASH memory is slow, i think we need to use all possibilties that micaz mote gives to us. Is it possible to use it for writing data? (i know that for ADC readings it is used, and just to remember we use tinyos 1.x and micaz motes, Atmel ATMEGA128) if yes, how?and how much? and what about relative energy consumption and time requested? it would be really useful...any informations will be really appreciated! Because we can think to solve this memory problem by using RAM and FLASH together: sometimes, when we receive packets for bufferizing, we can move this buffer from RAM to FLASH memory temporary or viceversa, i don't know exactly how i should manage this situation. But what i mean is something similar to PC hard-disk cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Mon 7/31/2006 9:12 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x As far as I know all of the 4k of RAM is available for use, so you should have about 2.5k for your buffer allocs. Maybe you can put in an allocation size detector for your simulation so you can see where it (is assumed to) overflow? Or log all the alloc/frees and match them up... MS Munaretto, Daniel wrote: Thanks for your answer, in my program i allocate memory to create in each mote a buffer-chain (i use structures that allocate memory dynamically). But i don't know exactly how much dynamic memory i can use in Micaz motes. For example, if after compiling i use 1419 bytes in RAM and 19748 bytes in ROM, is the rest used for dynamic allocation? i don't understand this passage about exactly how much memory i can use dynamically..for me understanding would be really important. Thanks for your availability, Cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Fri 7/28/2006 7:12 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x Well there's 128K of PROM and 4K of RAM in the ATMEGA 128 and I believe it is all available. At the end of the TOS compile you get a line that says how much your program is using. If you are not doing any kind of dynamic allocation this should be the maximum used. Perhaps you have a pointer or something that is running amuck in a way that you don't see in simulation. I think using FLASH is rather slow and the number of MTBF cycles is not conducive to temporary storage. MS Munaretto, Daniel wrote: I did other experiments and i found that, with little data size, the nodes are able to send and receive all packets they generate. So it's definitely a memory problem. But i think not to use so much memory and i free, when i can, the used structures. Remember i need a buffer chain in each node cause i store incoming packets and then i create new coded packets from these buffers. Now my question is: with Micaz motes, tinyos 1.x, how much memory in ROM and RAM can i use? and is it possible to use the FLASH memory?if yes how?and what's the size of it? If possible, i'd like to receive very precise informations for understanding my problem in the best way. Thanks very much for your availability cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Thu 7/27/2006 9:25 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x Sounds like your buffering scheme is overflowing and crashing the mote. One clue is that I seem to see a lot of length 5 buffer pools in TOS... You might want to double check that you are freeing buffers after use. MS Munaretto, Daniel wrote: Hi all, after a
RE: [Tinyos-help] Question
I changed the makefile with that line, but results remain the same. I notice in the simulator some lost packets ,when nodes are transmitting close to each other. i tried to avoid this by using random timers before sending, but sometimes there are still lost packets. Now i think the reason is not the queue size, but collisions in general..hidden terminal problem and so on.. any suggestions? they will be really appreciated cheers Daniele -Original Message- From: Claro Noda [mailto:[EMAIL PROTECTED] Sent: Tue 8/1/2006 9:44 AM To: Munaretto, Daniel Cc: Subject: Re: [Tinyos-help] Question you should, indeed, edit the makefile in your app folder. C. On 01/08/06, Munaretto, Daniel [EMAIL PROTECTED] wrote: I haven't this line in MakeXbowlocal under /contrib/xbow/apps nor in Makefile under my application folder... Do i have to add your line in which of these? -Original Message- From: Claro Noda [mailto:[EMAIL PROTECTED] Sent: Tue 8/1/2006 9:11 AM To: tinyos-help@Millennium.Berkeley.EDU Cc: Subject: Re: [Tinyos-help] Question Daniele: you'd try including the CFLAGS += -DTOSH_MAX_TASKS_LOG2=8 line in the App Makefile, to increase the size of the task queue to 256. regards, Claro. On 01/08/06, Munaretto, Daniel [EMAIL PROTECTED] wrote: Hi, How is it possible to increase the task queue on TinyOS1.x (micaz motes)? which files and where do i have to modify? thanks for your availability cheers Daniele -Original Message- From: Aaron Ault [mailto:[EMAIL PROTECTED] Sent: Mon 7/31/2006 9:00 PM To: [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Question I've had problems like that when the task queue overflows. The default size is 8, you might want to increase it to 32 or so. Aaron On Mon, 2006-07-31 at 13:38 -0400, [EMAIL PROTECTED] wrote: Hello, I have a question regarding a message transmission problem that I encounter. I run a TinyOS application with 200 nodes, with the following configuration file: configuration test_filter { } implementation { components Main, test_filterM, SingleTimer, LedsC, PotC, GenericComm as Comm, RandomLFSR; Main.StdControl - SingleTimer.StdControl; Main.StdControl - test_filterM.StdControl; test_filterM.Timer - SingleTimer.Timer; test_filterM.Leds - LedsC; test_filterM.CommControl - Comm; test_filterM.SendMsg - Comm.SendMsg[1]; test_filterM.ReceiveMsg - Comm.ReceiveMsg[1]; test_filterM.Random - RandomLFSR; } A am building a routing tree over those nodes, using a sparse bit error graph (about 10 neighbors have 0 bit-errors, and the rest have 0.5) and the problem is that after multiple message broadcasts, well into the process, I encounter a
[Tinyos-help] TimerC module in Blink application
Hi to all, I've recently started on TinyOS. I want help about Timer module. When I use TimerC instead of SingleTimer in Blink application, it fails. It happened in UART application, but we encountered this problem using SingleTimer. Now I am working on CnttoLedsandRFM application but it doesn't work. I think problem is in Timer Module. I am using XP and Telosb platform. I am waiting for your help. Thanks. Fırat TARAKTAŞ ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Re:
I wasn't able to fix it. The problem still exists. What I did instead was, I copied the platform specs from a colleague's pc and saved it in the tinyos-1.x/tos/ folder. I also copied his entire Cricket folder and saved it in mine (all of this with tinyos-1.1.0 in case you were wondering). Works fine. No errors, no complaints. I also installed the latest version (1.1.11-3is upgraded to 1.1.15) on a different PC, but had to hack it quite a bit to get it working. Once again, I ended up copying my tinyos-1.x/tos folder into the new PC. Works reasonably, only that ever so often, there is a perl error or some garbage at the end of the uisp's execution. I'd suggest getting the latest version of tinyos-1.x If that's not what you want, then I could zip the folders over to you and you could give it a shot. Sankar. On Tue, 01 Aug 2006 05:13:25 -0500, [EMAIL PROTECTED] wrote: Hi Sankar, I have the same problem that you posted on July. I find it at: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/2006-July/017800.html Have you fixed the problem? Now I have upgraded to TinyOS 1.1.15 but it doesn't programm the mote. When I try to install the application it stops. The only version that works is TinyOS 1.1.7. Have you any ideas? Thanks. Roberto. -- No opera plot can be sensible, for people do not sing when they are feeling sensible. - W. H. Auden ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] Maximum datarate on CC1000 radio
Title: Message I can't tell you what the throughput would be for a multihop network because it would depend on a number of factors, but for a singlehop network of mica2's with no loss you can expect 1926 bytes/sec using the original CC1000 radio stack. If node 2 in your network is constantly sending out messages, I would expect node 1 to have to receive and then transmit the forwarded message, which would probably result in less than half the throughput compared to a singlehop setup. A new CC1000 radio stack (back-ported from TinyOS 2.x)is available in the TinyOS 1.x CVS under /contrib/rincon/tos/lib/CC1000. This stack is21% fastereven at the same baud rate- 2324 bytes/sec. I didn't include any time sync interfaces in it, but it works great on my multihop networks.It should drop in place of anyone's current stack so long as they include the correct directories at compile time. -David -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of venkatesh sSent: Monday, July 31, 2006 8:06 PMTo: tinyos-help@Millennium.Berkeley.EDUSubject: [Tinyos-help] Maximum datarate on CC1000 radio Hi all, I am working on packet loss and delay measurements. The fact is i need to do this on multi-hop, for which i need to fix the datarates. It seems that when the application is sending 300 packets/minute, out of which i get around 5.2% loss. The node nearer tothe base station has 0% loss. My network chosen was.. 0 1---2The measurements were done on mica2 mote. Also i observed that as the number of motes increased in the range, losses also increased.. Anyone who know the cause or what might be the dataratefor whichthere will be no loss, please let me know.. Thanking you, venkatesh.S ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Re: [Question] about task in book TinyOS Programming
On Jul 31, 2006, at 9:16 AM, Hui KANG wrote: Dr. Levis: There is some question I still can not understand fully. 2: Second, to prove there exists a call loop, you modify Read.readDone as in pp 32. Herein, it calls Read.read() in Read.readDone(). I agree that in this example call loop occurs. So the modified code in pp 33 post task void readDoneTask() to avoid the call loop. Two problems in this code example: (a) In this example, RawRead.readDone (should it be Read.readDone () ) actually does not call Read.read(). If the answer to 1 is yes, then it seems no improvement by using task. Both have the same effect. The the code example in pp 33 is not suitable to show the benefit of Task. Take a look at the code on page 34. The question is not whether the provider of Read calls Read.read in Read.readDone, but whether the *user* does. Please look at listing 4.12, entitled Signal handler that can lead to an infinite loop. Yes, but in the code example in Listing 4.15( An improved implementation of PeriodicReaderC ), the PeriodicReaderC is the user of Read. It does not call Read.read(). So even we don't use task, call loop will not occur. So it is not suitable to show the benefit of task. I think you're confused about the call pattern being described. The issue is this: component A { uses Read; } component B { provides Read; } If component A does this: event void Read.readDone() { call Read.read(); } and component B does this: command void Read.read() { signal Read.readDone(); } then you will get an infinite loop, because there is a recursive call chain: B.Read.read signals A.Read.readDone calls B.Read.read signals A.Read.readDone calls B.Read.read signals ... This happens because of the details of how PeriodicReaderC is sampling its sensor and generating a filtered value. The way to make sure this does not happen is to break the recursion: B.Read.read posts B.readDoneTask returns B.readDoneTask signals A.Read.readDone calls B.Read.read posts B.readDoneTask returns B.readDoneTask signals... I know that task can not preempt each other. Then can Read.read(), or other sync commands and events preempt to any task? Read is sync, so Read runs in a task. Tasks cannot preempt one another. Therefore Read.read cannot preempt another task. Phil ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Maximum datarate on CC1000 radio
On Jul 31, 2006, at 8:06 PM, venkatesh s wrote: Hi all, I am working on packet loss and delay measurements. The fact is i need to do this on multi-hop, for which i need to fix the datarates. It seems that when the application is sending 300 packets/minute, out of which i get around 5.2% loss. The node nearer to the base station has 0% loss. My network chosen was.. 0 1---2 The measurements were done on mica2 mote. Also i observed that as the number of motes increased in the range, losses also increased.. Anyone who know the cause or what might be the datarate for which there will be no loss, please let me know.. There is no data rate or distance for which there is no loss in all environments. The cause is the signal-to-noise ratio. If noise doesn't vary much over space, then increasing distance decreases the signal strength, and lowers the SNR. When SNR gets low enough, you start losing packets. In practice, noise is highly variable, as you can have all kinds of interferers. E.g., 802.11 interferes with much of the 802.15.4 spectrum. So if you send a packet on 802.15.4 channel 11 while an 802.11 node sends a packet on 802.11 channel 1, you might very well lose the packet. Phil ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] TinyOS 2.0 and IEEE 802.15.4 compliant motes
On Jul 31, 2006, at 3:34 AM, Mikael Ifversen wrote: Hi all, I want to work exclusively with TinyOS 2.0 and IEEE 802.15.4 compliant motes since that seems to be the two standards which are attracting a lot of focus. I am new to TinyOS / embedded programming and therefore need as much working demo application code and tutorial code as possible to get started. 1. What platform from the official TinyOS 2.0 list seems best suited for that task and how many motes is deemed necessary (or recommended), in order to exemplify the various demo apps? It should be possible for the motes in question to implement RFID tags. The current demo apps in 2.0 are very simple, as it is still in beta stages. The most complex is MultihopOscilloscope, which displays sensor readings from a collection tree. Currently 2.x supports these platforms: mica2 mica2dot micaZ TelosB/TMote eyes tinynode It also supports the btnode3 platform, but the btnode3 developers have for the past few months been busy with some other projects, so it might be a little rough around the edges. The goal is that it will be polished for the 2.0 release. 2. Has any work with TinyOS 2.0 and TinyDB been done yet? Not that I know of. Phil ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] HowTo use Acknowledge
c.f.: http://www.etantdonnes.com/Motes/report_mica2/ Ale wrote: Hi, Micaz and telos have implemented reliable communication? If yes, is there an (example) application that use the acknowledge, or tutorial that explain how to use it? Otherwise, how could I allow reliable communication? I thought to use TDM so that only mote at once can transimit. Thanks in advance ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Maximum datarate on CC1000 radio
The backoff on the mica2 doesn't seem to be as reliable as one would like. I have a little bit about it in the ACK/reliability report I just ref'd. You may also have hidden node problems, where packets collide because two transmitters cannot hear each other. MS venkatesh s wrote: Hi all, I am working on packet loss and delay measurements. The fact is i need to do this on multi-hop, for which i need to fix the datarates. It seems that when the application is sending 300 packets/minute, out of which i get around 5.2% loss. The node nearer to the base station has 0% loss. My network chosen was.. 0 1---2 The measurements were done on mica2 mote. Also i observed that as the number of motes increased in the range, losses also increased.. Anyone who know the cause or what might be the datarate for which there will be no loss, please let me know.. Thanking you, venkatesh.S ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x
I haven't used the FLASH so I can't give good advice. David Moss on this list seems to know a lot about it, perhaps he will answer? MS Munaretto, Daniel wrote: Hi Michael, The problem is that we need more memory for our project. Even if FLASH memory is slow, i think we need to use all possibilties that micaz mote gives to us. Is it possible to use it for writing data? (i know that for ADC readings it is used, and just to remember we use tinyos 1.x and micaz motes, Atmel ATMEGA128) if yes, how?and how much? and what about relative energy consumption and time requested? it would be really useful...any informations will be really appreciated! Because we can think to solve this memory problem by using RAM and FLASH together: sometimes, when we receive packets for bufferizing, we can move this buffer from RAM to FLASH memory temporary or viceversa, i don't know exactly how i should manage this situation. But what i mean is something similar to PC hard-disk cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Mon 7/31/2006 9:12 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x As far as I know all of the 4k of RAM is available for use, so you should have about 2.5k for your buffer allocs. Maybe you can put in an allocation size detector for your simulation so you can see where it (is assumed to) overflow? Or log all the alloc/frees and match them up... MS Munaretto, Daniel wrote: Thanks for your answer, in my program i allocate memory to create in each mote a buffer-chain (i use structures that allocate memory dynamically). But i don't know exactly how much dynamic memory i can use in Micaz motes. For example, if after compiling i use 1419 bytes in RAM and 19748 bytes in ROM, is the rest used for dynamic allocation? i don't understand this passage about exactly how much memory i can use dynamically..for me understanding would be really important. Thanks for your availability, Cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Fri 7/28/2006 7:12 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x Well there's 128K of PROM and 4K of RAM in the ATMEGA 128 and I believe it is all available. At the end of the TOS compile you get a line that says how much your program is using. If you are not doing any kind of dynamic allocation this should be the maximum used. Perhaps you have a pointer or something that is running amuck in a way that you don't see in simulation. I think using FLASH is rather slow and the number of MTBF cycles is not conducive to temporary storage. MS Munaretto, Daniel wrote: I did other experiments and i found that, with little data size, the nodes are able to send and receive all packets they generate. So it's definitely a memory problem. But i think not to use so much memory and i free, when i can, the used structures. Remember i need a buffer chain in each node cause i store incoming packets and then i create new coded packets from these buffers. Now my question is: with Micaz motes, tinyos 1.x, how much memory in ROM and RAM can i use? and is it possible to use the FLASH memory?if yes how?and what's the size of it? If possible, i'd like to receive very precise informations for understanding my problem in the best way. Thanks very much for your availability cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Thu 7/27/2006 9:25 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x Sounds like your buffering scheme is overflowing and crashing the mote. One clue is that I seem to see a lot of length 5 buffer pools in TOS... You might want to double check that you are freeing buffers after use. MS Munaretto, Daniel wrote: Hi all, after a lot of simulation in TOSSIM, i uploaded my programs on the motes. By reading the leds, i'm able to understand what happens. If i run on motes a normal flooding, it's all ok. All packets are sent and received. But if i run a more complex
[Tinyos-help] hi
Respected sirI am Mtech student doing mtech project on wireless sensor network.actually i have to interface mica 2 mote with camera.for this i have designed interface board..but i want to know that how i can develope code for interfacing so that i can continue my project..warm regardsNeeraj Sharma Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Question about lost of packets with MultiHop.
Perhaps if you use the QueuedReceive mechanism, you'll not loose as many packets? Or, if you really want to be sure you're getting the packets and you don't want to touch the radio stack, try using the RadioCoordinator interface, which allows you to be notified every time a byte is recieved. - ConorOn 7/25/06, Munaretto, Daniel [EMAIL PROTECTED] wrote: So what you mean is in tinyos-1.x is impossible to bypass this problem, isn'it?Or if there is a solution in 1.x, in my project would be really important, should you explain it?Thanks very much,CheersDaniele-Original Message-From: Philip Levis [mailto: [EMAIL PROTECTED]]Sent: Tue 7/25/2006 7:33 AMTo: José UlloaCc: Tinyos-help@Millennium.Berkeley.EDUSubject: Re: [Tinyos-help] Question about lost of packets with MultiHop. On Jul 24, 2006, at 1:21 PM, José Ulloa wrote: Hi, we are working with a network with six or more hops, and tinyos-1.x. We have detected a lost of packet in a node, after receiving the packet and sending the corresponding ACK. ¿is this posible because the radio had two packet in the RXFIFO in the moment of read? I understand, when tinyos-1.x reads the first packet, the second will be descarted by the call of flushRXFIFO from the CC2420RadioM component. ¿is this really happening? ¿someone knows a solution for this? Yes, this is really happening. It's a fairly nasty issue in the 1.xstack. The TinyOS 2.0 stack doesn't have this issue; it keeps trackof packets in the FIFO and spools them out one by one. If a packet can't fit in the FIFO, then the radio doesn't acknowledge it.Phil___Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDUhttps://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] hi
Places for TinyOS information... The downloads: http://www.tinyos.net/download.html I advise using TOS v1.1.7 or 1.1.10 with mica2. There seem to be some hassles with v1.1.11 and higher on some systems so I haven't upgraded... The doc/tutorial is a good place to start learning. Also P.Levis's manual (I don't know if this is the latest): http://csl.stanford.edu/~pal/pubs/tinyos-programming-1-0.pdf And a good compendium of links and searches: http://www.moteiv.com/community/TinyOS_Information Also search the help list for camera. I assume you are using a UART linked one. Many people have tried to interface them with many problems using the UART code and I have yet to see a full implementation posted anywhere. MS neeraj sharma wrote: Respected sir I am Mtech student doing mtech project on wireless sensor network.actually i have to interface mica 2 mote with camera.for this i have designed interface board..but i want to know that how i can develope code for interfacing so that i can continue my project.. warm regards Neeraj Sharma Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min. http://us.rd.yahoo.com/mail_us/taglines/postman7/*http://us.rd.yahoo.com/evt=39666/*http://messenger.yahoo.com http://us.rd.yahoo.com/mail_us/taglines/postman7/*http://us.rd.yahoo.com/evt=39666/*http://messenger.yahoo.com ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help http://us.rd.yahoo.com/mail_us/taglines/postman7/*http://us.rd.yahoo.com/evt=39666/*http://messenger.yahoo.com ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] tinyos tutorial lesson 7
hi, i've done what u advise to me. and one more thing, i have add Sounder in component list in the file SimpleCmd.nc before it work. thx From: Michael Schippling [EMAIL PROTECTED] To: jurin dan [EMAIL PROTECTED] CC: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] tinyos tutorial lesson 7 Date: Sun, 30 Jul 2006 16:48:19 -0600 You probably missed adding Sounder to the SimpleCmd.nc config file. Follow the example of PotC or LedsC in that file and I think you may have more success... MS jurin dan wrote: hi i'm trying to do the exercise of lesson 7 of tinyos tutorial. i've got a bug in step two which consist of In SimpleCmdM.nc, to initialize the sounder and add a new command action that will turn the sounder on and off. i've joined to the mail the file simplecmdM.nc that i modified. changes were made at line 64, 80, 124-130 and 148. when i compile simplecmd i got this error message: $ make install mica2 compiling Bcast to a mica2 binary ncc -o build/mica2/main.exe -Os -board=micasb -target=mica2 -DCC1K_DEF_FREQ=9164 0 -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -finline-limit=10 -f nesc-cfile=build/mica2/app.c Bcast.nc -lm SimpleCmd.nc:56: cannot find `Sounder' make: *** [build/mica2/main.exe] Error 1 i'm trying to fix the bug. help me please. _ Play Q6 for your chance to WIN great prizes. http://q6trivia.imagine-live.com/enca/landing // $Id: SimpleCmdM.nc,v 1.4 2004/05/04 22:39:07 idgay Exp $ /*tab:4 * Copyright (c) 2000-2003 The Regents of the University of California. * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. * * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS * ON AN AS IS BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. * * Copyright (c) 2002-2003 Intel Corporation * All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE * file. If you do not find these files, copies can be found by writing to * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, * 94704. Attention: Intel License Inquiry. */ /* * Author: Robert Szewczyk, Su Ping * * $\Id$ */ /** * SimpleCmdM is a tiny OS application module. * This module demonstrates a simple command interpreter for the TinyOS * tutorial. The module receives a command message from the radio, which * is passed to the ProcessCmd interface for processing. A task is posted * to process the command. The command packet contains a one-byte * 'action' field specifying which action to take; as a simple version, * this module can only interpret the follwoing commands: * Led_on (action = 1), Led_off (2), radio_quieter (3), and radio_louder (4). * * This module also implements the ProcessCmd interface. * @author Robert Szewczyk * @author Su Ping **/ includes SimpleCmdMsg; module SimpleCmdM { provides { interface StdControl; interface ProcessCmd; } uses { interface Leds; interface Pot; interface ReceiveMsg as ReceiveCmdMsg; interface StdControl as CommControl; interface StdControl as Sounder; } } /* * Module Implementation */ implementation { // module scoped variables TOS_MsgPtr msg; int8_t pending; TOS_Msg buf; bool sound=TRUE; /** * * This task evaluates a command and execute it if it is a supported * command.The protocol for the command interpreter is that * it operates on the message and returns a (potentially modified) * message to the calling layer, as well a status word for whether * the message should be futher processed. * * @return Return: None **/ task void cmdInterpret() { struct SimpleCmdMsg * cmd = (struct SimpleCmdMsg *) msg-data; // do local packet modifications: update the hop count and packet source cmd-hop_count++; cmd-source = TOS_LOCAL_ADDRESS; // Interpret the command: Display the level on red and green led if (cmd-hop_count 0x1) call Leds.greenOn(); else call Leds.greenOff(); if (cmd-hop_count 0x2) call Leds.redOn(); else call Leds.redOff();
[Tinyos-help] Problem to make Deluge support larger packet payload size
Hello, I am trying to use Deluge. I would like to modify the packet payload size into 120 bytes (the existing packet payload size is 23 bytes)because I want to use Deluge over Zigbee(802.15.4), whose max packet size is 128 bytes. In order to do that, I just modified the following source codes: DelugeConsts.java andDeluge.h. The following is about my modification. DELUGE_PKT_PAYLOAD_SIZE = 120; DELUGE_PKTS_PER_PAGE = 48; DELUGE_BYTES_PER_PAGE = 5760; //(DELUGE_PKT_PAYLOAD_SIZE*DELUGE_PKTS_PER_PAGE)=5760 DELUGE_MAX_PAGES = 32; DELUGE_MAX_IMAGE_SIZE = 184320; //(DELUGE_MAX_PAGES*DELUGE_BYTES_PER_PAGE)=184320 After modifying and recompiling, I tried to inject a new code image using "--inject" option, but the code image was not normally written into the flash. I couldn't find what the reason is. Please help me. I wonder how the existing source code of Deluge should be modified to support a larger packet payload size. Thanks, Sangwon Hyun. ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] How to compile MatlabControl.java
sorry I don't know about the .patch thing, but to add to your CLASSPATH, assuming you are using Windows: You can go through the My Computer-Properties-Advanced-Environment Variables menu and set it for your whole system. Or under cygwin's bash shell: Look for export CLASSPATH in ...cygwin\etc\profile or in your home directory, something like: ...cygwin\home\[your-login]\.bash_profile and add the jar name to the list like: export CLASSPATH x.jar;jmi.jar;... if you can't find an existing variable you can still add to it with: export CLASSPATH $CLASSPATH;jmi.jar Make sure you use the double-quotes around the whole path or the shell will interpret the ';' as a command separator. Use man bash in the cygwin shell to get a _huge_ explanation of all the things the shell can do, like the above variable setting. The above works for Linux, etal, as well, as long as you can find the relevant files. MS jurin dan wrote: hi, i'm now learning how to use matlab with tinyos tools. i have matlab 7.0.0 R14 currently i'm trying ti compile matlabcontrol.java according to the tutorial before proceeding, i must run MatlabControl-R13-R14.patch. so in tis directory : \TinyOS\cygwin\opt\tinyos-1.x\tools\java\net\tinyos\matlab i type: patch MatlabControl-R13-R14.patch, and i didn't get any response from cygwin. did somebody know how to execute the patch and how to add jmi.jar file in my CLASSPATH environment variable? thx _ Play Q6 for your chance to WIN great prizes. http://q6trivia.imagine-live.com/enca/landing ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] question about SimpleTime
dear, I have read the source code of "SimpleTimeM.nc". I found "INTERVAL = 32" in code, so that I wonder if the "time" value is updated every 32 ms. Is it right?3x SZ Mp3疯狂搜-新歌热歌高速下 ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Re: [Question] about task in book TinyOS Programming
Dr. Levis: I just noted that there is an updated version of this book in your website (version June 28,2006). After I downloaded it, I found there are some samll errors in the code example we discussed. 1:Listing 4.11 on p.33, command error_t Read.read() in the implementation of PeriodicReaderC should be moved to the implemenation of FilterMagC. Because FilterMagC provides the interface Read, while PeriodicReaderC uses it. There is no loop in this code example. 2: Listing 4.15 on p. 35; Similarly, the last two functions should be moved to the provider of the interface of Read. Also there is no loop in this code example, not because of using task but no Rawread.read() being called in Rawread.Done(). That is why I said this example is not suitable for illustrate the benefit of task. It could be more clear if Rawread.read() was called in Rawread.done(). Could you take a look at them and make them more understandable? Thanks. Regards, Hui On 8/1/2006, Philip Levis [EMAIL PROTECTED] wrote: On Jul 31, 2006, at 9:16 AM, Hui KANG wrote: Dr. Levis: There is some question I still can not understand fully. 2: Second, to prove there exists a call loop, you modify Read.readDone as in pp 32. Herein, it calls Read.read() in Read.readDone(). I agree that in this example call loop occurs. So the modified code in pp 33 post task void readDoneTask() to avoid the call loop. Two problems in this code example: (a) In this example, RawRead.readDone (should it be Read.readDone () ) actually does not call Read.read(). If the answer to 1 is yes, then it seems no improvement by using task. Both have the same effect. The the code example in pp 33 is not suitable to show the benefit of Task. Take a look at the code on page 34. The question is not whether the provider of Read calls Read.read in Read.readDone, but whether the *user* does. Please look at listing 4.12, entitled Signal handler that can lead to an infinite loop. Yes, but in the code example in Listing 4.15( An improved implementation of PeriodicReaderC ), the PeriodicReaderC is the user of Read. It does not call Read.read(). So even we don't use task, call loop will not occur. So it is not suitable to show the benefit of task. I think you're confused about the call pattern being described. The issue is this: component A { uses Read; } component B { provides Read; } If component A does this: event void Read.readDone() { call Read.read(); } and component B does this: command void Read.read() { signal Read.readDone(); } then you will get an infinite loop, because there is a recursive call chain: B.Read.read signals A.Read.readDone calls B.Read.read signals A.Read.readDone calls B.Read.read signals ... This happens because of the details of how PeriodicReaderC is sampling its sensor and generating a filtered value. The way to make sure this does not happen is to break the recursion: B.Read.read posts B.readDoneTask returns B.readDoneTask signals A.Read.readDone calls B.Read.read posts B.readDoneTask returns B.readDoneTask signals... I know that task can not preempt each other. Then can Read.read(), or other sync commands and events preempt to any task? Read is sync, so Read runs in a task. Tasks cannot preempt one another. Therefore Read.read cannot preempt another task. Phil ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] question about SimpleTime
I believe that is the case. With the proviso that they are TOS TimerC milli-sec, not 'exact' ms. MS Stephen zhao wrote: dear, I have read the source code of SimpleTimeM.nc. I found INTERVAL = 32 in code, so that I wonder if the time value is updated every 32 ms. Is it right? 3x SZ Mp3疯狂搜-新歌热歌高速下 http://music.yahoo.com.cn/?source=mail_mailbox_footer ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Maximum datarate on CC1000 radio
Thanksfor your kind reply Phil and Michael... What about if i make the nodes to communicate in a single range, and force them to come on hop., which means there shouldn't be hidden node problems.. I did the following to achive the above, for the 3 node network.. Node 2 was forced to receive only node 1 packets (i.e, the route packets) Node 1 was forced to receive both node 2 and node 0 (Rx) packets. Node 0(Rx) was forced to receive only node 1 packets.. I used this logic in the event of Receive message in MultihopLEPSM.nc file. so, this was routing the packets on hop but on a single range.. Under this case, i get the same results.. I thought of capturing why actually the packetsare lost using a TOSBase. It seems that TOSBase also missed some packets.I have tabulated the results below, so that it will be clear.. ID | SentPackets| Packets received | Packet Drops | Packet Drops | ___| | for forwarding | at Rx |at TOSBase| 1| 1000 | 996 | 1000 | 994 | 2 |1000 | 0 | 994 | 997 | __| I really wonder over here, why there is no packet loss for node 1. I experimented almost 10 - 12 times. It gave me almost the same results.. Few packets of node 2 were not received by node 1, while node 2 says he has sent to medium.. Also, TOSBase was able to receive more packets of node 2 than node1.. Is there such that the preamble getting corrupted which makes the packet totally lost at node1?? ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Maximum datarate on CC1000 radio
Well David, thanks for that. But i wonder about what you say 1926 bytes/sec, which means its almost 15kbps. I find loss for 5 kbps. it gives almost 5 % loss for node 2 and 0% loss for node 1. Also, i would like to do this multihop testing on a single range, so that i can capture what is happenning by TOSBase.. I will experiment out the idea that you have put and reply you back with the result. On 8/1/06, David Moss [EMAIL PROTECTED] wrote: I can't tell you what the throughput would be for a multihop network because it would depend on a number of factors, but for a singlehop network of mica2's with no loss you can expect 1926 bytes/sec using the original CC1000 radio stack. If node 2 in your network is constantly sending out messages, I would expect node 1 to have to receive and then transmit the forwarded message, which would probably result in less than half the throughput compared to a singlehop setup. A new CC1000 radio stack (back-ported from TinyOS 2.x)is available in the TinyOS 1.x CVS under /contrib/rincon/tos/lib/CC1000. This stack is21% fastereven at the same baud rate- 2324 bytes/sec. I didn't include any time sync interfaces in it, but it works great on my multihop networks.It should drop in place of anyone's current stack so long as they include the correct directories at compile time. -David -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] ] On Behalf Of venkatesh sSent: Monday, July 31, 2006 8:06 PMTo: tinyos-help@Millennium.Berkeley.EDUSubject: [Tinyos-help] Maximum datarate on CC1000 radio Hi all, I am working on packet loss and delay measurements. The fact is i need to do this on multi-hop, for which i need to fix the datarates. It seems that when the application is sending 300 packets/minute, out of which i get around 5.2% loss. The node nearer tothe base station has 0% loss. My network chosen was.. 0 1---2The measurements were done on mica2 mote. Also i observed that as the number of motes increased in the range, losses also increased.. Anyone who know the cause or what might be the dataratefor whichthere will be no loss, please let me know.. Thanking you, venkatesh.S -- --with Cheers,_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~: VeNkAtEsH^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;. ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Re: [Question] about task in book TinyOS Programming
On Aug 1, 2006, at 6:46 PM, Hui KANG wrote: Dr. Levis: I just noted that there is an updated version of this book in your website (version June 28,2006). After I downloaded it, I found there are some samll errors in the code example we discussed. 1:Listing 4.11 on p.33, command error_t Read.read() in the implementation of PeriodicReaderC should be moved to the implemenation of FilterMagC. Because FilterMagC provides the interface Read, while PeriodicReaderC uses it. There is no loop in this code example. You are totally right! The implementation blocks are wrong. No wonder it was so confusing. My apologies. Phil ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help