Hi again,

After a of tweaking I didn't get much improvement...

To answer Eric's question (thanks for your reply!); nope, I just have one 
basestation which is sending out beacons. And furthermore also just one free 
node for now, which certainly does _not_ transmit beacons.

I used the printf component to print out the id's of the beacons that my free 
node receives. This is listed below:

$ java PrintfClient -comm [EMAIL PROTECTED]:micaz
Thread[Thread-1,5,[EMAIL PROTECTED]:57600: resynchronising
Printf started!
recv uid: 0
recv uid: 1
recv uid: 2
recv uid: 3
recv uid: 4
recv uid: 5
recv uid: 6
recv uid: 8
recv uid: 9
recv uid: 10
recv uid: 11
recv uid: 12
recv uid: 13
recv uid: 14
recv uid: 15    -> here I switched off the basestation
recv uid: 12
recv uid: 13
recv uid: 14

So somehow the messages 12, 13, 14 are reported to be received again while the 
basestation is off. Note that my basestation transmits beacons every 5 seconds 
and that my free node transmits a readings message every 20 seconds. Except 
when 
the free node is out of range, then it stores the readings in its cache.

When I switch off the transmission of readings messages at the free node, I 
don't seem to get these 'ghost' messages anymore. So are there maybe some 
issues 
concerning the buffers that are used for sending and receiving that I'm unaware 
of? Or does anybody know what else can be wrong?

I hope somebody can give me a clue!

Best regards!
Klaas

Eric Decker schreef:
> Do you have multiple beacons?
> Regardless I would try embedding in the beacon packet a unique identifier
> that would
> allow a clue as to if the packet being received is from the beacon you
> turned off.
> 
> eric
> 
> 
> On Wed, Jun 4, 2008 at 9:17 AM, Klaas Thoelen <[EMAIL PROTECTED]>
> wrote:
> 
>> Hi *,
>>
>> I'm currently developing an application which involves a basestation
>> sending out
>> beacon messages which are to be received by free nodes. Upon reception, a
>> free
>> node knows that it is in range of a certain basestation and restarts a
>> timer. If
>> the timer fires (the interval is 2.5 times the beaconing interval), the
>> node is
>> considered out of range. Pretty simple, I would say.
>>
>> However, a fair amount of time when I switch off my basestation (and thus
>> only 1
>> free node is on), my free node still receives beacon messages!? Although no
>> other node is on, let alone transmitting.
>>
>> So my question is, where do these 'ghost' messages could come from? I was
>> thinking multipath, but I doubt it since it happens over an interval of
>> over
>> half a minute. Or some messages which are delivered to my application but
>> which
>> are not removed from some reception buffer and thus reappear later, but
>> again I
>> doubt it since this is not happening all the time...
>>
>> My code which handles the reception is:
>>
>> event message_t* AMReceiveCommandMsg.receive(message_t* msg_in, void*
>> payload,
>> uint8_t len) {
>>        if (len == sizeof(CommandMsg)) {
>>                CommandMsg* cmdMsg = (CommandMsg*)payload;
>>                if (cmdMsg->type == 2) {          //this is a beaconing
>> message
>>                        connected = TRUE;
>>                        call BeaconTimer.startPeriodic(beacon_interval);
>>                }
>>        }
>>        return msg_in;
>> }
>>
>> I think this is standard as in the tutorials, so I don't see a problem
>> here.
>>
>> I'm using TinyOS 2.0.2 on micaz.
>>
>> Does somebody have an idea where I can search for a solution to this?
>>
>> Best regards,
>> Klaas
>> _______________________________________________
>> 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