Sorry for kicking the old dirts. I followed this thread but have not  
found what I needed.

I have the similar problem with ADC: I can't read proper data from  
light sensors or any sensor on the sensor board EM1000.

I have tried Oscilloscope and it works for the InternalTemperature and  
InternalVoltage. What I did was I create a new sensor configuration  
similar to these two templates. My configuration is:

   const msp430adc12_channel_config_t config = {
       inch: INPUT_CHANNEL_A5,
       sref: REFERENCE_VREFplus_AVss,
       ref2_5v: REFVOLT_LEVEL_1_5,
       adc12ssel: SHT_SOURCE_ACLK,
       adc12div: SHT_CLOCK_DIV_1,
       sht: SAMPLE_HOLD_4_CYCLES,
       sampcon_ssel: SAMPCON_SOURCE_SMCLK,
       sampcon_id: SAMPCON_CLOCK_DIV_1
}

A5 is supposed to be the channel for S1087-01 light sensor on EM1000.  
What I read are the values gradually decreased and then within a few  
seconds stayed at a almost constant value (no change even if I changed  
the light). I tried HOLD_64, but there was no difference. I even took  
off the sensor board, there was no difference.

My mote was CM4000, by the way. I placed my sensor configuration under  
tos/chips/msp430/sensors, which I worked fine in terms of compilation.

Could you please shed some light what I could try next?

Many thanks for your help.

Zhiyi


> Are there any of the "standard" telosb external sensors
> (Humidity/Temperature/Light) available on your telosb ? Can you test
> whether they give you good readings (or test your code with the
> internal sensors of the msp430).
>
> > > 2) open tinyos-2.x/tos/chips/msp430/adc12/Msp430Adc12.h and  
> comment
> > > out "ADC12_P6PIN_AUTO_CONFIGURE". Now the Ax PINs are not
> > > automatically configured, so you should (e.g. in Boot.booted()),  
> do
> > > this:
> > >
> > > call Port61.selectModuleFunc();
> > > call Port61.makeInput();
> > >
> > > (in your configuration:
> > >   components HplMsp430GeneralIOC;
> > >   MyDriverC.Port61 -> HplMsp430GeneralIOC.Port61;)
> >
> > I'm not sure I understand - should I create a new driver myself?  
> Based
> > on an existing module?
> >
>
> The pin(s) on the msp430 to which your sensor is attached must be
> configured to be in input and module (ADC) function mode. This is done
> automatically if ADC12_P6PIN_AUTO_CONFIGURE is defined (which is the
> default). But the pins are switched to module function mode just
> before the conversion and back to IO function mode afterwards. Maybe
> there is a timing issue, so you could try to disable the default
> behaviour and try to take care of the pin configuration yourself.
>
>
> Jan

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

Reply via email to