Hello Omprakash,
>>You said you are already using net2collection.pl - that is all you
>>should need. Can you show us the messages you are getting on UART and
>>also attach your copy of net2collection.pl
net2collection.pl script is as follows;
#!/usr/bin/perl
%codes;
$startTime = 0;
$codes{"10"} = "NET_C_FE_MSG_POOL_EMPTY";
$codes{"11"} = "NET_C_FE_SEND_QUEUE_FULL";
$codes{"12"} = "NET_C_FE_NO_ROUTE";
$codes{"13"} = "NET_C_FE_SUBSEND_OFF";
$codes{"14"} = "NET_C_FE_SUBSEND_BUSY";
$codes{"15"} = "NET_C_FE_BAD_SENDDONE";
$codes{"16"} = "NET_C_FE_QENTRY_POOL_EMPTY";
$codes{"17"} = "NET_C_FE_SUBSEND_SIZE";
$codes{"18"} = "NET_C_FE_LOOP_DETECTED";
$codes{"19"} = "NET_C_FE_SEND_BUSY";
$codes{"20"} = "NET_C_FE_SENT_MSG";
$codes{"21"} = "NET_C_FE_RCV_MSG";
$codes{"22"} = "NET_C_FE_FWD_MSG";
$codes{"23"} = "NET_C_FE_DST_MSG";
$codes{"24"} = "NET_C_FE_SENDDONE_FAIL";
$codes{"25"} = "NET_C_FE_SENDDONE_WAITACK";
$codes{"26"} = "NET_C_FE_SENDDONE_FAIL_ACK_SEND";
$codes{"27"} = "NET_C_FE_SENDDONE_FAIL_ACK_FWD";
$codes{"28"} = "NET_C_FE_DUPLICATE_CACHE";
$codes{"29"} = "NET_C_FE_DUPLICATE_QUEUE";
$codes{"2a"} = "NET_C_FE_DUPLICCATE_CACHE_AT_SEND";
$codes{"2a"} = "NET_C_FE_DUPLICCATE_CACHE_AT_SEND";
$codes{"2b"} = "NET_C_FE_CONGESTION_SENDWAIT";
$codes{"2c"} = "NET_C_FE_CONGESTION_BEGIN";
$codes{"2d"} = "NET_C_FE_CONGESTION_END";
$codes{"30"} = "NET_C_TREE_NO_ROUTE";
$codes{"31"} = "NET_C_TREE_NEW_PARENT";
$codes{"32"} = "NET_C_TREE_ROUTE_INFO";
$codes{"33"} = "NET_C_TREE_SENT_BEACON";
$codes{"34"} = "NET_C_TREE_RCV_BEACON";
$codes{"40"} = "NET_C_DBG_1";
$codes{"41"} = "NET_C_DBG_2";
$codes{"42"} = "NET_C_DBG_3";
$codes{"50"} = "NET_C_FE_SENDQUEUE_EMPTY";
$codes{"51"} = "NET_C_FE_PUT_MSGPOOL_ERR";
$codes{"52"} = "NET_C_FE_PUT_QEPOOL_ERR";
$codes{"53"} = "NET_C_FE_GET_MSGPOOL_ERR";
$codes{"54"} = "NET_C_FE_GET_QEPOOL_ERR";
$codes{"78"} = "NET_C_FE_QUEUE_SIZE";
$codes{"82"} = "UNKNOWN";
$am_offset = 13;
while (<>) {
@bytes = split(" ");
$type = $bytes[$am_offset];
$code = $bytes[$am_offset+1];
$seqn = $bytes[$am_offset+8].$bytes[$am_offset+9];
if ($type eq "19") {
if ($codes{$code} eq "") {
$codes{$code} = "Unknown code: ".$code.">";
}
$i = $am_offset+2;
print "(".hex($seqn)."): ", $codes{$code}, " $code
".hex($bytes[$i++].$bytes[$i++])." ".hex($bytes[$i++].$bytes[$i++])."
".hex($bytes[$i++].$bytes[$i++])."\n";
}
}
Sorry that, I couldn't have a chance to go to lab and copy the uart messages
seen on the console. But i can say that i used MultihopOscilloscope
application under opt/tinyos-2.1.0/apps/ directory. In the
MultihopOscilloscope.h file there is the AM_OSCILLOSCOPE as;
AM_OSCILLOSCOPE = 0x93
and i remember that i have seen this on the raw uart messages... (obtained
by Listen application)
Also, i have seen some of the enumerated am types in the
CollectionDebugMsg.h file under /opt/tinyos-2.1.0/tos/lib/net directory as
NET_C_TREE_SENT_BEACON = 0x33
NET_C_FE_SENDQUEUE_EMPTY = 0x50
on the raw uart messages... (obtained by Listen application).
What do you think?
Thanks in advance,
--
Akif
On Sat, Mar 28, 2009 at 11:10 PM, Omprakash Gnawali <[email protected]> wrote:
> On Fri, Mar 27, 2009 at 1:33 AM, Mehmet Akif Antepli
> <[email protected]> wrote:
> > Hello Omprakash,
> > In the READMe.txt under apps/tests/TestNetwork there is the following
> > expression;
> >
> > "There are scripts on net2 website to parse the debug messages sent
> by the
> > nodes."
> > i couldn't find them. Could you send me if there are any such scripts,
> > please? And how to run them to parse CollectionDebug messages?
>
> You said you are already using net2collection.pl - that is all you
> should need. Can you show us the messages you are getting on UART and
> also attach your copy of net2collection.pl
>
> > Also i couldn't find where TestNetwork application looks whether the node
> is
> > the root node or not before sending CollectionDebug messages to the uart.
> it
> > should send uart messages after checking RootControl.isRoot() or using a
> > global root flag or something like that, otherwise how can a remote node
> can
> > send uart messages!... Could you help me with this issue ?
>
> You can collect debug messages only on the nodes that have serial
> interface.
>
> - om_p
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help