AW: [Tinyos-help] Tmote CC2420 MAC payload length
Ole Bischoff
s01item2 at item.uni-bremen.de
Thu May 10 05:13:49 PDT 2007
Hi Erwing,
did you also changed (increased) TOSH_DATA_LENGTH in your Makefile? Because
in most implementations of the send() command there is something like:
command result_t Send.send[uint8_t id](TOS_MsgPtr _msg, uint16_t _length) {
TOS_MHopMsg* _mhopmsg = (TOS_MHopMsg*)_msg->data;
uint16_t _mhlength = offsetof(TOS_MHopMsg,data) + _length;
if (_mhlength > TOSH_DATA_LENGTH){
return FAIL;
}
If a message is longer than TOSH_DATA_LENGTH it will be dropped. So if you
didnt already consider this fact youll have to adjust TOSH_DATA_LENGTH.
Regards,
OLE
_____
Von: tinyos-help-bounces at Millennium.Berkeley.EDU
[mailto:tinyos-help-bounces at Millennium.Berkeley.EDU] Im Auftrag von Erwing
Sánchez
Gesendet: Donnerstag, 10. Mai 2007 12:03
An: tinyos-help at Millennium.Berkeley.EDU
Betreff: [Tinyos-help] Tmote CC2420 MAC payload length
Hi everybody:
I'm currently trying to develop a forward error correction algorithm above
the IEEE 802.15.4 protocol stack of the CC2420 module in the Tmote Sky
platform. Basically, I get rid of all TOS packets and go to the lowest level
to work almost directly with the physical frame that is send through the
CC2420 module.
So, I'm working with the frame that is shown in the CC2420 datasheet
(http://www.chipcon.com/files/CC2420_Data_Sheet_1_3.pdf) in page 36. I'm
getting a lot of trouble trying to send a full-length message, that is a
127-byte frame. Basically, I'm not able to send MAC payloads higher than 39
bytes... for some strange reason when I try to send 40 or more bytes in the
MAC payload, the message does not go away!
Does anyone have any idea why this could be happening? I've been working on
that for a couple of weeks and cannot find out anything!
Allow me to explain a little bit better how I'm implementing this
experiment.
Basically, I'm working on top of the "HPLCC2420C" component that is part of
the TinyOS distribution from Moteiv. As you probably know, within that
component most of the CC2420 chip parameters may be defined (including
internal control registers and physical frame fields). To tell you the
truth, I reutilize most of the controlling parameters that are found in
"CC2420ControlM" component, where CC2420 internal registers are configured.
I also create an structure for sending the package where I defined the
following fields:
uint8_t length;
uint8_t fcfhi;
uint8_t fcflo;
uint8_t dsn;
uint16_t destpan;
uint16_t addr;
uint8_t *Data;
These fields are, essentially, the same as in the CC2420 datasheet.
As you can see, I use 8 bytes for controlling fields (length, fcfhi, fcflo,
dsn, destpan, addr). According to CC2420 datasheet, I can use other 119
bytes for MAC payload. However as I said before I'm able to send just 39
bytes because for some reason it stops sending when I try to send a longer
payload!!!
I'd really appreciate if you have any idea that I can use. Probably
something that has to do with CC2420 configuration.
Thanks!
Erwing Sanchez
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20070510/94f8e1c0/attachment.html
More information about the Tinyos-help
mailing list