nanthini nanthu | 26 Apr 16:39 2013
Picon

Suggestion for TinyOS

 Hi,
          
         I am doing M.Tech in embedded systems. i am interested in TinyOS. I need a suggestion regarding TinyOS with ardino. Also i need to know about the recent scope in Tiny OS. If You suggest me i ll be really helpful for doing my project and research over this... So Kindly Help me... Thank You in advance...


                               Thank You










Whenever I hear, “It can’t be done,” I know I’m close to success.Michael Flatley

<div><div dir="ltr">&nbsp;Hi,<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;I am doing M.Tech in embedded systems. i am interested in TinyOS. I need a suggestion regarding TinyOS with ardino. Also i need to know about the recent scope in Tiny OS. If You suggest me i ll be really helpful for doing my project and research over this... So Kindly Help me... Thank You in advance...<br clear="all"><div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Thank You</div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr">
<br>
</div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr"><br></div>
<div dir="ltr">Whenever I hear, &ldquo;It can&rsquo;t be done,&rdquo; I know I&rsquo;m close to success.Michael Flatley<div>
<br>
</div>
<div>
<a href="http://about.me/nanthubha" target="_blank">http://about.me/nanthubha</a><br>
</div>
</div>
</div>
</div>
</div></div>
augusti | 25 Apr 14:41 2013
Picon

How to build a Testbed with TinyOS

hi fellows,

So, I am new on TinyOS and testbeds, I am still learning what is it and I
came here to kindly ask you some help. I have majored in Computer Science,
now I have to develop my Final Project at the University to trully graduate.
My final project is to make an application like a testbed with two
operational systemas, which are Contiki and TinyOS. Though, I have to make a
webpage with a button to upload a file containing probably nesC language and
compile it giving to the user an image output about the file compiled. 
Unfortunately, I really don't know neither how to begin. Can you please give
some help or tips?

I'd really appreciate.

Thanks a lot.

--
View this message in context: http://tinyos-help.10906.n7.nabble.com/How-to-build-a-Testbed-with-TinyOS-tp23095.html
Sent from the TinyOS - Help mailing list archive at Nabble.com.
András Bíró | 5 May 20:53 2013
Picon

Re: [Tinyos-devel] jni cross-compiling

Hi everyone,

I merged the modifications. I also added cross-compiling on windows, packaging scripts for tinyos-tools and tinyos (and fixed the msp430 packaging scripts on cygwin, but it's not related). I also generated some unofficial packages: tinyos-tools and nesc for raspberry pi armhf:
https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_nesc_1.3.4-tinyos_armhf_rpi.deb
https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_tinyos-tools_1.4.3-20130505_armhf_rpi.deb
and tinyos-tools for cygwin (including the 64 bit JNI libs for windows):
https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_tinyos-tools-1.4.3-20130505.cygwin.i386.rpm

I tested this on cygwin and linux, it would be great, if someone could test it on Darwin (OSX).

Andris

P.S.: I know this discussion should be on github, but since I started here, I wanted to close here.



On Sat, Apr 27, 2013 at 3:35 AM, Philip Levis <pal <at> cs.stanford.edu> wrote:
Fair enough -- I suppose that warning came from back when we were manually distributing/packaging things up and wanted to keep the number of packages down. E.g., RPMs rather than debs.

Phil

On Apr 24, 2013, at 11:29 PM, András Bíró wrote:

> I don't think it's necessary. It's much simpler (and in my opinion it's even nicer) to create platform dependent packages (actually,  tinyos-tools is platform dependent since about v1.4.1)
>
> Andris
>
>
> On Wed, Apr 24, 2013 at 11:26 PM, Philip Levis <pal <at> cs.stanford.edu> wrote:
> +1, with one caveat, that it doesn't lead to bad RPMs/debs being built. Adding a flag which the package tools use would be fine.
>
> Phil
>
> On Apr 24, 2013, at 4:55 AM, András Bíró wrote:
>
> > Hi everyone,
> >
> > If someone tries to compile tinyos-tools on linux, it will try to cross-compile the jni libs to i386 and x86_64, and if it doesn't succeed, there's a lot of warning like this:
> > 64-bit libgetenv.so NOT GENERATED - DO NOT USE THIS RUN TO BUILD AN RPM
> > Press return to continue
> > Does anyone have  a problem if I disable this? It doesn't make much sense to create cross-platform packages, and forcing the i386/x86_64 platforms makes it quite hard to compile tinyos-tools on ARM.
> >
> > I'm also planing to add cross compiling commands on windows, to make it possible to use the java sdk with windows x86_64 java.
> >
> > Andris
> > _______________________________________________
> > Tinyos-devel mailing list
> > Tinyos-devel <at> millennium.berkeley.edu
> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel
>
>
> _______________________________________________
> Tinyos-devel mailing list
> Tinyos-devel <at> millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel
>


<div>
<div dir="ltr">
<div>
<div>
<div>
<div>Hi everyone,<br><br>
</div>I merged the modifications. I also added cross-compiling on windows, packaging scripts for tinyos-tools and tinyos (and fixed the msp430 packaging scripts on cygwin, but it's not related). I also generated some unofficial packages: tinyos-tools and nesc for raspberry pi armhf:<br><a href="https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_nesc_1.3.4-tinyos_armhf_rpi.deb">https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_nesc_1.3.4-tinyos_armhf_rpi.deb</a><br><a href="https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_tinyos-tools_1.4.3-20130505_armhf_rpi.deb">https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_tinyos-tools_1.4.3-20130505_armhf_rpi.deb</a><br>
</div>and tinyos-tools for cygwin (including the 64 bit JNI libs for windows):<br><a href="https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_tinyos-tools-1.4.3-20130505.cygwin.i386.rpm">https://dl.dropboxusercontent.com/u/363226/munka/packages/UNOFFICIAL_tinyos-tools-1.4.3-20130505.cygwin.i386.rpm</a><br><br>
</div>
<div>I tested this on cygwin and linux, it would be great, if someone could test it on Darwin (OSX).<br>
</div>
<div><br></div>Andris<br><br>
</div>P.S.: I know this discussion should be on github, but since I started here, I wanted to close here.<br><div><br></div>
</div>
<div class="gmail_extra">
<br><br><div class="gmail_quote">On Sat, Apr 27, 2013 at 3:35 AM, Philip Levis <span dir="ltr">&lt;<a href="mailto:pal <at> cs.stanford.edu" target="_blank">pal <at> cs.stanford.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote">Fair enough -- I suppose that warning came from back when we were manually distributing/packaging things up and wanted to keep the number of packages down. E.g., RPMs rather than debs.<br><br>
Phil<br><div class="HOEnZb"><div class="h5">
<br>
On Apr 24, 2013, at 11:29 PM, Andr&aacute;s B&iacute;r&oacute; wrote:<br><br>
&gt; I don't think it's necessary. It's much simpler (and in my opinion it's even nicer) to create platform dependent packages (actually, &nbsp;tinyos-tools is platform dependent since about v1.4.1)<br>
&gt;<br>
&gt; Andris<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Apr 24, 2013 at 11:26 PM, Philip Levis &lt;<a href="mailto:pal <at> cs.stanford.edu">pal <at> cs.stanford.edu</a>&gt; wrote:<br>
&gt; +1, with one caveat, that it doesn't lead to bad RPMs/debs being built. Adding a flag which the package tools use would be fine.<br>
&gt;<br>
&gt; Phil<br>
&gt;<br>
&gt; On Apr 24, 2013, at 4:55 AM, Andr&aacute;s B&iacute;r&oacute; wrote:<br>
&gt;<br>
&gt; &gt; Hi everyone,<br>
&gt; &gt;<br>
&gt; &gt; If someone tries to compile tinyos-tools on linux, it will try to cross-compile the jni libs to i386 and x86_64, and if it doesn't succeed, there's a lot of warning like this:<br>
&gt; &gt; 64-bit libgetenv.so NOT GENERATED - DO NOT USE THIS RUN TO BUILD AN RPM<br>
&gt; &gt; Press return to continue<br>
&gt; &gt; Does anyone have &nbsp;a problem if I disable this? It doesn't make much sense to create cross-platform packages, and forcing the i386/x86_64 platforms makes it quite hard to compile tinyos-tools on ARM.<br>
&gt; &gt;<br>
&gt; &gt; I'm also planing to add cross compiling commands on windows, to make it possible to use the java sdk with windows x86_64 java.<br>
&gt; &gt;<br>
&gt; &gt; Andris<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Tinyos-devel mailing list<br>
&gt; &gt; <a href="mailto:Tinyos-devel <at> millennium.berkeley.edu">Tinyos-devel <at> millennium.berkeley.edu</a><br>
&gt; &gt; <a href="https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel" target="_blank">https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Tinyos-devel mailing list<br>
&gt; <a href="mailto:Tinyos-devel <at> millennium.berkeley.edu">Tinyos-devel <at> millennium.berkeley.edu</a><br>
&gt; <a href="https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel" target="_blank">https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-devel</a><br>
&gt;<br><br>
</div></div>
</blockquote>
</div>
<br>
</div>
</div>
Melchor Garcia, Leticia | 25 Apr 19:43 2013

Calculate Distance using AccelXStreamC

Hello,

 

I am currently trying to calculate the distance between a root node and a regular node. The regular node uses AccelXStreamC.

 

Does anyone know if its even possible to use the output of the AccelXStreamC to determine the distance between two nodes?

Is there an alternative?

I also gather the rssi value but its not very consistent and is easily affected by the environment of the node.

 

Let me know!

Thanks!

<div>
<div class="WordSection1">
<p class="MsoNormal">Hello,<p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal">I am currently trying to calculate the distance between a root node and a regular node. The regular node uses AccelXStreamC.<p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal">Does anyone know if its even possible to use the output of the AccelXStreamC to determine the distance between two nodes?<p></p></p>
<p class="MsoNormal">Is there an alternative?<p></p></p>
<p class="MsoNormal">I also gather the rssi value but its not very consistent and is easily affected by the environment of the node.<p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal">Let me know!<p></p></p>
<p class="MsoNormal">Thanks!<p></p></p>
</div>
</div>
FreeSoul Forever | 25 Apr 15:54 2013
Picon

Iris crashing after few days


I have a fairly decent size (66K) program running on the Iris motes. The program randomly crashes after about a week. I have rechecked my array bounds to make sure i am not overwriting memory.
I have 5000 bytes in RAM. I tried running the stack-check utility but it complained about recursive routines.
Any suggestions / recommendations ?


Thanks in advance
<div><div dir="ltr">
<div>
<div>
<div>
<div><br></div>I have a fairly decent size (66K) program running on the Iris motes. The program randomly crashes after about a week. I have rechecked my array bounds to make sure i am not overwriting memory. <br>
</div>I have 5000 bytes in RAM. I tried running the stack-check utility but it complained about recursive routines.<br>
</div>Any suggestions / recommendations ?<br><br><br>
</div>Thanks in advance<br>
</div></div>
muhammad assd | 25 Apr 01:16 2013
Picon

XMDA300 help

Hi, 

I had a question about XMDA300. I see following readings:
----------------------------------------------------------
   health:     node id=2 parent=0 battery=2967 mV  
   temperature:       =23.545799 C  
   humidity:          =44.552540% 
    p_adc0 =-0.15 mv  
    p_adc1 =0.13 mv  
    p_adc2 =0.10 mv 
    p_adc3 =0.13 mv 

-------------------------------------------------------
What does p_adc=-0.15 signifies? If we feed voltage of 1V to Channel 0, would the reading of p_adc0 change to 1V? 

Please reply. 

Thank you,
Muhammad Asad 
<div><div dir="ltr">
<span>Hi,&nbsp;</span><div><br></div>
<div>I had a question about XMDA300. I see following readings:</div>
<div>----------------------------------------------------------<table border="0" cellpadding="0" cellspacing="0" width="192">
<tr height="20">
<td height="20" colspan="3" width="192">&nbsp;&nbsp; health:&nbsp;&nbsp;&nbsp;&nbsp; node id=2 parent=0 battery=2967 mV&nbsp;&nbsp;</td>
</tr>
<tr height="20"><td height="20" colspan="3">&nbsp;&nbsp; temperature:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =23.545799 C&nbsp;&nbsp;</td></tr>
<tr height="20"><td height="20" colspan="3">
&nbsp;&nbsp; humidity:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =44.552540%&nbsp;</td></tr>
<tr height="20">
<td height="20" colspan="2">&nbsp;&nbsp;&nbsp; p_adc0 =-0.15 mv&nbsp;&nbsp;</td>
<td></td>
</tr>
<tr height="20">
<td height="20" colspan="2">
&nbsp;&nbsp;&nbsp; p_adc1 =0.13 mv&nbsp;&nbsp;</td>
<td></td>
</tr>
<tr height="20">
<td height="20" colspan="2">&nbsp;&nbsp;&nbsp; p_adc2 =0.10 mv&nbsp;</td>
<td></td>
</tr>
<tr height="20">
<td height="20" colspan="2">
&nbsp;&nbsp;&nbsp; p_adc3 =0.13 mv&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div><br></div>
<div>-------------------------------------------------------</div>
<div>What does p_adc=-0.15 signifies? If we feed voltage of 1V to Channel 0, would the reading of p_adc0 change to 1V?&nbsp;</div>
<div>
<br>
</div>
<div>Please reply.&nbsp;</div>
<div><br></div>
<div>Thank you,</div>
<div>Muhammad Asad&nbsp;</div>
</div></div>
niga | 12 May 12:41 2013

how to use VoltageC interface to get voltage value in 4BitLinkEstimator?

how to use VoltageC interface to get voltage value in 4BitLinkEstimator? 

in the  file tos\lib\4Bitle\LinkEstimatorC,I Add components VoltageC  in the
implementation;

then the code like this : 
configuration LinkEstimatorC {
    provides {
        interface LinkEstimator;
    }
}
implementation
{
    components VoltageC;
    LinkEstimatorP ->VoltageC;
}

the  in the  file tos\lib\4Bitle\LinkEstimatorP,i add " interface
read<unit16_t> as readVoltage;" like below;

module LinkEstimatorP {
  provides {
   .......
  }

  uses {
 ......
  interface read<unit16_t> as readVoltage;
  }

}
then  I use " call readVoltage.read();"to get voltage value;
I also code 
event void  readVoltage.readDone()
{
................
}

but when I compile ,it get error,tips is “readVoltage.read not connected”
I want to konw ,what'S wrong with it? Please help me ,I am a newer!!And my
English is poor,if you know somthing about this part,but Don't understand
what I express,just message to me,QQQ!

--
View this message in context: http://tinyos-help.10906.n7.nabble.com/how-to-use-VoltageC-interface-to-get-voltage-value-in-4BitLinkEstimator-tp23133.html
Sent from the TinyOS - Help mailing list archive at Nabble.com.

_______________________________________________
Tinyos-help mailing list
Tinyos-help <at> millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
João Alves | 18 May 19:16 2013
Picon

Entra nella mia rete su LinkedIn

 
 
Davide,
 
 
 
 
 
 
 
 
 
 
 
 
João Alves desidera collegarsi con te su LinkedIn.
 
 
João Alves
EAI Consultant na Novabase Visualizza profilo »
 
 
 
 
 
 
 
 
Stai ricevendo email di Invitation. Annulla l'iscrizione.
 
Questa email era destinata a Davide Pacifico (Network Consulting Engineer presso Cisco Systems). Scopri perché queste informazioni sono incluse. © 2013, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA
 
<div>

  

  
    <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="#F4F4F4"><tr><td align="center">

<table border="0" cellspacing="0" cellpadding="0" bgcolor="#f4f4f4" width="100%" class=""><tr><td width="98%" valign="top" align="center">
  <table border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" width="590" class="responsive"><tr><td width="98%" valign="top" align="">
    <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="#f4f4f4" class="responsive"><tr>
<td align="right" width="590" class="responsive">
          <table cellspacing="0" cellpadding="0" border="0"><tr>
<td height="15"></td>
              </tr></table>
<div>
            <a href="http://www.linkedin.com/">
              </a>
          </div>
        </td>
      </tr></table>
<table border="0" cellspacing="0" cellpadding="0" width="100%" class="responsive"><tr>
<td bgcolor="#ffffff" class="responsive" align="left">
            <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#ffffff" width="100%"><tr>
<td width="15"><table width="15" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table></td>
                <td>
                  Davide,
                </td>
                <td width="15"><table width="15" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table></td>
              </tr></table>
<table bgcolor="#f2faff" width="100%">
<tr>
<td height="15">
                    <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                  <td height="15">
                    <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                  <td height="15">
                    <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                  <td height="15">
                    <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                </tr>
<tr><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr>
<td width="15">
                        <table width="15" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                      <td>
                        <table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="#f2faff">
<tr>
<td height="10">
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                            <td height="10">
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                            <td height="10">
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                            <td height="10">
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                            <td height="10">
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                          </tr>
<tr>
<td width="10">
                              <table width="10" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                            <td valign="top">
                              <div>
                                Jo&atilde;o Alves desidera collegarsi con te su LinkedIn.
                              </div>
                              <div>
                                <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</div>
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
<div>Jo&atilde;o Alves</div>
                              <table border="0" cellspacing="0" cellpadding="0" width="100%"><tr>
<td>
                                    <table border="0" cellspacing="0" cellpadding="0" width="50%" class="responsive-50per" align="left"><tr>
<td>EAI Consultant na Novabase</td>
                                        <td>
                                          <a href="http://www.linkedin.com/e/-528s01-hgv25ph9-b/rso/111225947/j2Pu/name/46387319_I397067800_45/eml-comm_invm-b-pro_txt-inv28/?hs=false&amp;tok=1xpwyl51XI85M1">
                                            <span>
                                              Visualizza profilo &raquo;
                                            </span>
                                          </a>
                                        </td>
                                      </tr></table>
</td>
                                </tr></table>
</td>
                            <td width="10">
                              <table width="10" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                          </tr>
<tr>
<td height="10">
                              <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                          </tr>
</table>
</td>
                      <td width="15">
                        <table width="15" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                    </tr></table></tr>
<tr>
<td>
                    <table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td height="10">
                          <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                      </tr>
<tr>
<td>
                          <div>
                            <table border="0" cellspacing="1" cellpadding="3" align="left"><tr>
<td width="5">
                                  <table width="5" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                                <td colspan="3" align="left">
                                    <table border="0" cellpadding="6" cellspacing="1" align=""><tr><td align="center" valign="middle" bgcolor="#FFE86C"><div><a href="http://www.linkedin.com/e/-528s01-hgv25ph9-b/DQCGT3GB9z4raacyxHEZ6GwS_HFHC0dZ_bJG6UZ99BqwCW9clJdr/blk/I397067800_45/3wOtCVFbmdxnSVFbm8JrnpKqlZJrmZzbmNJpjRQnOpBtn9QfmhBt71BoSd1p65Lr6lOfPkQnP0Me3sSc3sVcQALcnhGp5Z4lCcLdz0ScP4TcjAVc34LrCBxbOYWrSlI/eml-comm_invm-b-in_ac-inv28/?hs=false&amp;tok=0q9XB8EHvI85M1"><span>Accetta</span></a></div></td></tr></table>
</td>
                              </tr></table>
</div>
                        </td>
                      </tr>
<tr>
<td height="10">
                          <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
                      </tr>
</table>
</td>
                </tr>
</table>
<table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>
</td>
        </tr></table>
</td></tr></table>
</td></tr></table>
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#f4f4f4" width="100%" class=""><tr><td width="98%" valign="top" align="center">

<table border="0" cellspacing="0" cellpadding="0" width="580" class="responsive">
<tr><td><table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table></td></tr>
<tr>
<td align="left">
            Stai ricevendo email di Invitation. <a href="https://www.linkedin.com/e/-528s01-hgv25ph9-b/DQCGT3GB9z4raacyxHEZ6GwS_HFHC0dZ_bJG6UZ99BqwCW9clJdr/uns/20008/46387319/q21imgj5u4fg6rq/tinyos-help%40millennium%2Eberkeley%2Eedu/-528s01-hgv25ph9-b/eml-comm_invm-f-unsub-inv28/?hs=false&amp;tok=0A9f93BKPI85M1">Annulla l'iscrizione</a>.
        <table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table>

                Questa email era destinata a Davide Pacifico (Network Consulting Engineer presso Cisco Systems). <a href="http://www.linkedin.com/e/-528s01-hgv25ph9-b/plh/http%3A%2F%2Fhelp%2Elinkedin%2Ecom%2Fapp%2Fanswers%2Fdetail%2Fa_id%2F4788/-GXI/?hs=false&amp;tok=1zfCcXmUfI85M1">Scopri perch&eacute; queste informazioni sono incluse</a>. &copy; 2013, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA
    </td>
  </tr>
<tr><td><table width="1" border="0" cellspacing="0" cellpadding="0" class=""><tr><td><div>&nbsp;</div></td></tr></table></td></tr>
</table>
</td></tr></table>
</td></tr></table>
</div>
Modi, Jenis | 18 May 01:27 2013

Bootstrap synchronization Error

Hi, 

I have one application in which, I first upload program on motes, then read data out of those motes and at the
end , I erase the motes. But after erasing I get this error:

"
An error occoured:
Bootstrap loader synchronization error
....
"

Basically, I follow below steps:

1. Install application on two motes (Runs successfully)
2. Read data using serialforwarder (Runs successfully)
3. Kill serialforwarder processes (using :kill -15 serialforwarderProcessid)
4. Erase the motes ( using "/usr/bin/tos-bsl --telosb -c /dev/ttyUSB0 -r -e -I -p blank.ihex")

This is happening every time I run my application. Plz help me. 

Note: I use telosb motes and ubuntu as OS. 

Thanks.
Jenis

Zhiheng Xie | 17 May 21:17 2013
Picon

nodes stop sending packets

Hi,

I wrote a very simple program for my telosb nodes. In this program, each
node keeps boradcasting a message at 50Hz. If any node receives a message
from other nodes, it will print it out thorough the serial port.

However, after I uploading the code into the nodes, I found that nodes were
normal at the beginning several seconds, after that, some nodes would be
frozen. Could you please help me to check what the problem is? My code
seems good to me.

snifferMsg.h

#ifndef SNIFFERMSG_H
#define SNIFFERMSG_H

enum {
	AM_SNIFFERMSG = 7,
	NODE_NUMBER = 4,
	UART_QUEUE_LEN = 12,
	SENDING_RATE = 20,
	TX_POWER = 31,
};

typedef nx_struct snifferMsg {
	nx_uint16_t senderNodeId;
	nx_uint32_t seq;
	nx_uint32_t lastSeq;
	nx_uint32_t lastSendingTimeStamp;
} snifferMsg;

typedef nx_struct uartMsg {
	nx_uint16_t senderNodeId;
	nx_uint32_t seq;
	nx_uint32_t lastSeq;
	nx_uint32_t lastSendingTimeStamp;
	
	nx_uint32_t timeStamp;
	nx_int16_t rssi;
	
	
} uartMsg;

#endif

CSMASnifferC.nc

#include "AM.h"
#include "Serial.h"
#include <Timer.h>
#include "snifferMsg.h"
#include "CC2420.h"

module CSMASnifferC {
	uses {
		interface Boot;
		interface Leds;
		
		interface SplitControl as SerialControl;
		interface SplitControl as RadioControl;

		interface Timer<TMilli> as sendTimer;
		
		interface AMSend;
		interface Receive as AMReceive;

		interface AMSend as UartSend[am_id_t id];
		
		interface Packet;
		interface Packet as RadioPacket;
		interface AMPacket as RadioAMPacket;
		interface CC2420Packet;
		
		interface PacketTimeStamp<TMilli,uint32_t>;
		interface RadioBackoff;
	}
}

implementation
{
	message_t uartQueueBufs[UART_QUEUE_LEN];
	message_t *uartQueue[UART_QUEUE_LEN];
	uint8_t uartIn, uartOut;
	bool uartBusy, uartFull;
	
	snifferMsg* snifferPkt;
	message_t msg_pkt;
	uint8_t lenMsg = sizeof(snifferMsg);
	uint8_t lenUartMsg = sizeof(uartMsg);
	
	bool radioBusy = FALSE;
	uint32_t seq = 1;
	uint32_t lastSeq = 0;
	uint32_t lastSendingTimeStamp = 0;
	
	task void uartSendTask();
	
	void packetize();
	
	void dropBlink() {
	}
	
	void failBlink() {
	}

	event void Boot.booted() {
        	uint8_t i;

		for (i = 0; i < UART_QUEUE_LEN; i++){
			uartQueue[i] = &uartQueueBufs[i];
		}		
	        uartIn = uartOut = 0;
	        uartBusy = FALSE;
	        uartFull = TRUE;

		call RadioControl.start();
		call SerialControl.start();
	}
	
	event void SerialControl.startDone(error_t error) {
        	if (error == SUCCESS) {
			uartFull = FALSE;
		}
		else{
			call SerialControl.start();
		}
	}

	event void RadioControl.startDone(error_t error) {
		if (error == SUCCESS) {
			call sendTimer.startPeriodic(SENDING_RATE);
		}
		else{
			call RadioControl.start();
		}
	}
	
	event void SerialControl.stopDone(error_t error) {}
	event void RadioControl.stopDone(error_t error) {}
	
	event void sendTimer.fired(){
		if (!radioBusy){
			
			packetize();
			if (call AMSend.send(AM_BROADCAST_ADDR, &msg_pkt, lenMsg) == SUCCESS) {
				call Leds.led0Toggle();
				radioBusy = TRUE;
			}
		}
	}
	
	void packetize(){
		snifferPkt = (snifferMsg*)(call Packet.getPayload(&msg_pkt,lenMsg));
		snifferPkt->senderNodeId = TOS_NODE_ID;
		snifferPkt->seq = seq;
		snifferPkt->lastSeq = lastSeq;
		snifferPkt->lastSendingTimeStamp = lastSendingTimeStamp;
	}
	
	event void AMSend.sendDone(message_t* msg, error_t error){
		radioBusy = FALSE;
		if (error == SUCCESS){
			lastSeq = seq;
			lastSendingTimeStamp = call PacketTimeStamp.timestamp(msg);
			seq++;
		}
	}
	
	event message_t *AMReceive.receive(message_t *msg,
						    void *payload,
						    uint8_t len) {
		uartMsg* uartTempPayload;				    	
		snifferMsg* recPkt = (snifferMsg*) payload;					
		message_t *ret = msg;
		message_t msg_uartPkt;
		
		if (len != lenMsg) {
			return ret;
		}
		
		call Leds.led1Toggle();
		
		uartTempPayload = (uartMsg*)(call Packet.getPayload(&msg_uartPkt,lenUartMsg));
		uartTempPayload->senderNodeId = recPkt->senderNodeId;
		uartTempPayload->seq = recPkt->seq;
		uartTempPayload->lastSeq = recPkt->lastSeq;
		uartTempPayload->lastSendingTimeStamp = recPkt->lastSendingTimeStamp;
		uartTempPayload->timeStamp = call PacketTimeStamp.timestamp(msg);
		uartTempPayload->rssi = (int16_t) call CC2420Packet.getRssi(msg) -45;
		call Packet.setPayloadLength(&msg_uartPkt,lenUartMsg);
		
		
		atomic {
			if (!uartFull)
			{
				ret = uartQueue[uartIn];
				uartQueue[uartIn] = &msg_uartPkt;
				//uartQueue[uartIn] = msg;

				uartIn = (uartIn + 1) % UART_QUEUE_LEN;

				if (uartIn == uartOut)
					uartFull = TRUE;

				if (!uartBusy)
				{
					post uartSendTask();
					uartBusy = TRUE;
				}
			}
			else
				dropBlink();
		}

		return ret;
	}
	
	uint8_t tmpLen;

	task void uartSendTask() {
		uint8_t len;
		am_id_t id;
		am_addr_t addr;
		message_t* msg;
		atomic
			if (uartIn == uartOut && !uartFull)
			{
				uartBusy = FALSE;
				return;
			}

		msg = uartQueue[uartOut];
		tmpLen = len = call RadioPacket.payloadLength(msg);
		
		id = call RadioAMPacket.type(msg);
		addr = call RadioAMPacket.destination(msg);

		if (call UartSend.send[id](addr, uartQueue[uartOut], len) == SUCCESS){
			call Leds.led2Toggle();
		}
		else
		{
			failBlink();
			post uartSendTask();
		}
	}

	event void UartSend.sendDone[am_id_t id](message_t* msg, error_t error) {
		if (error != SUCCESS)
			failBlink();
		else
			atomic
			if (msg == uartQueue[uartOut])
			{
				if (++uartOut >= UART_QUEUE_LEN)
					uartOut = 0;
				if (uartFull)
					uartFull = FALSE;
			}
		post uartSendTask();
	}
	
	async event void RadioBackoff.requestCca(message_t * ONE msg){
		//call RadioBackoff.setCca(FALSE);
	}
	
	async event void RadioBackoff.requestInitialBackoff(message_t * ONE msg){
	}
	async event void RadioBackoff.requestCongestionBackoff(message_t * ONE msg){
	}

}

CSMASnifferAppC.nc

#include "snifferMsg.h"

configuration CSMASnifferAppC {
}
implementation {
	components MainC;
	components CSMASnifferC;
	components LedsC;
	
	components CC2420ActiveMessageC as Radio;
	components SerialActiveMessageC as Serial;
	
	components new TimerMilliC() as sendTimer;

	components new AMSenderC(AM_SNIFFERMSG);
	components new AMReceiverC(AM_SNIFFERMSG);
	
	components CC2420PacketC;
	
	
	CSMASnifferC.Boot -> MainC;
	CSMASnifferC.Leds -> LedsC;
	
	CSMASnifferC.RadioControl -> Radio;
	CSMASnifferC.SerialControl -> Serial;

	CSMASnifferC.sendTimer -> sendTimer;
	
	CSMASnifferC.AMSend -> AMSenderC;
	CSMASnifferC.AMReceive -> AMReceiverC;
	
	
	CSMASnifferC.UartSend -> Serial;
	
	CSMASnifferC.Packet -> AMSenderC;
	CSMASnifferC.RadioPacket -> Radio;
	CSMASnifferC.RadioAMPacket -> Radio;
	CSMASnifferC.CC2420Packet -> CC2420PacketC;
	
	CSMASnifferC.PacketTimeStamp -> CC2420PacketC.PacketTimeStampMilli;
	CSMASnifferC.RadioBackoff -> Radio.RadioBackoff[AM_SNIFFERMSG];
}

Makefile

COMPONENT=CSMASnifferAppC
CFLAGS += -DCC2420_NO_ACKNOWLEDGEMENTS
CFLAGS += -DCC2420_NO_ADDRESS_RECOGNITION
CFLAGS += -DTOSH_DATA_LENGTH=42
#CFLAGS += -I$(TOSDIR)/lib/printf

BUILD_EXTRA_DEPS=SnifferMsg.class
CLEAN_EXTRA = *.class SnifferMsg.java

SnifferMsg.class: $(wildcard *.java) SnifferMsg.java
	javac *.java

SnifferMsg.java:
	mig java -target=null -java-classname=SnifferMsg snifferMsg.h snifferMsg -o $ <at> 

include $(MAKERULES)

--

-- 
Zhiheng Xie
imran mak | 17 May 17:26 2013
Picon

Problem in FileRead.nc Interface


Hi All,
      I am writing a small application in tinyos1.x. I have installed
XUBUNTOS on a VMware server console. I am trying to use FileRead.nc,
an interface in FS folder in tos\library....with its implementation in
 memread2.nc file (attached in module files folder).
     Once i compile the configuration file named FileOpenread.nc,
using  make pc...it is compiled without any error ,,,and similarly if
compiled for make mica2,,,it again shows no errors and is compiled
successfully.
      The problem is that once i run this application.. DBG=temp,all
./build/pc/main.exe 1....
      It shows the DBG output ..for FileRead.open command ..by returning
success..
     Now this happens ,,even if there is no file..so the
    if(FileRead.open("mem.txt"==SUCCESS) is always true,,,and i
immediately get a false condition for
..if(FileRead.read(buffer,256)==SUCCESS)
{dbg(DBG_TEMP,"File read success");
return SUCCESS}
else
{dbg(DBG_TEMP,"Failed to read");

kindly guide me if there is anything wrong with my configuration file
(FileOpenread.nc) or module file

*Configuration File*
includes Matchbox;
configuration FileOpenread {}
implementation
{
  components Main, Matchbox, Memread2, NoDebug;

  Main.StdControl -> Memread2.StdControl;
  Main.StdControl -> Matchbox.StdControl;
  Matchbox.ready -> Memread2.matchboxReady;
 Memread2.FileRead -> Matchbox.FileRead[unique("FileRead")];
 Matchbox.Debug -> NoDebug;
 }
*Module File*
module Memread2 {
  provides
  {
    interface StdControl;
    event result_t matchboxReady();}
  uses
  { interface FileRead; }
}
implementation {

  command result_t StdControl.init()  {return SUCCESS;}
  command result_t StdControl.start() {return SUCCESS;}
  command result_t StdControl.stop()  {return SUCCESS;}

     event result_t matchboxReady()
      { uint8_t buffer[256];
         if ((call FileRead.open("mem.txt")) == SUCCESS)
          {   dbg(DBG_TEMP," success in file opening \n");
             /* return SUCCESS;*/
             if ((call FileRead.read(buffer,256))==SUCCESS)
             {  dbg(DBG_TEMP,"fileread success\n");
                dbg(DBG_TEMP,"The Contents are %i\n, %d\n",buffer);
               return SUCCESS;}
              else {dbg(DBG_TEMP,"Failed to read \n");
              return FAIL; }
           }
         else {dbg(DBG_TEMP,"Failed to open \n");
                return FAIL; }
         }

   event result_t FileRead.opened(fileresult_t result)
      {return SUCCESS;}
   event result_t FileRead.readDone(void *buf, filesize_t
nRead,fileresult_t result)
      {return SUCCESS;}
   event result_t FileRead.remaining(filesize_t n, fileresult_t result)
      {return SUCCESS;}
 }

 Is there any other way to open and read the contents of a text
file..and displaying the contents in console or another output
file?..I need to do it for my research assignment...kindly someone do
help me..
     I shall be really grateful,
     Imran Mak

<div><div dir="ltr">
<br>Hi All,<br>&nbsp; &nbsp; &nbsp; I am writing a small application in tinyos1.x. I have installed<br>XUBUNTOS on a VMware server console. I am trying to use FileRead.nc,<br>an interface in FS folder in tos\library....with its implementation in<br>
&nbsp;<a href="http://memread2.nc/" target="_blank">memread2.nc</a>&nbsp;file (attached in module files folder).<br>&nbsp; &nbsp; &nbsp;Once i compile the configuration file named FileOpenread.nc,<br>using &nbsp;make pc...it is compiled without any error ,,,and similarly if<br>
compiled for make mica2,,,it again shows no errors and is compiled<br>successfully.<br>&nbsp; &nbsp; &nbsp; The problem is that once i run this application.. DBG=temp,all<br>./build/pc/main.exe 1....<br>&nbsp; &nbsp; &nbsp; It shows the DBG output ..for FileRead.open command ..by returning<br>
success..<br>&nbsp; &nbsp; &nbsp;Now this happens ,,even if there is no file..so the<br>&nbsp; &nbsp; if(FileRead.open("mem.txt"==SUCCESS) is always true,,,and i<br>immediately get a false condition for<br>..if(FileRead.read(buffer,256)==SUCCESS)<br>
{dbg(DBG_TEMP,"File read success");<br>return SUCCESS}<br>else<br>{dbg(DBG_TEMP,"Failed to read");<br><br>kindly guide me if there is anything wrong with my configuration file<br>(FileOpenread.nc) or module file<br><br>*Configuration File*<br>includes Matchbox;<br>configuration FileOpenread {}<br>implementation<br>{<br>&nbsp; components Main, Matchbox, Memread2, NoDebug;<br><br>&nbsp; Main.StdControl -&gt; Memread2.StdControl;<br>&nbsp; Main.StdControl -&gt; Matchbox.StdControl;<br>
&nbsp; Matchbox.ready -&gt; Memread2.matchboxReady;<br>&nbsp;Memread2.FileRead -&gt; Matchbox.FileRead[unique("FileRead")];<br>&nbsp;Matchbox.Debug -&gt; NoDebug;<br>&nbsp;}<br>*Module File*<br>module Memread2 {<br>&nbsp; provides<br>&nbsp; {<br>
&nbsp; &nbsp; interface StdControl;<br>&nbsp; &nbsp; event result_t matchboxReady();}<br>&nbsp; uses<br>&nbsp; { interface FileRead; }<br>}<br>implementation {<br><br>&nbsp; command result_t StdControl.init() &nbsp;{return SUCCESS;}<br>&nbsp; command result_t StdControl.start() {return SUCCESS;}<br>
&nbsp; command result_t StdControl.stop() &nbsp;{return SUCCESS;}<br><br>&nbsp; &nbsp; &nbsp;event result_t matchboxReady()<br>&nbsp; &nbsp; &nbsp; { uint8_t buffer[256];<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((call FileRead.open("mem.txt")) == SUCCESS)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; dbg(DBG_TEMP," success in file opening \n");<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* return SUCCESS;*/<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((call FileRead.read(buffer,256))==SUCCESS)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &nbsp;dbg(DBG_TEMP,"fileread success\n");<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dbg(DBG_TEMP,"The Contents are %i\n, %d\n",buffer);<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return SUCCESS;}<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else {dbg(DBG_TEMP,"Failed to read \n");<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return FAIL; }<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else {dbg(DBG_TEMP,"Failed to open \n");<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return FAIL; }<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br><br>&nbsp; &nbsp;event result_t FileRead.opened(fileresult_t result)<br>&nbsp; &nbsp; &nbsp; {return SUCCESS;}<br>&nbsp; &nbsp;event result_t FileRead.readDone(void *buf, filesize_t<br>nRead,fileresult_t result)<br>&nbsp; &nbsp; &nbsp; {return SUCCESS;}<br>
&nbsp; &nbsp;event result_t FileRead.remaining(filesize_t n, fileresult_t result)<br>&nbsp; &nbsp; &nbsp; {return SUCCESS;}<br>&nbsp;}<br><br>&nbsp;Is there any other way to open and read the contents of a text<br>file..and displaying the contents in console or another output<br>
file?..I need to do it for my research assignment...kindly someone do<br>help me..<br>&nbsp; &nbsp; &nbsp;I shall be really grateful,<br>&nbsp; &nbsp; &nbsp;Imran Mak<br><div><br></div>
</div></div>

Gmane