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
didn’t already consider this fact you’ll have to adjust TOSH_DATA_LENGTH.

 

Regards,

OLE

 

 

  _____  

Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Im Auftrag von Erwing
Sánchez
Gesendet: Donnerstag, 10. Mai 2007 12:03
An: tinyos-help@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/ 

_______________________________________________
Tinyos-help mailing list
Tinyos-help@Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to