Hi Janos,

I have been that the component  ActiveMessageLayerP of rflink/layers library
provides  interface Receive[am_id_t  id]. The event SubReceive.receive that
signal Receive.receive event not filter the group, and this produces that
any node with the same id but different group can receive the messages
without snooping.

I think a node should filter group when isn't snooping, adding this lines:
if (call AMpacket.isForMe(msg) == TRUE && call AMPacket.group(msg) == call
ActiveMessageAddress.amGroup())
             signal Receive.receive[id](msg, payload, len);
         else
             signal Snoop.receive[id](msg, payload, len);

2011/8/31 antonio rosa <[email protected]>

> Hi Janos,
>
> I have updated the Adc Atmega1281 with the TinyOS Trunk and the problem is
> result,
>
> Thanks for all, Antonio Rosa.
>
> Maybe I will send you some questions about others topics, that I think
> there is problems o bugs.
>
>
> 2011/8/30 Janos Sallai <[email protected]>
>
>> Antonio,
>>
>> I have been able to replicate this. Interestingly, only the first
>> sample should be bad after a channel/vref change according to the data
>> sheet, unless we're switching to a differential channel, where it may
>> take up to 125us for the stage to stabilize. I did observe, however,
>> that the second reading was bad, too, when switching to
>> ATM128_ADC_SNGL_1_23.
>>
>> I checked in the fix. Please get the latest sources from google code.
>>
>> Thanks for reporting this.
>>
>> Janos
>>
>> On Tue, Aug 30, 2011 at 11:18 AM, antonio rosa
>> <[email protected]> wrote:
>> > Hi Janos,
>> > I understand you.  I use the ReadNow interface of the AdcReadNowClient
>> > component, but the source of the problem is that when I do two
>> consecutive
>> > reading of diferents channels of ADC, if the first reading is a channel
>> > different of  ATM128_ADC_SNGL_1_23 channel (internal voltage on IRIS)
>> the
>> > value is correct, and the seconds readings is the ATM128_ADC_SNGL_1_23
>> > channel the value is wrong.
>> > Also,  If I read only the ATM128_ADC_SNGL_1_23 channel the value is
>> correct,
>> > but when I read other channel in the same application, the read of
>> > ATM128_ADC_SNGL_1_23 channel is wrong. I have guess that when you read
>> the
>> > internal voltage of Atmega1281, the first time the reading is wrong, the
>> > second time the reading si correct.
>> >
>> > In short, if you make several readings of different ADC channels, you
>> must
>> > do two consecutive read  internal voltage channel and discard the first
>> > reading because it is wrong, yet the latter is correct.
>> >
>> >
>> >
>> > read the  ATM128_ADC_SNGL_1_23 channel,
>> >
>> > 2011/8/30 Janos Sallai <[email protected]>
>> >>
>> >> Antonio,
>> >>
>> >> I have a guess what can be wrong. I assume you're using either the
>> >> Atm128AdcSingle or Atm128AdcMultiple interface. While the dataReady
>> >> event is slightly different in these two interfaces, in each cases it
>> >> has a bool parameter, not an error_t. Notice that the value of the
>> >> SUCCESS constant is 0, which happens to be the value of FALSE. That
>> >> is, when you think that the dataReady event came back with a SUCCESS,
>> >> it is, in fact, coming back with a FALSE.
>> >>
>> >> Let me know if this was the issue.
>> >>
>> >> Janos
>> >>
>> >> On Mon, Aug 29, 2011 at 7:37 AM, antonio rosa
>> >> <[email protected]> wrote:
>> >> > Hello all,
>> >> > I have a problem with the IRIS platform. When I do readings of
>> different
>> >> > channels of ADC reading the microcontroller's internal voltage
>> (channel
>> >> > ATM128_ADC_SNGL_1_23) the event (dataReady) is SUCCESS but the
>> reading
>> >> > (data) is erroneous. I have cheked that if I make two consecutive
>> >> > readings
>> >> > of the same channel ADC, everything is correct. However, if I
>> previously
>> >> > do
>> >> > a reading from a channel different than  used to read the internal
>> >> > voltage
>> >> > and then read channel internal voltage, the value returned by the adc
>> is
>> >> > wrong (superior the voltage of the batteries).
>> >> >
>> >> > In TinyOS.1.x with Moteworks, doesn't  ocurrs this problem. I have
>> >> > reviewed
>> >> > the TinyOS-2 driver 1.1 for the module  Adc Atmega1281, and I think
>> the
>> >> > problem may be related to reading different channels that aren't
>> managed
>> >> > properly.
>> >> >
>> >> > Regards, Antonio Rosa.
>> >> > _______________________________________________
>> >> > Tinyos-help mailing list
>> >> > [email protected]
>> >> >
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>> >> >
>> >
>> >
>>
>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to