I setting up double-buffer anchor.
When I print the ICRBP value it always gives me zero. As I understand, it should toggle between 0 and 1, doesn’t it?
When I give HRBPT command the HSRBP toggles between zero and one, but it doesn’t effect ICRBP.
Correct ICRBP indicates which of the buffer pairs the IC is accessing (0 or 1) and it will not toggle if not a good frame is received.
(Would you have other fault codes eg overrun ?(
But have you read the user manual section on double buffering and its it flowcharts which describe what must be done for correct double buffer operation?
Few things you could maybe do also:
- If delayed transmission is used , does it work without delayed transmission?
- If using double-buffer with auto re-enable, could you disable double buffer, use single buffer instead or disable auto re-enable with double buffering.
- Finally, I suggest to look and try the example API 2e: RX using double buffering. The Example API can be downloaded from our website:
Thank you, Leo.
Yes, I read the instructions (few times, I must say), but still I have some problems.
I changed a little my code so now I get data from both buffers.
The problem that remains is the following:
If I use two tags to send data (about 30 bytes) it works good - every time the IC gets the data to another buffer and I don’t miss any message.
But when the two tags sends close one to each other (less than 4 ms) I get 15 times from one tag and then 15 times from other. Still the buffer toggles, but I miss a lot of messages. It happens until the time between messages grows bigger than 4 ms and then the system works good.
What should I fix?
What is the time of receive? It means, how long it takes to receive message? Have I overrun because of only two tags or two tags should work properly?