Interesting answers,
Thanks for All.

Best regards,
Nahr Elk

2009/5/19 Michael Schippling <[email protected]>

> I don't know who will toss cookies if you try to send a message
> that is larger the the defined size. The sender may behave rationally
> and reject the premise, or the receiver could overrun it's buffer
> and crash. YMMV.
> MS
>
>
> Alban Hessler wrote:
>
>> Most of the radio chips have a 128 bytes buffer, which means that the
>> whole packet cannot be bigger than 128 bytes, overhead included.
>>
>> So, if you want to send a large packet, you need a transport layer
>> which will fragment it before sending it over the air. AFAIK, there is
>> no core tinyos library doing that, but there have been contributions
>> from universities doing that. So your 256 bytes datagram would
>> actually be 3 or more packets over the air.
>>
>> Also, the DATA_LENGTH cannot be 128, but has to be less, because of
>> the overhead of the layers below your app, look on the mailing list
>> for the maximum value.
>>
>> Remember that you will experience larger packet loss if you increase
>> the payload size, and there is a point where it's better to send two
>> small packets than one big.
>>
>> HTH,
>>
>> Alban
>>
>> 2009/5/19 Nahr Elk <[email protected]>:
>>
>>> Hi!
>>> Ok, so the best solution in my case (the worst case for RAM) is by
>>> compiling
>>> my app with the largest DATA_LENGTH (128) and then it will change the
>>> data
>>> payload size if necessary.
>>>
>>> But, please just a clarification:
>>>
>>> Suppose that I kept DATA_LENGTH to the default value and the payload size
>>> will not exceed this value
>>> However at the Send command level I do something like that :
>>> send(0, MyMsg, 256);
>>>
>>> Could this be done??
>>>
>>>
>>> Thank you!
>>>
>>> Best regards,
>>> Nahr Elk
>>>
>>> 2009/5/19 Razvan Musaloiu-E. <[email protected]>
>>>
>>>> Hi!
>>>>
>>>> On Mon, 18 May 2009, Michael Schippling wrote:
>>>>
>>>>  Unless Things Have Changed(TM) in T2, only the length number of bytes
>>>>> is transmitted -- at least over the radio -- so you're not losing
>>>>> bandwidth with a larger DATA_LENGTH. You do waste RAM because buffers
>>>>> are allocated for the max size, which is one reason it's a compile
>>>>> time setting, but that may not matter in your system.
>>>>>
>>>>>  Thinks haven't changed so what Michael said is correct. The only
>>>> penalty
>>>> is in RAM. The packets in the air have variable length based on the
>>>> length
>>>> specified in AMSend.send:
>>>>
>>>>         command error_t send(am_addr_t addr, message_t* msg, uint8_t
>>>> len);
>>>>
>>>> --
>>>> Razvan ME
>>>>
>>>>  Nahr Elk wrote:
>>>>>
>>>>>> Hi,
>>>>>> Thank you Razvan,
>>>>>> I would like to change the data payload size dynamically according to
>>>>>> my
>>>>>> application exigences.
>>>>>> And I am not so convinced that setPayloadLength(message_t* msg,
>>>>>> uint8_t
>>>>>> len) is the right solution
>>>>>>
>>>>>> Best regards,
>>>>>> Nahr Elk
>>>>>>
>>>>>> 2009/5/18 Razvan Musaloiu-E. <[email protected]>
>>>>>>
>>>>>>   Hi!
>>>>>>
>>>>>>
>>>>>>   On Sun, 17 May 2009, Nahr Elk wrote:
>>>>>>
>>>>>>       Hi
>>>>>>       Is there any way to change DTOSH_DATA_LENGTH at run time instead
>>>>>>       of at
>>>>>>       compile time ? :)
>>>>>>
>>>>>>
>>>>>>   No. TOSH_DATA_LENGTH is used to allocate the size of the data field
>>>>>>   from message_t (types/message.h) so you cannot alter it at during
>>>>>>   runtime. May I ask why do you want to do this?
>>>>>>
>>>>>>   --
>>>>>>   Razvan ME
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>> _______________________________________________
>>> 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

Reply via email to