Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-os-example-ble-Advertising
Revision 163:4c008b1089e9, committed 2015-10-30
- Comitter:
- Wolfgang Betz
- Date:
- Fri Oct 30 10:26:15 2015 +0100
- Parent:
- 162:667f97a4db7f
- Child:
- 164:51bba7d36eb4
- Commit message:
- Augment 'HCI_READ_PACKET_NUM_MAX'
Changed in this revision
| source/BlueNRGGap.cpp | Show annotated file Show diff for this revision Revisions of this file |
| source/bluenrg-hci/hci/hci.c | Show annotated file Show diff for this revision Revisions of this file |
--- a/source/BlueNRGGap.cpp Fri Oct 30 09:08:25 2015 +0100
+++ b/source/BlueNRGGap.cpp Fri Oct 30 10:26:15 2015 +0100
@@ -1054,37 +1054,30 @@
{
uint8_t ret = BLE_STATUS_SUCCESS;
-
+
PRINTF("Scanning...\n\r");
-
+
// We received a start scan request from the application level.
// If we are on X-NUCLEO-IDB04A1 (playing a single role at time),
// we need to re-init our expansion board to specify the GAP CENTRAL ROLE
if(!btle_reinited) {
btle_init(isSetAddress, GAP_CENTRAL_ROLE_IDB04A1);
btle_reinited = true;
-
+
PRINTF("BTLE re-init\n\r");
}
- if((ret = aci_gap_start_general_discovery_proc(scanningParams.getInterval(),
- scanningParams.getWindow(),
- addr_type,
- 1) // 1 to filter duplicates
- ) == ERR_COMMAND_DISALLOWED) {
- PRINTF("\t==>betzw: wait a bit ...<==\n\r");
-
+ ret = aci_gap_start_general_discovery_proc(scanningParams.getInterval(),
+ scanningParams.getWindow(),
+ addr_type,
+ 1); // 1 to filter duplicates
+ if (ret != BLE_STATUS_SUCCESS) {
+ printf("Start Discovery Procedure failed (0x%02X)\n\r", ret);
// FIXME: We need to wait for a while before starting discovery proc
// due to BlueNRG process queue handling
// NOTE: this workaround causes a potential risk for an endless loop!!!
minar::Scheduler::postCallback(radioScanning).delay(minar::milliseconds(100));
-
return BLE_STACK_BUSY;
- }
-
- if (ret != BLE_STATUS_SUCCESS) {
- printf("Start Discovery Procedure failed (0x%02X)\n\r", ret);
- return BLE_ERROR_UNSPECIFIED;
} else {
PRINTF("Discovery Procedure Started\n");
_scanning = true;
@@ -1158,34 +1151,27 @@
tBleStatus ret;
/*
- Scan_Interval, Scan_Window, Peer_Address_Type, Peer_Address, Own_Address_Type, Conn_Interval_Min,
- Conn_Interval_Max, Conn_Latency, Supervision_Timeout, Conn_Len_Min, Conn_Len_Max
+ Scan_Interval, Scan_Window, Peer_Address_Type, Peer_Address, Own_Address_Type, Conn_Interval_Min,
+ Conn_Interval_Max, Conn_Latency, Supervision_Timeout, Conn_Len_Min, Conn_Len_Max
*/
- if((ret = aci_gap_create_connection(SCAN_P,
- SCAN_L,
- PUBLIC_ADDR,
- (unsigned char*)_peerAddr,
- PUBLIC_ADDR,
- CONN_P1, CONN_P2, 0,
- SUPERV_TIMEOUT, CONN_L1 , CONN_L2)
- ) == ERR_COMMAND_DISALLOWED) {
- PRINTF("\t==>betzw: wait a bit ...<==\n\r");
-
+ ret = aci_gap_create_connection(SCAN_P,
+ SCAN_L,
+ PUBLIC_ADDR,
+ (unsigned char*)_peerAddr,
+ PUBLIC_ADDR,
+ CONN_P1, CONN_P2, 0,
+ SUPERV_TIMEOUT, CONN_L1 , CONN_L2);
+
+ if (ret != BLE_STATUS_SUCCESS) {
+ printf("Error while starting connection (ret=0x%02X).\n\r", ret);
// FIXME: We need to wait for a while before creating a connection
// due to BlueNRG process queue handling
// NOTE: this workaround causes a potential risk for an endless loop!!!
minar::Scheduler::postCallback(makeConn).delay(minar::milliseconds(100));
-
return BLE_STACK_BUSY;
- }
-
- _connecting = false;
-
- if (ret != BLE_STATUS_SUCCESS){
- printf("Error while starting connection (ret=0x%02X).\n\r", ret);
- return BLE_ERROR_UNSPECIFIED;
} else {
PRINTF("Connection started.\n");
+ _connecting = false;
return BLE_ERROR_NONE;
}
}
--- a/source/bluenrg-hci/hci/hci.c Fri Oct 30 09:08:25 2015 +0100 +++ b/source/bluenrg-hci/hci/hci.c Fri Oct 30 10:26:15 2015 +0100 @@ -32,7 +32,7 @@ #define HCI_LOG_ON 0 -#define HCI_READ_PACKET_NUM_MAX (15) +#define HCI_READ_PACKET_NUM_MAX (50) #define MIN(a,b) ((a) < (b) )? (a) : (b) #define MAX(a,b) ((a) > (b) )? (a) : (b)