Hi Tiago -

The TestPacketLink directory is for TUnit unit testing, and will not compile
or run under normal circumstances.

The interface itself should be easy to use:  simply use the PacketLink
interface in your BaseStation app, and wire it to CC2420ActiveMessageC.
You'll also need to define the preprocessor variable PACKET_LINK somewhere,
and I do it in my makefile (CFLAGS+=-DPACKET_LINK). That will compile in the
PacketLink layer into the CC2420 radio stack.



In your application, before your send a message over the radio, call
PacketLink to configure the message correctly:

// retry sending this message up to 50 times:
call PacketLink.setRetries(&myMsg, 50); 

// Add a X millisecond delay between each message retry (0 is the default)
call PacketLink.setRetryDelay(&myMsg, 0);

// Then send your message. It will be delivered more reliably than before.
call AMSend.send(addr, &myMsg, sizeof(my_payload_t));


When you get your sendDone() event back, the message should have gotten
ack'd if the receiver was nearby.  

You'll have to experiment with the PacketLink interface to get the behavior
you desire for your application.  The TEP should cover the rest of the
details.

-David




-----Original Message-----
From: Tiago Camilo [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, December 19, 2007 10:20 AM
To: David Moss
Cc: 'André Miguel de Almeida Marrão Rodrigues';
[email protected]
Subject: Re: [Tinyos-help] Hardware Address Recognition

Hi David,

I tried to search for the PacketLink component, but it seems not many 
people is using it, moreover it does not have any kind of reference in 
nesdoc, only the TEP.
I found the example of PacketLink, more specific TestPacketLink, in the 
tinyos-2.x-contrib folder and even after i update it, it still don't 
compile, since as far as i know is missing the file: TestCase.h.
Can you give us a clear example on how to use this component? or maybe 
send us the .h file, since i really need to write a reliable BaseStation 
application.
Thanks in adavance,
Tiago
Uniiversity of Coimbra
------------------
www.sounatural.com

David Moss wrote:
> Sure - you can modify the basestation application to retransmit if you
don't
> get an ack.  Take a look at the PacketLink component and interface, it
will
> help you do so automatically.  For my deployment applications where good
> connectivity is required, I've modified base station to use the PacketLink
> interface to automatically retry failed transmissions.
>
> The acks will not automatically retransmit your packet, but will let you
> know if a single send got through or not.  
>
> -David
>
>
>
> -----Original Message-----
> From: André Miguel de Almeida Marrão Rodrigues
> [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, December 13, 2007 3:04 PM
> To: David Moss; [email protected]
> Subject: Re: [Tinyos-help] Hardware Address Recognition
>
> Hi
>
>   
>> The base station does not automatically retransmit failed packets.
>>     
> It means that I should change the code of the standard basestation that 
> comes with T2.02?
> Includind adding buffer to allow retransmission of packets?
>
>  > interference - it's possible from wifi
>   
>> collisions - in this configuration I think they should be very few
>> range - that's not an issue in this case
>> mismatched duty cycling parameters, etc.  Did you modify your base
station
>>     
> application to configure the outbound packet for delivery to a duty
cycling
> receiver - yes we did
>
> So if the major problem is interference the acks shoudn't have resolved
it?
>
> Thanks,
>
> André Rodrigues
>
>
> -----Original Message-----
> From: André Miguel de Almeida Marrão Rodrigues
> [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 13, 2007 11:20 AM
> To: David Moss; 'André Cunha'; 'TinyOS ML'
> Subject: Re: [Tinyos-help] Hardware Address Recognition
>
> Hi
>
> I would like to know why in a simple configuration like
>
> BS <---> Node
>
> I have packet loss when the acks are enabled and the code in the node
> retransmits
> the packed if it get lost. We are using 2% low power listening mode in T2
/
> TMote.
>
> Any ideias would be very apreciated.
>
> Regards,
>
> André Rodrigues
>
> PS: If a packet get lost in the BS -> node direction, the 2.02 basestation
> code does
> the retransmission?
>
>
> ----- Original Message ----- 
> From: "David Moss" <[EMAIL PROTECTED]>
> To: "'André Cunha'" <[EMAIL PROTECTED]>; "'TinyOS ML'"
> <[email protected]>
> Sent: Thursday, December 13, 2007 5:16 PM
> Subject: RE: [Tinyos-help] Hardware Address Recognition
>
>
>   
>> Address recognition is in both hardware and software.  You can disable
>> address recognition in hardware to sniff packets, but with software
>> acknowledgements enabled you don't want to send an ack back unless you've
>> received a packet to your local address or to the broadcast address.
>> That's
>> why there's a redundant check.
>>
>> Hardware address recognition is enabled by default, and the redundant
>> software address check performed for acknowledgements doesn't change
that.
>>
>> Note at the top of CC2420ControlP the compile time options you have
>> available (you should be able to configure these at runtime as well)
>>
>> #if defined(CC2420_NO_ACKNOWLEDGEMENTS)
>>    autoAckEnabled = FALSE;
>> #else
>>    autoAckEnabled = TRUE;
>> #endif
>>
>> #if defined(CC2420_HW_ACKNOWLEDGEMENTS)
>>    hwAutoAckDefault = TRUE;
>> #else
>>    hwAutoAckDefault = FALSE;
>> #endif
>>
>> // This changes the hardware address recognition.
>> #if defined(CC2420_NO_ADDRESS_RECOGNITION)
>>    addressRecognition = FALSE;
>> #else
>>    addressRecognition = TRUE;
>> #endif
>>
>> -David
>>
>>
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On Behalf Of André
>> Cunha
>> Sent: Thursday, December 13, 2007 9:21 AM
>> To: TinyOS ML
>> Subject: [Tinyos-help] Hardware Address Recognition
>>
>> Hello all,
>>    I was looking at the hardware recognition in the CC2420 in the file
>> CC2420ControlP and, if fact, the CC2420 register (MDMCTRL0->ADDR_DECODE)
>> is enabled. Looking at the CC2420ReceiveP in the RXFIFO.readDone I
>> realized that the address verification is by software. Can anyone
>> clarify this? I have changed the code of RXFIFO.readDone to only signal
>> data reception but I would like to activate the hardware address
>> recognition.
>>
>> Best Regards,
>>
>> André
>> _______________________________________________
>> 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
>>     
>
>
>
>
>
>
> _______________________________________________
> Tinyos-help mailing list
> [email protected]
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
>   


-- 
www.sounatural.com




_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to