- Sun Jul 12, 2020 3:21 pm
I have two Redboard Artemis boards that I have loaded with a modified version of the Ambiq SDK 2.2.0, apollo3_evb examples code for "ble_freertos_amdtps". I changed the makefile to point to the Redboard Artemis BSP directory but have not made any other board specific changes. I can connect and interact with either of these boards via the nRF Connect app running on two different Android phones. But when I connect to the Windows 10 laptop, that I use for development, via the Microsoft program Bluetooth LE Explorer I have problems connecting and/or maintaining a connection. I obtained a couple of BLE sniffers (an Adafruit Bluefriend LE Sniffer and a Nordic nRF52 DK board with the nRF Sniffer V3 firmware installed) and can see that numerous retransmissions by both of my slave devices are needed to get packets to be received by the laptop master. The slaves, however, receive all of the masters packets. When I look at connections to the Android phones the packet exchanges between master and slave occur with no (or very few) retransmissions. I can connect other slave devices (a Sphero robot, a Mechanoid robot and the nRF52 DK board programed as a slave) to the laptop master with few or no retransmissions occurring. There is only a problem when connecting a Reboard Artemis slave to the laptop master. And the retransmissions are occurring with both data packets and the "keep alive" empty PDUs so they are not dependent on the data being exchanged. I've confirmed that the format of the packets are correct. I've been in contact with Ambiq Micro support but their suggestions have so far not made a significant difference. They suggested that I contact Sparkfun regarding any potential issues with the radio tuning. I have experimented with different BLE module modex and 32MHz crystal trim values but none of the changes had any dramatic effect although I did see some small improvements.
I'm stumped as to why the Redboard Artemis boards don't get along with this laptop master when they are able to play well with other devices (the Android phones). I would really like to understand what the problem is but I don't know what other configuration parameters might be having an effect or if I can even change them.