S2-LP How to receive more than 128 byte in fixed length mode
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 10:22 AM
hello every one,
I've an S2-LP and I need to recive differents data packet with different length but datas can be more than 128byte (FIFO size). What I need to do to receive more byte than fifo size? The size of packet coded on payload and I can know it only after the parsing and decrypting. how can I configure the GPIO to do this and how can I read the FIFO more than one time to receive all payload without corruption? thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 10:34 AM
These type of FIFO implementation tend not to be byte addressable, so every time you pull a byte it advances, and you can come back for more or read a block, typically flagged by a threshold setting.
If it is capable of packets beyond the FIFO size, you'll need to pull data out faster than it arrives, getting an interrupt at a threshold level, and pull that number of bytes, and subsequently until it flags as empty.
Don't imagine it would be hard to test if you have an existing/functioning stack you can modify/tweak.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-08 02:26 AM
Hello, you can use the direct gpio mode too, check 5.5.7 Receiver data modes in s2lp datasheet. You need 2 gpio of s2lp and 2 on mcu, one interrupt mode and one input. Table 60. GPIO digital output functions : 8
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-09 08:13 AM
thank you all for fast reply....
but I have this problem
@Community member​
I'm able to receive frame more than 128bytes if I use the Fixed Lenght mode (length of frame managed from s2-lp and not present in payload) but when I tried the same mode with variable length (length not managed from s2-lp and first byte of payload) I'm not able to receive more than 128 bytes.. after the 128th the FIFO not receive new byte in and send out always the same value, the 128th... I remember that in CC1120 to receive more than 128byte in variable length there is a specific register to set in "Infinity receive mode"... in s2-lp there isn't!!
@Community member​
Thank you for your suggestion but manage all the data that coming out in direct receive mode with GPIO is too hard.. specially with out any type of filter like preamble, sync word ecc... I received thousand of different frame is 1 second!! and a lot of are noise!!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-09 12:28 PM
It might not be a suitable part for the application. I'm using Semtech based radios.
Can you not break the packet into smaller chunks?
Up vote any posts that you find helpful, it shows what's working..