1818 */
1919#include < bluefruit.h>
2020
21- BLEClientDis clientDis;
22- BLEClientUart clientUart;
21+ BLEClientBas clientBas; // battery client
22+ BLEClientDis clientDis; // device information client
23+ BLEClientUart clientUart; // bleuart client
2324
2425void setup ()
2526{
@@ -35,6 +36,9 @@ void setup()
3536
3637 Bluefruit.setName (" Bluefruit52 Central" );
3738
39+ // Configure Battyer client
40+ clientBas.begin ();
41+
3842 // Configure DIS client
3943 clientDis.begin ();
4044
@@ -91,7 +95,7 @@ void connect_callback(uint16_t conn_handle)
9195{
9296 Serial.println (" Connected" );
9397
94- Serial.print (" Dicovering DIS ... " );
98+ Serial.print (" Dicovering Device Information ... " );
9599 if ( clientDis.discover (conn_handle) )
96100 {
97101 Serial.println (" Found it" );
@@ -114,10 +118,19 @@ void connect_callback(uint16_t conn_handle)
114118 }
115119
116120 Serial.println ();
117- }
121+ }
118122
119- Serial.print (" Discovering BLE Uart Service ... " );
123+ Serial.print (" Dicovering Battery ... " );
124+ if ( clientBas.discover (conn_handle) )
125+ {
126+ Serial.println (" Found it" );
127+ Serial.print (" Battery level: " );
128+ Serial.print (clientBas.read ());
129+ Serial.println (" %" );
130+ }
131+
120132
133+ Serial.print (" Discovering BLE Uart Service ... " );
121134 if ( clientUart.discover (conn_handle) )
122135 {
123136 Serial.println (" Found it" );
@@ -139,6 +152,7 @@ void connect_callback(uint16_t conn_handle)
139152 * Callback invoked when a connection is dropped
140153 * @param conn_handle
141154 * @param reason is a BLE_HCI_STATUS_CODE which can be found in ble_hci.h
155+ * https://github.com/adafruit/Adafruit_nRF52_Arduino/blob/master/cores/nRF5/nordic/softdevice/s140_nrf52_6.1.1_API/include/ble_hci.h
142156 */
143157void disconnect_callback (uint16_t conn_handle, uint8_t reason)
144158{
0 commit comments