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