Your configuration seems identical to the telosa/b configuration (S1087-01 light sensor on port A5). There is already a component (have you tried it?) -> tinyos-main/tos/platforms/telosa/chips/s10871/HamamatsuS10871TsrC.nc
Jan On Sun, Nov 27, 2011 at 11:52 PM, zhiyi <zhu...@cs.otago.ac.nz> wrote: > 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