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

BLE ACI verification

Hi, i'm kinda a newbie on this, and i'm trying to port the SDK available for arduino to a PIC, i followed the instructions on the SDK and also here

Now i want to verify that my code is alright by running the ble_aci_transport_layer_verification, but the if statement in the loop function never triggers due to "aci_queue_is_empty" always returns true (aci_q->head == aci_q->tail).

On the other hand, the setup funcion calls aci_queue_init (via hal_aci_tl_init), but this function sets aci_q->head and aci_q->tail to zero. I debugged the rest of the program one line at a time and no other function modifies those values.

So, I'm starting to think that maybe there is a bug on the code, i hope somebody could help me pointing out where the aci queue is initialized (or if i should write a call to aci_queue_enqueue somewhere), thanks in advance

Parents
  • Can you check with an logic analyzer on the SPI to verify that the hardware connections are ok. If no messages are coming over the SPI, this is the normal behaviour.

    Do a simple test: Do a pin reset of the nRF8001 - Section 14.4 on the nRF8001 datasheet You should receive a Device Started Event from the nRF8001 about 62ms after the reset. Verify that your code on the PIC has got this event.

    See section 7.1.5 of the nRF8001 datasheet for the Events on the SPI lines.

Reply
  • Can you check with an logic analyzer on the SPI to verify that the hardware connections are ok. If no messages are coming over the SPI, this is the normal behaviour.

    Do a simple test: Do a pin reset of the nRF8001 - Section 14.4 on the nRF8001 datasheet You should receive a Device Started Event from the nRF8001 about 62ms after the reset. Verify that your code on the PIC has got this event.

    See section 7.1.5 of the nRF8001 datasheet for the Events on the SPI lines.

Children
No Data
Related