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

nRF8001/MSP430; cannot receive/transmit after pairing

Hi,

I'm trying to interface the nRF8001 using an MSP430 device (specifically Adafruit's breakout board and MSP430fg439) for sending analogue data from the sensor hosted by MSP430 out to a smartphone.

I have followed the example from this thread (devzone.nordicsemi.com/.../, the BLE Demo.zip), making adjustments to only to main.c, hardware.h, spi.c, and hal_aci_tl.c I have been able to pair my device with Nordic's UART android app. However, I cannot receive/transmit after pairing, even though there was no indication of unpairing. I have tried to diagnose the problem using a logic analyser: image description

I suspect there should be some activity in the MOSI, REQ, RDY, and RST line after pairing for handshakes, but I don't see it here, and I cannot figure out how to sustain this connection for transmission of data.

Thank you very much.

Parents
  • To enable notifications the peer will have to write to the cccd of the characteristic you are using to send data. If this isn't enabled calling lib_aci_send_data will result in a PipeErrorEvent. So to debug you can check if you get this, or you can use lib_aci_is_pipe_available to check if the pipe is open or not prior to calling lib_aci_send_data. If the pipe isn't available you could write something on a serial interface or halt the code for debugging.

Reply
  • To enable notifications the peer will have to write to the cccd of the characteristic you are using to send data. If this isn't enabled calling lib_aci_send_data will result in a PipeErrorEvent. So to debug you can check if you get this, or you can use lib_aci_is_pipe_available to check if the pipe is open or not prior to calling lib_aci_send_data. If the pipe isn't available you could write something on a serial interface or halt the code for debugging.

Children
Related