RE: [Tinyos-help] Battery Power measurement
Dear Wu, i'm interesting in the same question. I checked Voltage.nc and VoltageM.nc. How can i get the voltage value from async event result_t ADC.dataReady(data), specified in VoltageM.nc, to my main program (BcastM.nc)? -Original Message- From: Wu Nick [mailto:[EMAIL PROTECTED] Sent: Sat 10/7/2006 4:46 PM To: [EMAIL PROTECTED]; tinyos-help@Millennium.Berkeley.EDU Cc: Subject: RE: [Tinyos-help] Battery Power measurement Check the component “Voltage.nc” , then call ADCbatt.dataReady(uint16_t) to get the ADC_Count. Also see Crossbow, MPR-MIB Users Manual (page 25) for detail. Best regards, Wu From: Sumit Gupta [EMAIL PROTECTED] To: tinyos-help@Millennium.Berkeley.EDU Subject: [Tinyos-help] Battery Power measurement Date: Fri, 6 Oct 2006 18:47:53 -0500 hi, I am wondering how we can measure the remaining nodes' battery power and store them at base stations. I am using telosb motes. Please advice. Regards, Sumit ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help _ Windows Live Messenger 正式版熱烈下載中:共用資料夾,傳檔案再大也不怕 http://get.live.com/messenger/overview ___ 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] How to get Voltage measurement
Dear all, i'm trying to measure on micaz motes the voltage by using VoltageC, but the main program (BcastM.nc) is not able to get the dataReady. If anyone can help me, this is the structure: in the configuration file: components Main,BcastM,...,VoltageC; [..] Main.StdControl-VoltageC; BcastM.Voltage-VoltageC; [..] in the module BcastM.nc: [..] uses interface ADC as Voltage; [..] float Vbatt; and along the main: async event result_t Voltage.dataReady(uint16_t datas){ call Leds.yellowToggle(); atomic{Vbatt=1.223*1024/datas;} return SUCCESS; } event result_t Timer.fired(){ call Voltage.getData(); } by checking with leds, i can see i'm not able to get data for measuring the voltage...any suggestions? Thanks in advance for any feedbacks and helps Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] CC2420,micaz,energy consumption
Hi all, i looked for information on micaz's energy consumption but in the archive i didn't find complete answers. I need to measure the energy consumption in my motes while they're using the radio and while they're using the external flash to read and write data. This is in order to plan how to develop my future project. Is there an interface or commands to obtain automatically these values? or do i need external instruments to measure current and voltage? (but in this case it will be difficult to observe variations in really short time intervals..) this is for micaz, CC2420 chipcon, tinyos-1.x Thanks for any helps and feedbacks, they will be really appreciated cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] repeating tests,no free memory
Hi David, i would like to ask you a question: do you know if the way FlashBridge gets access to the flash, is controlled by SPI interface or UART1 interface (ATmega128)? because normally the external flash is controlled by UART1 interface of the ATmega128 processor (in this case there are not bus conflicts between flash and radio) and the radio in micaZ is controlled by SPI interface. thanks for your help, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Sleep-wake up,micaz,CC2420
Dear all, In order to use the sleep mode on our motes, is it enough to use the HPLPowerManagement from TinyOS-1.x? and, if i use it, is it possible to schedule sleep and wake up modes with a normal timer? These questions refer to micaz motes, CC2420 chipcon, TinyOS-1.x Thanks very much for your eventual feedbacks, your helps will be really appreciated Cheers Daniele Munaretto ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] Serial In-Programming or Ethernet In-programming
For the MIB600: make micaz install eprb,IPaddress ex: make micaz install eprb,192.168.1.3 -Original Message- From: Bryn Smith [mailto:[EMAIL PROTECTED] Sent: Wed 9/27/2006 5:25 AM To: tinyos-help@Millennium.Berkeley.EDU Cc: Subject: RE: [Tinyos-help] Serial In-Programming or Ethernet In-programming I don't know anything about the MIB600, you might have to have a look on the crossbow website (www.xbow.com). For the MIB510 you need to type something like: make micaz install mib510,device Where device is the serial port, eg /dev/ttyS0 for COM1, /dev/ttyS1 for COM2 (note the S is uppercase!) Hope this helps, Bryn Smith -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of walid hamdi Sent: Tuesday, 26 September 2006 11:32 PM To: tinyos-help@Millennium.Berkeley.EDU Subject: [Tinyos-help] Serial In-Programming or Ethernet In-programming Could anybody tell me please the difference between MIB510 (serial) and MIB600 (Ethernet) in putting the application on the mote! Do we need the same commands like: Make micaz install .. or do they have different installing commands. Please Help! ___ Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. http://fr.answers.yahoo.com ___ 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
RE: [Tinyos-help] Tutorial lesson 5 and tython
In my case the file was SimDriver.rar. So after this little substitution, it was all ok. I think the tutorial is quite old. Check it. -Original Message- From: Yuan Shaoping [mailto:[EMAIL PROTECTED] Sent: Wed 9/27/2006 11:30 AM To: tinyos-help@Millennium.Berkeley.EDU Cc: Subject: [Tinyos-help] Tutorial lesson 5 and tython Hi, guys, I am a very beginner, Can you please explain what does This will build the TinyOS program as tinyviz.jar, a stand-alone Java JAR file that you can run with the tinyviz script, found in this directory. Place this script on your PATH and you will be able to run tinyviz directly from the command line. mean, after typing make under tools/java/net/tinyos/sim, I tried ls, there is only a file named tinyviz.java and a file tinyviz there, and no tinyviz.jar ?? and I don't get how to place something on PATH... and, after typing export DBG=usr1 tinyviz -run build/pc/main.exe 30 following message appears in the window: java -Dpython.cachedir=/tmp/jython.cache -DDBG=usr1 -DSIMDBG= -jar C:/cygwin/opt /tinyos-1.x/tools/java/net/tinyos/sim/simdriver.jar -gui -run build/pc/main.exe 30 Starting SimDriver... Simulation random seed 661731757 Initializing simulator objects... Loading simulator plugins... Creating TinyViz GUI... Welcome to Tython. Type 'quit' to exit. ESC on a line by itself will pause/resume the simulator. AUTORUN: Initializing simulation. AUTORUN: Running simulation: build/pc/main.exe -gui -r=lossy -seed=661731757 -no dbgout 30 AUTORUN: Unable to run simulation: java.io.IOException: CreateProcess: build\pc\ main.exe -gui -r=lossy -seed=661731757 -nodbgout 30 error=2 java.io.IOException: CreateProcess: build\pc\main.exe -gui -r=lossy -seed=661731 757 -nodbgout 30 error=2 at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.init(ProcessImpl.java:81) at java.lang.ProcessImpl.start(ProcessImpl.java:30) at java.lang.ProcessBuilder.start(ProcessBuilder.java:451) at java.lang.Runtime.exec (Runtime.java:591) at java.lang.Runtime.exec(Runtime.java:429) at java.lang.Runtime.exec(Runtime.java:367) at net.tinyos.sim.AutoRun$AutoRunThread.run(AutoRun.java:344) at java.lang.Thread.run (Thread.java:595) Goodbye! AUTORUN: Stopping simulation. Tinyviz always flashes and dissapears quickly, it always appears an error at the bottom of tinyviz window: connection to simulator failed. And even if I first do the make pc to other applications like blink, it does not work either, and suffers the same problem. Plz, somebody help me! Thans a lot!! ^_^ -- Shaoping ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Sleep mode,micaz,tinyos-1.x
Dear all, i had a look in the mail archives about the sleep mode for micaz, but it is not so clear to me how to handle it. I found that it is necessary to use the HPLPowerManagementM.nc interface, but if you enable it, you cannot use the timers in your code if the node is in the sleep mode. So, if i enable the powermanagement, is the node set in the sleep mode? and if yes, how can i run my code by using my main timer (it is important to post my tasks!)? the last question: in order not to have problems in the usage of this interface, is it enough to call the enable function at the beginning (in the starting phase) of my code? Thanks very much for your availability, cheers Daniel ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] conflict flash-radio,micaz
Thanks very much for your explanation. So you confirm the version of Xbow, that CSMA-CA is in micaz by default. BTW, during my tests, it seems true that there is a conflict between flash and radio on micaz. In fact now they survive after the reading-from-flash phase and they last for several consecutive tests, until the batteries of one of them fall down at 1.3 V. But the number of received and decoded packets, when i use the readings from flash, is less than the one when i don't use readings. So really it seems that in some cases, while you're using the flash, you cannot use the radio properly... quite unpredictable.. cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Thu 9/21/2006 6:03 PM To: 'Tie Luo'; [EMAIL PROTECTED]; Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: [Tinyos-help] CSMA-CA on CC2420micaz Collision avoidance is implemented differently on the two different radios. To start with Daniel's questions - the CC2420 2.4 GHz radio has a CCA pin on the chip that can be sampled to determine if another node is transmitting. How it determines this is defined in a control register - you can sample the channel energy, valid 802.15.4 data, or both. When the CCA pin shows that no other mote is transmitting, and the proper backoffs have executed, the radio can send the message. From the definitions I understand, this is a CSMA-CA scheme. The CC2420 has more limitations on the MAC layer than the CC1000. This is because a lot of the processing can take place on the chip. The synchronization header, and packet header are defined in the CC2420 datasheet, and the TinyOS message header for the CC2420 reflects this. You can get access to modifying some of these things - like auto acknowledgements, CRC checking, preamble length, etc. by modifying registers on the CC2420. All of this is available in the software radio stack, so if you want to hack, go for it. For Mica2 motes on TinyOS 1.x, you can find the Mac interfaces in the CC1000RadioC.nc configuration: configuration CC1000RadioC { provides { interface StdControl; interface BareSendMsg as Send; interface ReceiveMsg as Receive; interface CC1000Control; interface RadioCoordinator as RadioReceiveCoordinator; interface RadioCoordinator as RadioSendCoordinator; interface MacControl; interface MacBackoff; } } The LowPowerListening interface in TinyOS 1.x is actually split up into explicit commands inside CC1000RadioIntM.nc. This is improved in TinyOS 2.x, as well as the TinyOS 1.x Rincon CC1000 stack - get it in the TinyOS 1.x CVS under /contrib/rincon/tos/lib/CC1000Radio. Whereas the CC2420 radio checks for a clear channel automatically using the CCA pin, the CC1000 must do it in software using an ADC reading from the RSSI pin on the CC1000 chip. Through a simple running average algorithm (that has the possibility of improvement in the default TinyOS 1.x implementation - see the rincon CC1000 radio stack) the microcontroller can determine the RSSI noise level, and therefore be able to know when someone is transmitting by comparing sampled values. Changing the backoff period is very useful because it allows one mote to secure the channel and transmit as fast as possible. Look for interfaces like MacBackoff or CsmaBackoff in the radio stack to do this. When a transmission starts, the radio stack sends out an initial or congestion backoff event to request a backoff interval. If your application responds to that event with a specified backoff period, fantastic. Otherwise, the default radio stack values are used. The backoff period is probably the number one thing that affects data throughput and accessing the channel fairly - those two are inversely proportional. Using the MacControl or CsmaControl interfaces, you can completely disable CCA (clear channel assessment). This will make your motes transmit as fast as possible, but requires one mote to secure the channel ahead of time to avoid interference and collisions. Sometimes this crashes the mote, depending on which software version you're using. When it comes to acknowledgements, the CC2420 takes care of them automatically if that register is set (which it should be in TinyOS). The CC1000 does it manually by flipping the receiver into a transmitter and the transmitter into a receiver very briefly, and the receiving mote sends out a few bytes of acknowledgement. If an ack was received, the ack byte
[Tinyos-help] CSMA-CA on CC2420micaz,tinyos-1.x
Dear all, i would like to ask you some questions about CC2420 and micaz energy consumption. I read, from reports and data sheets, that the Basic RF library in CC2420 contains only a small subset of the 802.15.4 standard: beacons is not implemented, no defined coordinator/device roles, it does not check CCA twice , it does not retransmit packets, it cannot communicate with other networks. 1)I would like to understand if, by default, any collision avoidance mechanism is implemented or may be available for motes, as our micaz, which have this chipcon (for example, in the CC2420 folder in TinyOS 1.x, is it implemented a simple CSMA or a CSMA-CA?). Because my research group needs to know if and how to provide a good collision avoidance mechanism on our micaz motes. 2)Exactly, what are the bounds of the limited ability of the user on defining the MAC layer by TinyOS code? i mean, what can i modify, if possible, in the MAC layer and how/where? 3)I've just discovered that using the flash on our motes, so reading and writing on flash, the batteries are insufficient. I was using 1.3 V rechargeble batteries, but it seems i need more power. Is it a known problem?is it possible to source the mote over 3V?because, it is written 1.5 V on the motes... Thanks for your availability, any further help will be really appreciated cheers Daniele Munaretto ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] repeating tests,no free memory
Well, i'm thinking about..when i tested the FlashBridge interface, i used a mote connected to the programming board, and everything was perfect. And without using the radio, so without send/receive interfaces. i only worked on reading and writing some bytes in flash.Now there are problems with motes, and i'm using batteries of 1.5 V, so 3V. So may be there is a conflict between flash and radio.I will check by tests. By the way, why does this kind of problem rise up only when i read from flash and not also in the writing phase?It doesn't agree with the explanation of the bus usage, right? Daniele -Original Message- From: Philip Levis [mailto:[EMAIL PROTECTED] Sent: Wed 9/20/2006 2:54 AM To: David Moss Cc: Munaretto, Daniel; tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] repeating tests,no free memory On Sep 19, 2006, at 3:17 PM, David Moss wrote: Are you accessing the Flash memory while using the radio? I believe I ran into some serious issues doing this with the MicaZ. The problem, I believe, is in the bus arbitration - because both the flash and the radio use the same SPI bus lines, if you're actively using flash and radio together on a micaz, the mote crashes. That's interesting; I believe that the flash and CC2420 do not share an SPI bus on the mica platforms. This doesn't happen with telos motes. I am about to start testing TinyOS 2.x to see if it still has this problem. I believe it shouldn't and doesn't because it has a better bus resource arbitration story. i.e. the radio has to request access to the bus before using it, and the flash has to request access before using it, etc. Yes, this has been a major focus for 2.x. The bus on the Telos platform is heavily overloaded (SPI to radio, SPI to flash, I2C for sensors, UART, etc.) and so requires a lot of effort to abstract properly in a way that's flexible and robust. It turns out that this actually simplifies code in a lot of other ways, though. For example, the radio stack actually has the receive and transmit paths be separate users of the bus, which individually arbitrate for it. Phil ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] repeating tests,no free memory
Uhm..on my micaz motes, in the bottom side, it is written 1.5 V batteries. So i think more than 3V is not possible..May be do i need any special kind of battery or something else to source on my micaz? i have not knowledge on the batteries to use on motes.. However thanks very much for your help, it is really important for my group, cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Tue 9/19/2006 1:07 AM To: Munaretto, Daniel; tinyos-help@Millennium.Berkeley.EDU Cc: Subject: RE: [Tinyos-help] repeating tests,no free memory Ah, yes - 1.3V is a definit problem. You need to be able to source 2.7 volts minimum, with 75+ mA. I recommend going above 2.7 volts to about 3.3-3.6 volts just to allow for some voltage sag. The crash happens so fast (1 ms) that you can't even detect what's going on. -Original Message- From: Munaretto, Daniel [mailto:[EMAIL PROTECTED] Sent: Monday, September 18, 2006 8:52 AM To: David Moss; tinyos-help@Millennium.Berkeley.EDU Subject: RE: [Tinyos-help] repeating tests,no free memory I'm using not so much RAM, at compile time is around 1700 bytes (it depends on the different versions of my program). But now, after other tests, i see that when the motes enter in the reading-from-flash phase, something happens and some of them break down. They are not more able to work.And only after a reading phase. May be the batteries? i know about the 70mA of current, but if i use rechangeable batteries, so 1.3 V, are there problems?i can measure only voltage by a voltmetre. I really don't know how to understand what's going on in the reading phase to let some motes to break down in this way. One problem may be is about the parameters i need when the reading phase is done: i need the same parameters i use when i posted the task.So the global parameters buf_flash,State,mess,flashAddr, flashLen,flashBuffer are probably different when the readDone event fires up from the ones used posting the task.But only when the reading is done i can use that buffer and so i can execute my program..so for example sending packets,math operations,etc.. Buffer *flashBuffer,*buffer,*ibuf,*ibuff; Buf_flash *Head,*buf_flash; Datagram *mess,*datagram; uint8_t State; task void readFlash(){ if (!call FlashBridge.read(flashAddr,flashBuffer,flashLen)){ post readFlash();} return; } void readInToFlash(uint8_t s,Buf_flash *buf,Datagram *message,Buffer *buffer_r,uint32_t addr, uint32_t len){ buf_flash=buf; State=s; mess=message; flashAddr=addr; flashLen=len; flashBuffer=buffer_r; post readFlash(); return; } event void FlashBridge.readDone(uint32_t addr, void *buf, uint32_t len, result_t result){ if (result){ //operations where i need to use the same global variables declared in the task!for now i'm using normally mess,State,etc..but i think are different from the same one before posting the task. //for example if i use //if(mess-data==...). //i think it is not the same mess written before post readFlash()... else post readFlash(); return; } -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Fri 9/15/2006 6:27 PM To: Munaretto, Daniel; tinyos-help@Millennium.Berkeley.EDU Cc: Subject: RE: [Tinyos-help] repeating tests,no free memory How much RAM is your program consuming at compile time? The MicaZ is notorious for running out of RAM just when you need it because it only has 4kB. If your global memory usage is already quite a bit (3kB maybe? maybe more? maybe less?) and you throw a bunch of stuff on the stack, your mote will crash in a seemingly random fashion, depending on what's going on. I've had apps before that used around 3kB of RAM when the program is compiled, and then crashed awhile later because the stack overflowed. If the task queue is full (and it's in global memory
RE: [Tinyos-help] repeating tests,no free memory
I'm using not so much RAM, at compile time is around 1700 bytes (it depends on the different versions of my program). But now, after other tests, i see that when the motes enter in the reading-from-flash phase, something happens and some of them break down. They are not more able to work.And only after a reading phase. May be the batteries? i know about the 70mA of current, but if i use rechangeable batteries, so 1.3 V, are there problems?i can measure only voltage by a voltmetre. I really don't know how to understand what's going on in the reading phase to let some motes to break down in this way. One problem may be is about the parameters i need when the reading phase is done: i need the same parameters i use when i posted the task.So the global parameters buf_flash,State,mess,flashAddr, flashLen,flashBuffer are probably different when the readDone event fires up from the ones used posting the task.But only when the reading is done i can use that buffer and so i can execute my program..so for example sending packets,math operations,etc.. Buffer *flashBuffer,*buffer,*ibuf,*ibuff; Buf_flash *Head,*buf_flash; Datagram *mess,*datagram; uint8_t State; task void readFlash(){ if (!call FlashBridge.read(flashAddr,flashBuffer,flashLen)){ post readFlash();} return; } void readInToFlash(uint8_t s,Buf_flash *buf,Datagram *message,Buffer *buffer_r,uint32_t addr, uint32_t len){ buf_flash=buf; State=s; mess=message; flashAddr=addr; flashLen=len; flashBuffer=buffer_r; post readFlash(); return; } event void FlashBridge.readDone(uint32_t addr, void *buf, uint32_t len, result_t result){ if (result){ //operations where i need to use the same global variables declared in the task!for now i'm using normally mess,State,etc..but i think are different from the same one before posting the task. //for example if i use //if(mess-data==...). //i think it is not the same mess written before post readFlash()... else post readFlash(); return; } -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Fri 9/15/2006 6:27 PM To: Munaretto, Daniel; tinyos-help@Millennium.Berkeley.EDU Cc: Subject: RE: [Tinyos-help] repeating tests,no free memory How much RAM is your program consuming at compile time? The MicaZ is notorious for running out of RAM just when you need it because it only has 4kB. If your global memory usage is already quite a bit (3kB maybe? maybe more? maybe less?) and you throw a bunch of stuff on the stack, your mote will crash in a seemingly random fashion, depending on what's going on. I've had apps before that used around 3kB of RAM when the program is compiled, and then crashed awhile later because the stack overflowed. If the task queue is full (and it's in global memory btw, so simply posting tasks shouldn't cause a stack overflow) then when you post a task, the post will return FAIL. It could also be that your app is posting a task and expecting it to run before continuing on, and that task never actually got posted. I've personally never had that problem before, even with running a full file system on top of flash bridge with the radio transmitting and receiving. -Original Message- From: Munaretto, Daniel [mailto:[EMAIL PROTECTED] Sent: Friday, September 15, 2006 9:02 AM To: David Moss; tinyos-help@Millennium.Berkeley.EDU Subject: RE: [Tinyos-help] repeating tests,no free memory Dear all, i tried to use TinyAlloc interface but the results are really similar. So this is not a problem of the calloc function. But i start thinking the problem is in the stack. If i post too many tasks, can the mote crash? The problem is that i have to use tasks to handle the FlashBridge interface in order to use properly the reading and writing phase on Flash-RAM. And i'm also using a task for the sending interface (own mote messages) and for the forwarding one (messages from other motes), all synchronized by timers. So if i use micaz motes, tinyos-1.x, can it be a problem? Because i'm freeing all the times the memory i allocate, but if i repeat the experiments with the motes on, in the second round or in the third one, one (or more)of these breaks down. It seems quite randomly. Hoping in any kind of help, cheers Daniele -Original Message- From: David Moss [mailto
RE: [Tinyos-help] repeating tests,no free memory
Dear all, i tried to use TinyAlloc interface but the results are really similar. So this is not a problem of the calloc function. But i start thinking the problem is in the stack. If i post too many tasks, can the mote crash? The problem is that i have to use tasks to handle the FlashBridge interface in order to use properly the reading and writing phase on Flash-RAM. And i'm also using a task for the sending interface (own mote messages) and for the forwarding one (messages from other motes), all synchronized by timers. So if i use micaz motes, tinyos-1.x, can it be a problem? Because i'm freeing all the times the memory i allocate, but if i repeat the experiments with the motes on, in the second round or in the third one, one (or more)of these breaks down. It seems quite randomly. Hoping in any kind of help, cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Mon 9/11/2006 7:56 PM To: Munaretto, Daniel; tinyos-help@Millennium.Berkeley.EDU Cc: Subject: RE: [Tinyos-help] repeating tests,no free memory Daniele, This was one thing I noticed about the code I looked at but failed to warn against, because I didn't know any better until I read up on it afterwards. Below are a few emails from this list that may point you in the right direction. -David https://mail.millennium.berkeley.edu/pipermail/tinyos-help/2005-February/007 712.html : The TinyOS programming methodology frowns on malloc, for several reasons: 1) No memory protection so you can smash your stack 2) Unforeseen rate mismatches can cause you to do 1 (you start receiving packets faster than you can forward them) 3) Event-driven execution models can make free()ing a hard thing to do right (hence pool allocations, etc.) If you want dynamic allocation, look at TinyAlloc (which Joe mentioned). It allows you to allocate a static chunk of RAM which you then parcel out dynamically. But using it in the presence of conflicting components is a recipe for disaster. Systems such as TinyDB get away with it because all their parts are designed to work together. Phil Hi all, Refer to the paper The NesC Language: A Holistic Approach to Networked Embedded Systems, dynamic memory allocation and function pointers are prohibited in NesC language. For dynamic memory allocation, it's quite clear to me why we can't use it in TinyOS as refered to https://mail.millennium.berkeley.edu/pipermail/tinyos-help/2005-February/007 712.html . We can use TinyAlloc or MemAlloc instead of directly calling malloc() and so on. But for function pointers, it's not clear to me that we can or can't use it in TinyOS. What would be the problems if I use that? Short answer: it leads to more reliable code. Long answer: Here's a pointer (haha!): http://mail.millennium.berkeley.edu/pipermail/tinyos-help/2005-February/0077 12.html There's a difference between malloc() and dynamic allocation. nesC does not forbid dynamic memory allocation: there's nothing stopping you from writing a component that allocates a pool of memory and has dynamic allocation interfaces. Take a look at TinyAlloc, for example. nesC does, however, frown on malloc, for the reasons described in the above mail. Modern coding styles generally assume unbounded memory, in as much that you have swap space so will see tremendous performance degradation before the system crashes. General application behavior on allocation failure is to exit(2) and therefore deallocate everything. With a processes, multitasking, and automatic page reclamation, this works fine. But on an embedded system with no memory protection, well, it's not so clean. Part of the issue is that while dynamic allocation among a set of cooperating components can work fine (e.g., TinyDB, Ben Greenstein @UCLA's work on signal processing), dynamic allocation between arbitrary components (a single shared pool) is a recipe for disaster. One bad component can bring the entire system down, as the shared resource breaks inter-component isolation. The reason why nesC frowns on function pointers is because they are dangerous and except for a few edge cases (e.g., dynamically linking new binary modules), unnecessary. You know the call graph at compile- time. Instead of storing a function pointer in memory, which could be corrupted and lead you to jump to certain
[Tinyos-help] FRAME_SIZE in tinyAlloc
Dear all, i'm quite surprised about TinyAlloc interface. I hope someone is using it, so he should help me! I observed that, when i set the FRAME_SIZE to 256, the MAX memory i can allocate in my program (by using Handle) is 128 bytes. If FRAME_SIZE=512, i can allocate MAX 256 bytes. If FRAME_SIZE=100, i can allocate MAX 48 bytes. If FRAME_SIZE=102, i can allocate MAX 48 bytes. If FRAME_SIZE=108, i can allocate MAX 52 bytes. So it seems that FREE_SIZE=FRAME_SIZE3 is not correct or it doesn't work. What i observed is that there is a shift of one position to right and then the deletion of the last 2 bits to the right side. Does anyone know what's happening?!? Cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] TinyAlloc
Yeh, that's really important!I think it will be quiet useful me too! However, about TinyAlloc, I don't understand the meaning of: if a single dereference is to be stored, the handle must be locked first How is it possible to lock something as a pointer? if for example i need to handle a pointer to a buffer, how should i work? and how Handle is defined? cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Wed 9/13/2006 6:22 PM To: 'Diego Bartolomé Arquillo'; [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: [Tinyos-help] low power listening in tinyos-2.x for CC2420 ? I am in the final stages of implementing a CC2420 low power listening library for TinyOS 2.x. I'm not intending it to be compliant with any kind of standard; instead, I want it to be functional. This does not require long preambles, and does not require peer-to-peer synchronization. Initial results on a tmote indicate 5.09 mAh/day at 2-second receive check intervals. This will probably get lower. Since it's not quite finished and I'm not sure if/when I'll contribute it, I'll explain how I have implemented this in case you want to try it yourself: Summary: On the Rx end, it's a periodic channel energy check. On the Tx end, it's a repetitively transmitting message. 1. Edited CC2420TransmitP to provide a CC2420Cca interface that allows external components to sample the status of the CCA pin when the radio is on and not doing anything. The getCca() command simply verifies the state is good to go, then sets the backoff timer to the CC2420_BACKOFF_PERIOD. The backoff timer fires, ensuring the Rx mode has been set for enough symbol periods for the CCA pin to be valid, and then sends back the reading in an event. 2. Built a CC2420DutyCycle component that duty cycles the CC2420 radio on and off. After the radio turns on, the CCA is checked three times in a row. If one of these checks indicates that the channel is *not* clear, then someone is transmitting. The radio is left on indefinitely at this level, only to be turned back off again by higher levels of this architecture after packets are done receiving. If nobody is transmitting, turn the radio off immediately. Total time the radio is on (in the current version): 3.7 ms from start to finish, but most of that time is spent at a lower power (5mA) starting up the radio. 3. Built a low power listening module that provides send/receive interfaces and sits on top of the duty cycling component. When low power listening is enabled, the duty cycling is turned on. When a message is detected and received at this level, the message is passed up to the application level and leaves the radio on for a brief period of time in case other messages are coming. If this time expires, the radio turns off and continues duty cycling. Ideally, an ack is returned as well. On the transmitting end, the send event in this LPL module actually retransmits the message over and over again up to the length of the duty cycle period, and adjusts the backoff period to be very short so there is not much space between messages. If an ack is heard, it quits transmitting early (an advantage over the long preamble method!) and signals sendDone. Otherwise, sendDone gets signaled after the duty period expires. There you have it, low power CC2420 duty cycling, very similar to CC1000's BMAC. The new TinyOS 2.x CC1000 low power listening does energy checks on the channel as well, instead of preamble checks, only firing up the bias of the radio and leaving the rest of the radio off. This receive check (RSSI Pulse Check) scheme does not require long preambles if your message (with short preambles) is being sent over and over again for a full receive period. By sending repeating messages, you can also cut the transmission length short if you receive an ack in the middle, saving on Tx energy and decreasing transmission latency. I've tested this. -david -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Diego Bartolomé Arquillo Sent: Wednesday, September 13, 2006 8:24 AM To: [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: [Tinyos-help] low power listening in tinyos-2.x for CC2420 ? Hi Avinash, Low power listening have not sense using CC2420 because this chip is compliant with the standard IEEE 802.15.4. This standard defines a 4 bytes preamble length and LPL needs a long preamble in order to work properly. The CC1000 is not
RE: [Tinyos-help] TOSSIM 2.x doesn't run
Dear Dr.Levis, Finally i solved, there was an error in a script. Thanks very much for your help. Instead i don't understand why, when i switch back to 1.x, i cannot compile apps no more, while in 2.x yes. I'm following the instructions for changing the paths but nothing...in the attached file there is the compiling result. Cheers Daniele -Original Message- From: Munaretto, Daniel Sent: Tue 9/12/2006 10:02 AM To: Philip Levis Cc: Subject: RE: [Tinyos-help] TOSSIM 2.x doesn't run Dear Dr.Levis, thanks very much for your help. But after from tinyos.tossim import *, that runs, the new command t=Tossim([]) doesn't work. Changing Tossim with TOSSIM or tossim it is the same: NameError: name 'tossim' is not defined. Cheers Daniele -Original Message- From: Philip Levis [mailto:[EMAIL PROTECTED] Sent: Mon 9/11/2006 6:08 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] TOSSIM 2.x doesn't run On Sep 11, 2006, at 6:42 AM, Munaretto, Daniel wrote: Dear all, following the tutorial and archive cause of some problems, i compiled Blink apps as: make micaz sim- cygwin in order to run then TOSSIM. But after writing from TOSSIM import * in python environment, the bash displays no module named TOSSIM. Does it mean that with the sim- cygwin command i cannot run TOSSIM in tinyos-2.x? You need to add tinyos-2.x/support/sdk/python to your PYTHONPATH variable. Phil check.rar Description: check.rar ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] repeating tests,no free memory
Dear all, i discover a really strange behavior in my application. I repeat more times my code, and after some experiments the motes break down. So there is a memory problem. But i'm sure i free all the memory i allocate during the code. I'm using only a buffer and i re-use it all the times, instead i allocate memory with calloc() only for creating a chain which i delete at the end of each simulation with the free command and then i give NULL to the pointers. So i don't understand where i lose memory each time i re-run the program (without re-booting the motes). i'm in tinyos 1.1.15,micaz motes. I'm using the FlashBridge interface because i'm working on the flash. I'm supposing that, may be, the problem is in the way Tinyos handles the packets received. For example, in the function event TOS_MsgPtr Receive.receive(TOS_MsgPtr m), before returning m, do i have to free it?But i can see it's wrong to do.. Please, if anyone knows where i have to find the waste of memory (may be some interfaces)...any helps will be really appreciated thanks very much cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: Problems on switching back to tinyos-1.x
-Original Message- From: Munaretto, Daniel Sent: Mon 9/11/2006 2:32 PM To: tinyos-help@Millennium.Berkeley.EDU Cc: Subject: Problems on switching back to tinyos-1.x Dear all, i have some problems on switching back from 2.x to 1.x. I'm able to compile Blink apps (it's a test) in tinyos2.x but when i switch back to tinyos1.x, i find the problem in the file attached on compiling the Blink app (under 1.x) ...why? i'm following the instructions in the web site and i also looked for it in the mailing list but i cannot find the solution. Is there something not backwardly compatible?... Thanks in advance for any helps, cheers Daniele check.rar Description: check.rar ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] TOSSIM 2.x doesn't run
Dear all, following the tutorial and archive cause of some problems, i compiled Blink apps as: make micaz sim- cygwin in order to run then TOSSIM. But after writing from TOSSIM import * in python environment, the bash displays no module named TOSSIM. Does it mean that with the sim- cygwin command i cannot run TOSSIM in tinyos-2.x? cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Upgrading nesC
Dear all, i'm upgrading tinyos 1.1.11 to tinyos 2.x. I'm following the instructions, it's all ok until the NesC step: if i try to install, also with force, the version a or b, it is displayed: package nesc-1.2.7b-1 is intended for a cygwin_nt-5.0 operating system and with a: package nesc-1.2.7b-1 is intended for a cygwin operating system Please, does anyone know how to fix this problem?it is urgent!!! cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Micaz,S-MAC
Dear all, the S-MAC folder on my tinyos 1.x provides the s-mac protocol only for mica2, mica2dot, emstar and mica platform. But i need it for the collision avoidance in my micaz motes. I tried in many ways but i cannot modify those file in a simple way for my micaz. It seems the hardware is really different (CC2420). My question is: is there a simple and understandble starting point to bring this code to micaz?if yes, how? Please, it is really important for my project. Instead of creating a new mac i prefere, if possible, to modify an existing one. Any suggestion or help is really important for me! thanks very much, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] Swapping TOS message buffer Problem
First I think you have to return m in the end of the event. And think about they are pointers,so for example: void swap (int *px, int *py){ int temp; temp=*px; *px=*py; *py=temp; } before you were swapping the copies of the elements. cheers Daniele -Original Message- From: Hari Hara Sudhan [mailto:[EMAIL PROTECTED] Sent: Wed 9/6/2006 9:56 AM To: tinyos-help@Millennium.Berkeley.EDU Cc: Subject: [Tinyos-help] Swapping TOS message buffer Problem Hi every one, I have a problem with swapping tos message buffer I have to develop an application which has to receive a TOS Message through air and then Broad cast the message. The code is TOS_MsgPtr msg_buff; event TOS_MsgPtr ReceiveMsg.receive(TOS_MsgPtr m) { TOS_MsgPtr tmp=msg_buff; msg_buff=m; call Leds.greenToggle(); post SendData(); return tmp; } Basically im performing the buffer swap operation. But the problem is I can receive only the first Message. I think there is some problem with the buffer swap. Can any one please help me regarding this. Thanking you in advance R.Hari Hara Sudhan ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] why do i get this warning... no new line at end offile
Sometimes you need one more linespace after the end of the program. Try it -Original Message- From: primalfear 69 [mailto:[EMAIL PROTECTED] Sent: Wed 9/6/2006 2:36 PM To: tinyos-help Cc: Subject: [Tinyos-help] why do i get this warning... no new line at end offile hello everybody In many of my programs when i compile there is warning stating xyz.nc:9:2: warning: no new line at end of file Regards Primeballerina ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] need help!S-MAC folder for micaz?tinyos1.x
Dear all, i'm working on micaz motes in tinyos 1.x. I tried to use the S-MAC folder under tinyos1.x/contrib in my application including the makesmac makefile in mine, but i found that for micaz i cannot compile and run it. Because it is specific only for mica, mica2, mica2dot, etc.. If i add micaz in the makefile makesmac, i obtained a lot of implicit declarations, while compiling with mica2 or mica not. I'd like to know if it is possible to integrate s-mac with micaz motes. And if yes, how. My makefile is attached. I'm working under contrib/rincon/apps/FlashBridge/apps/Test_flash, that is my app folder. Please, any helps will be really appreciated!! Cheers Daniele Makefile Description: Makefile ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] RE: Range micaz motes
Really thanks, thanks very much. Yeh, wiring up my application to the CC2420Control interface and using the command for setting the RFpower, i'm able to modify the range! Thanks a lot cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Fri 9/1/2006 9:13 PM To: 'Michael Schippling'; Munaretto, Daniel Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: RE: [Tinyos-help] RE: Range micaz motes The /contrib/rincon directory contributes radio stack code only for the CC1000 though, not for the CC2420. Looks like you can do a CFLAGS += -DCC2420_DEF_RFPOWER=0x1F in your Makefile to set the RF power manually. If you're editing a different parameter in the MakeXbowLocal file to try to change the RF power, then you're editing the wrong thing. RADIO_XMIT_POWER = incorrect for the micaz. CC2420_DEF_RFPOWER is where it's at. Your application can change the RF power as well. If you wire up your component to the CC2420Control interface, which is provided by CC2420RadioC, you have access to the command: /** * Set the transmit RF power value. * The input value is simply an arbitrary * index that is programmed into the CC2420 registers. * The output power is set by programming the power amplifier. * Valid values are 1 through 31 with power of 1 equal to * -25dBm and 31 equal to max power (0dBm) * * @param power A power index between 1 and 31 * * @result SUCCESS if the radio power was adequately set. * */ command result_t SetRFPower(uint8_t power); I'm not sure if it will work by calling it on StdControl.init(), but it's worth a try. The CC2420 radio isn't finished starting up until CC2420RadioC's SplitControl.startDone() event is signaled. At the time of that event, it will definitely be safe to call CC2420Control.SetRFPower(..). -david -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Schippling Sent: Friday, September 01, 2006 10:58 AM To: Munaretto, Daniel Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] RE: Range micaz motes As I understand it, the rincon tree contributes entirely new radio code, so it may not even use those defines. I haven't looked at it myself. Perhaps you can search the radio source and see... MS Munaretto, Daniel wrote: Yeh, i did the right one. The only strange thing in my program is that i work under contrib/rincon directory (i'm using the flash applications), and then in the makefile i force the compiler to compile the MakeXbowlocal file under contrib/xbow. Is it may be a source of errors? cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Thu 8/31/2006 8:22 PM To: Munaretto, Daniel Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] RE: Range micaz motes There are separate MakeXbowlocal defines for mica2,z... You did set the right one, right? Otherwise you could disconnect the antennas, or make really inefficient ones. MS Munaretto, Daniel wrote: Sorry, i have to say i already modified the MakeXbowlocal file but without results. I put the TX power to the minimum, but i obtain the same transmitting range. And in my makefile i compile it! -Original Message- From: Munaretto, Daniel Sent: Thu 8/31/2006 4:32 PM To: Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: Range micaz motes Hi all, is there a really simple thing to do for reducing the radius range of the micaz motes? i'm working in TinyOS 1.1.11. Thanks very much Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https
[Tinyos-help] Useful go to TinyOS-2.x?
Dear all, i discover by my tests that the MAC layer, used by micaz motes in TinyOS 1.1.11, is the same used in TOSSIM. So, if it's truly identical, it is a simple CSMA base. My question is: moving to TinyOs 2.x, do i have any possibilities to run on my micaz motes a good protocol like S-MAC? cause in my folders it seems there is not (same performance of TOSSIM, same collisions)!and i don't know if S-MAC or other protocols with collision avoidance are implemented by default in TinyOS 2.x (for the micaz platform). In order to know if it is useful in this way to update my version, i hope someone has a good answer for me Thanks very much, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
RE: [Tinyos-help] RE: Range micaz motes
Yeh, i did the right one. The only strange thing in my program is that i work under contrib/rincon directory (i'm using the flash applications), and then in the makefile i force the compiler to compile the MakeXbowlocal file under contrib/xbow. Is it may be a source of errors? cheers Daniele -Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Thu 8/31/2006 8:22 PM To: Munaretto, Daniel Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: Re: [Tinyos-help] RE: Range micaz motes There are separate MakeXbowlocal defines for mica2,z... You did set the right one, right? Otherwise you could disconnect the antennas, or make really inefficient ones. MS Munaretto, Daniel wrote: Sorry, i have to say i already modified the MakeXbowlocal file but without results. I put the TX power to the minimum, but i obtain the same transmitting range. And in my makefile i compile it! -Original Message- From: Munaretto, Daniel Sent: Thu 8/31/2006 4:32 PM To: Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: Range micaz motes Hi all, is there a really simple thing to do for reducing the radius range of the micaz motes? i'm working in TinyOS 1.1.11. Thanks very much Daniele ___ 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] Range micaz motes
Hi all, is there a really simple thing to do for reducing the radius range of the micaz motes? i'm working in TinyOS 1.1.11. Thanks very much Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] RE: Range micaz motes
Sorry, i have to say i already modified the MakeXbowlocal file but without results. I put the TX power to the minimum, but i obtain the same transmitting range. And in my makefile i compile it! -Original Message- From: Munaretto, Daniel Sent: Thu 8/31/2006 4:32 PM To: Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: Range micaz motes Hi all, is there a really simple thing to do for reducing the radius range of the micaz motes? i'm working in TinyOS 1.1.11. Thanks very much Daniele ___ 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
-Original Message- From: Munaretto, Daniel Sent: Mon 8/28/2006 4:31 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: tinyos-help@Millennium.Berkeley.EDU Subject: 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] 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
RE: [Tinyos-help] Help with Flash!
Hi David, now the code is going little better but i don't know why of this behaviour: i explain you in a simple way: i have 2 nodes, every node creates a new packet every 10 seconds. When they create or receive a packet, they inject them in a buffer with the same generation (a parameter to distinguish). If the packet is new they create a new buffer, otherwise they read from flash the correct buffer for injecting the packet into. Well, it seems easy, but for now all is working except the fact that: in my flash the node are writing in the right places (for reading i'm not sure..), so they recognize if the correspondent buffer exists. But they inject in this way the packet: in flash, the buffer with -generation=0 has: the pck from node 0, generation 0 and the pck from node 1 generation 1(so the generation is wrong, may be it's wrong in the reading?..) -generation1 : from node 0 generation 1 and from node 1 generation2. and so on it means by node1 there is not matching (it differs by 1 generation) i see all these things on node 0, that is the first which starts working. And also the data i read on mote 0 by your flashbridgeviewer application are not correct. In the matrix field i can see that the real data aren't matching with the displayed ones by some bytes (from 1 byte for generation 0 to 4 bytes to generation 3!). But the other fields are ok, so my functions for injecting or other are working properly. I attached a simple version of my code, may be it would be easy to find an error...i think however in the reading phase from flash...but i'm gonna crazy on finding it.. thanks for your availability cheers Daniele BcastM_bckup_for_DAVID.nc Description: BcastM_bckup_for_DAVID.nc 0x0 to 0x120 _ 00 00 00 40 01 00 02 00 00 00 00 00 00 00 00 00 | [EMAIL PROTECTED] ## 01 00 26 C2 03 8D 94 AF D0 2E D2 2A 00 01 BD 65 | #Â#??¯ Ð.Ò*##½eÕ D5 B5 7C E7 D8 AF 41 94 02 00 00 00 0C 00 02 00 | µ|çدA? 01 02 00 01 00 00 00 01 00 00 00 80 3F 01 00 02 | ### ###?? 00 01 00 00 00 00 00 00 00 01 00 E8 5E 32 E3 4D | ### ###è^2ãM# 14 AF E5 44 06 00 01 FE EE C3 99 2D 4C 82 1B 29 | ¯åD###þ îÃ?-L?#)M 4D 02 00 00 00 0C 00 02 00 01 02 00 01 00 00 00 | 01 00 00 00 80 3F 01 00 02 00 02 00 00 00 00 00 | ###??## # 00 00 01 00 9A B3 ED 54 26 C2 0A 9A BA FA 00 01 | ###?³íT  22 5B A9 4D 8C 07 11 34 72 FB 02 00 00 00 0C 00 | [©M?# 02 00 01 02 00 01 00 00 00 01 00 00 00 80 3F 01 | ### #??## 00 01 00 03 00 00 00 00 00 00 00 01 00 73 6D 54 | ### #smT/ 2F E5 49 1C B6 E2 4A 00 00 00 00 00 00 00 00 00 | åI#¶âJ# # 00 00 00 01 00 00 00 0C 00 01 00 01 01 00 00 00 | ## 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF | #ÿÿ ÿ FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ÿÿÿ ÿ FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ÿÿÿ ÿ FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ÿÿÿ 00 00 00 40 01 00 02 00 00 00 00 00 00 00 00 00 01 00 26 C2 03 8D 94 AF D0 2E D2 2A first row of matrix 00 01second 02 00 00 00 0C 00 02 00 01 02 00 01 00 00 00 01 00 These are the fields in order of the first buffer (generation 0- 00 00) but the first pck from node 1 has to be (second row without 00 01): 67 D1 BD 65 D5 B5... and not BD 65 D5 B5... so i lose the first 2 bytes here, for example..___ 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 Flash!Micaz,tinyos 1.x
Hi David, after using your important previous suggestions, the program was running in a properly way on 2 motes for testing. But it is correct only if i create packets by myself and i receive packets by other nodes. If i try to forward i cannot. Before using Flash, my code was running properly on my motes but the problem was of insufficient memory as you know well. And i checked it also by simulations in TOSSIM. Now, i don't understand why my code seems unable to have the same past behaviour. i mean: in my program every TOT seconds i create a new packet in each node and i broadcast it. Every node stores this packet in a buffer (different buffers for different generation periods) where i make some calculations (by using matrix) and then, if a random parameter allows me, i forward a coded packet, which is a combination of the previous ones stored in the same buffer. But now, by using flash, my program is no more able to recognize the innovative packets-the packets which increase the rank of my matrix-which carry new information to my node. May be it's wrong the way i read in Flash. When i create a new packet, i send it and i write the corrispondent buffer in flash. When i receive, i check if my packet belongs to the same generation of a buffer i've already created, so i read from flash, or i write on flash a new buffer. But however after reading from flash i need to re-write on flash. Is it possible?notice that after the event FlashBridge.writeDone() i flush on flash. However when i save my buffers on flash, i save many fields, for example: typedef struct Buffer{ double _sendallowed; struct Buffer *next; int _sendcount; int _recvcount; uint8_t _gen; struct Datagram *generated_; long generated_rank_; /* content matrix and rank at last gaussian reduction */ unsigned char **matrix; long _rank; int _num_cols; int _used_cols; bool _innovative; /* rows that can already be decoded */ int *_decoded; int label[block_size]; }Buffer; but when i call the read's function, i return the cast (Buffer *) of the void *buffer specified in the interface. So for example in my program i have: task void readFlash(){ if (!call FlashBridge.read(flashAddr,flashBuffer,flashLen)){ post readFlash(); } } Buffer* readInToFlash(uint32_t addr, uint32_t len){ flashAddr=addr; //flashBuffer=buf; flashLen=len; post readFlash(); return (Buffer *)flashBuffer; } event void FlashBridge.readDone(uint32_t addr, void *buf, uint32_t len, result_t result){ return; } where in my main for example, in the receive part, i do: event TOS_MsgPtr ReceiveDataNC.receive(TOS_MsgPtr m){ Datagram *dg=(Datagram *)m-data; int new_decoded,i_new; double inc,sc,frac; unsigned char *recbuffer = NULL; bool is_in_flash; Buffer *ibuff = NULL; Buf_flash *b; is_in_flash=FALSE; no_received+=1; dbg(DBG_USR1,rx from node %i\n, gen %i\n, pckId %i\n, n tot dec %i\n,dg-saddr,dg-_gen,dg-pckID,decod); /** /* node_insert(dg); /***/ b=Head; while((b b-next!=NULL) b-gen!=dg-_gen) b=b-next; if (!b || b-gen!=dg-_gen){//it doesn't exist in flash,now check in RAM ibuff = init_NCBuffer(dg-_gen, dg-len); } else{//there is in flash /* we have to read from Flash*/ is_in_flash=TRUE; ibuff=(Buffer *)calloc(1,sizeof(Buffer)); ibuff=readInToFlash(b-addr_flash,b-len); } inc_recvcount(ibuff); inject(dg,ibuff); if (ibuff-_innovative) { inn++; //dbg(DBG_USR1,num innovative pcks rx: %i\n,inn); inc = 0; sc = calc_send_count(); if (probabilistic_nc) { frac = modf(sc, inc); //function: sc's fractional part in frac (ex.0.8),integer one (ex.0) in inc j=((double)(call Random.rand())/(double)(0x)); if (j frac) inc += 1.0; } else { // send own packets at least once inc = sc; if (dg-saddr == TOS_LOCAL_ADDRESS inc 1) inc = 1.0; } inc_sendallowed(ibuff,inc); } /**/ /* end node_insert*/ /**/ if (ibuff-_innovative) { new_decoded = 0; for (i_new = 0; i_new block_size; ++i_new) { // update stats for newly decodable packets if (ibuff-_decoded[i_new] == 1) { ++new_decoded; ++decod; recbuffer=recover(ibuff,i_new); if (recbuffer) free(recbuffer); } } } /* now putting on flash the modified buffer*/ if(!is_in_flash){ memcpy(buffer,ibuff,sizeof(Buffer)); post writeToFlash(); } else{ b-priority=priority(ibuff); memcpy(buffer,ibuff,sizeof(Buffer)); post writeToFlash(); } free(ibuff); return m; } So by the inject function, i must expect that i receive buf-innovative=TRUE. This happens without using flash. Do i might use the read function in a wrong way?or i cannot re-obtain the same fields of the buffer i wrote before on flash? I cannot find the solution... PS here there
RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz, tinyos 1.x
Yes, i had to update the old version. Now it compiles, but when i run the java tool i'm not able to use read and write commands. For example, from folder /contrib/rincon/tools/java i type java com.rincon.flashbridgeviewer.FlashViewer 0 -ping and i receive correctly Pong!The mote has FlashViewer installed NB i used make micaz install.0 eprb,192.168.1.3 (by ethernet) then i tried: java com.rincon.flashbridgeviewer.FlashViewer 0 -read 0 0x100 or also the write command from the README file, but it diplays: For input string: -read Usage: java com.rincon.flashbridgeviewer.FlashViewer [mote] [command] COMMANDS: -read [start address] [range] -write [start address][20 characters] -erase [sector] -flush -crc [start address][range] -ping What can i do for solving this problem? Thanks, cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Thu 8/3/2006 6:25 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x I've seen this error before. You're using an older version of TinyOS aren't you? TinyOS 1.1.7 uses a PageEEPROM interface defined in the /platform/mica directory, while future versions use a PageEEPROM interface defined in /tos/lib/Flash/AT45DB. The 1.1.7 PageEEPROM interface version defines these crc commands: command result_t computeCrc(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n); event result_t computeCrcDone(result_t result, uint16_t crc); while future versions define an extra command, thanks to Johnathan Hui, that allows a running CRC: command result_t computeCrc(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n); command result_t computeCrcContinue(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n, uint16_t crc); event result_t computeCrcDone(result_t result, uint16_t crc); This can be fixed on your system, but you need to update your version of PageEEPROMM module and PageEEPROM interface. I've attached the updated versions of PageEEPROM files (with a slight fix to make it work with 1.1.7). Put these files in your local compile directory (in either /Blackbook5/apps/FlashBridge where you were compiling from, or in /Blackbook5/media/AT45DB) so you don't overwrite the original 1.1.7 versions. When you compile, these files will override the files in the /platform/mica directory. Incase updating the PageEEPROM component doesn't work, you can remove the latest version by deleting the files from the local directory without breaking your TinyOS. Hope that works. Let me know how it goes. -David -Original Message- From: Munaretto, Daniel [mailto:[EMAIL PROTECTED] Sent: Thursday, August 03, 2006 8:08 AM To: David Moss Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x I have a problem on compiling..i download all useful files but i have a problem about one in particular. When i compile i have this error: C;/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica/PageEEPROMShare.nc:40 'PageEEPROM.computeCrcContinue' not implemented but it's implemented in PageEEPROMM.nc. If i move this implementation to PageEEPROMShare.nc file, other errors. I don't understand. Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Wed 8/2/2006 5:22 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x I have done a lot of work in this area because my projects require flash. Flash memory *is* EEPROM. On your micaz you do have 128kB of ROM memory for your actual binary program on the chip, which you don't have access to. 512kB external flash memory can store data and whatever else you want on, and 4kB
RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz, tinyos 1.x
And also with command -flush, it's working. Only with commands + arguments it doesn't work! -Original Message- From: Munaretto, Daniel Sent: Fri 8/4/2006 10:15 AM To: David Moss Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x Yes, i had to update the old version. Now it compiles, but when i run the java tool i'm not able to use read and write commands. For example, from folder /contrib/rincon/tools/java i type java com.rincon.flashbridgeviewer.FlashViewer 0 -ping and i receive correctly Pong!The mote has FlashViewer installed NB i used make micaz install.0 eprb,192.168.1.3 (by ethernet) then i tried: java com.rincon.flashbridgeviewer.FlashViewer 0 -read 0 0x100 or also the write command from the README file, but it diplays: For input string: -read Usage: java com.rincon.flashbridgeviewer.FlashViewer [mote] [command] COMMANDS: -read [start address] [range] -write [start address][20 characters] -erase [sector] -flush -crc [start address][range] -ping What can i do for solving this problem? Thanks, cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Thu 8/3/2006 6:25 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x I've seen this error before. You're using an older version of TinyOS aren't you? TinyOS 1.1.7 uses a PageEEPROM interface defined in the /platform/mica directory, while future versions use a PageEEPROM interface defined in /tos/lib/Flash/AT45DB. The 1.1.7 PageEEPROM interface version defines these crc commands: command result_t computeCrc(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n); event result_t computeCrcDone(result_t result, uint16_t crc); while future versions define an extra command, thanks to Johnathan Hui, that allows a running CRC: command result_t computeCrc(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n); command result_t computeCrcContinue(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n, uint16_t crc); event result_t computeCrcDone(result_t result, uint16_t crc); This can be fixed on your system, but you need to update your version of PageEEPROMM module and PageEEPROM interface. I've attached the updated versions of PageEEPROM files (with a slight fix to make it work with 1.1.7). Put these files in your local compile directory (in either /Blackbook5/apps/FlashBridge where you were compiling from, or in /Blackbook5/media/AT45DB) so you don't overwrite the original 1.1.7 versions. When you compile, these files will override the files in the /platform/mica directory. Incase updating the PageEEPROM component doesn't work, you can remove the latest version by deleting the files from the local directory without breaking your TinyOS. Hope that works. Let me know how it goes. -David -Original Message- From: Munaretto, Daniel [mailto:[EMAIL PROTECTED] Sent: Thursday, August 03, 2006 8:08 AM To: David Moss Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x I have a problem on compiling..i download all useful files but i have a problem about one in particular. When i compile i have this error: C;/tinyos/cygwin/opt
RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz, tinyos 1.x
Then i commented /*import com.rincon.transfer.TransferCommands;*/ in FlashViewerSender.java in order to compile FlashViewer.java and so have a new .class. But the results are the same. In FlashViewer.java, i notice with debug messages, i'm able to enter in if(cmd.matches(-read)) { // Get the start address if (argv.length ++index) { reportError(No Missing [start address]); startAddress = parseLong(argv[index]); /*reportError(No Missing [start address]); */ } else { reportError(Missing [start address]); } // Get the range if (argv.length ++index) { actualRange = parseLong(argv[index]); } else { reportError(Missing [range]); } runner.read(startAddress, actualRange, moteID); [..] but after (in the -read case) startAddress = parseLong(argv[index]); it's not able to print the debug message!(if i change the commented debug messages) -Original Message- From: Munaretto, Daniel Sent: Fri 8/4/2006 10:34 AM To: David Moss Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x And also with command -flush, it's working. Only with commands + arguments it doesn't work! -Original Message- From: Munaretto, Daniel Sent: Fri 8/4/2006 10:15 AM To: David Moss Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x Yes, i had to update the old version. Now it compiles, but when i run the java tool i'm not able to use read and write commands. For example, from folder /contrib/rincon/tools/java i type java com.rincon.flashbridgeviewer.FlashViewer 0 -ping and i receive correctly Pong!The mote has FlashViewer installed NB i used make micaz install.0 eprb,192.168.1.3 (by ethernet) then i tried: java com.rincon.flashbridgeviewer.FlashViewer 0 -read 0 0x100 or also the write command from the README file, but it diplays: For input string: -read Usage: java com.rincon.flashbridgeviewer.FlashViewer [mote] [command] COMMANDS: -read [start address] [range] -write [start address][20 characters] -erase [sector] -flush -crc [start address][range] -ping What can i do for solving this problem? Thanks, cheers Daniele -Original Message- From: David Moss [mailto:[EMAIL PROTECTED] Sent: Thu 8/3/2006 6:25 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: RE: for David Moss: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x I've seen this error before. You're using an older version of TinyOS aren't you? TinyOS 1.1.7 uses a PageEEPROM interface defined in the /platform/mica directory, while future versions use a PageEEPROM interface defined in /tos/lib/Flash/AT45DB. The 1.1.7 PageEEPROM interface version defines these crc commands: command result_t computeCrc(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n); event result_t computeCrcDone(result_t result, uint16_t crc); while future versions define an extra command, thanks to Johnathan Hui, that allows a running CRC: command result_t computeCrc(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n); command result_t computeCrcContinue(eeprompage_t page, eeprompageoffset_t offset, eeprompageoffset_t n, uint16_t crc
for David Moss: [Tinyos-help] Help with real node behaviour!Micaz, tinyos 1.x
-Original Message- From: Michael Schippling [mailto:[EMAIL PROTECTED] Sent: Tue 8/1/2006 7:19 PM To: Munaretto, Daniel Cc: tinyos-help@Millennium.Berkeley.EDU Subject: 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
[Tinyos-help] Tinyos1.x,micaz mote,ATmega128,FLASH!!
Hi all, i found some files in www.tinyos.net/tinyos-1.x/tos/ for using the FLASH memory. I transferred these files to my FLASH folder in tinyos-1.x/tos/lib but now i don't know how to use them. Previously in this folder there were only ByteEEPROM.nc, ByteEEPROMC.nc, PageEEPROM.h, PageEEPROM.nc, PageEEPROMShare.nc. My project needs more memory than the available RAM (only 4 Kbytes), so we think to write data on FLASH. Does anyone know how to handle these files? like BlockStorage.h, BlockRead.nc, BlockWrite.nc, FormatStorage.nc, Mount.nc, Storage.h, FlashWP.nc, StorageRemap.nc Do i need other files? Please, every help will be really appreciated! Thanks very much, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Flash, not EEPROM memory
Hi all, i'm using micaz motes, Atmega128 Radio Unit and Tinyos 1.x. I received a lot of informations by people in list about how to use EEPROM memory (4 Kbytes) but not about Flash (128 Kbytes).. And in my folders i have only files about the using of EEPROM memory. Does anyone know about Flash memory?Could anyone say to me where to find and download files for reading and writing on Flash?and how to use them? i'm lossing myself.. Any help will be really appreciated! Thanks very much! Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
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
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
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
RE: [Tinyos-help] Help with real node behaviour!Micaz,tinyos 1.x
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 program, where before broadcasting packets i code packets i stored in the node's internal buffer, i notice i cannot receive over 5 packets (in my experiments i generate 8 packets per node). But if i run only one mote, it's able to generate all packets. So if i run 2 nodes, one seems blocked or crashed after receiving 5 packets (Leds stop to work, fixed on a color or void) and the other one continue to send packets in a properly way. I made with several motes and it's the same, also changing batteries. Anyone could help me, please? i don't know what's wrong, in TOSSIM was all ok. And i'm using micaz motes, tinyos 1.x, after compiling i see: used RAM=1657 bytes, used ROM=19600 bytes. Thanks very much, i hope someone could answer to me! cheers Daniele ___ 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 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 program, where before broadcasting packets i code packets i stored in the node's internal buffer, i notice i cannot receive over 5 packets (in my experiments i generate 8 packets per node). But if i run only one mote, it's able to generate all packets. So if i run 2 nodes, one seems blocked or crashed after receiving 5 packets (Leds stop to work, fixed on a color or void) and the other one continue to send packets in a properly way. I made with several motes and it's the same, also changing batteries. Anyone could help me, please? i don't know what's wrong, in TOSSIM was all ok. And i'm using micaz motes, tinyos 1.x, after compiling i see: used RAM=1657 bytes, used ROM=19600 bytes. Thanks very much, i hope someone could answer to me! cheers Daniele ___ 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] Help with real node behaviour!Micaz,tinyos 1.x
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 program, where before broadcasting packets i code packets i stored in the node's internal buffer, i notice i cannot receive over 5 packets (in my experiments i generate 8 packets per node). But if i run only one mote, it's able to generate all packets. So if i run 2 nodes, one seems blocked or crashed after receiving 5 packets (Leds stop to work, fixed on a color or void) and the other one continue to send packets in a properly way. I made with several motes and it's the same, also changing batteries. Anyone could help me, please? i don't know what's wrong, in TOSSIM was all ok. And i'm using micaz motes, tinyos 1.x, after compiling i see: used RAM=1657 bytes, used ROM=19600 bytes. Thanks very much, i hope someone could answer to me! cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Visualizing topology+nodes'information
Hi all, i'd like to visualize on my pc my network and if possible to show the contents of the packets, in particular one internal parameter (the number of decoded packets, field already inside the packet format). But each node doesn't know about neighbors or the net in general, so routing protocol are not used, they only broadcast the information. I was thinking to use TOS_BASE application to receive packets from the net, send them to my pc and if possible to visualize the number of decoded packets stored in these packets. But how can i visualize these informations on my pc (topology+number of decoded pcks)? Should i use oscilloscope tool or similar?and how? Thanks very much, Daniele ___ 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.
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, Cheers Daniele -Original Message- From: Philip Levis [mailto:[EMAIL PROTECTED] Sent: Tue 7/25/2006 7:33 AM To: José Ulloa Cc: Tinyos-help@Millennium.Berkeley.EDU Subject: 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.x stack. The TinyOS 2.0 stack doesn't have this issue; it keeps track of 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.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] binpc/main, TOSSIM
-Original Message- From: Munaretto, Daniel Sent: Thu 7/20/2006 10:24 AM To: tinyos-help@millennium.berkeley.edu Cc: Subject: binpc/main, TOSSIM Hi all, i read in www.tinyos.net/nest/doc/tutorial/tossim-lesson.html that the simulator can simulate a 25 or 50 Kb radio stack. If i could set in binpc folder the option -kb 50 i can space out my nodes enough in time (to avoid partially the hidden node problem). The problem is: i haven't the binpc/ folder...Does it exist??does anyone know? i need as soon as possible an answer if anyone knows about it! Thanks for your availability, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] binpc/main, TOSSIM
Hi all, i read in www.tinyos.net/nest/doc/tutorial/tossim-lesson.html that the simulator can simulate a 25 or 50 Kb radio stack. If i could set in binpc folder the option -kb 50 i can space out my nodes enough in time (to avoid partially the hidden node problem). The problem is: i haven't the binpc/ folder...Does it exist only inside few standard apps or is it possible to have it in my own application?if yes, how is possible to re-use it in the best way for my project?does anyone know? i need as soon as possible an answer if anyone knows about it! Thanks for your availability, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] problems in broadcast networks
Hi all, in my project i simulate 2 kinds of wireless network. In the first one i use only flooding to disseminate information, in the other one a particular coded flooding. During my simulations in TOSSIM i understood it's better to use random timers to avoid collisions between motes. However using also quite large backoff intervals, i notice, for example: - i have 4 nodes and in TOSSIM i specify grid topology, -rf=lossy and disc.radius=10. In this way one node can see only 2 neighbours, not 3. Well, even managing large timers, node 2 is not able to forward any packets, but 0,1,3 are able. I don't understand. However, in general, the nodes are not able to forward all packets they receive, and this is strange cause when i receive a packet i save it in a buffer and then i post a task to forward it after a random timer's fired. Can anyone help me? It' s really important! Thanks very much for your availability cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: problems in broadcast networks
Hi all, does anyone know if in TOSSIM, the usage of -rf=lossy brings to lose packets cause of an internal error model? Does anyone know something about how TOSSIM handles this option? because by my side i cannot find any explanation on it (i hope the quite bizarre behaviour of my simulation is related to this internal model, so it would be the error's source..) Thanks, cheers Daniele -Original Message- From: Munaretto, Daniel Sent: Thu 7/13/2006 11:30 AM To: tinyos-help@millennium.berkeley.edu Cc: Subject: problems in broadcast networks Hi all, in my project i simulate 2 kinds of wireless network. In the first one i use only flooding to disseminate information, in the other one a particular coded flooding. During my simulations in TOSSIM i understood it's better to use random timers to avoid collisions between motes. However using also quite large backoff intervals, i notice, for example: - i have 4 nodes and in TOSSIM i specify grid topology, -rf=lossy and disc.radius=10. In this way one node can see only 2 neighbours, not 3. Well, even managing large timers, node 2 is not able to forward any packets, but 0,1,3 are able. I don't understand. However, in general, the nodes are not able to forward all packets they receive, and this is strange cause when i receive a packet i save it in a buffer and then i post a task to forward it after a random timer's fired. Can anyone help me? It' s really important! Thanks very much for your availability cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] help:event Receive.receive(),simultaneous!!
Hi all, is there a fast and easy way to receive all messages arriving from the network without lossing packets (simultaneous arriving messages to the same node)? Because if i only use event TOS_MsgPtr ReceiveDataNC.receive(TOS_MsgPtr m){ Datagram *dg=(Datagram *)m-data; [..] . . [..] return m; } i see in TOSSIM that some packets too close with each other (i mean in the time,really closed in arriving time), only the first is taken and elaborated,the next ones are not considered. But i want to consider all these packets for my project, it's really important!!! I hope someone can help me! Thanks for your availability!! Cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] help:event Receive.receive()
Hi all, is there a fast and easy way to receive all messages arriving from the network? Because if i only use event TOS_MsgPtr ReceiveDataNC.receive(TOS_MsgPtr m){ Datagram *dg=(Datagram *)m-data; [..] . . [..] return m; } i see in TOSSIM that some packets too close with each other (i mean in the time,really closed in arriving time), only the first is taken and elaborated,the next ones are not considered. But i want to consider all these packets for my project, it's really important!!! I hope someone can help me! Thanks for your availability!! Cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] help with simulations
Hi all, i'm upset about Tossim simulations. I have to use -rf=lossy option by bash to modify the radius and distance factor directly on TinyViz interface. But, at the same time, you lose packets on collisions cause of this lossy option, so the obtained results aren't right (for example the packet delivery ratio).It's bad for simulating flooding networks where you want to create chains or other topologies where nodes aren't in the same range of all network nodes. (by default TinyViz considers all nodes in the range of each node) What could i do to have different topologies but without losing packets? Please if anyone knows, send me a suggestion, it's really important! Cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] little help on ack
In the past mails i didn't understand what ACK field shows in my sent messages. i've never enabled anything,however it's showing in some messages numbers like 0x88,0x9,etc.. Anyone could remind me what's the meaning of these numbers? And also STRENGTH field is !=0 in the same packets where ACK!=0. Why?what is the scope of this field? Thanks for availability Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] is possible with TinyViz?
Hi all, i'd like to work with packages bigger than 29 bytes. So i modified in AM.h TOSH_DATA_LENGTH (but no more of 100 bytes, cause there are many warnings showed by the compiler). So the question is: does anyone know how to see in TinyViz all the data bytes? cause by default you can see only 29 bytes with debug messages. If and where there is something that has to be modified, please advise me! Thanks for your availability, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] help with neighbors
Hi all, in my program i need to know how many neighbors every mote has. But till now i only simulate my sensors net with TinyViz , and i don't know if a particular useful function exists to know this feature. I hope it exists in NesC. Anyone could help me please? It's really important for my project Thanks in advance for your help cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] typhon+tossim
Hi all, i'm really new with typhon scripts and i saw the /tython/manual.html but i don't know how to do this simple file with 4 nodes. If i want only to modify the loss rate among nodes, although to have a sort of chain of nodes (0 sees only 1, 1 sees only 0 and 2, and so on), i tried to run this test.py java net.tinyos.sim.SimDriver -script test.py where test.py is: ... from simcore import * from java.util import * from net.tinyos.message import * from net.tinyos.packet import * radio.setLossRate(0,1,0) radio.setLossRate(0,2,1) radio.setLossRate(0,3,1) radio.setLossRate(1,0,0) radio.setLossRate(1,2,0) radio.setLossRate(1,3,1) radio.setLossRate(2,0,1) radio.setLossRate(2,1,0) radio.setLossRate(2,3,0) radio.setLossRate(3,0,1) radio.setLossRate(3,1,1) radio.setLossRate(3,2,0) sim.exec(./build/pc/main.exe, 4, -b=0 -gui -rf=lossy -t=10 ) .. But it is shown syntax error. Anyone could suggest me how to build up this simple example? Cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: typhon+tossim
Now with this program no syntax errors, but i'm not able to print on an output file my dbg messages (written in my nesc program). And i don't know if it is the right way to create the chain i mentioned before. import simcore import simutil import simtime import math from simcore import * from java.util import * from net.tinyos.message import * from net.tinyos.packet import * radio.setLossRate(0,1,0) radio.setLossRate(0,2,1) radio.setLossRate(0,3,1) radio.setLossRate(1,0,0) radio.setLossRate(1,2,0) radio.setLossRate(1,3,1) radio.setLossRate(2,0,1) radio.setLossRate(2,1,0) radio.setLossRate(2,3,0) radio.setLossRate(3,0,1) radio.setLossRate(3,1,1) radio.setLossRate(3,2,0) sim.exec(./build/pc/main.exe, 4, -b=0 -rf=lossy -t=10) sim.exit() -Original Message- From: Munaretto, Daniel Sent: Wed 6/7/2006 4:01 PM To: tinyos-help@Millennium.Berkeley.EDU Cc: Subject: typhon+tossim Hi all, i'm really new with typhon scripts and i saw the /tython/manual.html but i don't know how to do this simple file with 4 nodes. If i want only to modify the loss rate among nodes, although to have a sort of chain of nodes (0 sees only 1, 1 sees only 0 and 2, and so on), i tried to run this test.py java net.tinyos.sim.SimDriver -script test.py where test.py is: ... from simcore import * from java.util import * from net.tinyos.message import * from net.tinyos.packet import * radio.setLossRate(0,1,0) radio.setLossRate(0,2,1) radio.setLossRate(0,3,1) radio.setLossRate(1,0,0) radio.setLossRate(1,2,0) radio.setLossRate(1,3,1) radio.setLossRate(2,0,1) radio.setLossRate(2,1,0) radio.setLossRate(2,3,0) radio.setLossRate(3,0,1) radio.setLossRate(3,1,1) radio.setLossRate(3,2,0) sim.exec(./build/pc/main.exe, 4, -b=0 -gui -rf=lossy -t=10 ) .. But it is shown syntax error. Anyone could suggest me how to build up this simple example? Cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] time
How can i consider these time in seconds or milliseconds? i ran a TOSSIM simulation and i found these times of booting: SIM: Time for mote 1 initialized to 2477084. SIM: Time for mote 2 initialized to 2200990. It's quite urgent, if anyone knows.. Thanks Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Help: lossy.nss, option -r=lossy
When i start my simulation, with command ./buld/pc/main.exe -b=1 -t=10 -r=lossy 3 sim.txt it's showed: .. Initializing lossy model from lossy.nss 0: cannot open lossy.nss - assuming single radio cell .. What should i do to use this file for the -r=lossy option? Please, if anyone could help me! cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] How does time field work?TOS_Msg
In AM.h i found TOS_Msg that i'm using. If i display time field in my simulations on TinyViz, it's strange, it assumes meaningless values. Does someone know how it works? Thanks for your availability Daniele PS my purpose is to have a statistic about delay, so time when a mote send msg-time when it is received. ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] RandomLFSR:please help!
Hi all, i have a problem after using RandomLFSR. I used it on my program, now i turn back but when i compile it results that in /tos/lib/CC2420RadioC.nc component RandomLFSR not found and no match...it gives me an error of this kind...incredible..also the simulator shows many strange debug messages and not the radio packets as before (with standard fields like data, adresses, etc.). Please help me! Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] help with simulator(but RandomLFSR solved!)
Hi, i solved the problem with RandomLFSR but now the simulator doesn't show only my debug messages (i created in my program) and sent packet radio, but also new messages like booting and other ones that are not interesting. And now the simulation is really slow. Why this changing of behaviour?i'd like to turn back to my original screen where only sent messages and my debug messages are shown.. Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] TOSH_DATA_LENGTH
Hi all, does anyone know about the maximum value of TOSH_DATA_LENGTH (file AM.h) i can use? by default it's 29 bytes, but i cannot find anywhere the maximum i can send on my motes. Cause i have to use the maximum capability of TOS_Msg... Thanks for your availability, cheers Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Help about Tossim+TinyViz
Hi all, i created a simple program for broadcasting messages where every mote broadcast its ADC readings. If i install it on my motes it seems it works (i look at leds' work), but i cannot run TOSSIM. I type make pc and it's ok. Then ./build/pc/main.exe 5 for example and i can look at some messages on my shell. But if i try ./build/pc/main.exe -gui 5 and then i type in the same directory by another shell TinyViz , the TinyViz interface shows these 5 motes but nothing happens. Using paly,pause button and plugins nothing happens. I hope in your help! Cheers, Daniele ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Help about routing applications
Hallo, i'm Daniele Munaretto, i'm working with several motes by using TinyOS. I have to create a sensor network where packets are transmitted in the net by flooding, so in broadcast mode. Could you suggest me about some interfaces to use or applications as closer as possible to my project?Because there are so many folders and i have no so much time for finding the best to use and modify for my scope. Thanks for your availability, Daniele Munaretto ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Help about routing applications
Hallo, i'm Daniele Munaretto, i'm working with several motes by using TinyOS. I have to create a sensor network where packets are transmitted in the net by flooding, so in broadcast mode. Could you suggest me about some interfaces to use or applications as closer as possible to my project? (so then i can stuff it) Thanks for your availability, Daniele Munaretto ___ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help