Skip to content

Commit 2135a17

Browse files
committed
Added Bluefruit.setEventCallback()
close #181
1 parent a733a56 commit 2135a17

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
- USE_LFRC or USE_LFXO must be defined in board's variant.h
2323
- Fixed Scanner running state when timeout ( PR #186 thanks to @Ryscho )
2424
- Fixed #192 Client Characteristic write() return number of writtent instead of error code
25+
- Added #181 Bluefruit.setEventCallback() for user to handle ble event
2526

2627
## 0.8.6
2728

libraries/Bluefruit52Lib/src/bluefruit.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ AdafruitBluefruit::AdafruitBluefruit(void)
140140

141141
_connect_cb = NULL;
142142
_disconnect_cb = NULL;
143+
_event_cb = NULL;
143144

144145
COMMENT_OUT(
145146
_auth_type = BLE_GAP_AUTH_KEY_TYPE_NONE;
@@ -618,6 +619,11 @@ void AdafruitBluefruit::setDisconnectCallback( BLEGap::disconnect_callback_t fp
618619
_disconnect_cb = fp;
619620
}
620621

622+
void AdafruitBluefruit::setEventCallback ( void (*fp) (ble_evt_t*) )
623+
{
624+
_event_cb = fp;
625+
}
626+
621627
uint16_t AdafruitBluefruit::connHandle(void)
622628
{
623629
return _conn_hdl;
@@ -856,6 +862,9 @@ void AdafruitBluefruit::_ble_handler(ble_evt_t* evt)
856862

857863
// GATTs characteristics event handler
858864
Gatt._eventHandler(evt);
865+
866+
// User callback if set
867+
if (_event_cb) _event_cb(evt);
859868
}
860869

861870
/*------------------------------------------------------------------*/

libraries/Bluefruit52Lib/src/bluefruit.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@ class AdafruitBluefruit
178178
void setConnectCallback ( BLEGap::connect_callback_t fp);
179179
void setDisconnectCallback( BLEGap::disconnect_callback_t fp);
180180

181+
void setEventCallback ( void (*fp) (ble_evt_t*) );
182+
181183
COMMENT_OUT ( bool setPIN(const char* pin); )
182184

183185
/*------------------------------------------------------------------*/
@@ -223,6 +225,8 @@ class AdafruitBluefruit
223225
BLEGap::connect_callback_t _connect_cb;
224226
BLEGap::disconnect_callback_t _disconnect_cb;
225227

228+
void (*_event_cb) (ble_evt_t*);
229+
226230
COMMENT_OUT(
227231
uint8_t _auth_type;
228232
char _pin[BLE_GAP_PASSKEY_LEN];

0 commit comments

Comments
 (0)