This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How many no-read events can be stored in nRF8001 at a specific time?

Hi,

I am using nRF8001 with a MCU from PIC18F family. I have successfully configured nRF8001 to send and receive data through the nordic UART pipe (I used the app nRF UART to test it). I am using also the non-interrupt interface, i.e, I get a new event only when i call "lib_aci_event_get" function.

So since I am expecting about 200 to 300 bytes to be send by the peer through the UART PIPE (at once), I am wondering how many of these events can be stored in nRF8001 before the application controller receive them and what happens if this limit is exceeded? nRF8001 starts to drop the first (or the last) to accommodate new ones?

Regards,

Parents
  • Hi Didier,

    The size of receiving buffer on the nRF8001 is not available to the application.

    However, the nRF8001 will NACK new packet if its buffer is full (when the main MCU too busy to fetch data out). So you won't lose any packet since the central will have to retransmit the packet that get NACKed.

    [EDIT]This part was wrong:

    If the MCU continue to fail to read the RX packet out, until connection supervision timeout, the connection will be terminated.

    Agree with David, no timeout when NACKed.

Reply
  • Hi Didier,

    The size of receiving buffer on the nRF8001 is not available to the application.

    However, the nRF8001 will NACK new packet if its buffer is full (when the main MCU too busy to fetch data out). So you won't lose any packet since the central will have to retransmit the packet that get NACKed.

    [EDIT]This part was wrong:

    If the MCU continue to fail to read the RX packet out, until connection supervision timeout, the connection will be terminated.

    Agree with David, no timeout when NACKed.

Children
Related