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

nRF8001 no response to Test mode command

Hi, i've just started to use the nRF8001, so forgive me if this is an obvious problem.

i'm using the nRF8001 with a microchip PIC processor. i'm using the ace_tl_demo project to test the hardware. On power-up I receive the deviceStartedEvent (04,81,02). The firmware then sends the test mode command (02,01,02).

Am i correct that the RDYN pin should now go low? And i can then read the SPI response (either deviceStartedEvent or commandResponseEvent)

the RDYN pin never goes low.

Using a logic analyser, i can see that the test mode command is sent ok - sent LSB first

i'd appreciate any idea's/suggestions

regards, Damian

edit:

was a hardware issue, worked ok with the hal_aci_tl_bb file instead of the hal_aci_tl.

  • My apologies for the delayed response. The nRF8001 sends the SPI messages in the formats as specified in section 7 of the data sheet. So the Events always come with <Data ....> Commands are always sent as <Data ....>

    When sending a command you need to place the REQN low, wait for the RDYN and then clock out your SPI message and then raise the REQN line . If the nRF8001 is not responding you are most likely not following the sequence.

    When receiving a message the sequence is simpler as RDYN is already low, you then have to lower the REQN line, clock the SPI message and then once the full SPI message is received raise the REQN line.

    If you need more help please post your logic analyzer trace with REQN, RDYN, MISO, MOSI, SCK and RESET lines.

    Also note we usually clock 2 bytes from the SPI master to determine the length of the Event coming from the nRF8001 and then determine how many bytes to be clocked.

  • I know this is a old post, but since I was facing the same issue trying to port the code to PIC18F, I will give you my 5cents on this question.

    My issue was with the SPI mode of PIC, since PIC and Arduino uses different parameters to set them, the table below shows the compatibility for them:

    image description

    Hope it helps!!

Related