[Tinyos-help] MDA300 Problem
Hello everybody Im using tinyos-1.15 version with MicaZ motes and should connecting a sensor into my network. When I compiled the application XsensorMDA300 into my micaZ with Mda300 interface, Ive got errors. Does MDA300 application works with micaZ motes? In fact, my sensor used the I2C Port for sending the data. Where can I find an exemple source code for I2C of MDA300 please? Thanks for Reply Matt ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] what is SQUELCH...... in cc1000??
hello everybody.. why and for what is Squelch term or variable is used in CC1000? i have a similar doubt in case of macdelay. (i guess mac delay is used in order to transmit another data when it has already sent one). if am wrong please correct me. and could anyone get me some help regarding the interrupts in general. Regards Primalfear ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] why tinyviz flash and disappear
Thanks for your reply. Now I can see the tinyviz GUI. But I met another strange problem. I perform DBG=usr1, tinyviz -run main 30 as lesson 5. After I click play button, nothing can be seen in Debug messages tab. Why? 2006/8/25, Firat TARAKTAS [EMAIL PROTECTED]: just open task manager and end main.exe task . Then restart tinyviz. It is the problem that i faced and i encountered by doing that. Firat TaraktasFirat TARAKTAS GENETLAB BILGI TEKNOLOJILERI A.S. Kayisdagi Caddesi Kar Plaza D Blok Kat:3 34752 Içerenköy / Istanbul Tel: +90 (216) 573 00 85 | 354 Fax:+90 (216) 469 85 07 [EMAIL PROTECTED] www.genetlab.com - Original Message - From: Zhao Stephen [EMAIL PROTECTED] To: tinyos-help@Millennium.Berkeley.EDU Sent: Friday, August 25, 2006 12:09 PM Subject: [Tinyos-help] why tinyviz flash and disappear Dear all, I perform tinyviz for tossim according to lesson 5 in TOS tutorial. But the GUI of tinyviz disappear soon after a flash. I am puzzled. the following is the screen output. [EMAIL PROTECTED] /opt/tinyos-1.x/apps/blink/build/pc $ tinyviz -run main 1 java -Dpython.cachedir=/tmp/jython.cache -DDBG= -DSIMDBG= -jar C:/Progra~1/cygwi n/opt/tinyos-1.x/tools/java/net/tinyos/sim/simdriver.jar -gui -run main 1 Starting SimDriver... Simulation random seed 1445117131 Initializing simulator objects... Could not find a platform specific version of TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg at java.net.URLClassLoader+1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:279) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:155) at net.tinyos.message.MessageFactory.instantiateTOSMsg(MessageFactory.ja va:122) at net.tinyos.message.MessageFactory.createTOSMsg(MessageFactory.java:44 ) at net.tinyos.sim.SimCommands.init(SimCommands.java:64) at net.tinyos.sim.SimDriver.init(SimDriver.java:244) at net.tinyos.sim.SimDriver.main(SimDriver.java:539) Loading simulator plugins... Creating TinyViz GUI... Could not find a platform specific version of TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg at java.net.URLClassLoader+1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:279) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:155) at net.tinyos.message.MessageFactory.instantiateTOSMsg(MessageFactory.ja va:122)SF enabled, 0 clients, 0 packets read, 0 packets written at net.tinyos.message.MessageFactory.createTOSMsg(MessageFactory.java:36 at net.tinyos.packet.BrokenPacketizer.init(BrokenPacketizer.java:58) at net.tinyos.sim.packet.TossimSource.init(TossimSource.java:44)SF ena bled, 0 clients, 0 packets read, 0 packets written at net.tinyos.sim.packet.TossimSerialSource.init(TossimSerialSource.ja va:32) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:415) at net.tinyos.packet.BuildSource.makeTossimSource(BuildSource.java:509) at net.tinyos.packet.BuildSource.makeTossimSerial(BuildSource.java:478) at net.tinyos.packet.BuildSource.makeArgsTossimSerial(BuildSource.java:4 69) at net.tinyos.packet.BuildSource.makePacketSource(BuildSource.java:151) at net.tinyos.packet.BuildSource.makePhoenix(BuildSource.java:87) at net.tinyos.sf.SFListen.run(SFListen.java:83) Could not find a platform specific version of TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg at java.net.URLClassLoader+1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native
Re: [Tinyos-help] why tinyviz flash and disappear
Just observe the status bar while opening tinyviz. It can give connection to simulator failed error. If it is like that, add three lines in net/tinyos/sim/MakeFile. It may be helpful. # This is ugly. The only way to embed a jar file inside another is to # unpack it and repack them together into a single flat file. jarfile: plugins/plugins.list @echo Creating simdriver.jar... (cd $(ROOT); \ jar cmf net/tinyos/sim/simdriver.manifest \ net/tinyos/sim/simdriver-tmp.jar \ net/tinyos/sim/*.class \ net/tinyos/sim/event/*.class\ net/tinyos/sim/lossy/*.class\ net/tinyos/sim/msg/*.class \ net/tinyos/sim/packet/*.class \ net/tinyos/sim/plugins/*.class \ net/tinyos/sim/script/*.class \ net/tinyos/sim/script/reflect/*.class \ net/tinyos/sim/ui \ net/tinyos/sim/plugins/plugins.list \ net/tinyos/sf/*.class \ net/tinyos/util/*.class \ net/tinyos/packet/*.class \ net/tinyos/packet/avrmote/*.class \ # ADD THESE LINES net/tinyos/packet/micaz/*.class \ # ADD THESE LINES net/tinyos/packet/telos/*.class \ # ADD THESE LINES net/tinyos/message/*.class \ org/apache/oro/text/regex/*.class \ org/python/compiler/*.class \ org/python/core/*.class \ org/python/modules/*.class \ FIRAT TARAKTAŞ - Original Message - From: Munaretto, Daniel [EMAIL PROTECTED] To: Zhao Stephen [EMAIL PROTECTED]; Firat TARAKTAS [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Sent: Monday, August 28, 2006 10:26 AM Subject: RE: [Tinyos-help] why tinyviz flash and disappear Have you defined something by DBG_usr1 ? in your main program? check it, if there is nothing written with DBG, obviously you cannot see anything. dbg(DBG_USR1, TestTinyVizM: number neighbors %i\n, num_neighbors); for example, to print the value of num_neighbors (a variable in your program). cheers Daniele -Original Message- From: Zhao Stephen [mailto:[EMAIL PROTECTED] Sent: Mon 8/28/2006 9:19 AM To: Firat TARAKTAS Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] why tinyviz flash and disappear Thanks for your reply. Now I can see the tinyviz GUI. But I met another strange problem. I perform DBG=usr1, tinyviz -run main 30 as lesson 5. After I click play button, nothing can be seen in Debug messages tab. Why? 2006/8/25, Firat TARAKTAS [EMAIL PROTECTED]: just open task manager and end main.exe task . Then restart tinyviz. It is the problem that i faced and i encountered by doing that. Firat TaraktasFirat TARAKTAS GENETLAB BILGI TEKNOLOJILERI A.S. Kayisdagi Caddesi Kar Plaza D Blok Kat:3 34752 Içerenköy / Istanbul Tel: +90 (216) 573 00 85 | 354 Fax:+90 (216) 469 85 07 [EMAIL PROTECTED] www.genetlab.com - Original Message - From: Zhao Stephen [EMAIL PROTECTED] To: tinyos-help@Millennium.Berkeley.EDU Sent: Friday, August 25, 2006 12:09 PM Subject: [Tinyos-help] why tinyviz flash and disappear Dear all, I perform tinyviz for tossim according to lesson 5 in TOS tutorial. But the GUI of tinyviz disappear soon after a flash. I am puzzled. the following is the screen output. [EMAIL PROTECTED] /opt/tinyos-1.x/apps/blink/build/pc $ tinyviz -run main 1 java -Dpython.cachedir=/tmp/jython.cache -DDBG= -DSIMDBG= -jar C:/Progra~1/cygwi n/opt/tinyos-1.x/tools/java/net/tinyos/sim/simdriver.jar -gui -run main 1 Starting SimDriver... Simulation random seed 1445117131 Initializing simulator objects... Could not find a platform specific version of TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg java.lang.ClassNotFoundException: net.tinyos.message.avrmote.TOSMsg at java.net.URLClassLoader+1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:279) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:155) at net.tinyos.message.MessageFactory.instantiateTOSMsg(MessageFactory.ja va:122) at net.tinyos.message.MessageFactory.createTOSMsg(MessageFactory.java:44 ) at net.tinyos.sim.SimCommands.init(SimCommands.java:64) at net.tinyos.sim.SimDriver.init(SimDriver.java:244) at
Re: {Spam?} [Tinyos-help] what is SQUELCH...... in cc1000??
Have a look at the CC1000RadioIntM.nc file in /tos/platform/mica2. The squelch is continuously varied by measuring the signal strength when the radio is idle. The current squelch values is called usSquelchVal. This is calculated using a squelch table (usSquelchTable). When transmitting the program waits a random delay time (sMacDelay). Everytime a byte is received from the radio an interrupt occurs. If this byte is rubbish and a transmit it pending then it decrements sMacDelay until it is 0. When this occurs then it tries to transmit by checking that the signal strength is low enough (less than squelch) before transmitting. I hope this helps. Simon primalfear 69 wrote: hello everybody.. why and for what is Squelch term or variable is used in CC1000? i have a similar doubt in case of macdelay. (i guess mac delay is used in order to transmit another data when it has already sent one). if am wrong please correct me. and could anyone get me some help regarding the interrupts in general. Regards Primalfear ___ 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] MOTECOM=serial@/dev/ttyUSB0:tmote java net.tinyos.tools.Listen not working
If you are using fedora, Changing permissions with the following (as root) will only remain accessable to other users as long as usb device is connected. If usb device is removed or pc reboots, all permissions are reset to root. chmod a=+xrw /dev/ttySO (if using serial) chmod a=+xrw /dev/ttyUSB0 (if using USB) www.jpilot.org/pipermail/jpilot/2005-July/005210.html explains how to edit udev rules such that permission can be set for all users. vi /etc/udev/rules.d/50-udev.rules change KERNEL==ttyS*,GROUP=uucp, MODE=0666 to KERNEL==ttyS*,GROUP=uucp, MODE=0660 and the same for KERNEL==ttyUSB*, GROUP=uucp, MODE=0666 NOTE: I dont know what security risks there are using these permissions. hope this helps, Cormac On Sat, 2006-08-26 at 12:49 +0800, Lau Ming Leong wrote: How can I add myself to the uucp group? I have run this command chmod 777 /dev/ttyUSB0. Is it correct? On 8/26/06, David Gay [EMAIL PROTECTED] wrote: On 8/25/06, Ming [EMAIL PROTECTED] wrote: I follow the steps, but there is also have problems. When I use serial@/dev/ttyUSB0:telosb, follow error is appeared. serial@/dev/ttyUSB0:57600 died - restarting ( java.io.IOException : Couldn't configure /dev/ttyUSB0) Do you have write access to /dev/ttyUSB0? (the easiest way to ensure this is typically to add yourself to the uucp group) David Gay ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Fw: [Tinyos-help] why tinyviz flash and disappear
Firat TaraktasFirat TARAKTAŞ GENETLAB BILGI TEKNOLOJILERI A.Ş. Kayişdagi Caddesi Kar Plaza D Blok Kat:3 34752 Içerenköy / Istanbul Tel: +90 (216) 573 00 85 | 354 Fax:+90 (216) 469 85 07 [EMAIL PROTECTED] www.genetlab.com - Original Message - From: Firat TARAKTAS [EMAIL PROTECTED] To: Zhao Stephen [EMAIL PROTECTED] Sent: Monday, August 28, 2006 12:55 PM Subject: Re: [Tinyos-help] why tinyviz flash and disappear sorry it is not packet, it is message. So; net/tinyos/message/avrmote/*.class \ # ADD THESE LINES net/tinyos/message/micaz/*.class \ # ADD THESE LINES net/tinyos/message/telos/*.class \ # ADD THESE LINES - Original Message - From: Zhao Stephen [EMAIL PROTECTED] To: Firat TARAKTAS [EMAIL PROTECTED] Sent: Monday, August 28, 2006 12:25 PM Subject: Re: [Tinyos-help] why tinyviz flash and disappear Dear Firat, I modify makefile according to your notes. but when I make it, some errors appear as following. - net/tinyos/packet/avrmote/*.class: No such file or directory Error adding net/tinyos/packet/avrmote/*.class to jar archive! make: *** [jarfile] Error 1 I enter the diretory net/tinyos/packet and I can not find the dirs like avrmote, micaz and telos at all. What is the matter. Thanks. 2006/8/28, Firat TARAKTAS [EMAIL PROTECTED]: Just observe the status bar while opening tinyviz. It can give connection to simulator failed error. If it is like that, add three lines in net/tinyos/sim/MakeFile. It may be helpful. # This is ugly. The only way to embed a jar file inside another is to # unpack it and repack them together into a single flat file. jarfile: plugins/plugins.list @echo Creating simdriver.jar... (cd $(ROOT); \ jar cmf net/tinyos/sim/simdriver.manifest \ net/tinyos/sim/simdriver-tmp.jar \ net/tinyos/sim/*.class \ net/tinyos/sim/event/*.class\ net/tinyos/sim/lossy/*.class\ net/tinyos/sim/msg/*.class \ net/tinyos/sim/packet/*.class \ net/tinyos/sim/plugins/*.class \ net/tinyos/sim/script/*.class \ net/tinyos/sim/script/reflect/*.class \ net/tinyos/sim/ui \ net/tinyos/sim/plugins/plugins.list \ net/tinyos/sf/*.class \ net/tinyos/util/*.class \ net/tinyos/packet/*.class \ net/tinyos/packet/avrmote/*.class \ # ADD THESE LINES net/tinyos/packet/micaz/*.class \ # ADD THESE LINES net/tinyos/packet/telos/*.class \ # ADD THESE LINES net/tinyos/message/*.class \ org/apache/oro/text/regex/*.class \ org/python/compiler/*.class \ org/python/core/*.class \ org/python/modules/*.class \ FIRAT TARAKTAŞ - Original Message - From: Munaretto, Daniel [EMAIL PROTECTED] To: Zhao Stephen [EMAIL PROTECTED]; Firat TARAKTAS [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Sent: Monday, August 28, 2006 10:26 AM Subject: RE: [Tinyos-help] why tinyviz flash and disappear Have you defined something by DBG_usr1 ? in your main program? check it, if there is nothing written with DBG, obviously you cannot see anything. dbg(DBG_USR1, TestTinyVizM: number neighbors %i\n, num_neighbors); for example, to print the value of num_neighbors (a variable in your program). cheers Daniele -Original Message- From: Zhao Stephen [mailto:[EMAIL PROTECTED] Sent: Mon 8/28/2006 9:19 AM To: Firat TARAKTAS Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] why tinyviz flash and disappear Thanks for your reply. Now I can see the tinyviz GUI. But I met another strange problem. I perform DBG=usr1, tinyviz -run main 30 as lesson 5. After I click play button, nothing can be seen in Debug messages tab. Why? 2006/8/25, Firat TARAKTAS [EMAIL PROTECTED]: just open task manager and end main.exe task . Then restart tinyviz. It is the problem that i faced and i encountered by doing that. Firat TaraktasFirat TARAKTAS GENETLAB BILGI TEKNOLOJILERI A.S. Kayisdagi Caddesi Kar Plaza D Blok Kat:3 34752 Içerenköy / Istanbul Tel: +90 (216) 573 00 85 | 354 Fax:+90 (216) 469 85 07 [EMAIL PROTECTED] www.genetlab.com - Original Message - From: Zhao Stephen [EMAIL PROTECTED] To: tinyos-help@Millennium.Berkeley.EDU Sent: Friday, August 25, 2006 12:09 PM Subject: [Tinyos-help] why tinyviz flash and disappear Dear all, I perform tinyviz for tossim
[Fwd: [Tinyos-help] node localization using RSSI]
Hi, all. Does anybody knows how can I pass messages from a mica2 mote programmed with an appropriate code which passes messages from the radio through the UART to Matlab. I m interesting in a mote-tracking application which depends on RSSI measurements and any help on this subject is appreciated Fotis ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Tossim 2.0 Collection, Segmentation fault !
Hi, Every time I try to define a topology with six or more nodes using collection algorithm, TOSSIM gives me a segmentation fault error. I know I'm giving you a very poor information, but before annoying you with a lot of code, I would like to know whether it is a known issue or it is only a problem of mine. Thank you all. ___ Prestiti da 15 istituti. Tan dal 5,90% per richieste entro il 31 Agosto. Servizio gratuito. http://click.libero.it/mutuionline1 ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Fwd: [Tinyos-help] node localization using RSSI]
Hi, all. Does anybody knows how can I pass messages from a mica2 mote programmed with an appropriate code which passes messages from the radio through the UART to Matlab. I m interesting in a mote-tracking application which depends on RSSI measurements and any help on this subject is appreciated Fotis ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Multiple instances of SerialForwarder
Hello all, I have been creating a couple of scripts on bash to help me deal with the connection and disconnection of motes to the computer automatically. I want to open N connections to N motes using N SerialForwarders. To do this, I have a while loop which reads the USB addresses from a lookup table and launches SerialForwarder like this: cd $TOSROOT/tools/java java net.tinyos.sf.SerialForwarder -no-gui -comm [EMAIL PROTECTED]:telosb -port $[$i+9000] $MOTE_ADDR is i.e. /dev/ttyUSB5 and $i increases on each loop, to have each Forwarder on a different port. This seems to work but after about 30 seconds the connections begin to die... What am I doing wrong? Thanks, - J. ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] interface between
hello everybody In MICA2, the interface between CC1000 and the atmelis through SPI. Its having just two pins i.e) DIO and Dclk. Its said that DIO is bidirectional.Its obvious that the controlleris master(thats what i feel:D ). Say whenthe CC1k is in transmit mode the it should be in MISO and when in receive mode it should be inMOSI. my first question is what makes the DIO pin of CC1k to be as an input/ouput? 2) in tos/platform/mica2.. HPLSpiM i find something called TOSH_MAKE_SPI_SCK_INPUT(); TOSH_MAKE_MISO_INPUT(); // miso TOSH_MAKE_MOSI_INPUT(); // mosi where is the code for these...? and what does SpiByteFifo.initSlave()exactly do. ? Regards Primalfear ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] what is SQUELCH...... in cc1000??
You can think of squelch as earplugs for the radio. If you put earplugs in your ears, you're only going to be able to hear things that are fairly loud and/or fairly close to you. The bigger the earplug, the louder the sound must be for you to hear it. So, raising the squelch value on the radio tells the radio that it should only pay attention to stronger signals, and lowering it means that it should accept smaller signals. The point of doing this is to both avoid wasting time trying to accept signals which are so small that you can't reliably recieve them, and to avoid recieving transmissions from far-away transmitters when you can hear a good signal close-by. - ConorOn 8/28/06, primalfear 69 [EMAIL PROTECTED] wrote: hello everybody.. why and for what is Squelch term or variable is used in CC1000? i have a similar doubt in case of macdelay. (i guess mac delay is used in order to transmit another data when it has already sent one). if am wrong please correct me. and could anyone get me some help regarding the interrupts in general. Regards Primalfear ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Thought is only a flash in the middle of a long night, but the flash that means everything.- Poincaré-=-=-=-=-=-=-=-=-I'm going to run the Houston Marathon, but finishing's not my only goal: help me raise money for cancer research! http://www.active.com/donate/tnttxgc/tnttxgcCToddThanks! ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] MAC,CC2420 on Micaz,TinyOS-1.x
Hi all, i checked along the mailing list but i didn't find a complete answer to my doubts. I'm using micaz motes on TinyOS 1.x (see in the attached the version printed by rpm -qa command). In FAQ.html, it is written that Micaz uses a simple CSMA (so collisions and hidden terminals are not avoid) or, if you enable it, a B-MAC layer. But however it hasn't a lower power functionality. 1)Is it all true?Do you know further useful informations? 2)But if i want to handle collisions and hidden terminal problems, what's the easiest thing to do? for example i never used the files inside the CC2420Radio folder till now and i don't know how to manage them (i've already created my code, it's running but i'd like to improve the performance by changing the MAC layer). 3)And finally, if i move from tinyos 1.x to 2.x, do i obtain some improvements in this way? Thanks for every further helps, they will be really appreciated! cheers Daniele avr-binutils-2.13.2.1-1w avr-gcc-3.3tinyos-1w avr-insight-pre6.0cvs.tinyos-1w tinyos-tools-1.1.0-1 task-tinydb-1.1.3July2004cvs-1 tinyos-contrib-1.1.1Mar2004cvs-1 mspgcc-win32tinyos-20041204-2 avr-libc-20030512cvs-1w avarice-2.0.20030825cvs-1w nesc-1.1.2-1 tinyos-1.1.11Feb2005cvs-1 tinyos-vm-1.1.1Mar2004cvs-1 ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] I want to read voltage value from Tmote
I am working on Tmote, and I am using the Tinyos 1.11 installed by the wizard downed from tinyos.net . I justrelpaced the Demosensor component by component InternalVoltageC in Oscilloscope.nc, and changed some connection names in Oscilloscope.nc and OscilloscopeM.nc .(Those two components in OscilloscopeRF) I used TOSbase to receive the signal from the other node. The value I got is between 3909~3919, but I think it's not right. Anybody have done the similar work before? What is the right reading voltage value of Tmote? If I am not correct, could you tell me how to get the right value? Thank you for your time! Yang ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] I want to read voltage value from Tmote
On Monday 28 August 2006 09:53 am, Yang Peng wrote: I just relpaced the Demosensor component by component InternalVoltageC in Oscilloscope.nc http://oscilloscope.nc/, and changed some connection names in Oscilloscope.nc http://oscilloscope.nc/ and OscilloscopeM.nc .(Those two components in OscilloscopeRF) I used TOSbase to receive the signal from the other node. The value I got is between 3909~3919, but I think it's not right. The value looks right to me. Msp430InternalVoltageC's read returns a 16-bit int that holds the 12-bit ADC value as a result of sampling 1/2 of the Tmote's VCC. So: 3909/4096 * 1.5 = 1.43V So VCC = 2*1.43 or 2.86V Steve ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Fwd: Delta application -help required
hi all... i amworking on sampling the external ADC value instead of DemosensorC...in the delta application provided by moteiv.(basically i need multihop functionality) i am glad to say tht ..i hav successfully compiled it ... and installed..it worked... the problem is when i tried to undrstand the program..i am facing some difficulties - i could nt understand the task..named...sendDone( )...it is in the module file.. - while itried to see the raw data using listen tool...it is showing 42 bytes...but i could nt figured out the data format.. -one more problem is...the signal tht i want to sample is a low frequency signal..abt 30Hz... if i increase the samplingtime to 10ms ..i am losing lots of packets... canany bodypls help me... thanks siva katru ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] node localization using RSSI
Hi, all. Does anybody knows how can I pass messages from a mica2 mote programmed with an appropriate code which passes messages from the radio through the UART to Matlab. I m interesting in a mote-tracking application which depends on RSSI measurements and any help on this subject is appreciated Fotis ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] choosing mica2 operating RF frequency
Title: Message If you're using the default CC1000 stack, connect your app to the CC1000Control interface provided by CC1000ControlM and call CC1000Control.TuneManual(86800). The mote may have trouble working at that frequency, but I think I've gotten some of mine down to around 855 MHz. I also recommend downloading the newest CC1000 stack located in the TinyOS 1.x CVSat /contrib/rincon/tos/lib/CC1000Radio. You can then edit your Makefile to include the directories in the /tos/lib/CC1000Radio library, overriding the default /tos/platform/mica2 CC1000 stack without breaking TinyOS. The advantages this new stack has over the old one are: * Measured 21% more throughput, even on the same baud rate. * Better squelch algorithm for finding the noise threshold. * Better architecture makes it easier to understand and hack. * Smaller size (7% decrease in ROM, 12% decrease in RAM) * Auto-recalibration of the radio, every 8 hours by default, for outdoor applications * Ability to double the default baud rate to 76.8 kBaud (not compatible with some motes) * Joe and Jason's pulse-check implementation - instead of checking for preamble bits onwakeup, check the RSSI reading on wakeup before the radio is fully in active mode.35.5% increase in mote lifetime on power mode 8 (4.376 mAh/day or less, a 35.3% decrease!)It can go lower if you adjust the microcontroller as well to use the internal oscillator.Uisp with --wr_fuse_l=c4 (?) (needs verification) -David -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Min LinSent: Wednesday, August 23, 2006 2:40 AMTo: tinyos-help@Millennium.Berkeley.EDUSubject: [Tinyos-help] choosing mica2 operating RF frequencyHi, kwrightMay I know how to program the 916MHz mote to 868MHz? Please help, it is urgent. Thanks. :)Best regards-- Lin MinEmail: [EMAIL PROTECTED] ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] New flash utilities available in TinyOS 1.x CVS
Title: Message Just uploaded some flash utilities and updates to TinyOS 1.x CVS under /contrib/rincon/. We're using these in customer deployment applications on various platforms, and I'm sure they can helpsomeone out on theirs. You'll need to download the whole /contrib/rincon directory to have all the directories required to compilethese: FLASH BRIDGE /contrib/rincon/tos/lib/FlashBridge - updated FlashBridge, the component that providesgeneric platform neutral access to non-volatile medias,now supports internal non-volatile memory. For some deploymentapplications, this provides the advantage of removing the external flash chip completely and relying only on the internal memory for any platform type. FlashBridge supports the following media types: AVR internal eeprom MSP430 internal flash STM25P80 tmote external flash AT45DB mica2/z external flash * The FlashBridge interface is still the same as before (read, write, erase, crc, flush). * FlashModify is a new interface that allows you to modify bytes on non-volatile memory - this lets your application take advantage of the properties of EEPROM on the AVR's,and implements a read-modify-write scheme on the MSP430 internal flash. The FlashModify interface is still behavior neutral, but not implemented on the ST M25P80 tmote external flash due to erase unit size. This gets rid ofthe efficiency issues using FlashBridge on EEPROM's. * FlashSettings is a new interface that allows you to extract information about the memory your app is executing on, including write unit size, number of write units, erase unit size, number of erase units, log2 write unit size, log2 erase unit size, flash size, fill byte definition, etc. (TEP 103 developers should take a look at this). FlashBridgeViewer, FlashModifyViewer, and MediaFormat utilities are provided in /tos/lib/FlashBridge/apps CONFIGURATION STORAGE /contrib/rincon/tos/lib/Configuration The configuration component rests on top of the FlashBridge componentto storestructs, buffers, variables, etc. from your application to non-volatile memory - typically internal microcontroller memory, although it also works on the external mica at45db memory. What this means is you can have components in your application load() and store() its own local settings to any microcontroller flash/eeprom, without worrying about where the data should be located, how big the data is, whether or not it's valid, how to use the microcontroller memory, etc. The interface is very straightforward. There is a demo available in the /tos/lib/Configuration/apps directory that keeps track of the number of times the mote has rebooted. Any application that has a relatively small amount of configuration data to be stored in non-volatile memory should consider using this. Some applications include maintaining security parameters, neighbor tables, frame counts, random number seeds, network types, application states, settings programmed onto the mote post-install, etc. Basically anything that has a variable/buffer that needs to be retrieved from non-volatile memory after a reboot. For those using Blackbook file system's Dictionary interface, this is like the Dictionary but extremely slimmed down for use on internal microcontroller memory - the keys are the parameterized interface number, and the value can be any type and size. RANDOM GENERATOR /contrib/rincon/tos/lib/RandomGen An extension of some previous Random components (Mlcg), RandomGenuses the Configuration component to periodically store the seed to non-volatile memory.If your mote reboots, the seed won't start back at the beginning. For some applications, this is critical. Don't forget to check out the improved CC1000Radio stack in /contrib/rincon/tos/lib/CC1000Radio, and the TinyOS 1.x Style Guide in /contrib/rincon/docs -David ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] interface between
This may help with the TOSH_MAKE... part: https://mail.millennium.berkeley.edu/pipermail/tinyos-help/2006-April/016161.html MS primalfear 69 wrote: hello everybody In MICA2, the interface between CC1000 and the atmel is through SPI. Its having just two pins i.e) DIO and Dclk. Its said that DIO is bidirectional.Its obvious that the controller is master (thats what i feel:D ). Say when the CC1k is in transmit mode the it should be in MISO and when in receive mode it should be in MOSI. my first question is what makes the DIO pin of CC1k to be as an input/ouput? 2) in tos/platform/mica2.. HPLSpiM i find something called TOSH_MAKE_SPI_SCK_INPUT(); TOSH_MAKE_MISO_INPUT(); // miso TOSH_MAKE_MOSI_INPUT(); // mosi where is the code for these...? and what does SpiByteFifo.initSlave() exactly do. ? Regards Primalfear ___ 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] motelab Concept
Yeah, the documentation is awful. You need to install tinyos for the job-daemon.pl to be able to use tinyos tools. Once you get tinyos installed, use the README or INSTALL I forget which one it was from the moteweb directory of motelab software which is a decent set of installation instructions. Sowmya. On Mon, 28 Aug 2006, Dooosun yang wrote: Hi i am tyring to study in this area. While I am reading a paper from Harvard Univ http://www.cs.aau.dk/~ronni/files/motelab.pdf#search=%22harvard%20motelab%22, I feel that I am truly lost. The figure 1. briefly described motelab's communicationo between several componets.This is not enough to understand fully. In Part III, Techinical detail(DBLogger, Job daemon,web interface etc..). Although they defined some sotware componets, It is really terse. Can anybody help me out by giving me some very detailed explanations about the sotware componets and figure 1. ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] energy cost
Spam detection software, running on the system mail.Millennium.Berkeley.EDU, has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi everyone, Does anyone know how to calculate the energy cost to send a packet from one mote to another one? Does the TinyOS offer some function or call to get it ?? Thanks a lot. Xing Jin How low will we go? Check out Yahoo! Messengers low PC-to-Phone call rates. [...] Content analysis details: (5.0 points, 5.0 required) pts rule name description -- -- 0.5 FROM_ENDS_IN_NUMS From: ends in numbers 2.2 FORGED_YAHOO_RCVD 'From' yahoo.com does not match 'Received' headers 0.0 HTML_MESSAGE BODY: HTML included in message 0.1 HTML_50_60 BODY: Message is 50% to 60% HTML 0.4 DNS_FROM_RFC_ABUSE RBL: Envelope sender in abuse.rfc-ignorant.org 0.5 DNS_FROM_RFC_WHOIS RBL: Envelope sender in whois.rfc-ignorant.org 1.4 DNS_FROM_RFC_POST RBL: Envelope sender in postmaster.rfc-ignorant.org The original message was not completely plain text, and may be unsafe to open with some email clients; in particular, it may contain a virus, or confirm that your address can receive spam. If you wish to view it, it may be safer to save it to a file and open it with an editor. ---BeginMessage--- Hi everyone, Does anyone know how to calculate the energy cost to send a packet from one mote to another one?Does the TinyOS offer some function or call to get it?? Thanks a lot. Xing Jin How low will we go? Check out Yahoo! Messengers low PC-to-Phone call rates.---End Message--- ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] choosing mica2 operating RF frequency
Holy moly, that's quite different than the CC1000 architecture for the Mica2 in TinyOS-1.1.15!I'm using the RadioReceiveCoordinator interface for the CC1000 in my app; can you give me any direction as to how I might switch from the standard CC1000 stack to the Rincon code? - ConorOn 8/28/06, David Moss [EMAIL PROTECTED] wrote: If you're using the default CC1000 stack, connect your app to the CC1000Control interface provided by CC1000ControlM and call CC1000Control.TuneManual(86800). The mote may have trouble working at that frequency, but I think I've gotten some of mine down to around 855 MHz. I also recommend downloading the newest CC1000 stack located in the TinyOS 1.x CVSat /contrib/rincon/tos/lib/CC1000Radio. You can then edit your Makefile to include the directories in the /tos/lib/CC1000Radio library, overriding the default /tos/platform/mica2 CC1000 stack without breaking TinyOS. The advantages this new stack has over the old one are: * Measured 21% more throughput, even on the same baud rate. * Better squelch algorithm for finding the noise threshold. * Better architecture makes it easier to understand and hack. * Smaller size (7% decrease in ROM, 12% decrease in RAM) * Auto-recalibration of the radio, every 8 hours by default, for outdoor applications * Ability to double the default baud rate to 76.8 kBaud (not compatible with some motes) * Joe and Jason's pulse-check implementation - instead of checking for preamble bits onwakeup, check the RSSI reading on wakeup before the radio is fully in active mode.35.5% increase in mote lifetime on power mode 8 (4.376 mAh/day or less, a 35.3% decrease!)It can go lower if you adjust the microcontroller as well to use the internal oscillator.Uisp with --wr_fuse_l=c4 (?) (needs verification) -David -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Min LinSent: Wednesday, August 23, 2006 2:40 AMTo: tinyos-help@Millennium.Berkeley.EDUSubject: [Tinyos-help] choosing mica2 operating RF frequencyHi, kwrightMay I know how to program the 916MHz mote to 868MHz? Please help, it is urgent. Thanks. :)Best regards-- Lin MinEmail: [EMAIL PROTECTED] ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Thought is only a flash in the middle of a long night, but the flash that means everything.- Poincaré-=-=-=-=-=-=-=-=-I'm going to run the Houston Marathon, but finishing's not my only goal: help me raise money for cancer research! http://www.active.com/donate/tnttxgc/tnttxgcCToddThanks! ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] More TEP 103 questions
On 8/28/06, R. Steve McKown [EMAIL PROTECTED] wrote: So shouldn't then TEP 103 specify data integrity requirements? I can't imagine a use of log storage where it'd be ok to read back different data than I'd originally appended. And if that's true, wouldn't data integrity be more efficient close to the physical storage mechanisms where is particular peculiarities and benefits be accommodated than out in the application? Currently, TEP103 specifies that crashes and reboots don't cause data loss, and that writes are atomic. Offhand, I'd say ensuring this requires some kind of CRC, so adding some data-corruption detection guarantee (well, within the limits that CRCs provide) probably wouldn't be too bad. However, providing guaranteed data corruption detection is trickier (see below). How about something along these lines: - seek() returns a new error code if the app attempts to seek into an expected valid area of the log but cannot do so. Perhaps some implementations might have a metadata structure that could cause this condition. If this condition happens, seek should automatically forward to the first whole record in the log that it can identify. The error return from seek() allows the application to know that data are unavailable at the desired seek location. The app could issue another seek() if it's doing its own blocking, or go ahead and read if the records defined by append operations are suitable. - read(), on SUCCESS, provides a reasonable guarantee that the data originally appended are read back without corruption. Read should return a new error code if the data to be returned resides in an area of the flash that is known corrupt. The integrity check presumably happens during a read operation, optimized according to implementation (i.e. only once per flash page, etc). The read pointer should automatically move to the next whole record just past the known corrupt area. The application can read again or do a seek. The at45db implementation will currently notice when data is invalid. However, it tends to believe that this means it's at the end of a log (because an unintialised page, or a failed page write will give you something with an invalid CRC). Detecting the different between failure and data corruption would require extra complexity, I think (especially given a circular log). A reasonable compromise might be that read is guaranteed to return valid data. But recovering data from a corrupted log (i.e., not from crash/reboot style failure) is something which is probably best left to off-mote tools, I think. David Gay ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] energy cost
On Monday 28 August 2006 03:41 pm, Xing Jin wrote: Hi everyone, Does anyone know how to calculate the energy cost to send a packet from one mote to another one? Does the TinyOS offer some function or call to get it ?? Thanks a lot. Xing Jin If you don't have the facilities to actually measure the power consumption of a real mote, use data sheets for the radio, uC, and whatever else is relevant to build a model. Our model turned out to be reasonably close. There's some useful information regarding various radios and standard motes you might find useful here: http://www.tinynode.com/uploads/media/spots.pdf Steve ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] choosing mica2 operating RF frequency
Title: Message Conor - Ya, that was one interface that I didn't explicitly implement in thisstack.The majority of the codecame from TinyOS 2.x, backported to 1.x with improvements. Since we need this stack to be compatible with existing 1.x apps, I'll add it in and shoot you an update, probably sometime this week. Thanks, -David -Original Message-From: Conor Todd [mailto:[EMAIL PROTECTED] Sent: Monday, August 28, 2006 3:08 PMTo: David MossCc: tinyos-help@millennium.berkeley.eduSubject: Re: [Tinyos-help] choosing mica2 operating RF frequencyHoly moly, that's quite different than the CC1000 architecture for the Mica2 in TinyOS-1.1.15!I'm using the RadioReceiveCoordinator interface for the CC1000 in my app; can you give me any direction as to how I might switch from the standard CC1000 stack to the Rincon code? - Conor On 8/28/06, David Moss [EMAIL PROTECTED] wrote: If you're using the default CC1000 stack, connect your app to the CC1000Control interface provided by CC1000ControlM and call CC1000Control.TuneManual(86800). The mote may have trouble working at that frequency, but I think I've gotten some of mine down to around 855 MHz. I also recommend downloading the newest CC1000 stack located in the TinyOS 1.x CVSat /contrib/rincon/tos/lib/CC1000Radio. You can then edit your Makefile to include the directories in the /tos/lib/CC1000Radio library, overriding the default /tos/platform/mica2 CC1000 stack without breaking TinyOS. The advantages this new stack has over the old one are: * Measured 21% more throughput, even on the same baud rate. * Better squelch algorithm for finding the noise threshold. * Better architecture makes it easier to understand and hack. * Smaller size (7% decrease in ROM, 12% decrease in RAM) * Auto-recalibration of the radio, every 8 hours by default, for outdoor applications * Ability to double the default baud rate to 76.8 kBaud (not compatible with some motes) * Joe and Jason's pulse-check implementation - instead of checking for preamble bits onwakeup, check the RSSI reading on wakeup before the radio is fully in active mode.35.5% increase in mote lifetime on power mode 8 (4.376 mAh/day or less, a 35.3% decrease!)It can go lower if you adjust the microcontroller as well to use the internal oscillator.Uisp with --wr_fuse_l=c4 (?) (needs verification) -David -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Min LinSent: Wednesday, August 23, 2006 2:40 AMTo: tinyos-help@Millennium.Berkeley.EDUSubject: [Tinyos-help] choosing mica2 operating RF frequencyHi, kwrightMay I know how to program the 916MHz mote to 868MHz? Please help, it is urgent. Thanks. :)Best regards-- Lin MinEmail: [EMAIL PROTECTED] ___Tinyos-help mailing listTinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- "Thought is only a flash in the middle of a long night, but the flash that means everything."- Poincaré-=-=-=-=-=-=-=-=-I'm going to run the Houston Marathon, but finishing's not my only goal: help me raise money for cancer research! http://www.active.com/donate/tnttxgc/tnttxgcCToddThanks! ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] TinyOS Motes Questions
Hi all, I am currently new to TinyOS and sensor networks and would like to ask for your help to clarify some of my questions. 1) How are TinyOS motes addressed?? Saw some of the posting that we actually fix each mote ID manually when we install the application into the mote. How long is the address space?? Does it follows the IP format or is it just a normal integer. Are mote identified only by this ID?? 2) Does TinyOS follows 802.15.4 standards?? If not, are we able to use/implement the standard into the motes? 3) How is the routing of the mote being done in a TinyOS network?? (for topology like mesh or tree network) Or do we need to fix each route manually like the mote ID 4) Does the current TinyOS implementation allows mobile motes or just static motes topology? Thanks for helping me out.. =) Institute For Infocomm Research - Disclaimer - This email is confidential and may be privileged. If you are not the intended recipient, please delete it and notify us immediately. Please do not copy or use it for any purpose, or disclose its contents to any other person. Thank you. ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Serial Forwarder for MicaZ and MIB 600
Using MicaZ and MIB 600 server 192.168.1.101 - I Serial Forwarder I --- Application 1 --Application 4 - Is this Possible? both application for one SF? 192.168.1.102 I Serial Forwarder I -Application 2 192.168.1.103 I Serial Forwarder I Application 3 . . . . . . etc ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] More TEP 103 questions
On Monday 28 August 2006 16:53, David Gay wrote: On 8/28/06, R. Steve McKown [EMAIL PROTECTED] wrote: So shouldn't then TEP 103 specify data integrity requirements? [snip] [snip] A reasonable compromise might be that read is guaranteed to return valid data. I'd love to see the spec guarantee that read returns valid data. Are you envisioning a read returns a len of 0 on bad data or end of log? This seems to fit nicely with the implementation of at45db, where bad data on a page and end of log conditions are generally synonymous. The specification addition read is guaranteed to return valid data, as you consider above, would afford plenty of implementation flexibility. The stm25p impl, which uses virtual addresses and can identify end of log separately from a bad block, could silently skip bad data and continue at the next block in the log, if one exists. I believe the existing record atomicity requirements would apply to skipping bad data (bad data is record-atomic); if so, the loss of records due to bad data should impact an application no more than loss of records due to appending new data to a full circular log. But recovering data from a corrupted log (i.e., not from crash/reboot style failure) is something which is probably best left to off-mote tools, I think. For the types of applications we'll develop, if the mote can't read some data from a log, the value of that data would never be worth enough to take the time and effort to extract it using other methods. I presume, using the mechanisms we're discussing, that an app could monitor error conditions from log IO operations to decide if it should try to erase the log and continue, stop and whine, etc. All the best, Steve ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help