I'm using the provided code examples from TI in combination with the MSP430 and CC1101.While having most of CC1101's registers set like I want to and transmitting data successfully, it is not possible for me to set up fixed packet length.
When I change* the PKTCTRL0 - Packet Automation Control::LENGTH_CONFIG bytes to 0 (00) -fixed packet length- and leave the PKTLEN::PACKET_LENGTH register with its preset value ( I guess 58 bytes**) while normally sending just following packet:
[1 byte - Length][4 byte - DSTADDR][4 byte - SRCADDR][1 byte - App Payload]
..the transmission breaks completely down. It seems that the transmitter is still sending while the receiver refuses to recognise that at all.
Do I miss something?!
Do I have to 'fill' all the empty 'bytes'? (I thought this value is just an upper limit and all shorter packets will be still detected)
Or in other words, adjusting the PKTLEN, how many bytes would that be in my case to set - just 9? => [4 byte - DSTADDR][4 byte - SRCADDR][1 byte - App Payload]
..assuming that the packet Length byte gets removed so that (according to the frame structure **) the DSTADDR and SRCADDR address bytes gets 'left shifted' by 1 byte?
How does the receiver know the end of the transmitted packet? E.g. a 9 byte long packet is expected but a 10 byte long was sent. Does the receiver rejects the whole packet or just forwarding 9 of the 10 byte?
Any help is appreciated.
beste regards, FT
* of course on both, rx and tx sides
** for calculating the adequate packet length MRFI_SETTING_PKTLEN the code (MRFI_MAX_FRAME_SIZE - MRFI_LENGTH_FIELD_SIZE) in mrfi_radio.c first adds MRFI_LENGTH_FIELD_SIZE and than subtracts it again (see code line) - why is that?!
*** see SimpliciTI: Simple Modular RF Netwok Specification, Figure 7: SimpliciTI frame structure (w/o..), p.11
Additional information in design / application notes that could help:
DN400 (http://www.ti.com/lit/swra116): Interfacing CC110x and CC2500 to the MSP430
DN500 (http://www.ti.com/lit/swra109): Packet Transmission
--PS. Thank you for clicking Verify Answer if this answered your question!
Thank you for your reply. Even though I was already aware of the DN500 I needed you to take a second look to get a good grasp of it. Additionally a bad parameter setting and a tiny bug in the modified version of the TI source code blocked me from getting further.
Now everything's working as expected. (..and as described in the notes)
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.