hi all,
someone could let me a help. I try to compile TestTinyViz of the example 5
of tutorial of TinyOS( LESSON 5) and i did what the tutorial said. So, the
system return me this simple message:
[EMAIL PROTECTED] ~
$ cd /opt/tinyos-1.x/apps/TestTinyViz/
[EMAIL PROTECTED] /opt/tinyos-1.x/apps/TestTinyViz
$ ./tinyviz -run build/main.exe 30
java -Dpython.cachedir=/tmp/jython.cache -DDBG= -DSIMDBG=
net.tinyos.sim.SimDriv
er -gui -run build/main.exe 30
Starting SimDriver...
Simulation random seed 2084655426
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/main.exe -gui -r=lossy -seed=2084655426 -nodb
gout 30
AUTORUN: Unable to run simulation: java.io.IOException: CreateProcess:
build/mai
n.exe -gui -r=lossy -seed=2084655426 -nodbgout 30 error=2
java.io.IOException: CreateProcess:
build/main.exe -gui -r=lossy -seed=208465542
6 -nodbgout 30 error=2
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:63)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at net.tinyos.sim.AutoRun$AutoRunThread.run(AutoRun.java:344)
at java.lang.Thread.run(Thread.java:536)
Goodbye!
AUTORUN: Stopping simulation.
[EMAIL PROTECTED] /opt/tinyos-1.x/apps/TestTinyViz
$
thank you for attention
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, January 06, 2005 6:02 PM
Subject: Tinyos-users Digest, Vol 21, Issue 7
> Send Tinyos-users mailing list submissions to
> [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users
> or, via email, send a message with subject or body 'help' to
> [EMAIL PROTECTED]
>
> You can reach the person managing the list at
> [EMAIL PROTECTED]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Tinyos-users digest..."
>
>
> Today's Topics:
>
> 1. Re: [Tinyos-help] Successful in implementing end-to-end
> acknowledgements in TOSSIM (Yogesh Iyer)
> 2. StdControl.init (Cute Snoopy)
> 3. Re: [Tinyos-help] Successful in implementing end-to-end
> acknowledgements in TOSSIM (Yogesh Iyer)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 5 Jan 2005 13:53:58 -0800 (PST)
> From: Yogesh Iyer <[EMAIL PROTECTED]>
> Subject: [Tinyos-users] Re: [Tinyos-help] Successful in implementing
> end-to-end acknowledgements in TOSSIM
> To: Philip Levis <[EMAIL PROTECTED]>
> Cc: tossimu users group <[EMAIL PROTECTED]>,
> tossimh help group <[EMAIL PROTECTED]>
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="us-ascii"
>
> Hi Philip,
>
> Thanks for your comments. Regarding the problems:
>
> 1. Yes, currently node 0 sends an ACK directly to the source. I am now
working on a multihop propagation for ACK. But, if DRIP has this
functionality, then it makes things easier for me.
>
> 2. I noticed that you are returning FAIL when you call SendMsg.send() in
the Send.send() command too. So, dont you have the same problem here? Could
you explain what would exactly happen if it returns FAIL?
>
> 3. Yes, I was thinking about this problem too. So, instead of calling
SendMsg.send() in the receive handler, I can probably call it in mForward()
with a if (TOS_LOCAL_ADDRESS == 0) condition.
>
> If DRIP address all these issues, then I would be glad to use DRIP. Do you
have a documentation on it and where can I obtain the files for DRIP. I have
installed tinyos-1.x in my Linux machine. So, do I have to upgrade or can I
just copy those files?
>
> Thanks,
> Yogesh.
>
>
> Philip Levis <[EMAIL PROTECTED]> wrote:
> On Jan 4, 2005, at 11:30 PM, Yogesh Iyer wrote:
>
> > Hi,
> >
> > I was able to implement end-to-end acknowledgements in TOSSIM by
> > making the following changes in the ReceiveMsg.receive() function of
> > the MultiHopEngineM.nc routing module. Guess I wont be needing BCast
> > or Drip now. Thanks for your time and suggestions.
> >
> > if (pMsg->addr == TOS_LOCAL_ADDRESS) { // Addressed to all nodes
> > if ((signal
> > Intercept.intercept[id](pMsg,&pMHMsg->data[0],PayloadLen)) == SUCCESS)
> > {
> > if ((TOS_LOCAL_ADDRESS != 0) && (pMHMsg->sourceaddr != 0)) {
> > // All nodes except node 0 forward packets and only when the source
> > address is not node 0
> > pMsg = mForward(pMsg,id);
> > }
> > else if (TOS_LOCAL_ADDRESS == 0) { // If packet is
> > received by node 0, it will call the SendMsg.send() function with the
> > source node as the destination address
> > pMHMsg->sourceaddr = TOS_LOCAL_ADDRESS;
> > if (call SendMsg.send[id](pMHMsg->originaddr,
> > pMsg->length,pMsg) !=SUCCESS) {
> > return FAIL;
> > }
> > }
> > }
> > }
> >
>
> This may seem to work in simple cases, but is very fragile and buggy.
> Drip is a much better approach. Three problems:
>
> 1) Calling SendMsg.send assumes that the node you wish to send the ACK
> to is a single hop away (SendMsg is a single-hop AM send). Therefore,
> while it's technically end-to-end, it's only so when you're talking
> about a single hop path.
>
> 2) Returning FAIL when the signaler expects a TOS_MsgPtr is a recipe
> for disaster. You're passing a null pointer. The first time the
> SendMsg.send fails, bad things will happen.
>
> 3) More generally, calling SendMsg.send in a receive handler is an
> insidious bug. The issue is that the buffer you're passing to send is
> also the buffer you're returning to the radio stack to receive the next
> packet in. This means that if the node receives a new packet before it
> sends (e.g., the channel was busy with the next packet so the MAC
> backed off), then the reception will overwrite the buffer you want to
> send. You'll send what you just received, rather than what you want to
> send.
>
> Phil
>
>
> -------
>
> "We shall not cease from exploration
> And the end of all our exploring
> Will be to arrive where we started
> And know the place for the first time."
>
> - T. S. Eliot, 'Little Gidding'
>
>
>
>
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Mail - 250MB free storage. Do more. Manage less.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
http://mail.millennium.berkeley.edu/pipermail/tinyos-users/attachments/20050
105/4d8b6e80/attachment.html
>
> ------------------------------
>
> Message: 2
> Date: Wed, 5 Jan 2005 20:20:09 -0800 (PST)
> From: Cute Snoopy <[EMAIL PROTECTED]>
> Subject: [Tinyos-users] StdControl.init
> To: [email protected]
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="us-ascii"
>
> Hello
>
> I want to know about this function "StdControl.init();"
>
> In platform "msp430"
>
> In main() (in file MainM.nc) , it calls StdControl.init(); but i see this
function in many files in the platform ( ADCM.nc , InternalTempM.nc ,
InternalVoltageM.nc , MSP430ADC12M.nc , MSP430ClockM.nc and TimerM.nc )
>
> How do you know it calls this function from which file?
>
> After I run "make telos" I open build/telos/app.c , I know it calls from
TimerM.nc .
> Why does it call the function from this file?
>
>
> Thank a lot.
> Duang
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
http://mail.millennium.berkeley.edu/pipermail/tinyos-users/attachments/20050
105/a82965f4/attachment-0001.htm
>
> ------------------------------
>
> Message: 3
> Date: Thu, 6 Jan 2005 10:28:26 -0800 (PST)
> From: Yogesh Iyer <[EMAIL PROTECTED]>
> Subject: [Tinyos-users] Re: [Tinyos-help] Successful in implementing
> end-to-end acknowledgements in TOSSIM
> To: Philip Levis <[EMAIL PROTECTED]>
> Cc: tossimu users group <[EMAIL PROTECTED]>,
> tossimh help group <[EMAIL PROTECTED]>
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="us-ascii"
>
> Hi Phil,
>
> Gil gave me a brief explanation of Drip and If I am correct, Drip is used
to efficiently disseminate packets from the Base station to the entire
network. But, I want the Base station to transmit an ACK only to the source
node from which it received a packet.
>
> So, I made a some changes to the MultiHopEngineM.nc module. I now call
SendMsg.send() for the ACK packet from mForward() rather than the receive
handler. Also, the SendMsg.send() for the ACK packets is similar to the
SendMsg.send() for data packets i.e. it does not return FAIL.
>
> I hope I have taken care of the 2nd and 3rd problems you described. Can
you please have a look and let me know if I am correct. Thanks a lot.
>
>
> static TOS_MsgPtr mForward(TOS_MsgPtr pMsg, uint8_t id) {
> TOS_MsgPtr pNewBuf = pMsg;
>
> if (((iFwdBufHead + 1) % FWD_QUEUE_SIZE) == iFwdBufTail)
> return pNewBuf;
>
> if (TOS_LOCAL_ADDRESS !=0) {
> if ((call RouteSelect.selectRoute(pMsg,id)) != SUCCESS) {
> return pNewBuf;
> }
> }
>
> if (TOS_LOCAL_ADDRESS !=0) {
> if (call SendMsg.send[id](pMsg->addr,pMsg->length,pMsg) ==
SUCCESS) {
> pNewBuf = FwdBufList[iFwdBufHead];
> FwdBufList[iFwdBufHead] = pMsg;
> iFwdBufHead++; iFwdBufHead %= FWD_QUEUE_SIZE;
> }
> }
> else if (TOS_LOCAL_ADDRESS == 0) {
> if (call SendMsg.send[id](pMsg->addr, pMsg->length, pMsg) ==
SUCCESS) {
> pNewBuf = FwdBufList[iFwdBufHead];
> FwdBufList[iFwdBufHead] = pMsg;
> iFwdBufHead++; iFwdBufHead %= FWD_QUEUE_SIZE;
> }
>
> return pNewBuf;
>
> }
>
> --------------------------------------------------------------------------
-------------------------------------------------------------
>
> event TOS_MsgPtr ReceiveMsg.receive[uint8_t id](TOS_MsgPtr pMsg) {
> TOS_MHopMsg *pMHMsg = (TOS_MHopMsg *)pMsg->data;
> uint16_t PayloadLen = pMsg->length -
offsetof(TOS_MHopMsg,data);
>
> // Ordinary message requiring forwarding
> if (pMsg->addr == TOS_LOCAL_ADDRESS) { // Addressed to local node
> if ((signal
Intercept.intercept[id](pMsg,&pMHMsg->data[0],PayloadLen)) == SUCCESS) {
> if ((TOS_LOCAL_ADDRESS != 0) && (pMHMsg->originaddr !=
TOS_LOCAL_ADDRESS)) {
> pMsg = mForward(pMsg,id);
> }
> else if (TOS_LOCAL_ADDRESS == 0) {
> pMHMsg->sourceaddr = TOS_LOCAL_ADDRESS;
> pMsg->addr = pMHMsg->originaddr;
> pMsg = mForward(pMsg,id);
> }
> }
> }
> else {
> // Snoop the packet for permiscuous applications
> // dbg(DBG_ROUTE,"MHop: Snooping :)");
> signal Snoop.intercept[id](pMsg,&pMHMsg->data[0],PayloadLen);
> }
>
> return pMsg;
>
> }
>
>
>
> I am now working towards implementing a multi-hop propogation for the ACK
packet. Since, I have static routes in my network, I may be able to take
advantage of it. Can you please let me know if the 2nd and 3rd problem you
described has been resolved with the changes I made.
>
> Thanks,
> Yogesh.
>
>
>
> Philip Levis <[EMAIL PROTECTED]> wrote:
> On Jan 4, 2005, at 11:30 PM, Yogesh Iyer wrote:
>
> > Hi,
> >
> > I was able to implement end-to-end acknowledgements in TOSSIM by
> > making the following changes in the ReceiveMsg.receive() function of
> > the MultiHopEngineM.nc routing module. Guess I wont be needing BCast
> > or Drip now. Thanks for your time and suggestions.
> >
> > if (pMsg->addr == TOS_LOCAL_ADDRESS) { // Addressed to all nodes
> > if ((signal
> > Intercept.intercept[id](pMsg,&pMHMsg->data[0],PayloadLen)) == SUCCESS)
> > {
> > if ((TOS_LOCAL_ADDRESS != 0) && (pMHMsg->sourceaddr != 0)) {
> > // All nodes except node 0 forward packets and only when the source
> > address is not node 0
> > pMsg = mForward(pMsg,id);
> > }
> > else if (TOS_LOCAL_ADDRESS == 0) { // If packet is
> > received by node 0, it will call the SendMsg.send() function with the
> > source node as the destination address
> > pMHMsg->sourceaddr = TOS_LOCAL_ADDRESS;
> > if (call SendMsg.send[id](pMHMsg->originaddr,
> > pMsg->length,pMsg) !=SUCCESS) {
> > return FAIL;
> > }
> > }
> > }
> > }
> >
>
> This may seem to work in simple cases, but is very fragile and buggy.
> Drip is a much better approach. Three problems:
>
> 1) Calling SendMsg.send assumes that the node you wish to send the ACK
> to is a single hop away (SendMsg is a single-hop AM send). Therefore,
> while it's technically end-to-end, it's only so when you're talking
> about a single hop path.
>
> 2) Returning FAIL when the signaler expects a TOS_MsgPtr is a recipe
> for disaster. You're passing a null pointer. The first time the
> SendMsg.send fails, bad things will happen.
>
> 3) More generally, calling SendMsg.send in a receive handler is an
> insidious bug. The issue is that the buffer you're passing to send is
> also the buffer you're returning to the radio stack to receive the next
> packet in. This means that if the node receives a new packet before it
> sends (e.g., the channel was busy with the next packet so the MAC
> backed off), then the reception will overwrite the buffer you want to
> send. You'll send what you just received, rather than what you want to
> send.
>
> Phil
>
>
>
>
> -------
>
> "We shall not cease from exploration
> And the end of all our exploring
> Will be to arrive where we started
> And know the place for the first time."
>
> - T. S. Eliot, 'Little Gidding'
>
>
>
> ---------------------------------
> Do you Yahoo!?
> Read only the mail you want - Yahoo! Mail SpamGuard.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
http://mail.millennium.berkeley.edu/pipermail/tinyos-users/attachments/20050
106/a9746023/attachment-0001.html
>
> ------------------------------
>
> _______________________________________________
> Tinyos-users mailing list
> [email protected]
> http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users
>
>
> End of Tinyos-users Digest, Vol 21, Issue 7
> *******************************************
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.300 / Virus Database: 265.6.8 - Release Date: 3/1/2005
>
>
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.6.8 - Release Date: 3/1/2005
_______________________________________________
Tinyos-users mailing list
[email protected]
http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users