diff --git a/src/W800_SDK_v1.00.10/app/ble/ble_service.c b/src/W800_SDK_v1.00.10/app/ble/ble_service.c index 4fa1640..c198f90 100644 --- a/src/W800_SDK_v1.00.10/app/ble/ble_service.c +++ b/src/W800_SDK_v1.00.10/app/ble/ble_service.c @@ -660,6 +660,12 @@ static int ble_gap_event_cb(struct ble_gap_event *event, void *arg) event->subscribe.cur_notify, event->subscribe.prev_notify ); + + if(gatt_nus_char_tx_handle == event->subscribe.attr_handle && (event->subscribe.cur_notify || event->subscribe.cur_indicate)) + { + //We call the state change callback if registered + if(_ble_service_state_change_cb)_ble_service_state_change_cb(BLE_SERVICE_MODE_SUBSCRIBED); + } break; case BLE_GAP_EVENT_MTU: TLS_BT_APPL_TRACE_VERBOSE("MTU update : %u"NEW_LINE, event->mtu.value); diff --git a/src/W800_SDK_v1.00.10/app/ble/ble_service.h b/src/W800_SDK_v1.00.10/app/ble/ble_service.h index 351860a..85308ec 100644 --- a/src/W800_SDK_v1.00.10/app/ble/ble_service.h +++ b/src/W800_SDK_v1.00.10/app/ble/ble_service.h @@ -15,6 +15,7 @@ typedef enum BLE_SERVICE_MODE_IDLE, BLE_SERVICE_MODE_ADVERTISING, BLE_SERVICE_MODE_CONNECTED, + BLE_SERVICE_MODE_SUBSCRIBED, BLE_SERVICE_MODE_INDICATING, BLE_SERVICE_MODE_EXITING } ble_service_state_e; diff --git a/src/W800_SDK_v1.00.10/src/bt/blehost/porting/w800/include/syscfg/syscfg.h b/src/W800_SDK_v1.00.10/src/bt/blehost/porting/w800/include/syscfg/syscfg.h index 9b4b980..94718d0 100644 --- a/src/W800_SDK_v1.00.10/src/bt/blehost/porting/w800/include/syscfg/syscfg.h +++ b/src/W800_SDK_v1.00.10/src/bt/blehost/porting/w800/include/syscfg/syscfg.h @@ -65,7 +65,7 @@ #endif #ifndef MYNEWT_VAL_MSYS_1_BLOCK_SIZE -#define MYNEWT_VAL_MSYS_1_BLOCK_SIZE (100) // Default 292 +#define MYNEWT_VAL_MSYS_1_BLOCK_SIZE (150) // Default 292 #endif #ifndef MYNEWT_VAL_MSYS_1_SANITY_MIN_COUNT @@ -925,7 +925,7 @@ /*** @apache-mynewt-nimble/nimble/transport/socket */ #ifndef MYNEWT_VAL_BLE_ACL_BUF_COUNT -#define MYNEWT_VAL_BLE_ACL_BUF_COUNT (8) // Default 36 +#define MYNEWT_VAL_BLE_ACL_BUF_COUNT (15) // Default 36 #endif #ifndef MYNEWT_VAL_BLE_ACL_BUF_SIZE @@ -947,11 +947,11 @@ #endif #ifndef MYNEWT_VAL_BLE_HCI_EVT_HI_BUF_COUNT -#define MYNEWT_VAL_BLE_HCI_EVT_HI_BUF_COUNT (5) // Default 16 +#define MYNEWT_VAL_BLE_HCI_EVT_HI_BUF_COUNT (10) // Default 16 #endif #ifndef MYNEWT_VAL_BLE_HCI_EVT_LO_BUF_COUNT -#define MYNEWT_VAL_BLE_HCI_EVT_LO_BUF_COUNT (5) // Default 96 +#define MYNEWT_VAL_BLE_HCI_EVT_LO_BUF_COUNT (20) // Default 96 #endif #ifndef MYNEWT_VAL_BLE_SOCK_CLI_SYSINIT_STAGE