[Tinyos-help] Multichannel Adc sampling and DMA

Nicolas Esteves nicolas.esteves at inrialpes.fr
Thu Jul 26 03:56:30 PDT 2007


Hi,
This components doesnt work well, but if you use msp430, update tinyos 
to cvs version and take a look at apps/tests/msp430/Adc12 there is an 
example of sampling 2 channels.
I'm working on a new component that use 3 channeks but i have junk data 
in the beginning of the sampling so it needs fix.


André Miguel de Almeida Marrão Rodrigues wrote:
> Hello
>
> I'm trying to figure our how to use your code in a 3 axis accelorometer.
> Could you please send me your CeaSensor component and the test 
> application
> that you used?
>
> Best regards,
>
> André
>
> ----- Original Message ----- From: "Nicolas Esteves" 
> <nicolas.esteves at inrialpes.fr>
> Cc: <tinyos-help at Millennium.Berkeley.EDU>
> Sent: Monday, June 18, 2007 4:37 PM
> Subject: Re: [Tinyos-help] Multichannel Adc sampling and DMA
>
>
>> Hi,
>> I tried to sample 6 channels together but i always have 0xfff, im not 
>> sure of the initialisation of the adc if someone can help me it would 
>> be nice...
>>
>> here is my component
>>
>> module CeaSensorP
>> {
>>    uses
>>    {
>>        interface Msp430Adc12MultiChannel as Adc;
>>        interface Resource;
>>    }
>>
>>    provides
>>    {
>>        interface CeaSensor;
>>    }
>>
>>
>> }
>>
>> implementation
>> {
>>    uint16_t results[6];
>>   async command void CeaSensor.init()
>>    {
>>        call Resource.request();
>>    }
>>   event void Resource.granted()
>>    {
>>        atomic
>>        {
>>            adc12memctl_t memctl[6] = {
>>                            /*{ inch: INPUT_CHANNEL_A0, sref: 
>> REFERENCE_VREFplus_AVss, 0 },  */
>>                            { inch: INPUT_CHANNEL_A1, sref: 
>> REFERENCE_VREFplus_AVss, 0 },
>>                            { inch: INPUT_CHANNEL_A2, sref: 
>> REFERENCE_VREFplus_AVss, 0 }, { inch: INPUT_CHANNEL_A3, sref: 
>> REFERENCE_VREFplus_AVss, 0 }, { inch: INPUT_CHANNEL_A6, sref: 
>> REFERENCE_VREFplus_AVss, 0 }, { inch: INPUT_CHANNEL_A7, sref: 
>> REFERENCE_VREFplus_AVss, 1 } };
>>           msp430adc12_channel_config_t config =
>>            {
>>                inch: INPUT_CHANNEL_A0,
>>                sref: REFERENCE_VREFplus_AVss,
>>                ref2_5v: REFVOLT_LEVEL_2_5,
>>                adc12ssel: SHT_SOURCE_ACLK,
>>                adc12div: SHT_CLOCK_DIV_1,
>>                sht: SAMPLE_HOLD_64_CYCLES,
>>                sampcon_ssel: SAMPCON_SOURCE_SMCLK,
>>                sampcon_id: SAMPCON_CLOCK_DIV_1       };
>>
>>            jiffies = 250;           signal CeaSensor.initDone( call 
>> Adc.configure(&config, memctl, 5, results, 6, jiffies));
>>        }   }
>>   async command error_t CeaSensor.sample()
>>    {
>>        return call Adc.getData();
>>    }
>>
>>    async event void Adc.dataReady( uint16_t *buffer, uint16_t 
>> numSamples )
>>    {
>>        signal CeaSensor.sampleDone(buffer, numSamples);
>>    }
>>
>> }
>>
>> the buffer signaled by dataReady is always full of 0xfff....
>>
>> thanks
>> _______________________________________________
>> Tinyos-help mailing list
>> Tinyos-help at Millennium.Berkeley.EDU
>> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help 
>
>
>



More information about the Tinyos-help mailing list