Hi All,

I have some problems with Iris mote and mts300 sensor board:

I'm working with *TinyOs 2.0.2* ( i followed *isis.vanderbilt.edu *
instructions).
I'm trying to use temperature sensor but my mote crushes.

So I installed an opportune modified Oscilloscope application:

*/*----- OscilloscopeAppC.nc ------*/
[cut]
implementation
{
  components new SensorMts300C();

[/cut]

[cut]

  // sensor components
  OscilloscopeC.Vref -> SensorMts300C.Vref;
  OscilloscopeC.Sounder -> SensorMts300C.Sounder;
  OscilloscopeC.Light -> SensorMts300C.Light;
  OscilloscopeC.Temp -> SensorMts300C.Temp;
  OscilloscopeC.Microphone -> SensorMts300C.Microphone;
  OscilloscopeC.AccelX -> SensorMts300C.AccelX;
  OscilloscopeC.AccelY -> SensorMts300C.AccelY;
  OscilloscopeC.MagX -> SensorMts300C.MagX;
  OscilloscopeC.MagY -> SensorMts300C.MagY;
[/cut]


}

/*----- OscilloscopeAppC.nc ------*/
[cut]
  uses {




  // sensor components
    interface Mts300Sounder as Sounder;
    interface Read<uint16_t> as Vref;
    interface Read<uint16_t> as Temp;
    interface Read<uint16_t> as Light;
    interface Read<uint16_t> as Microphone;
    interface Read<uint16_t> as AccelX;
    interface Read<uint16_t> as AccelY;
    interface Read<uint16_t> as MagX;
    interface Read<uint16_t> as MagY;
[cut]

  event void Timer.fired() {
[cut]
 if (call Temp.read() != SUCCESS)
      report_problem();

  }

   [cut]


 event void Temp.readDone(error_t result, uint16_t val) {
            if (result != SUCCESS)
                    {
             val = 0xffff;
             report_problem();
         }
            local.readings[reading++] = val;
            }

}

 [cut]*

*Oscilloscope.h *is the same of cvs, and in the *Makefile* I add *
SENSORBOARD=mts300*

I installed it with  *make iris install,1 mib520,com1*  with two warnings:
*
/opt/tinyos-2.x/tos/sensorboards/mts300/MagP.nc:83: warning:
`Mag.gainAdjustXDone' called asynchronously from `I2CPacket.writeDone'

/opt/tinyos-2.x/tos/sensorboards/mts300/MagP.nc:87: warning:
`Mag.gainAdjustYDone' called asynchronously from `I2CPacket.writeDone'*

and it works for all other sensors.

If i try to sense temperature when i switch it on, it crushes and doesn't
report problems (*report_problem() *switch on red led):
*Iris mote* doesn't send (so *BaseStation* doesn't receive).

If I install the same application in a *MicaZ *mote with the same
*mts300*sensor board it works (temperature sensor too).

So I read this thread *
http://www.mail-archive.com/tinyos-help@millennium.berkeley.edu/msg16094.html
*and
I modified *PhotoTempDeviceC *in the following way:
*//  TempControl.Power -> MicaBusC.Int2;
  TempControl.Power -> MicaBusC.PW0;*

With *MicaZ *motes it is the same (with or without this patch).
With *Iris *motes, they don't crushes but temperature value is 0 or not the
real and it is not costant.

I tried all combination of hardware, cvs is just updated, so i think that
the problem is another one.

Can Anybody help me?
Thanks in advance.
Ciao,

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Federico Porceddu
_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to