0

Bluefruit52 Central Custom HRM Example
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Bluefruit52 Central Custom HRM Example

by jps2000 on Tue Sep 11, 2018 2:57 am

Hi hathach
You know I am working on a central HRM. I Use a polar H7 and a Chinese clone
both featured the behavior that every 60 sec the link disconnects and connect again.
First I thought it is a feature of the sensors to break the link. Now I think this is caused by the central somehow.
I do not see this disconnect with the nRF logger.

Here is a log of the example showing response with a polar H7
about in the middle there comes
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST : Conn Handle = 0

and after 60 sec:

....
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GAP_EVT_DISCONNECTED : Conn Handle = 0
Disconnected

[BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535
[BLE ] BLE_GAP_EVT_CONNECTED : Conn Handle = 0
Connected
Discovering HRM Service

......

any idea where this come from?

I argue that it is because of this:
https://devzone.nordicsemi.com/f/nordic ... est-events

and/ or this
https://github.com/adafruit/Adafruit_nR ... issues/100


see below also the nordic Logger report

thanks for support




Bluefruit52 Central Custom HRM Example
--------------------------------------


BSP Library : 0.8.1
Firmware : S132 2.0.1, 0.5.0 dual banks
Serial No : A5C891AD3CEFEB58

--------- SoftDevice Config ---------
Max UUID128 : 0
ATTR Table Size : 2048
Service Changed : 0

--------- BLE Settings ---------
Name : Bluefruit52 Central
Max Connections : Peripheral = 0, Central = 4
Address : C7:D0:DB:8A:C4:03 (Static)
TX Power : 0 dBm
Conn Intervals : min = 20.00 ms, max = 30.00 ms
Paired Devices :


[BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535
[BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535
[BLE ] BLE_GAP_EVT_CONNECTED : Conn Handle = 0
Connected
Discovering HRM Service ... [DISC ] [SVC] Handle start = 1
[BLE ] BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP : Conn Handle = 0
[DISC ] [SVC] Service Count: 1
[DISC ] [SVC] Found 0x180D, Handle start = 16, end = 21
-----------------
Found it
Discovering Measurement characteristic ... [DISC ] [CHR] Handle start = 16, end = 21
[BLE ] BLE_GATTC_EVT_CHAR_DISC_RSP : Conn Handle = 0
[DISC ] [CHR] Characteristic Count: 2
[DISC ] [CHR] Found 0x2A37, handle = 18
-----------------
[DISC ] [DESC] Handle start = 19, end = 21
[BLE ] BLE_GATTC_EVT_DESC_DISC_RSP : Conn Handle = 0
[DISC ] [DESC] Descriptor Count: 3
[DISC ] [DESC] Descriptor 0: uuid = 0x2902, handle = 19
[DISC ] [DESC] Descriptor 1: uuid = 0x2803, handle = 20
[DISC ] [DESC] Descriptor 2: uuid = 0x2A38, handle = 21
[DISC ] Found CCDD: handle = 19
Found it
Discovering Body Sensor Location characteristic ... [DISC ] [CHR] Handle start = 16, end = 21
[BLE ] BLE_GATTC_EVT_CHAR_DISC_RSP : Conn Handle = 0
[DISC ] [CHR] Characteristic Count: 2
[DISC ] [CHR] Found 0x2A38, handle = 21
-----------------
Found it
[BLE ] BLE_GATTC_EVT_READ_RSP : Conn Handle = 0
Body Location Sensor: Chest
Ready to receive HRM Measurement value
[BLE ] BLE_EVT_TX_COMPLETE : Conn Handle = 0
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST : Conn Handle = 0
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GAP_EVT_DISCONNECTED : Conn Handle = 0
Disconnected
[BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535
[BLE ] BLE_GAP_EVT_CONNECTED : Conn Handle = 0
Connected
Discovering HRM Service ... [DISC ] [SVC] Handle start = 1
[BLE ] BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP : Conn Handle = 0
[DISC ] [SVC] Service Count: 1
[DISC ] [SVC] Found 0x180D, Handle start = 16, end = 21
-----------------
Found it
Discovering Measurement characteristic ... [DISC ] [CHR] Handle start = 16, end = 21
[BLE ] BLE_GATTC_EVT_CHAR_DISC_RSP : Conn Handle = 0
[DISC ] [CHR] Characteristic Count: 2
[DISC ] [CHR] Found 0x2A37, handle = 18
-----------------
[DISC ] [DESC] Handle start = 19, end = 21
[BLE ] BLE_GATTC_EVT_DESC_DISC_RSP : Conn Handle = 0
[DISC ] [DESC] Descriptor Count: 3
[DISC ] [DESC] Descriptor 0: uuid = 0x2902, handle = 19
[DISC ] [DESC] Descriptor 1: uuid = 0x2803, handle = 20
[DISC ] [DESC] Descriptor 2: uuid = 0x2A38, handle = 21
[DISC ] Found CCDD: handle = 19
Found it
Discovering Body Sensor Location characteristic ... [DISC ] [CHR] Handle start = 16, end = 21
[BLE ] BLE_GATTC_EVT_CHAR_DISC_RSP : Conn Handle = 0
[DISC ] [CHR] Characteristic Count: 2
[DISC ] [CHR] Found 0x2A38, handle = 21
-----------------
Found it
[BLE ] BLE_GATTC_EVT_READ_RSP : Conn Handle = 0
Body Location Sensor: Chest
Ready to receive HRM Measurement value
[BLE ] BLE_EVT_TX_COMPLETE : Conn Handle = 0
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
HRM Measurement: 60


This is what the logger says:
nRF Toolbox HRM, 2018-09-11
Polar H7 38A89A22 (A0:9E:1A:38:A8:9A)
V 08:10:19.212 Connecting...
D 08:10:19.220 gatt = device.connectGatt(autoConnect = false)
D 08:10:19.832 [Callback] Connection state changed with status: 0 and new state: 2 (CONNECTED)
I 08:10:19.877 Connected to A0:9E:1A:38:A8:9A
D 08:10:19.900 wait(1600)
V 08:10:21.529 Discovering Services...
D 08:10:21.543 gatt.discoverServices()
I 08:10:21.564 Services Discovered
V 08:10:21.578 Primary service found
V 08:10:21.593 Secondary service found
A 08:10:21.608 Reading battery level...
V 08:10:21.623 Reading characteristic 00002a19-0000-1000-8000-00805f9b34fb
D 08:10:21.637 gatt.readCharacteristic(00002a19-0000-1000-8000-00805f9b34fb)
I 08:10:21.814 Read Response received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 5A
A 08:10:21.838 Battery level received: 90%
V 08:10:21.855 Reading characteristic 00002a38-0000-1000-8000-00805f9b34fb
D 08:10:21.861 gatt.readCharacteristic(00002a38-0000-1000-8000-00805f9b34fb)
I 08:10:21.955 Read Response received from 00002a38-0000-1000-8000-00805f9b34fb, value: (0x) 01
A 08:10:21.980 "Chest" received
D 08:10:22.002 gatt.setCharacteristicNotification(00002a37-0000-1000-8000-00805f9b34fb, true)
V 08:10:22.025 Enabling notifications for 00002a37-0000-1000-8000-00805f9b34fb
D 08:10:22.040 gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00)
I 08:10:22.152 Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00
A 08:10:22.170 Notifications enabled
I 08:10:22.186 Notification received from 00002a37-0000-1000-8000-00805f9b34fb, value: (0x) 06-47
A 08:10:22.201 "Heart Rate Measurement: 71 bpm,
Contact is Detected" received
I 08:10:23.165 Notification received from 00002a37-0000-1000-8000-00805f9b34fb, value: (0x) 16-47-48-02
A 08:10:23.191 "Heart Rate Measurement: 71 bpm,
Contact is Detected,
RR Interval" received
I 08:10:24.160 Notification received from 00002a37-0000-1000-8000-00805f9b34fb, value: (0x) 16-47-45-03-53-03
A 08:10:24.199 "Heart Rate Measurement: 71 bpm,
Contact is Detected,
RR Interval: 831.05 ms" received
I 08:10:25.167 Notification received from 00002a37-0000-1000-8000-00805f9b34fb, value: (0x) 06-47
A 08:10:25.208 "Heart Rate Measurement: 71 bpm,
Contact is Detected" received

it continues like that

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Sat Sep 15, 2018 6:21 am

push

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by hathach on Fri Jan 04, 2019 8:28 am

I don't have your prph to reproduce, but will try my best to help troubleshooting. I will add the code that handle the conn update event, though, did you know the value of reason parameter in the disconnect callback ?

hathach
 
Posts: 967
Joined: Tue Apr 23, 2013 1:02 am

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Fri Jan 04, 2019 10:13 am

Thanks you are my (our) hero

Where can I see / how can I get the reason parameter?
Hence I think handling the update request will solve the problem.

The problem occurs with many prphs but not with all. I recently found a Chinese clone of hrm prph that does not ask for this update req.
Do you know the reason why BLE Spec has foreseen this update and what it is good for?

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by hathach on Fri Jan 04, 2019 10:18 am

Set disconnect callback and print out the value of reason parameter.

hathach
 
Posts: 967
Joined: Tue Apr 23, 2013 1:02 am

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Fri Jan 04, 2019 10:35 am

will do

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Fri Jan 04, 2019 12:51 pm

This is what it says
0x3b
And this is the translation I found
BT_HCI_ERR_UNACCEPT_CONN_PARAM
Hope this helps
Thank you

Remark:
You may consider to change disconnect callback in the examples to:

void disconnect_callback(uint16_t conn_handle, uint8_t reason)
{

Serial.print("Reason: ");
Serial.println(reason,HEX);
// see http://dev.ti.com/tirex/content/simplel ... ck/doxygen /group___h_c_i___error___codes.html

(void) conn_handle;
(void) reason;

}

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by hathach on Fri Jan 04, 2019 1:17 pm

It is clear that your issue is caused by the BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST is not handled.
I just pushed an update develop branch that handle the event. I didn't test though, I will continue to work on this on next Monday.
You can give it a try

Note: the cental preferred min, max connection interval can be changed by setConnInterval()/ setConnIntervalMS()

PS: thanks for the link, I remembered put some hint for the reason in the example as well, may put the link to our github file instead.

hathach
 
Posts: 967
Joined: Tue Apr 23, 2013 1:02 am

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Sat Jan 05, 2019 4:29 am

Hi
gave your modification a try now
first there is a typo in BLEcentral.cpp
Line 185 there is a missing _
so it should read:
_ppcp_min_conn*1.25f, _ppcp_max_conn*1.25f, request_param->min_conn_interval*1.25f, request_param->max_conn_interval*1.25f);

instead of
ppcp_min_conn*1.25f, _ppcp_max_conn*1.25f, request_param->min_conn_interval*1.25f, request_param->max_conn_interval*1.25f);
Then it compiles ok

But there is still an issue as you see in the reporting when the update request is sent:
........
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST : Conn Handle = 0
_event_handler: 171: request_param->min_conn_interval = 250
_event_handler: 172: request_param->max_conn_interval = 400
_event_handler: 173: request_param->slave_latency = 0
_event_handler: 174: request_param->conn_sup_timeout = 600
[GAP ] Reject Conn Param Update Request: our = ( 20.00, 30.00 ), request = ( 312.50, 500.00 )
[BLE ] BLE_GAP_EVT_DISCONNECTED : Conn Handle = 0
[BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535
[BLE ] BLE_GAP_EVT_CONNECTED : Conn Handle = 0
[DISC ] [SVC] Handle start = 1
[BLE ] BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP : Conn Handle = 0
[DISC ] [SVC] Service Count: 1
[DISC ] [SVC] Found 0x180A, Handle start = 22, end = 36
.........

hope this helps

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by hathach on Sat Jan 05, 2019 4:37 am

You should know what to do now already :).
The prph want to have very long conn interval to save power. Current central default valur is not overlap with that max =30, check my comment above to change the central connInterval() so that it could accept that. I may also check spec and doc to increase default max conn as well later.

hathach
 
Posts: 967
Joined: Tue Apr 23, 2013 1:02 am

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Sat Jan 05, 2019 5:25 am

indeed
but had no time to discover/try how to change that.
Most simple things for experienced are sometimes most complicated for others like me.
Pls be patient I am from the punch card generation.....

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Sat Jan 05, 2019 12:06 pm

Yep I got it to work!!!
I deleted in BLEcentral.cpp (development version)
Line 181 to 189 and line 203
( cut out the // Accept request parameter if it is within our supported range, otherwise reject)
Then it works without a problem.

Actually I see no reason for this query because it fetches the requested con parameters from prph anyhow ( as far as I understand that)

Here is the debug log:

BLE Settings:
--------- BLE Settings ---------
Name : Bluefruit52 Central
Max Conn[BLE ] BLE_GAP_EVT_CONNECTED : Conn Handle = 0
[DISC ] [SVC] Handle start = 1
ections : Peripheral = 0, Central = 4
Address : C7:94:B8:FB:6D:8C (Static)
TX Power : 0 dBm
Conn Intervals : min = 20.00 ms, max = 30.00 ms
Conn Timeout : 2000.00 ms
Central Paired Devices:

.......

And here is the update request handled:

.....
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST : Conn Handle = 0
_event_handler: 171: request_param->min_conn_interval = 250
_event_handler: 172: request_param->max_conn_interval = 400
_event_handler: 173: request_param->slave_latency = 0
_event_handler: 174: request_param->conn_sup_timeout = 600
[GAP ] Conn Interval is updated to 312.50 ms
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE : Conn Handle = 0
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
[BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0

.......

So there was no need to change the con interval in the main program

Just tested with a chinese hrm
.....
BLE ] BLE_GATTC_EVT_HVX : Conn Handle = 0
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST : Conn Handle = 0
_event_handler: 171: request_param->min_conn_interval = 400
_event_handler: 172: request_param->max_conn_interval = 440
_event_handler: 173: request_param->slave_latency = 0
_event_handler: 174: request_param->conn_sup_timeout = 600
[GAP ] Conn Interval is updated to 500.00 ms
[BLE ] BLE_GAP_EVT_CONN_PARAM_UPDATE : Conn Handle = 0
....

So it assigns now individually the conn intervals as requested by the prph
(Updated value is always min conn interval * 1.25)

Thank you
[/code]
BLECentral.cpp
BLE central that handles BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST
(6.37 KiB) Downloaded 13 times

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by hathach on Mon Jan 07, 2019 4:27 am

thanks for your testing, I have update the develop branch. The default conn para is now only suggested one from central, it won't enforce prph to that and will accept parameter request from prph.

hathach
 
Posts: 967
Joined: Tue Apr 23, 2013 1:02 am

Re: Bluefruit52 Central Custom HRM Example

by jps2000 on Mon Jan 07, 2019 5:45 am

thanks
short remark:
typo in L 171 : lattency

shall I test again?

Why have you put the linl to hci to connect callback instead to disconnect callback where the reason is reported?

jps2000
 
Posts: 393
Joined: Fri Jun 02, 2017 4:12 pm

Re: Bluefruit52 Central Custom HRM Example

by hathach on Mon Jan 07, 2019 6:07 am

no need to test again, I am positive that It will work. I put link to all the disconnect_callback on all examples, maybe I misplace some, would you mind pointing which file it is ?

hathach
 
Posts: 967
Joined: Tue Apr 23, 2013 1:02 am

Please be positive and constructive with your questions and comments.