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

No Longer Able to Connect to Redbear BLE Shield

Nordic,

I am using the BLE Shield v2 and the Arduino Due board to transmit accelerometer/gyro data to an Android tablet app that plots this data. I had this working fine until I attempted to rename the board by calling the function "ble_set_name()" and downloading nRFgoStudio (However, I did not modify the ble_shield.xml file). I'm not sure what happened or why, but after I messed with that function and downloaded nRFgoStudio, I have not been able to get the BLE shield to broadcast anything anymore. I have tried re-downloading/re-importing the BLE Shield libraries and the Nordic BLE libraries (slightly modifying these libraries again to work with the Arduino Due board), but still no luck. After doing some investigating, I have found that when I run my program on the board, it gets stuck when calling "ble_begin()". After testing and digging into the library files, I found that it gets stuck in a while(1) in the function "lib_aci_board_init(aci_state_t)" within lib_aci.cpp because the ACI queue is always empty (specifically, aci_q->head == aci_q->tail). Obviously, the ACI queue should not always be empty and these files worked fine before. When I turn on the debug printing for ACI commands, it returns "C1 :1, E,". I'm at a loss of what happened here and why I can no longer get the BLE shield to work. The BLE shield physically appears that it is working, the Arduino Due board is working fine, and I did not change anything physically on the hardware, but I'm not completely sure if my problem is software or hardware related. Any suggestions would be helpful. Thanks!

Devon

Parents
  • UPDATE:

    I reverted back to the old library files (not the newest, most updated library files) and it started working again. Still not completely sure what was wrong or why the newest library files aren't working for me, or perhaps for the Arduino Due in general, but the old library files do in fact work. Does anyone know what extra functionality the newest library files have that the old ones do not? Here is the link to the old library files in case anyone has had the same problem (github.com/.../L31_iOS). However, I did add functionality for ble_busy() to ble_shield.cpp and ble_shield.h.

    Devon

Reply
  • UPDATE:

    I reverted back to the old library files (not the newest, most updated library files) and it started working again. Still not completely sure what was wrong or why the newest library files aren't working for me, or perhaps for the Arduino Due in general, but the old library files do in fact work. Does anyone know what extra functionality the newest library files have that the old ones do not? Here is the link to the old library files in case anyone has had the same problem (github.com/.../L31_iOS). However, I did add functionality for ble_busy() to ble_shield.cpp and ble_shield.h.

    Devon

Children
No Data
Related