Berg0162 / simcline

Simulation of Changing Road Inclination for Indoor Cycling
GNU General Public License v3.0
29 stars 7 forks source link

Test Zwift Hub FTMS #7

Closed Berg0162 closed 1 year ago

Berg0162 commented 1 year ago
    Hello Jorghen,

Here is the first result with FTMSClient v022

I don't know if it's good?

Next test when I receive the dongle for the Pc

Friendship, Joel

[CFG ] SoftDevice's RAM requires: 0x20002C78 FTMS and Chars 'initialized' CPS and Chars 'initialized' CSCS and Chars 'initialized' GA and Chars 'initialized' DIS and Chars 'initialized' Start Scanning for CPS, CSC and FTMS! [BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535 [BLE ] BLE_GAP_EVT_ADV_REPORT : Conn Handle = 65535 Found advertising Peripheral with FTMS service!, see the Raw Data packet: Timestamp MAC Address Rssi Data 000000681 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 [BLE ] BLE_GAP_EVT_CONNECTED : Conn Handle = 0 [GAP ] MAC = F8:9C:FC:53:5E:49, Type = 1, Resolved = 0 [GAP ] Conn Interval = 20.00 ms, Latency = 0, Supervisor Timeout = 2000 ms [BLE ] BLE_GAP_EVT_DISCONNECTED : Conn Handle = 0 [GAP ] Disconnect Reason: CONN_FAILED_TO_BE_ESTABLISHED Feather nRF52 (Central) connected to Trainer (Peripheral) device: [] MAC Address: F8:9C:FC:53:5E:49 Now checking mandatory Client Services and Characteristics! Discovering Client Cycling Power (CP) Service ... [DISC ] [SVC] Handle start = 1 bool BLEDiscovery::_discoverService(uint16_t, BLEClientService&, uint16_t): 79: verify failed, error = BLE_ERROR_INVALID_CONN_HANDLE Not Found! Disconnecting since Client Cyling Power Service is mandatory! Client Disconnected, reason = 0x3E

Restart the Feather nRF52 Client for a new run! <<< Couldn't enable notify for Client CP Measurement Characteristic. Couldn't enable indicate for Client CP Control Point Characteristic. Couldn't enable notify for Client CSC Measurement Characteristic. Couldn't enable notify for Client FTM Training Status Characteristic. FTMS (trainer) is controlled by another Client (Training App)! Client (Central) is Up and Running!

BSP Library : 1.3.0 Bootloader : s140 6.1.1 Serial No : C2BA380FAD3CBBC2

--------- SoftDevice Config --------- Max UUID128 : 10 ATTR Table Size : 4096 Service Changed : 1 Central Connect Setting

--------- BLE Settings --------- Name : ItsyBitsy nRF52840 Express Max Connections : Peripheral = 0, Central = 1 Address : E2:AA:F7:E9:06:E0 (Static) TX Power : 0 dBm Conn Intervals : min = 20.00 ms, max = 30.00 ms Conn Timeout : 2000 ms Central Paired Devices:

Originally posted by @le-joebar in https://github.com/Berg0162/simcline/issues/5#issuecomment-1342980419

Berg0162 commented 1 year ago

Page 62 of 78 of Fitness Machine Service 1.0, section: 4.16.2.18 Set Indoor Bike Simulation Parameters Procedure

Wind Speed, Grade (Road Inclination), Crr (Coefficient of Rolling Resistance), Cw (Wind Resistance Coefficient)

le-joebar commented 1 year ago

Hello Jorghen,

here are the results of several series of launches with Zwift_Bridge_v024. All results are not always the same.

The starting procedure is always the same.

1 trainer on all the time. I don't turn it off between feather starts.

2 feather start.

no bluetooth key in the connected pc

no HRM

17:10:13.858 -> Feather nRF52840 MITM supporting: CPS, CSC and FTMS 17:10:13.858 -> ------------------ Version 02.4 --------------------- 17:10:13.858 -> FTM Service and Chars are 'initialized' 17:10:13.858 -> CP Service and Chars are 'initialized' 17:10:13.858 -> CSC Service and Chars are 'initialized' 17:10:13.858 -> Generic Access Service and Chars are 'initialized' 17:10:13.858 -> Device Information Service and Chars are 'initialized' 17:10:13.858 -> Start Client-side Scanning for CPS, CSC and FTMS! 17:10:25.700 -> Found advertising Peripheral with FTMS enabled! See Raw data packet: 17:10:25.700 -> Timestamp Addr Rssi Data 17:10:25.700 -> 000014056 F8:9C:FC:53:5E:49 -54 09-02-16-18-26-18-18-18-0A-18 17:10:25.902 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:10:25.902 -> Now checking all mandatory Client Services and Characteristics! 17:10:25.902 -> If Mandatory Services Fail --> the Client will disconnect! 17:10:26.167 -> First checking Generic Access and Device Information Services and Characteristics! 17:10:26.385 -> Found Client Generic Access 17:10:26.893 -> -> Client Reads Device Name: [Zwift Hub] 17:10:27.339 -> -> Client Reads Appearance: [1152] 17:10:27.714 -> Found Client Device Information 17:10:28.116 -> -> Client Reads Manufacturer: [Zwift] 17:10:28.533 -> -> Client Reads Model Number: [06] 17:10:28.933 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:10:29.164 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:10:29.474 -> Discovering Client FTM Feature Characteristic ... Found it! 17:10:29.934 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:10:29.934 -> - Fitness Machine Features: 17:10:29.934 -> - Target Setting Features: 17:10:30.197 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:10:30.802 -> Discovering Client FTM Status Characteristic ... Found it! 17:10:31.422 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:10:32.144 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:10:32.331 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:10:32.564 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:10:32.964 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:10:33.226 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:10:33.767 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:10:34.062 -> Discovering Client CP Measurement characteristic ... Configuring the Server Device Information Service 17:10:34.200 -> Configuring the Server Cycle Power Service 17:10:34.200 -> Configuring the Server Cadence and Speed Service 17:10:34.200 -> Configuring the Server Fitness Machine Service 17:10:34.200 -> Configuring the Server NUS Service 17:10:34.200 -> Setting up the Server-side advertising payload(s) 17:10:34.200 -> Setting Server Device Name to: [Sim Zwift] 17:10:34.200 -> Setting Server Appearance to: [1152] 17:10:34.200 -> Server-side is CPS, CSC and FTMS advertising! 17:10:34.415 -> Found it! 17:10:34.662 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:10:35.264 -> Discovering Client CP Feature characteristic ... Found it! 17:10:35.433 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:10:35.664 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:10:35.835 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:10:36.067 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:10:36.407 -> Discovering Client CSC Measurement CHR ... Found it! 17:10:37.148 -> Discovering Client CSC Location CHR ... Found it! 17:10:37.318 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:10:37.582 -> Discovering Client CSC Feature CHR ... Found it! 17:10:37.737 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:10:37.737 -> Wheel rev supported 17:10:37.737 -> Crank rev supported

17:12:28.287 -> Feather nRF52840 MITM supporting: CPS, CSC and FTMS 17:12:28.287 -> ------------------ Version 02.4 --------------------- 17:12:28.296 -> FTM Service and Chars are 'initialized' 17:12:28.296 -> CP Service and Chars are 'initialized' 17:12:28.296 -> CSC Service and Chars are 'initialized' 17:12:28.296 -> Generic Access Service and Chars are 'initialized' 17:12:28.296 -> Device Information Service and Chars are 'initialized' 17:12:28.296 -> Start Client-side Scanning for CPS, CSC and FTMS! 17:12:28.296 -> Found advertising Peripheral with FTMS enabled! See Raw data packet: 17:12:28.296 -> Timestamp Addr Rssi Data 17:12:28.296 -> 000001049 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:12:28.296 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:12:28.296 -> Now checking all mandatory Client Services and Characteristics! 17:12:28.296 -> If Mandatory Services Fail --> the Client will disconnect! 17:12:28.296 -> First checking Generic Access and Device Information Services and Characteristics! 17:12:28.296 -> Found Client Generic Access 17:12:28.658 -> -> Client Reads Device Name: [Zwift Hub] 17:12:29.207 -> -> Client Reads Appearance: [1152] 17:12:29.746 -> Found Client Device Information 17:12:30.164 -> -> Client Reads Manufacturer: [Zwift] 17:12:30.535 -> -> Client Reads Model Number: [06] 17:12:31.018 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:12:31.281 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:12:31.620 -> Discovering Client FTM Feature Characteristic ... Found it! 17:12:31.883 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:12:31.884 -> - Fitness Machine Features: 17:12:31.884 -> Average Speed Supported 17:12:31.884 -> Cadence Supported 17:12:31.884 -> Total Distance Supported 17:12:31.884 -> Resistance Level Supported 17:12:31.884 -> Heart Rate Measurement Supported 17:12:31.884 -> Power Measurement Supported 17:12:31.884 -> - Target Setting Features: 17:12:31.884 -> Resistance Target Setting Supported 17:12:31.884 -> Power Target Setting Supported 17:12:31.884 -> Indoor Bike Simulation Parameters Supported 17:12:31.884 -> Wheel Circumference Configuration Supported 17:12:31.884 -> Spin Down Control Supported 17:12:32.114 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:12:32.643 -> Discovering Client FTM Status Characteristic ... Found it! 17:12:33.182 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:12:33.645 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:12:33.829 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:12:34.063 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:12:34.373 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 01 00 ] 17:12:34.651 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:12:35.130 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:12:35.518 -> Discovering Client CP Measurement characteristic ... Found it! 17:12:35.964 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:12:36.381 -> Configuring the Server Device Information Service 17:12:36.381 -> Configuring the Server Cycle Power Service 17:12:36.381 -> Configuring the Server Cadence and Speed Service 17:12:36.381 -> Configuring the Server Fitness Machine Service 17:12:36.381 -> Configuring the Server NUS Service 17:12:36.381 -> Setting up the Server-side advertising payload(s) 17:12:36.381 -> Setting Server Device Name to: [Sim Zwift] 17:12:36.381 -> Setting Server Appearance to: [1152] 17:12:36.382 -> Server-side is CPS, CSC and FTMS advertising! 17:12:36.614 -> Discovering Client CP Feature characteristic ... Found it! 17:12:37.032 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:12:37.264 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:12:37.605 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:12:37.869 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:12:38.193 -> Discovering Client CSC Measurement CHR ... Found it! 17:12:38.707 -> Discovering Client CSC Location CHR ... Found it! 17:12:39.112 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:12:39.345 -> Discovering Client CSC Feature CHR ... Found it! 17:12:39.561 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ]

17:13:38.895 -> Feather nRF52840 MITM supporting: CPS, CSC and FTMS 17:13:38.895 -> ------------------ Version 02.4 --------------------- 17:13:38.895 -> FTM Service and Chars are 'initialized' 17:13:38.895 -> CP Service and Chars are 'initialized' 17:13:38.895 -> CSC Service and Chars are 'initialized' 17:13:38.895 -> Generic Access Service and Chars are 'initialized' 17:13:38.895 -> Device Information Service and Chars are 'initialized' 17:13:38.895 -> Start Client-side Scanning for CPS, CSC and FTMS! 17:13:38.895 -> Found advertising Peripheral with FTMS enabled! See Raw data packet: 17:13:38.895 -> Timestamp Addr Rssi Data 17:13:38.895 -> 000001080 F8:9C:FC:53:5E:49 -58 09-02-16-18-26-18-18-18-0A-18 17:13:38.895 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:13:38.895 -> Now checking all mandatory Client Services and Characteristics! 17:13:38.895 -> If Mandatory Services Fail --> the Client will disconnect! 17:13:38.913 -> First checking Generic Access and Device Information Services and Characteristics! 17:13:38.913 -> Found Client Generic Access 17:13:39.159 -> -> Client Reads Device Name: [Zwift Hub] 17:13:39.533 -> -> Client Reads Appearance: [1152] 17:13:39.904 -> Found Client Device Information 17:13:40.399 -> -> Client Reads Manufacturer: [Zwift] 17:13:40.952 -> -> Client Reads Model Number: [06] 17:13:41.558 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:13:41.819 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:13:42.098 -> Discovering Client FTM Feature Characteristic ... Found it! 17:13:42.331 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:13:42.331 -> - Fitness Machine Features: 17:13:42.331 -> Average Speed Supported 17:13:42.331 -> Cadence Supported 17:13:42.331 -> Total Distance Supported 17:13:42.331 -> Resistance Level Supported 17:13:42.331 -> Heart Rate Measurement Supported 17:13:42.331 -> Power Measurement Supported 17:13:42.331 -> - Target Setting Features: 17:13:42.331 -> Resistance Target Setting Supported 17:13:42.331 -> Power Target Setting Supported 17:13:42.331 -> Indoor Bike Simulation Parameters Supported 17:13:42.331 -> Wheel Circumference Configuration Supported 17:13:42.331 -> Spin Down Control Supported 17:13:42.546 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:13:43.352 -> Discovering Client FTM Status Characteristic ... Found it! 17:13:43.891 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:13:44.481 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:13:44.650 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:13:44.911 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:13:45.190 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:13:45.452 -> Discovering Client FTM Indoor Bike Data Characteristic ... Not Found! Not Mandatory 17:13:45.684 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:13:46.038 -> Discovering Client CP Measurement characteristic ... Found it! 17:13:46.518 -> Discovering Client CP Control Point characteristic ... Configuring the Server Device Information Service 17:13:46.750 -> Configuring the Server Cycle Power Service 17:13:46.750 -> Configuring the Server Cadence and Speed Service 17:13:46.750 -> Configuring the Server Fitness Machine Service 17:13:46.750 -> Configuring the Server NUS Service 17:13:46.750 -> Setting up the Server-side advertising payload(s) 17:13:46.750 -> Setting Server Device Name to: [Sim Zwift] 17:13:46.750 -> Setting Server Appearance to: [1152] 17:13:46.750 -> Server-side is CPS, CSC and FTMS advertising! 17:13:46.750 -> Not Found! NOT Mandatory! 17:13:47.013 -> Discovering Client CP Feature characteristic ... Found it! 17:13:47.618 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ]

17:35:58.763 -> Feather nRF52840 MITM supporting: CPS, CSC and FTMS 17:35:58.763 -> ------------------ Version 02.4 --------------------- 17:35:58.778 -> FTM Service and Chars are 'initialized' 17:35:58.778 -> CP Service and Chars are 'initialized' 17:35:58.778 -> CSC Service and Chars are 'initialized' 17:35:58.778 -> Generic Access Service and Chars are 'initialized' 17:35:58.778 -> Device Information Service and Chars are 'initialized' 17:35:58.778 -> Start Client-side Scanning for CPS, CSC and FTMS! 17:35:58.778 -> Found advertising Peripheral with FTMS enabled! See Raw data packet: 17:35:58.778 -> Timestamp Addr Rssi Data 17:35:58.778 -> 000001224 F8:9C:FC:53:5E:49 -64 09-02-16-18-26-18-18-18-0A-18 17:35:58.953 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:35:58.953 -> Now checking all mandatory Client Services and Characteristics! 17:35:58.953 -> If Mandatory Services Fail --> the Client will disconnect! 17:35:59.173 -> First checking Generic Access and Device Information Services and Characteristics! 17:35:59.251 -> Found Client Generic Access 17:35:59.686 -> -> Client Reads Device Name: [Zwift Hub] 17:36:00.138 -> -> Client Reads Appearance: [0] 17:36:00.435 -> Found Client Device Information 17:36:00.890 -> -> Client Reads Manufacturer: [Zwift] 17:36:01.249 -> -> Client Reads Model Number: [06] 17:36:01.655 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:36:01.919 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:36:02.342 -> Discovering Client FTM Feature Characteristic ... Found it! 17:36:02.468 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:36:02.468 -> - Fitness Machine Features: 17:36:02.468 -> Average Speed Supported 17:36:02.468 -> Cadence Supported 17:36:02.468 -> Total Distance Supported 17:36:02.468 -> Resistance Level Supported 17:36:02.468 -> Heart Rate Measurement Supported 17:36:02.468 -> Power Measurement Supported 17:36:02.468 -> - Target Setting Features: 17:36:02.468 -> Resistance Target Setting Supported 17:36:02.468 -> Power Target Setting Supported 17:36:02.468 -> Indoor Bike Simulation Parameters Supported 17:36:02.468 -> Wheel Circumference Configuration Supported 17:36:02.468 -> Spin Down Control Supported 17:36:02.702 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:36:03.218 -> Discovering Client FTM Status Characteristic ... Found it! 17:36:03.798 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:36:04.318 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:36:04.555 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:36:04.838 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:36:05.060 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:36:05.313 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:36:05.737 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:36:06.194 -> Discovering Client CP Measurement characteristic ... Found it! 17:36:06.572 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:36:06.912 -> Configuring the Server Device Information Service 17:36:06.912 -> Configuring the Server Cycle Power Service 17:36:06.912 -> Configuring the Server Cadence and Speed Service 17:36:06.912 -> Configuring the Server Fitness Machine Service 17:36:06.912 -> Configuring the Server NUS Service 17:36:06.912 -> Setting up the Server-side advertising payload(s) 17:36:06.912 -> Setting Server Device Name to: [Sim Zwift] 17:36:06.912 -> Setting Server Appearance to: [0] 17:36:06.912 -> Server-side is CPS, CSC and FTMS advertising! 17:36:06.976 -> Discovering Client CP Feature characteristic ... Found it! 17:36:07.229 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:36:07.497 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:36:07.762 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:36:08.028 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:36:08.483 -> Discovering Client CSC Measurement CHR ... Found it! 17:36:09.095 -> Discovering Client CSC Location CHR ... Found it! 17:36:09.251 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:36:09.517 -> Discovering Client CSC Feature CHR ... Found it! 17:36:09.690 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ]

17:37:27.836 -> Feather nRF52840 MITM supporting: CPS, CSC and FTMS 17:37:27.836 -> ------------------ Version 02.4 --------------------- 17:37:27.836 -> FTM Service and Chars are 'initialized' 17:37:27.836 -> CP Service and Chars are 'initialized' 17:37:27.836 -> CSC Service and Chars are 'initialized' 17:37:27.836 -> Generic Access Service and Chars are 'initialized' 17:37:27.836 -> Device Information Service and Chars are 'initialized' 17:37:27.836 -> Start Client-side Scanning for CPS, CSC and FTMS! 17:37:27.836 -> Found advertising Peripheral with FTMS enabled! See Raw data packet: 17:37:27.836 -> Timestamp Addr Rssi Data 17:37:27.836 -> 000001115 F8:9C:FC:53:5E:49 -65 09-02-16-18-26-18-18-18-0A-18 17:37:27.854 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:37:27.854 -> Now checking all mandatory Client Services and Characteristics! 17:37:27.854 -> If Mandatory Services Fail --> the Client will disconnect! 17:37:27.854 -> First checking Generic Access and Device Information Services and Characteristics! 17:37:27.998 -> Found Client Generic Access 17:37:28.482 -> -> Client Reads Device Name: [Zwift Hub] 17:37:28.941 -> -> Client Reads Appearance: [0] 17:37:29.428 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:37:29.743 -> Discovering Client FTM Feature Characteristic ... Found it! 17:37:29.885 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:37:29.885 -> - Fitness Machine Features: 17:37:29.885 -> - Target Setting Features: 17:37:30.136 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:37:30.624 -> Discovering Client FTM Status Characteristic ... Found it! 17:37:31.320 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:37:31.839 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:37:31.980 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:37:32.214 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:37:32.682 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:37:32.933 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:37:33.343 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:37:33.656 -> Discovering Client CP Measurement characteristic ... Found it! 17:37:34.240 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:37:34.730 -> Discovering Client CP Feature characteristic ... Found it! 17:37:34.856 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:37:34.856 -> Wheel revolution data supported 17:37:34.856 -> Crank revolution data supported 17:37:35.124 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:37:35.298 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:37:35.580 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:37:35.612 -> Configuring the Server Device Information Service 17:37:35.612 -> Configuring the Server Cycle Power Service 17:37:35.612 -> Configuring the Server Cadence and Speed Service 17:37:35.612 -> Configuring the Server Fitness Machine Service 17:37:35.612 -> Configuring the Server NUS Service 17:37:35.612 -> Setting up the Server-side advertising payload(s) 17:37:35.660 -> Setting Server Device Name to: [Sim Zwift] 17:37:35.660 -> Setting Server Appearance to: [0] 17:37:35.660 -> Server-side is CPS, CSC and FTMS advertising! 17:37:35.865 -> Discovering Client CSC Measurement CHR ... Found it! 17:37:36.400 -> Discovering Client CSC Location CHR ... Found it! 17:37:36.556 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:37:36.840 -> Discovering Client CSC Feature CHR ... Found it! 17:37:37.090 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ]

le-joebar commented 1 year ago

16718951153404273190133769202357

le-joebar commented 1 year ago

16718953174052921516159992068587

Berg0162 commented 1 year ago

Dear Joel, Nice design! Do I see it correctly: is the linear gliding system built in, inside the actuator? It looks quite sturdy! You are going to mount the electronics on the lower platform...with a time-of-flight sensor for distance measuring? Is the relatively fixed floor board construction capable to allocate your bike rocking (left/right) movement when you are standing up during climbs or during all out sprints? With a rocker plate things are quite mobile! Again, I like what I see! Have nice days and enjoy your time with family!

I will upload new versions in the following days! Best wishes, Jörgen.

Berg0162 commented 1 year ago

I have uploaded a new version of FTMS_Server (v03) that is supporting the HRM service, exactly the way Zwift Hub is doing! Notice that your avatar now has a heart rate, aside of power, cadence and speed!

Berg0162 commented 1 year ago

Dear Joel, I have uploaded a new version of FTMS_Client (v03). Not only is the HRM service fully supported but the code has been reworked in many parts.... I have inserted a.o. an experimental attempt to prevent the time out situation when the client connects and starts to discover which SVC's and Char's are exposed... You are invited to run the code to see for the result... (by the way it should fully support your HRM strap connected to the trainer!) At first I am mostly interested in how the connect process is running.... 1) Please run the code first with its present settings and only look at (and Copy/Paste) the first phase until regular measurements are being received from the trainer.... 2) When results are disappointing then change the poll_delay variable setting (line: 45) to a higher value in steps of 50 ms... until the connect process is executed flawless... Previously you have reached that status only at 250 ms....

I am not sure of having tackled the problem... Thanks in advance for you effort! Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorghen,

All my best wishes for Christmas past. I hope you enjoyed it.

Here are the results for the server part V03 Capture d’écran 2022-12-27 123804 1 Capture d’écran 2022-12-27 123831 2

12:30:45.073 -> Feather nRF52 Server/Peripheral: CPS, CSC, HBM and FTMS 12:30:45.073 -> -------------------- Version 3.0 ---------------------- 12:30:45.073 -> Processor: Feather nRF52840 12:30:45.073 -> Initialise the Bluefruit nRF52 module: Server (Peripheral) 12:30:45.197 -> Configuring the Server Device Information Service 12:30:45.197 -> Configuring the Server Cycle Power Service 12:30:45.197 -> Configuring the Server Cadence and Speed Service 12:30:45.197 -> Configuring the Server Fitness Machine Service 12:30:45.197 -> Configuring the Server HRM Service 12:30:45.197 -> Configuring the Server NUS Service 12:30:45.197 -> Setting up the Server advertising payload(s) 12:30:45.197 -> Setting Server Device Name to: [Sim nRF52] 12:30:45.197 -> Setting Server Appearance to [1152] Generic: Cycling 12:30:45.197 -> Server is advertising: CPS, CSC and FTMS 12:31:58.661 -> Feather nRF52 (Peripheral) connected to (Central) device: [] MAC Address: 58:11:22:53:52:18 12:31:58.661 -> Waiting for Central Device to set 'Notify' enabled for relevant Characteristics... 12:32:00.671 -> Server (Peripheral) is Up and Running! 12:32:03.944 -> Central Updated CCCD to: [1] --> Server CP: Measurement 'Notify' enabled 12:32:04.350 -> Central Updated CCCD to: [1] --> Server CSC: Measurement 'Notify' enabled 12:32:05.038 -> Central Updated CCCD to: [1] --> Server FTM: IndoorBikeData 'Notify' enabled 12:32:05.816 -> Central Updated CCCD to: [1] --> Server FTM: FitnessMachineStatus 'Notify' enabled 12:32:06.362 -> Central Updated CCCD to: [1] --> Server HR: Measurement 'Notify' enabled 12:33:38.595 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 12:33:38.642 -> Request Control of Machine! 12:33:38.769 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 12:33:38.862 -> Reset Machine! 12:33:38.862 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 12:33:39.000 -> Request Control of Machine! 12:33:39.000 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 07] [Values: 00 ] 12:33:39.045 -> Start or Resume Machine! 12:33:39.872 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 8D 00 28 33 12:33:39.872 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 8D 00 28 33 00 ] 12:33:39.904 -> Set Indoor Bike Simulation Parameters! 12:33:39.904 -> Wind speed (1000): 0.00 | Grade (100): 1.41 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:44.177 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 EE 00 28 33 00 ] 12:35:44.254 -> Set Indoor Bike Simulation Parameters! 12:35:44.254 -> Wind speed (1000): 0.00 | Grade (100): 2.38 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:45.392 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 15 00 28 33 00 ] 12:35:45.438 -> Set Indoor Bike Simulation Parameters! 12:35:45.438 -> Wind speed (1000): 0.00 | Grade (100): 0.21 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:46.063 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 0E 00 28 33 00 ] 12:35:46.107 -> Set Indoor Bike Simulation Parameters! 12:35:46.107 -> Wind speed (1000): 0.00 | Grade (100): 0.14 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:46.882 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 00 00 28 33 00 ] 12:35:46.961 -> Set Indoor Bike Simulation Parameters! 12:35:46.961 -> Wind speed (1000): 0.00 | Grade (100): 0.00 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:47.789 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 FF FF 28 33 00 ] 12:35:47.835 -> Set Indoor Bike Simulation Parameters! 12:35:47.835 -> Wind speed (1000): 0.00 | Grade (100): -0.01 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:48.694 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 00 00 28 33 00 ] 12:35:48.742 -> Set Indoor Bike Simulation Parameters! 12:35:48.742 -> Wind speed (1000): 0.00 | Grade (100): 0.00 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:56.409 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 FF FF 28 33 00 ] 12:35:56.488 -> Set Indoor Bike Simulation Parameters! 12:35:56.488 -> Wind speed (1000): 0.00 | Grade (100): -0.01 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:57.250 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 07 00 28 33 00 ] 12:35:57.282 -> Set Indoor Bike Simulation Parameters! 12:35:57.282 -> Wind speed (1000): 0.00 | Grade (100): 0.07 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:58.079 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 00 00 28 33 00 ] 12:35:58.125 -> Set Indoor Bike Simulation Parameters! 12:35:58.125 -> Wind speed (1000): 0.00 | Grade (100): 0.00 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:59.047 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 1D 00 28 33 00 ] 12:35:59.141 -> Set Indoor Bike Simulation Parameters! 12:35:59.141 -> Wind speed (1000): 0.00 | Grade (100): 0.29 | Crr (10000): 0.00 | Cw (100): 0.51 12:35:59.862 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 4A 00 28 33 00 ] 12:35:59.909 -> Set Indoor Bike Simulation Parameters! 12:35:59.909 -> Wind speed (1000): 0.00 | Grade (100): 0.74 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:00.766 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 48 00 28 33 00 ] 12:36:00.843 -> Set Indoor Bike Simulation Parameters! 12:36:00.843 -> Wind speed (1000): 0.00 | Grade (100): 0.72 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:01.685 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 27 00 28 33 00 ] 12:36:01.732 -> Set Indoor Bike Simulation Parameters! 12:36:01.732 -> Wind speed (1000): 0.00 | Grade (100): 0.39 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:02.638 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 19 00 28 33 00 ] 12:36:02.732 -> Set Indoor Bike Simulation Parameters! 12:36:02.732 -> Wind speed (1000): 0.00 | Grade (100): 0.25 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:03.573 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 1E 00 28 33 00 ] 12:36:03.620 -> Set Indoor Bike Simulation Parameters! 12:36:03.620 -> Wind speed (1000): 0.00 | Grade (100): 0.30 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:05.154 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 1D 00 28 33 00 ] 12:36:05.232 -> Set Indoor Bike Simulation Parameters! 12:36:05.232 -> Wind speed (1000): 0.00 | Grade (100): 0.29 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:06.073 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 1C 00 28 33 00 ] 12:36:06.104 -> Set Indoor Bike Simulation Parameters! 12:36:06.104 -> Wind speed (1000): 0.00 | Grade (100): 0.28 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:07.664 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 1B 00 28 33 00 ] 12:36:07.695 -> Set Indoor Bike Simulation Parameters! 12:36:07.695 -> Wind speed (1000): 0.00 | Grade (100): 0.27 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:08.426 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 11 00 28 33 00 ] 12:36:08.506 -> Set Indoor Bike Simulation Parameters! 12:36:08.506 -> Wind speed (1000): 0.00 | Grade (100): 0.17 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:09.330 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 1D 00 28 33 00 ] 12:36:09.377 -> Set Indoor Bike Simulation Parameters! 12:36:09.377 -> Wind speed (1000): 0.00 | Grade (100): 0.29 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:10.231 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 2E 00 28 33 00 ] 12:36:10.276 -> Set Indoor Bike Simulation Parameters! 12:36:10.276 -> Wind speed (1000): 0.00 | Grade (100): 0.46 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:11.041 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 33 00 28 33 00 ] 12:36:11.072 -> Set Indoor Bike Simulation Parameters! 12:36:11.072 -> Wind speed (1000): 0.00 | Grade (100): 0.51 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:11.930 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 34 00 28 33 00 ] 12:36:12.008 -> Set Indoor Bike Simulation Parameters! 12:36:12.008 -> Wind speed (1000): 0.00 | Grade (100): 0.52 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:12.804 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 31 00 28 33 00 ] 12:36:12.882 -> Set Indoor Bike Simulation Parameters! 12:36:12.882 -> Wind speed (1000): 0.00 | Grade (100): 0.49 | Crr (10000): 0.00 | Cw (100): 0.51 12:36:14.365 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 37 00 28 33 00 ] 12:36:14.444 -> Set Indoor Bike Simulation Parameters!

le-joebar commented 1 year ago

Here are the results for FTMS Client V029 It is always at 250 ms that the result is the best beyond 250 there is no change.

For the HRM this remains obscure. It works very well via the bridge and via the server. But we only see it from time to time on the client.

50 ms 12:45:29.684 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 12:45:29.684 -> ------------------- Version 03.0 -------------------- 12:45:29.684 -> Processor: Feather nRF52840 12:45:29.684 -> Initialise the Bluefruit nRF52 module: Client (Central) 12:45:30.137 -> FTMS and Chars 'initialized' 12:45:30.137 -> CPS and Chars 'initialized' 12:45:30.137 -> CSCS and Chars 'initialized' 12:45:30.137 -> GA and Chars 'initialized' 12:45:30.137 -> DIS and Chars 'initialized' 12:45:30.137 -> HRMS and Chars 'initialized' 12:45:30.137 -> Start Scanning for CPS, CSC and FTMS! 12:45:30.664 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 12:45:30.664 -> Timestamp MAC Address Rssi Data 12:45:30.664 -> 000002051 F8:9C:FC:53:5E:49 -67 09-02-16-18-26-18-18-18-0A-18 12:45:31.474 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [] MAC Address: F8:9C:FC:53:5E:49 12:45:31.474 -> Now checking all Client Services and Characteristics! 12:45:31.474 -> If Mandatory Services Fail --> the Client will disconnect! 12:45:31.474 -> Checking Generic Access and Device Information! 12:45:31.474 -> Start BLEDiscovery... does it help ? 12:45:31.693 -> Found Client Generic Access 12:45:31.896 -> -> Client Reads Device Name: [Zwift Hub] 12:45:32.174 -> -> Client Reads Appearance: [0] 12:45:32.219 -> Not Found Client Device Information! 12:45:32.219 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 12:45:32.266 -> Disconnecting since Client FTM Service is mandatory! 12:45:32.390 -> Client Disconnected, reason = 0x16 12:45:32.390 -> >>> Restart the Feather nRF52 Client for a new run! <<< 12:45:34.986 -> Stopped!

100 ms 12:47:15.766 -> Processor: Feather nRF52840 12:47:15.766 -> Initialise the Bluefruit nRF52 module: Client (Central) 12:47:15.766 -> FTMS and Chars 'initialized' 12:47:15.766 -> CPS and Chars 'initialized' 12:47:15.766 -> CSCS and Chars 'initialized' 12:47:15.766 -> GA and Chars 'initialized' 12:47:15.766 -> DIS and Chars 'initialized' 12:47:15.766 -> HRMS and Chars 'initialized' 12:47:15.766 -> Start Scanning for CPS, CSC and FTMS! 12:47:15.775 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 12:47:15.775 -> Timestamp MAC Address Rssi Data 12:47:15.775 -> 000001271 F8:9C:FC:53:5E:49 -67 09-02-16-18-26-18-18-18-0A-18 12:47:15.804 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [] MAC Address: F8:9C:FC:53:5E:49 12:47:15.804 -> Now checking all Client Services and Characteristics! 12:47:15.804 -> If Mandatory Services Fail --> the Client will disconnect! 12:47:15.804 -> Checking Generic Access and Device Information! 12:47:15.804 -> Start BLEDiscovery... does it help ? 12:47:16.023 -> Not Found Client Generic Access 12:47:16.116 -> Not Found Client Device Information! 12:47:16.116 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 12:47:16.209 -> Disconnecting since Client FTM Service is mandatory! 12:47:16.209 -> Client Disconnected, reason = 0x3E 12:47:16.209 -> >>> Restart the Feather nRF52 Client for a new run! <<< 12:47:20.839 -> Stopped!

150 ms

12:49:18.061 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 12:49:18.061 -> ------------------- Version 03.0 -------------------- 12:49:18.061 -> Processor: Feather nRF52840 12:49:18.061 -> Initialise the Bluefruit nRF52 module: Client (Central) 12:49:18.061 -> FTMS and Chars 'initialized' 12:49:18.061 -> CPS and Chars 'initialized' 12:49:18.061 -> CSCS and Chars 'initialized' 12:49:18.061 -> GA and Chars 'initialized' 12:49:18.061 -> DIS and Chars 'initialized' 12:49:18.061 -> HRMS and Chars 'initialized' 12:49:18.061 -> Start Scanning for CPS, CSC and FTMS! 12:49:18.061 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 12:49:18.061 -> Timestamp MAC Address Rssi Data 12:49:18.061 -> 000001456 F8:9C:FC:53:5E:49 -66 09-02-16-18-26-18-18-18-0A-18 12:49:18.071 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 12:49:18.071 -> Now checking all Client Services and Characteristics! 12:49:18.071 -> If Mandatory Services Fail --> the Client will disconnect! 12:49:18.071 -> Checking Generic Access and Device Information! 12:49:18.071 -> Start BLEDiscovery... does it help ? 12:49:18.071 -> Found Client Generic Access 12:49:18.334 -> -> Client Reads Device Name: [Zwift Hub] 12:49:18.860 -> -> Client Reads Appearance: [0] 12:49:19.277 -> Found Client Device Information 12:49:19.682 -> -> Client Reads Manufacturer: [Zwift] 12:49:20.211 -> -> Client Reads Model Number: [06] 12:49:20.494 -> -> Client Reads Serial Number: [06-F89CFC535E49] 12:49:20.494 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 12:49:20.866 -> Discovering Client FTM Control Point Characteristic ... Found it! 12:49:21.737 -> Discovering Client FTM Status Characteristic ... Found it! 12:49:22.457 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 12:49:22.952 -> Discovering Client FTM Feature Characteristic ... Found it! 12:49:23.403 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 12:49:23.403 -> - Fitness Machine Features: 12:49:23.403 -> Average Speed Supported 12:49:23.403 -> Cadence Supported 12:49:23.403 -> Total Distance Supported 12:49:23.403 -> Resistance Level Supported 12:49:23.403 -> Heart Rate Measurement Supported 12:49:23.403 -> Power Measurement Supported 12:49:23.403 -> - Target Setting Features: 12:49:23.403 -> Resistance Target Setting Supported 12:49:23.403 -> Power Target Setting Supported 12:49:23.403 -> Indoor Bike Simulation Parameters Supported 12:49:23.403 -> Wheel Circumference Configuration Supported 12:49:23.403 -> Spin Down Control Supported 12:49:23.403 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 12:49:23.993 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 12:49:24.334 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 12:49:24.334 -> Discovering Client FTM Supported Power Range Characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 12:49:24.520 -> Ready to receive Client FTM Control Point Response Messages 12:49:24.520 -> Ready to receive Client FTM Status values 12:49:24.645 -> Found it! 12:49:24.645 -> Ready to receive Client FTM Indoor Bike Data values 12:49:24.723 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 12:49:24.723 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 12:49:25.005 -> Discovering Client CP Measurement characteristic ... Found it! 12:49:25.319 -> Discovering Client CP Feature characteristic ... Found it! 12:49:25.804 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 12:49:25.804 -> Wheel revolution data supported 12:49:25.804 -> Crank revolution data supported 12:49:25.804 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 12:49:26.224 -> Discovering Client CP Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 12:49:26.750 -> Found it! 12:49:26.828 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 12:49:26.828 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 12:49:27.236 -> Discovering Client CSC Measurement CHR ... Found it! 12:49:27.639 -> Discovering Client CSC Feature CHR ... Found it! 12:49:27.984 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 12:49:27.984 -> Discovering Client CSC Location CHR ... Found it! 12:49:28.312 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 12:49:28.312 -> Discovering Heart Rate Measurement (HR) Service ... Not Found! HR Service is Not Mandatory! 12:49:28.451 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 12:49:28.451 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 12:49:28.451 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ]

200ms 12:53:07.652 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 12:53:07.652 -> ------------------- Version 03.0 -------------------- 12:53:07.652 -> Processor: Feather nRF52840 12:53:07.652 -> Initialise the Bluefruit nRF52 module: Client (Central) 12:53:07.951 -> FTMS and Chars 'initialized' 12:53:07.951 -> CPS and Chars 'initialized' 12:53:07.951 -> CSCS and Chars 'initialized' 12:53:07.951 -> GA and Chars 'initialized' 12:53:07.951 -> DIS and Chars 'initialized' 12:53:07.951 -> HRMS and Chars 'initialized' 12:53:07.951 -> Start Scanning for CPS, CSC and FTMS! 12:53:08.088 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 12:53:08.088 -> Timestamp MAC Address Rssi Data 12:53:08.088 -> 000001361 F8:9C:FC:53:5E:49 -65 09-02-16-18-26-18-18-18-0A-18 12:53:08.383 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 12:53:08.383 -> Now checking all Client Services and Characteristics! 12:53:08.383 -> If Mandatory Services Fail --> the Client will disconnect! 12:53:08.383 -> Checking Generic Access and Device Information! 12:53:08.383 -> Start BLEDiscovery... does it help ? 12:53:08.896 -> Found Client Generic Access 12:53:09.378 -> -> Client Reads Device Name: [] 12:53:09.721 -> -> Client Reads Appearance: [1152] 12:53:10.031 -> Found Client Device Information 12:53:10.389 -> -> Client Reads Manufacturer: [Zwift] 12:53:11.555 -> -> Client Reads Serial Number: [06-F89CFC535E49] 12:53:11.555 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 12:53:12.008 -> Discovering Client FTM Control Point Characteristic ... Found it! 12:53:12.502 -> Discovering Client FTM Status Characteristic ... Found it! 12:53:12.985 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 12:53:13.439 -> Discovering Client FTM Feature Characteristic ... Found it! 12:53:13.734 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 12:53:13.734 -> - Fitness Machine Features: 12:53:13.734 -> Average Speed Supported 12:53:13.734 -> Cadence Supported 12:53:13.734 -> Total Distance Supported 12:53:13.734 -> Resistance Level Supported 12:53:13.734 -> Heart Rate Measurement Supported 12:53:13.734 -> Power Measurement Supported 12:53:13.734 -> - Target Setting Features: 12:53:13.734 -> Resistance Target Setting Supported 12:53:13.734 -> Power Target Setting Supported 12:53:13.734 -> Indoor Bike Simulation Parameters Supported 12:53:13.734 -> Wheel Circumference Configuration Supported 12:53:13.734 -> Spin Down Control Supported 12:53:13.734 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 12:53:14.185 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 12:53:14.509 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 12:53:14.509 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 12:53:14.724 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 12:53:15.035 -> Discovering Client CP Measurement characteristic ... Found it! 12:53:15.548 -> Discovering Client CP Feature characteristic ... Found it! 12:53:15.968 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 12:53:15.968 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 12:53:16.421 -> Discovering Client CP Sensor Location characteristic ... Found it! 12:53:16.762 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 12:53:16.762 -> Ready to receive Client FTM Control Point Response Messages 12:53:16.762 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 12:53:16.762 -> Discovering Cycling Speed and Cadence (CSC) Service ... Ready to receive Client FTM Status values 12:53:16.858 -> Ready to receive Client FTM Indoor Bike Data values 12:53:16.952 -> Ready to receive Client CP Measurement values 12:53:17.449 -> Found it! CSCS Max Payload: 20 Data Length: 27 12:53:17.449 -> Discovering Client CSC Measurement CHR ... Found it! 12:53:18.008 -> Discovering Client CSC Feature CHR ... Found it! 12:53:18.366 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 12:53:18.366 -> Wheel rev supported 12:53:18.366 -> Crank rev supported 12:53:18.366 -> Discovering Client CSC Location CHR ... Found it! 12:53:18.789 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 12:53:18.789 -> Discovering Heart Rate Measurement (HR) Service ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 12:53:19.006 -> Not Found! HR Service is Not Mandatory! 12:53:19.006 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 12:53:19.006 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 12:53:19.006 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 12:53:19.006 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM

250ms 12:55:10.111 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 12:55:10.111 -> ------------------- Version 03.0 -------------------- 12:55:10.111 -> Processor: Feather nRF52840 12:55:10.111 -> Initialise the Bluefruit nRF52 module: Client (Central) 12:55:10.111 -> FTMS and Chars 'initialized' 12:55:10.111 -> CPS and Chars 'initialized' 12:55:10.111 -> CSCS and Chars 'initialized' 12:55:10.111 -> GA and Chars 'initialized' 12:55:10.111 -> DIS and Chars 'initialized' 12:55:10.111 -> HRMS and Chars 'initialized' 12:55:10.111 -> Start Scanning for CPS, CSC and FTMS! 12:55:10.485 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 12:55:10.485 -> Timestamp MAC Address Rssi Data 12:55:10.485 -> 000002082 F8:9C:FC:53:5E:49 -63 09-02-16-18-26-18-18-18-0A-18 12:55:10.610 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 12:55:10.610 -> Now checking all Client Services and Characteristics! 12:55:10.610 -> If Mandatory Services Fail --> the Client will disconnect! 12:55:10.610 -> Checking Generic Access and Device Information! 12:55:10.610 -> Start BLEDiscovery... does it help ? 12:55:11.291 -> Found Client Generic Access 12:55:11.945 -> -> Client Reads Device Name: [] 12:55:13.112 -> -> Client Reads Appearance: [0] 12:55:13.673 -> Found Client Device Information 12:55:15.402 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 12:55:15.665 -> Disconnecting since Client FTM Service is mandatory! 12:55:15.712 -> Client Disconnected, reason = 0x16 12:55:15.712 -> >>> Restart the Feather nRF52 Client for a new run! <<< 12:55:20.506 -> Stopped!

250ms second test

12:55:56.296 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 12:55:56.296 -> ------------------- Version 03.0 -------------------- 12:55:56.296 -> Processor: Feather nRF52840 12:55:56.296 -> Initialise the Bluefruit nRF52 module: Client (Central) 12:55:56.767 -> FTMS and Chars 'initialized' 12:55:56.767 -> CPS and Chars 'initialized' 12:55:56.767 -> CSCS and Chars 'initialized' 12:55:56.767 -> GA and Chars 'initialized' 12:55:56.767 -> DIS and Chars 'initialized' 12:55:56.767 -> HRMS and Chars 'initialized' 12:55:56.767 -> Start Scanning for CPS, CSC and FTMS! 12:55:56.781 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 12:55:56.781 -> Timestamp MAC Address Rssi Data 12:55:56.781 -> 000001426 F8:9C:FC:53:5E:49 -65 09-02-16-18-26-18-18-18-0A-18 12:55:56.781 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 12:55:56.781 -> Now checking all Client Services and Characteristics! 12:55:56.781 -> If Mandatory Services Fail --> the Client will disconnect! 12:55:56.781 -> Checking Generic Access and Device Information! 12:55:56.781 -> Start BLEDiscovery... does it help ? 12:55:57.132 -> Found Client Generic Access 12:55:57.754 -> -> Client Reads Device Name: [Zwift Hub] 12:55:58.440 -> -> Client Reads Appearance: [1152] 12:55:58.766 -> Found Client Device Information 12:55:59.249 -> -> Client Reads Manufacturer: [Zwift] 12:55:59.806 -> -> Client Reads Model Number: [06] 12:56:00.396 -> -> Client Reads Serial Number: [06-F89CFC535E49] 12:56:00.396 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 12:56:00.753 -> Discovering Client FTM Control Point Characteristic ... Found it! 12:56:01.203 -> Discovering Client FTM Status Characteristic ... Found it! 12:56:01.982 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 12:56:02.432 -> Discovering Client FTM Feature Characteristic ... Found it! 12:56:02.838 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 12:56:02.838 -> - Fitness Machine Features: 12:56:02.838 -> Average Speed Supported 12:56:02.838 -> Cadence Supported 12:56:02.838 -> Total Distance Supported 12:56:02.838 -> Resistance Level Supported 12:56:02.838 -> Heart Rate Measurement Supported 12:56:02.838 -> Power Measurement Supported 12:56:02.838 -> - Target Setting Features: 12:56:02.838 -> Resistance Target Setting Supported 12:56:02.838 -> Power Target Setting Supported 12:56:02.838 -> Indoor Bike Simulation Parameters Supported 12:56:02.838 -> Wheel Circumference Configuration Supported 12:56:02.838 -> Spin Down Control Supported 12:56:02.838 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 12:56:03.737 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 12:56:04.471 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 12:56:04.471 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 12:56:05.138 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 12:56:05.138 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 12:56:05.450 -> Discovering Client CP Measurement characteristic ... Found it! 12:56:06.134 -> Discovering Client CP Feature characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 12:56:06.399 -> Ready to receive Client FTM Control Point Response Messages 12:56:06.399 -> Found it! 12:56:06.477 -> Ready to receive Client FTM Status values 12:56:06.477 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 12:56:06.523 -> Discovering Client CP Control Point characteristic ... >>> Couldn't enable notify for Client FTM Indoor Bike Data Characteristic. 12:56:06.523 -> FTMS (trainer) is controlled by another Client (Training App)! 12:56:06.772 -> Not Found! NOT Mandatory! 12:56:06.772 -> Discovering Client CP Sensor Location characteristic ... NOT Found! NOT Mandatory! 12:56:07.005 -> Discovering Cycling Speed and Cadence (CSC) Service ... Not Found! 12:56:07.270 -> Disconnecting since CSC Service is mandatory! 12:56:08.518 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 12:56:08.518 -> Client Disconnected, reason = 0x22 12:56:08.518 -> >>> Restart the Feather nRF52 Client for a new run! <<<

250ms 3eme test

13:22:53.639 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 13:22:53.639 -> ------------------- Version 03.0 -------------------- 13:22:53.639 -> Processor: Feather nRF52840 13:22:53.639 -> Initialise the Bluefruit nRF52 module: Client (Central) 13:22:54.037 -> FTMS and Chars 'initialized' 13:22:54.037 -> CPS and Chars 'initialized' 13:22:54.037 -> CSCS and Chars 'initialized' 13:22:54.037 -> GA and Chars 'initialized' 13:22:54.037 -> DIS and Chars 'initialized' 13:22:54.037 -> HRMS and Chars 'initialized' 13:22:54.037 -> Start Scanning for CPS, CSC and FTMS! 13:22:54.037 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 13:22:54.037 -> Timestamp MAC Address Rssi Data 13:22:54.037 -> 000001178 F8:9C:FC:53:5E:49 -68 09-02-16-18-26-18-18-18-0A-18 13:22:54.037 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 13:22:54.037 -> Now checking all Client Services and Characteristics! 13:22:54.037 -> If Mandatory Services Fail --> the Client will disconnect! 13:22:54.037 -> Checking Generic Access and Device Information! 13:22:54.037 -> Start BLEDiscovery... does it help ? 13:22:54.399 -> Found Client Generic Access 13:22:54.740 -> -> Client Reads Device Name: [Zwift Hub] 13:22:55.095 -> -> Client Reads Appearance: [1152] 13:22:55.405 -> Found Client Device Information 13:22:55.731 -> -> Client Reads Manufacturer: [Zwift] 13:22:56.058 -> -> Client Reads Model Number: [06] 13:22:56.416 -> -> Client Reads Serial Number: [06-F89CFC535E49] 13:22:56.416 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 13:22:56.696 -> Discovering Client FTM Control Point Characteristic ... Found it! 13:22:57.068 -> Discovering Client FTM Status Characteristic ... Found it! 13:22:57.443 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 13:22:57.753 -> Discovering Client FTM Feature Characteristic ... Found it! 13:22:58.113 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 13:22:58.113 -> - Fitness Machine Features: 13:22:58.113 -> Average Speed Supported 13:22:58.113 -> Cadence Supported 13:22:58.113 -> Total Distance Supported 13:22:58.113 -> Resistance Level Supported 13:22:58.113 -> Heart Rate Measurement Supported 13:22:58.113 -> Power Measurement Supported 13:22:58.113 -> - Target Setting Features: 13:22:58.113 -> Resistance Target Setting Supported 13:22:58.113 -> Power Target Setting Supported 13:22:58.113 -> Indoor Bike Simulation Parameters Supported 13:22:58.113 -> Wheel Circumference Configuration Supported 13:22:58.113 -> Spin Down Control Supported 13:22:58.113 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 13:22:58.485 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 13:22:58.793 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 13:22:58.793 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 13:22:59.169 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 13:22:59.169 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 13:22:59.450 -> Discovering Client CP Measurement characteristic ... Found it! 13:22:59.775 -> Discovering Client CP Feature characteristic ... Found it! 13:23:00.118 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 13:23:00.118 -> Wheel revolution data supported 13:23:00.118 -> Crank revolution data supported 13:23:00.118 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 13:23:00.399 -> Discovering Client CP Sensor Location characteristic ... Found it! 13:23:00.756 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 13:23:00.756 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 13:23:01.241 -> Discovering Client CSC Measurement CHR ... Found it! 13:23:01.598 -> Discovering Client CSC Feature CHR ... Found it! 13:23:01.910 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 13:23:01.910 -> Wheel rev supported 13:23:01.910 -> Crank rev supported 13:23:01.910 -> Discovering Client CSC Location CHR ... Found it! 13:23:02.223 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 13:23:02.223 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 13:23:02.534 -> Discovering HR Measurement characteristic ... Found it! 13:23:02.847 -> Discovering HR Sensor Location characteristic ... Found it! 13:23:03.174 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 13:23:03.764 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 13:23:03.810 -> Ready to receive Client FTM Control Point Response Messages 13:23:03.810 -> Ready to receive Client FTM Status values 13:23:03.841 -> Ready to receive Client FTM Indoor Bike Data values 13:23:03.841 -> Ready to receive Client CP Measurement values 13:23:03.920 -> Ready to receive Client CSC Measurement values 13:23:03.920 -> Ready to receive Client HR Measurement values 13:23:04.543 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:23:04.543 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:23:04.543 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:04.543 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:05.538 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:23:05.538 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:23:05.538 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:05.538 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:05.909 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 13:23:05.941 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 13:23:06.531 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:23:06.531 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:23:06.531 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:06.531 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:07.542 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:23:07.542 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:23:07.542 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:07.542 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:07.946 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 13:23:07.992 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 13:23:08.519 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:23:08.519 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:23:08.519 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:08.519 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:09.626 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:23:09.626 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:23:09.626 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:09.626 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:10.002 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 13:23:10.220 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 07 01 ] 13:23:10.220 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [ 04 ] 13:23:10.870 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:10.870 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:10.870 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:10.870 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:12.099 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ] 13:23:12.133 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:12.133 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:12.133 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:12.133 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:12.133 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:12.133 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 22 01 28 33 ] 13:23:12.586 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:12.586 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:12.586 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:12.586 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:13.569 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:13.569 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:13.569 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:13.569 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:14.126 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 00 28 33 00 ] 13:23:14.298 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:14.298 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 09 00 28 33 ] 13:23:14.566 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:14.566 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:14.566 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:14.566 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:15.560 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:15.560 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:15.560 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:15.560 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:16.248 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ] 13:23:16.374 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:16.374 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 00 00 28 33 ] 13:23:16.544 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:16.544 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:16.544 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:16.544 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:17.542 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:17.542 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:17.542 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:17.542 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:18.333 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 14 00 28 33 00 ] 13:23:18.425 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:18.425 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 14 00 28 33 ] 13:23:18.580 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:18.627 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:18.627 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:18.627 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:19.594 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:19.594 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:19.594 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:19.594 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:20.403 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 00 28 33 00 ] 13:23:20.589 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:20.589 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 22 00 28 33 ] 13:23:20.589 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 13:23:20.589 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:23:20.589 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:20.589 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:21.570 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 3C ] 13:23:21.570 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 60 HBM 13:23:21.570 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 3C ] 13:23:21.570 -> Heart Beats: 60 HBM (8) Contact is NOT detected! 13:23:22.537 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 25 00 28 33 00 ] 13:23:22.675 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 0A 04 38 00 00 00 00 00 02 00 00 14 00 00 00 00 00 3C ] 13:23:22.675 -> Instant. Speed: 10 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 2 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 60 HBM 13:23:22.753 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 3C ] 13:23:22.753 -> Heart Beats: 60 HBM (8) Contact is NOT detected! 13:23:22.753 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:22.753 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 25 00 28 33 ] 13:23:23.574 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 E5 05 9C 00 00 00 00 00 06 00 00 14 00 89 00 09 00 00 ] 13:23:23.574 -> Instant. Speed: 15 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 6 m Resistance Level: 20 Instantaneous Power: 137 Watt Average Power: 9 Watt Heart Rate: 0 HBM 13:23:23.574 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:23.574 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:24.540 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 94 05 DA 00 00 00 00 00 09 00 00 14 00 CA 00 16 00 00 ] 13:23:24.540 -> Instant. Speed: 14 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 9 m Resistance Level: 20 Instantaneous Power: 202 Watt Average Power: 22 Watt Heart Rate: 0 HBM 13:23:24.540 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:24.540 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:24.634 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 23 00 28 33 00 ] 13:23:24.836 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:24.836 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 23 00 28 33 ] 13:23:25.538 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 18 07 3E 01 08 00 00 00 0E 00 00 14 00 7C 00 1C 00 00 ] 13:23:25.538 -> Instant. Speed: 18 KPH Average Speed: 3 KPH Instantaneous Cadence: 4 RPM Average Cadence: 0 RPM Total Distance: 14 m Resistance Level: 20 Instantaneous Power: 124 Watt Average Power: 28 Watt Heart Rate: 0 HBM 13:23:25.538 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:25.538 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:26.521 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 1D 07 96 01 3C 00 04 00 13 00 00 14 00 CF 00 27 00 00 ] 13:23:26.521 -> Instant. Speed: 18 KPH Average Speed: 4 KPH Instantaneous Cadence: 30 RPM Average Cadence: 2 RPM Total Distance: 19 m Resistance Level: 20 Instantaneous Power: 207 Watt Average Power: 39 Watt Heart Rate: 0 HBM 13:23:26.521 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:26.521 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:26.725 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 1C 00 28 33 00 ] 13:23:26.881 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:26.881 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 1C 00 28 33 ] 13:23:27.612 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 56 07 E4 01 54 00 08 00 18 00 00 14 00 99 00 2D 00 00 ] 13:23:27.612 -> Instant. Speed: 18 KPH Average Speed: 4 KPH Instantaneous Cadence: 42 RPM Average Cadence: 4 RPM Total Distance: 24 m Resistance Level: 20 Instantaneous Power: 153 Watt Average Power: 45 Watt Heart Rate: 0 HBM 13:23:27.704 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:27.704 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:28.608 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 C0 07 2A 02 62 00 0D 00 1D 00 00 14 00 99 00 33 00 00 ] 13:23:28.608 -> Instant. Speed: 19 KPH Average Speed: 5 KPH Instantaneous Cadence: 49 RPM Average Cadence: 6 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 153 Watt Average Power: 51 Watt Heart Rate: 0 HBM 13:23:28.608 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:28.608 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:28.843 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 0F 00 28 33 00 ] 13:23:28.953 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:28.953 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 0F 00 28 33 ] 13:23:29.591 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 1F 08 69 02 6C 00 11 00 22 00 00 14 00 93 00 38 00 00 ] 13:23:29.591 -> Instant. Speed: 20 KPH Average Speed: 6 KPH Instantaneous Cadence: 54 RPM Average Cadence: 8 RPM Total Distance: 34 m Resistance Level: 20 Instantaneous Power: 147 Watt Average Power: 56 Watt Heart Rate: 0 HBM 13:23:29.591 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:29.591 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:30.568 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 67 08 A2 02 72 00 16 00 27 00 00 14 00 8B 00 3C 00 00 ] 13:23:30.568 -> Instant. Speed: 21 KPH Average Speed: 6 KPH Instantaneous Cadence: 57 RPM Average Cadence: 11 RPM Total Distance: 39 m Resistance Level: 20 Instantaneous Power: 139 Watt Average Power: 60 Watt Heart Rate: 0 HBM 13:23:30.568 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:30.568 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:30.942 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ] 13:23:31.020 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:31.020 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 00 00 28 33 ] 13:23:31.579 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 CF 08 E6 02 78 00 1A 00 2D 00 00 14 00 78 00 3E 00 00 ] 13:23:31.579 -> Instant. Speed: 22 KPH Average Speed: 7 KPH Instantaneous Cadence: 60 RPM Average Cadence: 13 RPM Total Distance: 45 m Resistance Level: 20 Instantaneous Power: 120 Watt Average Power: 62 Watt Heart Rate: 0 HBM 13:23:31.579 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:31.579 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:32.546 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 FF 08 25 03 7C 00 1F 00 33 00 00 14 00 6C 00 40 00 00 ] 13:23:32.546 -> Instant. Speed: 23 KPH Average Speed: 8 KPH Instantaneous Cadence: 62 RPM Average Cadence: 15 RPM Total Distance: 51 m Resistance Level: 20 Instantaneous Power: 108 Watt Average Power: 64 Watt Heart Rate: 0 HBM 13:23:32.546 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:32.546 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:33.044 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 F5 FF 28 33 00 ] 13:23:33.201 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:33.201 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 F5 FF 28 33 ] 13:23:33.559 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 54 09 5E 03 80 00 23 00 39 00 00 14 00 63 00 42 00 00 ] 13:23:33.559 -> Instant. Speed: 23 KPH Average Speed: 8 KPH Instantaneous Cadence: 64 RPM Average Cadence: 17 RPM Total Distance: 57 m Resistance Level: 20 Instantaneous Power: 99 Watt Average Power: 66 Watt Heart Rate: 0 HBM 13:23:33.559 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:33.559 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:34.551 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 42 09 92 03 82 00 26 00 3F 00 00 14 00 6C 00 43 00 00 ] 13:23:34.551 -> Instant. Speed: 23 KPH Average Speed: 9 KPH Instantaneous Cadence: 65 RPM Average Cadence: 19 RPM Total Distance: 63 m Resistance Level: 20 Instantaneous Power: 108 Watt Average Power: 67 Watt Heart Rate: 0 HBM 13:23:34.551 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:34.551 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:35.143 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 E4 FF 28 33 00 ] 13:23:35.268 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:35.268 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 E4 FF 28 33 ] 13:23:35.533 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 45 09 C3 03 86 00 2A 00 45 00 00 14 00 68 00 45 00 00 ] 13:23:35.533 -> Instant. Speed: 23 KPH Average Speed: 9 KPH Instantaneous Cadence: 67 RPM Average Cadence: 21 RPM Total Distance: 69 m Resistance Level: 20 Instantaneous Power: 104 Watt Average Power: 69 Watt Heart Rate: 0 HBM 13:23:35.533 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:35.533 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:36.604 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 8F 09 F0 03 8A 00 2E 00 4B 00 00 14 00 58 00 45 00 48 ] 13:23:36.604 -> Instant. Speed: 24 KPH Average Speed: 10 KPH Instantaneous Cadence: 69 RPM Average Cadence: 23 RPM Total Distance: 75 m Resistance Level: 20 Instantaneous Power: 88 Watt Average Power: 69 Watt Heart Rate: 72 HBM 13:23:36.604 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 48 ] 13:23:36.604 -> Heart Beats: 72 HBM (8) Contact is NOT detected! 13:23:37.243 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 CF FF 28 33 00 ] 13:23:37.336 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:37.336 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 CF FF 28 33 ] 13:23:37.678 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 AB 09 1A 04 8C 00 31 00 51 00 00 14 00 69 00 47 00 48 ] 13:23:37.678 -> Instant. Speed: 24 KPH Average Speed: 10 KPH Instantaneous Cadence: 70 RPM Average Cadence: 24 RPM Total Distance: 81 m Resistance Level: 20 Instantaneous Power: 105 Watt Average Power: 71 Watt Heart Rate: 72 HBM 13:23:37.678 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 48 ] 13:23:37.678 -> Heart Beats: 72 HBM (8) Contact is NOT detected! 13:23:38.596 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 9D 09 41 04 8E 00 34 00 57 00 00 14 00 5B 00 47 00 00 ] 13:23:38.596 -> Instant. Speed: 24 KPH Average Speed: 10 KPH Instantaneous Cadence: 71 RPM Average Cadence: 26 RPM Total Distance: 87 m Resistance Level: 20 Instantaneous Power: 91 Watt Average Power: 71 Watt Heart Rate: 0 HBM 13:23:38.596 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:38.596 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:39.343 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 A8 FF 28 33 00 ] 13:23:39.499 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:39.499 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 A8 FF 28 33 ] 13:23:39.671 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 EE 09 71 04 8E 00 37 00 5E 00 00 14 00 57 00 48 00 00 ] 13:23:39.671 -> Instant. Speed: 25 KPH Average Speed: 11 KPH Instantaneous Cadence: 71 RPM Average Cadence: 27 RPM Total Distance: 94 m Resistance Level: 20 Instantaneous Power: 87 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:23:39.671 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:39.671 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:40.574 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 F6 09 9E 04 8E 00 3A 00 65 00 00 14 00 52 00 48 00 00 ] 13:23:40.574 -> Instant. Speed: 25 KPH Average Speed: 11 KPH Instantaneous Cadence: 71 RPM Average Cadence: 29 RPM Total Distance: 101 m Resistance Level: 20 Instantaneous Power: 82 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:23:40.574 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:40.574 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:41.430 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 84 FF 28 33 00 ] 13:23:41.570 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:41.570 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 84 FF 28 33 ] 13:23:41.570 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 1A 0A C9 04 90 00 3D 00 6C 00 00 14 00 59 00 49 00 00 ] 13:23:41.570 -> Instant. Speed: 25 KPH Average Speed: 12 KPH Instantaneous Cadence: 72 RPM Average Cadence: 30 RPM Total Distance: 108 m Resistance Level: 20 Instantaneous Power: 89 Watt Average Power: 73 Watt Heart Rate: 0 HBM 13:23:41.570 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:41.570 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:42.551 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 FD 09 F1 04 92 00 3F 00 73 00 00 14 00 40 00 48 00 00 ] 13:23:42.551 -> Instant. Speed: 25 KPH Average Speed: 12 KPH Instantaneous Cadence: 73 RPM Average Cadence: 31 RPM Total Distance: 115 m Resistance Level: 20 Instantaneous Power: 64 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:23:42.551 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:42.551 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:43.533 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 67 FF 28 33 00 ] 13:23:43.533 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 5F 0A 16 05 92 00 42 00 7A 00 00 14 00 3D 00 48 00 00 ] 13:23:43.533 -> Instant. Speed: 26 KPH Average Speed: 13 KPH Instantaneous Cadence: 73 RPM Average Cadence: 33 RPM Total Distance: 122 m Resistance Level: 20 Instantaneous Power: 61 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:23:43.533 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:43.533 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:43.533 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:43.533 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 67 FF 28 33 ] 13:23:44.541 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 6C 0A 3A 05 94 00 44 00 81 00 00 14 00 47 00 48 00 00 ] 13:23:44.541 -> Instant. Speed: 26 KPH Average Speed: 13 KPH Instantaneous Cadence: 74 RPM Average Cadence: 34 RPM Total Distance: 129 m Resistance Level: 20 Instantaneous Power: 71 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:23:44.541 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:44.541 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:45.552 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 5D FF 28 33 00 ] 13:23:45.584 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 82 0A 5B 05 98 00 46 00 88 00 00 14 00 3A 00 48 00 00 ] 13:23:45.584 -> Instant. Speed: 26 KPH Average Speed: 13 KPH Instantaneous Cadence: 76 RPM Average Cadence: 35 RPM Total Distance: 136 m Resistance Level: 20 Instantaneous Power: 58 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:23:45.584 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:45.584 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:45.584 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:45.584 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 5D FF 28 33 ] 13:23:46.595 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 78 0A 7B 05 9A 00 49 00 8F 00 00 14 00 34 00 47 00 00 ] 13:23:46.595 -> Instant. Speed: 26 KPH Average Speed: 14 KPH Instantaneous Cadence: 77 RPM Average Cadence: 36 RPM Total Distance: 143 m Resistance Level: 20 Instantaneous Power: 52 Watt Average Power: 71 Watt Heart Rate: 0 HBM 13:23:46.595 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:46.595 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:47.576 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 AE 0A 98 05 9A 00 4B 00 96 00 00 14 00 2C 00 46 00 00 ] 13:23:47.576 -> Instant. Speed: 27 KPH Average Speed: 14 KPH Instantaneous Cadence: 77 RPM Average Cadence: 37 RPM Total Distance: 150 m Resistance Level: 20 Instantaneous Power: 44 Watt Average Power: 70 Watt Heart Rate: 0 HBM 13:23:47.576 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:47.576 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:47.623 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 5E FF 28 33 00 ] 13:23:47.873 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:47.873 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 5E FF 28 33 ] 13:23:48.573 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 BE 0A B5 05 9C 00 4D 00 9D 00 00 14 00 2F 00 46 00 00 ] 13:23:48.573 -> Instant. Speed: 27 KPH Average Speed: 14 KPH Instantaneous Cadence: 78 RPM Average Cadence: 38 RPM Total Distance: 157 m Resistance Level: 20 Instantaneous Power: 47 Watt Average Power: 70 Watt Heart Rate: 0 HBM 13:23:48.573 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:48.573 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:49.580 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 EA 0A D0 05 9E 00 4F 00 A4 00 00 14 00 37 00 45 00 00 ] 13:23:49.580 -> Instant. Speed: 27 KPH Average Speed: 14 KPH Instantaneous Cadence: 79 RPM Average Cadence: 39 RPM Total Distance: 164 m Resistance Level: 20 Instantaneous Power: 55 Watt Average Power: 69 Watt Heart Rate: 0 HBM 13:23:49.580 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:49.580 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:49.706 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 6F FF 28 33 00 ] 13:23:49.848 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:49.848 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 6F FF 28 33 ] 13:23:50.548 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 40 0B EA 05 A0 00 51 00 AB 00 00 14 00 45 00 45 00 56 ] 13:23:50.548 -> Instant. Speed: 28 KPH Average Speed: 15 KPH Instantaneous Cadence: 80 RPM Average Cadence: 40 RPM Total Distance: 171 m Resistance Level: 20 Instantaneous Power: 69 Watt Average Power: 69 Watt Heart Rate: 86 HBM 13:23:50.548 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 56 ] 13:23:50.548 -> Heart Beats: 86 HBM (8) Contact is NOT detected! 13:23:51.650 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 0F 0B 02 06 A2 00 53 00 B2 00 00 14 00 38 00 45 00 56 ] 13:23:51.650 -> Instant. Speed: 28 KPH Average Speed: 15 KPH Instantaneous Cadence: 81 RPM Average Cadence: 41 RPM Total Distance: 178 m Resistance Level: 20 Instantaneous Power: 56 Watt Average Power: 69 Watt Heart Rate: 86 HBM 13:23:51.821 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 8A FF 28 33 00 ] 13:23:51.899 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 56 ] 13:23:51.899 -> Heart Beats: 86 HBM (8) Contact is NOT detected! 13:23:51.899 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:51.899 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 8A FF 28 33 ] 13:23:52.555 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 FF 0A 19 06 A4 00 55 00 B9 00 00 14 00 37 00 45 00 00 ] 13:23:52.555 -> Instant. Speed: 28 KPH Average Speed: 15 KPH Instantaneous Cadence: 82 RPM Average Cadence: 42 RPM Total Distance: 185 m Resistance Level: 20 Instantaneous Power: 55 Watt Average Power: 69 Watt Heart Rate: 0 HBM 13:23:52.555 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:52.555 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:53.516 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 4A 0B 30 06 A2 00 56 00 C0 00 00 14 00 49 00 45 00 00 ] 13:23:53.516 -> Instant. Speed: 28 KPH Average Speed: 15 KPH Instantaneous Cadence: 81 RPM Average Cadence: 43 RPM Total Distance: 192 m Resistance Level: 20 Instantaneous Power: 73 Watt Average Power: 69 Watt Heart Rate: 0 HBM 13:23:53.516 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:53.516 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:53.921 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 B8 FF 28 33 00 ] 13:23:54.078 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:54.078 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 B8 FF 28 33 ] 13:23:54.622 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 0B 45 06 A4 00 58 00 C7 00 00 14 00 3A 00 45 00 00 ] 13:23:54.623 -> Instant. Speed: 28 KPH Average Speed: 16 KPH Instantaneous Cadence: 82 RPM Average Cadence: 44 RPM Total Distance: 199 m Resistance Level: 20 Instantaneous Power: 58 Watt Average Power: 69 Watt Heart Rate: 0 HBM 13:23:54.623 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:54.623 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:55.604 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 D6 0A 59 06 A6 00 5A 00 CE 00 00 14 00 33 00 44 00 00 ] 13:23:55.604 -> Instant. Speed: 27 KPH Average Speed: 16 KPH Instantaneous Cadence: 83 RPM Average Cadence: 45 RPM Total Distance: 206 m Resistance Level: 20 Instantaneous Power: 51 Watt Average Power: 68 Watt Heart Rate: 0 HBM 13:23:55.604 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:55.604 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:56.021 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ] 13:23:56.146 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:56.146 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 00 00 28 33 ] 13:23:56.580 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 D3 0A 6D 06 A0 00 5B 00 D5 00 00 14 00 2C 00 44 00 00 ] 13:23:56.580 -> Instant. Speed: 27 KPH Average Speed: 16 KPH Instantaneous Cadence: 80 RPM Average Cadence: 45 RPM Total Distance: 213 m Resistance Level: 20 Instantaneous Power: 44 Watt Average Power: 68 Watt Heart Rate: 0 HBM 13:23:56.580 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:56.580 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:57.593 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 C5 0A 7F 06 A4 00 5D 00 DC 00 00 14 00 30 00 43 00 00 ] 13:23:57.593 -> Instant. Speed: 27 KPH Average Speed: 16 KPH Instantaneous Cadence: 82 RPM Average Cadence: 46 RPM Total Distance: 220 m Resistance Level: 20 Instantaneous Power: 48 Watt Average Power: 67 Watt Heart Rate: 0 HBM 13:23:57.593 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:57.593 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:58.108 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 A2 00 28 33 00 ] 13:23:58.201 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:23:58.201 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 A2 00 28 33 ] 13:23:58.574 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 73 0A 91 06 A0 00 5E 00 E3 00 00 14 00 3B 00 43 00 00 ] 13:23:58.574 -> Instant. Speed: 26 KPH Average Speed: 16 KPH Instantaneous Cadence: 80 RPM Average Cadence: 47 RPM Total Distance: 227 m Resistance Level: 20 Instantaneous Power: 59 Watt Average Power: 67 Watt Heart Rate: 0 HBM 13:23:58.574 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:58.574 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:23:59.649 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 5A 0A A2 06 9C 00 5F 00 EA 00 00 14 00 3E 00 43 00 00 ] 13:23:59.649 -> Instant. Speed: 26 KPH Average Speed: 16 KPH Instantaneous Cadence: 78 RPM Average Cadence: 47 RPM Total Distance: 234 m Resistance Level: 20 Instantaneous Power: 62 Watt Average Power: 67 Watt Heart Rate: 0 HBM 13:23:59.649 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:23:59.649 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:00.225 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 01 28 33 00 ] 13:24:00.474 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:00.474 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 09 01 28 33 ] 13:24:00.552 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 FF 09 B3 06 9A 00 60 00 F1 00 00 14 00 57 00 43 00 00 ] 13:24:00.552 -> Instant. Speed: 25 KPH Average Speed: 17 KPH Instantaneous Cadence: 77 RPM Average Cadence: 48 RPM Total Distance: 241 m Resistance Level: 20 Instantaneous Power: 87 Watt Average Power: 67 Watt Heart Rate: 0 HBM 13:24:00.552 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:00.552 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:01.641 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 0A C3 06 96 00 61 00 F8 00 00 14 00 82 00 44 00 00 ] 13:24:01.641 -> Instant. Speed: 25 KPH Average Speed: 17 KPH Instantaneous Cadence: 75 RPM Average Cadence: 48 RPM Total Distance: 248 m Resistance Level: 20 Instantaneous Power: 130 Watt Average Power: 68 Watt Heart Rate: 0 HBM 13:24:01.641 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:01.641 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:02.312 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 4F 01 28 33 00 ] 13:24:02.452 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:02.452 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 4F 01 28 33 ] 13:24:02.545 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 52 09 CB 06 94 00 62 00 FE 00 00 14 00 83 00 46 00 00 ] 13:24:02.545 -> Instant. Speed: 23 KPH Average Speed: 17 KPH Instantaneous Cadence: 74 RPM Average Cadence: 49 RPM Total Distance: 254 m Resistance Level: 20 Instantaneous Power: 131 Watt Average Power: 70 Watt Heart Rate: 0 HBM 13:24:02.545 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:02.545 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:03.713 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 D3 08 D3 06 90 00 63 00 04 01 00 14 00 91 00 47 00 00 ] 13:24:03.713 -> Instant. Speed: 22 KPH Average Speed: 17 KPH Instantaneous Cadence: 72 RPM Average Cadence: 49 RPM Total Distance: 260 m Resistance Level: 20 Instantaneous Power: 145 Watt Average Power: 71 Watt Heart Rate: 0 HBM 13:24:03.713 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:03.713 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:04.396 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 67 01 28 33 00 ] 13:24:04.522 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:04.522 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 67 01 28 33 ] 13:24:04.614 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 EF 08 DB 06 8A 00 64 00 0A 01 00 14 00 7F 00 48 00 00 ] 13:24:04.614 -> Instant. Speed: 22 KPH Average Speed: 17 KPH Instantaneous Cadence: 69 RPM Average Cadence: 50 RPM Total Distance: 266 m Resistance Level: 20 Instantaneous Power: 127 Watt Average Power: 72 Watt Heart Rate: 0 HBM 13:24:04.614 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:04.614 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:05.593 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 A8 08 E3 06 86 00 65 00 10 01 00 14 00 93 00 49 00 00 ] 13:24:05.593 -> Instant. Speed: 22 KPH Average Speed: 17 KPH Instantaneous Cadence: 67 RPM Average Cadence: 50 RPM Total Distance: 272 m Resistance Level: 20 Instantaneous Power: 147 Watt Average Power: 73 Watt Heart Rate: 0 HBM 13:24:05.593 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:05.593 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:06.512 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 57 FF 28 33 00 ] 13:24:06.590 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 81 08 E4 06 82 00 65 00 15 01 00 14 00 96 00 4B 00 00 ] 13:24:06.590 -> Instant. Speed: 21 KPH Average Speed: 17 KPH Instantaneous Cadence: 65 RPM Average Cadence: 50 RPM Total Distance: 277 m Resistance Level: 20 Instantaneous Power: 150 Watt Average Power: 75 Watt Heart Rate: 0 HBM 13:24:06.590 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:06.590 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:06.590 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:06.590 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 57 FF 28 33 ] 13:24:07.577 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 D7 08 EB 06 7E 00 65 00 1B 01 00 14 00 99 00 4C 00 00 ] 13:24:07.577 -> Instant. Speed: 22 KPH Average Speed: 17 KPH Instantaneous Cadence: 63 RPM Average Cadence: 50 RPM Total Distance: 283 m Resistance Level: 20 Instantaneous Power: 153 Watt Average Power: 76 Watt Heart Rate: 0 HBM 13:24:07.577 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:07.577 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:08.573 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 3B 09 F2 06 7C 00 66 00 21 01 00 14 00 99 00 4D 00 00 ] 13:24:08.573 -> Instant. Speed: 23 KPH Average Speed: 17 KPH Instantaneous Cadence: 62 RPM Average Cadence: 51 RPM Total Distance: 289 m Resistance Level: 20 Instantaneous Power: 153 Watt Average Power: 77 Watt Heart Rate: 0 HBM 13:24:08.573 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:08.573 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:08.573 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 08 00 00 00 00 00 00 00 ] 13:24:08.839 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 08 03 ] 13:24:09.540 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 63 09 F8 06 7E 00 66 00 27 01 00 14 00 78 00 4E 00 00 ] 13:24:09.540 -> Instant. Speed: 24 KPH Average Speed: 17 KPH Instantaneous Cadence: 63 RPM Average Cadence: 51 RPM Total Distance: 295 m Resistance Level: 20 Instantaneous Power: 120 Watt Average Power: 78 Watt Heart Rate: 0 HBM 13:24:09.540 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:09.540 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:10.688 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 01 00 00 00 00 00 00 00 ] 13:24:10.725 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 ED 09 05 07 84 00 67 00 2E 01 00 14 00 5A 00 4E 00 00 ] 13:24:10.725 -> Instant. Speed: 25 KPH Average Speed: 17 KPH Instantaneous Cadence: 66 RPM Average Cadence: 51 RPM Total Distance: 302 m Resistance Level: 20 Instantaneous Power: 90 Watt Average Power: 78 Watt Heart Rate: 0 HBM 13:24:10.725 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:10.725 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:10.725 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 01 01 ] 13:24:10.725 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [ 01 ] 13:24:11.535 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 E0 09 8A 00 14 00 3B 00 00 ] 13:24:11.535 -> Instant. Speed: 25 KPH Instantaneous Cadence: 69 RPM Resistance Level: 20 Instantaneous Power: 59 Watt Heart Rate: 0 HBM 13:24:11.535 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:11.535 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:12.621 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 09 0A 90 00 14 00 46 00 00 ] 13:24:12.621 -> Instant. Speed: 25 KPH Instantaneous Cadence: 72 RPM Resistance Level: 20 Instantaneous Power: 70 Watt Heart Rate: 0 HBM 13:24:12.621 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:12.621 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:12.716 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 13:24:12.874 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 13:24:13.601 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 DD 09 90 00 14 00 46 00 00 ] 13:24:13.601 -> Instant. Speed: 25 KPH Instantaneous Cadence: 72 RPM Resistance Level: 20 Instantaneous Power: 70 Watt Heart Rate: 0 HBM 13:24:13.601 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:13.601 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:14.580 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 E9 08 8C 00 14 00 1A 00 00 ] 13:24:14.580 -> Instant. Speed: 22 KPH Instantaneous Cadence: 70 RPM Resistance Level: 20 Instantaneous Power: 26 Watt Heart Rate: 0 HBM 13:24:14.580 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:14.580 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:14.829 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 13:24:14.953 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 13:24:15.591 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 47 08 00 00 14 00 00 00 51 ] 13:24:15.591 -> Instant. Speed: 21 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 81 HBM 13:24:15.591 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 51 ] 13:24:15.591 -> Heart Beats: 81 HBM (8) Contact is NOT detected! 13:24:16.555 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 AB 07 00 00 14 00 00 00 00 ] 13:24:16.555 -> Instant. Speed: 19 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:24:16.555 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:16.555 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:16.931 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 13:24:17.023 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 07 01 ] 13:24:17.023 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [ 04 ] 13:24:17.569 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 13 07 AC 05 00 00 00 00 04 00 00 14 00 00 00 00 00 00 ] 13:24:17.569 -> Instant. Speed: 18 KPH Average Speed: 14 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 4 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:17.569 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:17.569 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:18.519 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 81 06 AC 05 00 00 00 00 08 00 00 14 00 00 00 00 00 00 ] 13:24:18.519 -> Instant. Speed: 16 KPH Average Speed: 14 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 8 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:18.566 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:18.566 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:19.029 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ] 13:24:19.185 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:19.185 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 22 01 28 33 ] 13:24:19.792 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 F1 05 AC 05 00 00 00 00 0C 00 00 14 00 00 00 00 00 00 ] 13:24:19.792 -> Instant. Speed: 15 KPH Average Speed: 14 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 12 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:19.792 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:19.792 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:20.541 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 67 05 51 05 00 00 00 00 0F 00 00 14 00 00 00 00 00 00 ] 13:24:20.541 -> Instant. Speed: 13 KPH Average Speed: 13 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 15 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:20.541 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:20.541 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:21.130 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 00 28 33 00 ] 13:24:21.534 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:21.534 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 09 00 28 33 ] 13:24:21.611 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 DF 04 1A 05 00 00 00 00 12 00 00 14 00 00 00 00 00 00 ] 13:24:21.611 -> Instant. Speed: 12 KPH Average Speed: 13 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 18 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:21.611 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:21.611 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:22.590 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 5E 04 F6 04 00 00 00 00 15 00 00 14 00 00 00 00 00 00 ] 13:24:22.590 -> Instant. Speed: 11 KPH Average Speed: 12 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 21 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:22.590 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:22.590 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:23.230 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ] 13:24:23.323 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:23.323 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 00 00 28 33 ] 13:24:23.601 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 E0 03 A8 04 00 00 00 00 17 00 00 14 00 00 00 00 00 00 ] 13:24:23.601 -> Instant. Speed: 9 KPH Average Speed: 11 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 23 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:23.601 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:23.601 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:24.568 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 67 03 6E 04 00 00 00 00 19 00 00 14 00 00 00 00 00 00 ] 13:24:24.568 -> Instant. Speed: 8 KPH Average Speed: 11 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 25 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:24.568 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:24.568 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:25.328 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 14 00 28 33 00 ] 13:24:25.578 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:25.578 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 14 00 28 33 ] 13:24:25.578 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 F2 02 41 04 00 00 00 00 1B 00 00 14 00 00 00 00 00 00 ] 13:24:25.578 -> Instant. Speed: 7 KPH Average Speed: 10 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 27 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:25.578 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:25.578 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:26.544 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 83 02 F8 03 00 00 00 00 1C 00 00 14 00 00 00 00 00 00 ] 13:24:26.544 -> Instant. Speed: 6 KPH Average Speed: 10 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 28 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:26.544 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:26.544 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:27.395 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 00 28 33 00 ] 13:24:27.521 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:27.564 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 22 00 28 33 ] 13:24:27.564 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 19 02 BD 03 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:27.564 -> Instant. Speed: 5 KPH Average Speed: 9 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:27.564 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:27.564 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:28.531 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 6D 03 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:28.531 -> Instant. Speed: 0 KPH Average Speed: 8 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:28.531 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:28.531 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:29.530 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 25 00 28 33 00 ] 13:24:29.530 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 2A 03 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:29.530 -> Instant. Speed: 0 KPH Average Speed: 8 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:29.530 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:29.530 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:29.530 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:29.530 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 25 00 28 33 ] 13:24:30.704 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 F0 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 5B ] 13:24:30.704 -> Instant. Speed: 0 KPH Average Speed: 7 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 91 HBM 13:24:30.704 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 5B ] 13:24:30.704 -> Heart Beats: 91 HBM (8) Contact is NOT detected! 13:24:31.543 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 23 00 28 33 00 ] 13:24:31.777 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 BE 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 5B ] 13:24:31.777 -> Instant. Speed: 0 KPH Average Speed: 7 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 91 HBM 13:24:31.777 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 5B ] 13:24:31.777 -> Heart Beats: 91 HBM (8) Contact is NOT detected! 13:24:31.777 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:31.777 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 23 00 28 33 ] 13:24:32.600 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 92 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:32.600 -> Instant. Speed: 0 KPH Average Speed: 6 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:32.600 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:32.600 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:33.584 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 6B 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:33.584 -> Instant. Speed: 0 KPH Average Speed: 6 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:33.584 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:33.584 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:33.630 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 1C 00 28 33 00 ] 13:24:33.862 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:33.862 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 1C 00 28 33 ] 13:24:34.580 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 49 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:34.580 -> Instant. Speed: 0 KPH Average Speed: 5 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:34.580 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:34.580 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:35.574 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 2A 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:35.574 -> Instant. Speed: 0 KPH Average Speed: 5 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:35.574 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:35.574 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:35.746 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 0F 00 28 33 00 ] 13:24:35.917 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:35.917 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 0F 00 28 33 ] 13:24:36.552 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 0E 02 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:36.552 -> Instant. Speed: 0 KPH Average Speed: 5 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:36.552 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:36.552 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:37.550 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 F5 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 58 ] 13:24:37.550 -> Instant. Speed: 0 KPH Average Speed: 5 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 88 HBM 13:24:37.550 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 58 ] 13:24:37.550 -> Heart Beats: 88 HBM (8) Contact is NOT detected! 13:24:37.833 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ] 13:24:38.001 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:38.001 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 00 00 28 33 ] 13:24:38.532 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 DE 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:38.532 -> Instant. Speed: 0 KPH Average Speed: 4 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:38.532 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:38.532 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:39.613 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 CA 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:39.613 -> Instant. Speed: 0 KPH Average Speed: 4 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:39.613 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:39.613 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:39.926 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 F5 FF 28 33 00 ] 13:24:40.050 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:40.050 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 F5 FF 28 33 ] 13:24:40.611 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 B7 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:40.611 -> Instant. Speed: 0 KPH Average Speed: 4 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:40.611 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:40.611 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:41.564 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 A5 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:41.564 -> Instant. Speed: 0 KPH Average Speed: 4 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:41.564 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:41.564 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:42.052 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 E4 FF 28 33 00 ] 13:24:42.317 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:42.317 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 E4 FF 28 33 ] 13:24:42.580 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 95 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:42.580 -> Instant. Speed: 0 KPH Average Speed: 4 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:42.580 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:42.580 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:43.556 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 86 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:43.556 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:43.556 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:43.556 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:44.149 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 CF FF 28 33 00 ] 13:24:44.275 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:44.275 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 CF FF 28 33 ] 13:24:44.568 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 78 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:44.568 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:44.568 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:44.568 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:45.537 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 6B 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:45.537 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:45.537 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:45.537 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:46.241 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 A8 FF 28 33 00 ] 13:24:46.365 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:46.365 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 A8 FF 28 33 ] 13:24:46.630 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 5F 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:46.631 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:46.631 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:46.631 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:47.515 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 53 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:47.515 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:47.515 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:47.515 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:48.381 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 84 FF 28 33 00 ] 13:24:48.512 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:48.623 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 84 FF 28 33 ] 13:24:48.623 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 49 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:48.623 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:48.623 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:48.623 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:49.585 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 3F 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:49.585 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:49.585 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:49.585 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:50.447 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 67 FF 28 33 00 ] 13:24:50.603 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:50.603 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 67 FF 28 33 ] 13:24:50.603 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 36 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:50.603 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:50.603 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:50.603 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:51.566 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 2D 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 4E ] 13:24:51.566 -> Instant. Speed: 0 KPH Average Speed: 3 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 78 HBM 13:24:51.566 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 4E ] 13:24:51.566 -> Heart Beats: 78 HBM (8) Contact is NOT detected! 13:24:52.549 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 5D FF 28 33 00 ] 13:24:52.672 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 24 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 4E ] 13:24:52.672 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 78 HBM 13:24:52.672 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 4E ] 13:24:52.672 -> Heart Beats: 78 HBM (8) Contact is NOT detected! 13:24:52.672 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:52.672 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 5D FF 28 33 ] 13:24:53.573 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 1C 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:53.573 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:53.573 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:53.573 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:54.542 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 15 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:54.542 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:54.542 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:54.542 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:54.636 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 5E FF 28 33 00 ] 13:24:54.822 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:54.822 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 5E FF 28 33 ] 13:24:55.552 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 0E 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:55.552 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:55.552 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:55.552 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:56.500 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 07 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:56.545 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:56.545 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:56.545 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:56.733 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 6F FF 28 33 00 ] 13:24:56.904 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:56.904 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 6F FF 28 33 ] 13:24:57.693 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 01 01 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:57.693 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:57.693 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:57.693 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:58.597 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 FB 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:58.597 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:58.597 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:58.597 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:24:58.829 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 8A FF 28 33 00 ] 13:24:58.954 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:24:58.954 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 8A FF 28 33 ] 13:24:59.592 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 F5 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:24:59.592 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:24:59.592 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:24:59.592 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:00.591 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 EF 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:00.591 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:00.591 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:00.591 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:00.946 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 B8 FF 28 33 00 ] 13:25:01.307 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:01.307 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 B8 FF 28 33 ] 13:25:01.571 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 EA 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:01.571 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:01.571 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:01.571 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:02.649 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 E5 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:02.649 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:02.649 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:02.649 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:03.056 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ] 13:25:03.261 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:03.261 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 00 00 28 33 ] 13:25:03.539 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 E0 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:03.539 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:03.539 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:03.539 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:04.549 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 DB 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:04.549 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:04.549 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:04.549 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:05.155 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 A2 00 28 33 00 ] 13:25:05.357 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:05.357 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 A2 00 28 33 ] 13:25:05.529 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 D7 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:05.529 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:05.529 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:05.529 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:06.601 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 D2 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:06.601 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:06.601 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:06.601 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:07.242 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 01 28 33 00 ] 13:25:07.429 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:07.429 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 09 01 28 33 ] 13:25:07.615 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 CE 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:07.615 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:07.615 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:07.615 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:08.596 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 CA 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:08.596 -> Instant. Speed: 0 KPH Average Speed: 2 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:08.596 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:08.596 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:09.313 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 4F 01 28 33 00 ] 13:25:09.497 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:09.497 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 4F 01 28 33 ] 13:25:09.591 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 C7 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:09.591 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:09.591 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:09.591 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:10.569 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 C3 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:10.569 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:10.569 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:10.569 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:11.458 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 67 01 28 33 00 ] 13:25:11.551 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:11.551 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 67 01 28 33 ] 13:25:11.551 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 BF 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 46 ] 13:25:11.551 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 70 HBM 13:25:11.551 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 46 ] 13:25:11.551 -> Heart Beats: 70 HBM (8) Contact is NOT detected! 13:25:12.565 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 BC 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 46 ] 13:25:12.565 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 70 HBM 13:25:12.565 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 46 ] 13:25:12.565 -> Heart Beats: 70 HBM (8) Contact is NOT detected! 13:25:13.514 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 B9 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:13.514 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:13.514 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:13.514 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:13.514 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 57 FF 28 33 00 ] 13:25:13.732 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 11 01 ] 13:25:13.732 -> -> Client Rec'd Raw FTM Machine Status Data: [7] [ 12 00 00 57 FF 28 33 ] 13:25:14.541 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 B5 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:14.541 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:14.541 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:14.541 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:25:15.616 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 B2 00 00 00 00 00 1D 00 00 14 00 00 00 00 00 00 ] 13:25:15.616 -> Instant. Speed: 0 KPH Average Speed: 1 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 29 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 13:25:15.616 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:25:15.616 -> Heart Beats: 0 HBM (8) Contact is NOT detected!

le-joebar commented 1 year ago

" Do I see correctly: is the linear sliding system integrated, inside the actuator?"

Yes the actuator is solid and I take advantage of its particular shape so as not to need an additional rail. 20221227_135825

" Are you going to mount the electronics on the lower platform...with a time-of-flight sensor to measure distance? "

Yes I keep your electronic principle but I have great difficulty to operate the DRV8871 because I have the 12V output but it does not reverse the direction +- to -+?!

"Is the relatively fixed construction of the floor able to allocate the rocking motion of your bike (left/right)"

Currently it is fixed with 2 squares but it is not good. I redesigned a ball joint but my printer has broken down since this morning!!!

"Again, I like what I see!"

**Thank you so much.

I'll drop here the STL and engine model later when it's perfect.**

le-joebar commented 1 year ago

image image image image image image image

Berg0162 commented 1 year ago

Dear Joel, Wow! That "ball jount" is a clever alternative (!) and will give the construction enough degrees of freedom to move forward and sideways. I am very curious how you will experience it once it is constructed! My Canadian friend (with the Wahoo Kickr) is using your present floor construction design for about a year now and is seeing wearing and notices that it becomes quite noisy...

It looks like the FTMS_Server is doing as expected! Unfortunately we can't say that of the FTMS_Client tests! Grrrrrr! Un vrai casse tête! I have been studying the native codes of the bluefruit libraries to get some clue... but it is (of course) not obvious how to tackle this discover problem with the Zwift Hub....Only the 250ms third test works perfectly, so I am doubting if the delays are working at all! I will keep you up to date when I have a brilliant brainwave..... Success with your printer! Best wishes, Jörgen.

Berg0162 commented 1 year ago

Dear Joel, I have uploaded a new FTMS_Client version (03.1).... that has operational/default BLE settings increased.... Poll_delay is default set to zero.... Please try this version first with this setting to see what is happening... You can set poll_delay in steps of 100 to ultimately 250.... if necessary....(fingers crossed).. We are for now only interested in how it will pass the connection and discovery process... if you could make a copy/paste of the first part, I would be very happy.... I would be even more happy if it runs without errors... Thanks in advance! Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorghen,

All my wishes for this new year 2023. May it bring you lots of new projects of which you can be proud of the result.

Here are the results of FTMS_Client V031

poll_delay = 0

6:18:42.470 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:18:42.470 -> Timestamp MAC Address Rssi Data 16:18:42.470 -> 000153436 F8:9C:FC:53:5E:49 -65 09-02-16-18-26-18-18-18-0A-18 16:18:42.609 -> --------- SoftDevice Config --------- 16:18:42.609 -> Max UUID128 : 10 16:18:42.609 -> ATTR Table Size : 4096 16:18:42.609 -> Service Changed : 1 16:18:42.609 -> Central Connect Setting 16:18:42.609 -> - Max MTU : 23 16:18:42.609 -> - Event Length : 6 16:18:42.609 -> - HVN Queue Size : 2 16:18:42.609 -> - WrCmd Queue Size: 1 16:18:42.609 -> 16:18:42.609 -> --------- BLE Settings --------- 16:18:42.609 -> Name : Feather nRF52840 Express 16:18:42.609 -> Max Connections : Peripheral = 0, Central = 1 16:18:42.609 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:18:42.609 -> TX Power : 4 dBm 16:18:42.609 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:18:42.609 -> Conn Timeout : 2000 ms 16:18:42.609 -> Central Paired Devices: 16:18:42.609 -> 16:18:42.609 -> 16:18:42.609 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:18:42.609 -> Now checking all Client Services and Characteristics! 16:18:42.609 -> If Mandatory Services Fail --> the Client will disconnect! 16:18:42.609 -> Checking Generic Access and Device Information! 16:18:42.717 -> Found Client Generic Access 16:18:42.995 -> -> Client Reads Device Name: [Zwift Hub] 16:18:43.179 -> -> Client Reads Appearance: [0] 16:18:43.179 -> Not Found Client Device Information! 16:18:43.179 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:18:43.179 -> Disconnecting since Client FTM Service is mandatory! 16:18:43.271 -> Client Disconnected, reason = 0x16 16:18:43.271 -> >>> Restart the Feather nRF52 Client for a new run! <<< 16:18:45.489 -> Stopped!

poll_delay = 50

16:21:33.378 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:21:33.378 -> ------------------- Version 03.1 -------------------- 16:21:33.378 -> Discover polling delay setting: [50] 16:21:33.378 -> Setting NRF52840 BLE configuration parameters! 16:21:33.378 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:21:33.813 -> Board name: [Feather nRF52840 Express] 16:21:33.813 -> FTMS and Chars 'initialized' 16:21:33.813 -> CPS and Chars 'initialized' 16:21:33.813 -> CSCS and Chars 'initialized' 16:21:33.813 -> GA and Chars 'initialized' 16:21:33.813 -> DIS and Chars 'initialized' 16:21:33.813 -> HRMS and Chars 'initialized' 16:21:33.813 -> Start Scanning for CPS, CSC and FTMS! 16:21:33.813 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:21:33.813 -> Timestamp MAC Address Rssi Data 16:21:33.813 -> 000001122 F8:9C:FC:53:5E:49 -63 09-02-16-18-26-18-18-18-0A-18 16:21:33.813 -> --------- SoftDevice Config --------- 16:21:33.813 -> Max UUID128 : 10 16:21:33.813 -> ATTR Table Size : 4096 16:21:33.813 -> Service Changed : 1 16:21:33.813 -> Central Connect Setting 16:21:33.813 -> - Max MTU : 23 16:21:33.813 -> - Event Length : 6 16:21:33.813 -> - HVN Queue Size : 2 16:21:33.813 -> - WrCmd Queue Size: 1 16:21:33.813 -> 16:21:33.813 -> --------- BLE Settings --------- 16:21:33.813 -> Name : Feather nRF52840 Express 16:21:33.813 -> Max Connections : Peripheral = 0, Central = 1 16:21:33.813 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:21:33.813 -> TX Power : 4 dBm 16:21:33.813 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:21:33.813 -> Conn Timeout : 2000 ms 16:21:33.813 -> Central Paired Devices: 16:21:33.813 -> 16:21:33.813 -> 16:21:33.813 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:21:33.813 -> Now checking all Client Services and Characteristics! 16:21:33.813 -> If Mandatory Services Fail --> the Client will disconnect! 16:21:33.813 -> Checking Generic Access and Device Information! 16:21:33.846 -> Found Client Generic Access 16:21:34.274 -> -> Client Reads Device Name: [Zwift Hub] 16:21:34.435 -> -> Client Reads Appearance: [1152] 16:21:34.685 -> Found Client Device Information 16:21:34.966 -> -> Client Reads Manufacturer: [Zwift] 16:21:35.091 -> -> Client Reads Model Number: [06] 16:21:35.585 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:21:35.585 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:21:35.709 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:21:36.005 -> Discovering Client FTM Status Characteristic ... Found it! 16:21:36.284 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:21:36.410 -> Discovering Client FTM Feature Characteristic ... Found it! 16:21:36.676 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:21:36.676 -> - Fitness Machine Features: 16:21:36.676 -> Average Speed Supported 16:21:36.676 -> Cadence Supported 16:21:36.676 -> Total Distance Supported 16:21:36.676 -> Resistance Level Supported 16:21:36.676 -> Heart Rate Measurement Supported 16:21:36.676 -> Power Measurement Supported 16:21:36.676 -> - Target Setting Features: 16:21:36.676 -> Resistance Target Setting Supported 16:21:36.676 -> Power Target Setting Supported 16:21:36.676 -> Indoor Bike Simulation Parameters Supported 16:21:36.676 -> Wheel Circumference Configuration Supported 16:21:36.676 -> Spin Down Control Supported 16:21:36.676 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:21:37.001 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:21:37.234 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 16:21:37.234 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 16:21:37.311 -> Discovering Client Cycling Power (CP) Service ... Not Found! 16:21:37.359 -> Disconnecting since Client Cyling Power Service is mandatory! 16:21:37.485 -> Client Disconnected, reason = 0x16 16:21:37.485 -> >>> Restart the Feather nRF52 Client for a new run! <<< 16:21:38.061 -> Stopped!

poll_delay = 100

16:24:18.120 -> Found Client Generic Access 16:24:18.398 -> -> Client Reads Device Name: [Zwift Hub] 16:24:18.430 -> -> Client Reads Appearance: [1152] 16:24:18.430 -> Found Client Device Information 16:24:18.564 -> -> Client Reads Manufacturer: [Zwift] 16:24:18.876 -> -> Client Reads Model Number: [06] 16:24:19.248 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:24:19.248 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:24:19.435 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:24:19.965 -> Discovering Client FTM Status Characteristic ... Found it! 16:24:20.496 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:24:20.726 -> Discovering Client FTM Feature Characteristic ... Found it! 16:24:20.941 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:24:20.941 -> - Fitness Machine Features: 16:24:20.941 -> Average Speed Supported 16:24:20.941 -> Cadence Supported 16:24:20.941 -> Total Distance Supported 16:24:20.941 -> Resistance Level Supported 16:24:20.941 -> Heart Rate Measurement Supported 16:24:20.941 -> Power Measurement Supported 16:24:20.941 -> - Target Setting Features: 16:24:20.941 -> Resistance Target Setting Supported 16:24:20.941 -> Power Target Setting Supported 16:24:20.941 -> Indoor Bike Simulation Parameters Supported 16:24:20.941 -> Wheel Circumference Configuration Supported 16:24:20.941 -> Spin Down Control Supported 16:24:20.941 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:24:21.392 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:24:21.640 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:24:21.640 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:24:22.026 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:24:22.026 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:24:22.337 -> Discovering Client CP Measurement characteristic ... Found it! 16:24:22.601 -> Discovering Client CP Feature characteristic ... Found it! 16:24:22.805 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:24:22.805 -> Wheel revolution data supported 16:24:22.805 -> Crank revolution data supported 16:24:22.805 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:24:23.213 -> Discovering Client CP Sensor Location characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:24:23.291 -> Ready to receive Client FTM Control Point Response Messages 16:24:23.291 -> Ready to receive Client FTM Status values 16:24:23.417 -> Ready to receive Client FTM Indoor Bike Data values 16:24:23.417 -> Found it! 16:24:23.417 -> Ready to receive Client CP Measurement values 16:24:23.510 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:24:23.510 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:24:23.682 -> Discovering Client CSC Measurement CHR ... Found it! 16:24:23.945 -> Discovering Client CSC Feature CHR ... Found it! 16:24:24.504 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:24:24.504 -> Wheel rev supported 16:24:24.504 -> Crank rev supported 16:24:24.504 -> Discovering Client CSC Location CHR ... Found it! 16:24:24.799 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:24:24.799 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 16:24:25.065 -> Discovering HR Measurement characteristic ... Found it! 16:24:25.345 -> Discovering HR Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 16:24:25.422 -> Not Found! Not Mandatory! 16:24:25.422 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 16:24:25.422 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM

poll_delay = 100 2eme teste

16:25:47.085 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:25:47.085 -> ------------------- Version 03.1 -------------------- 16:25:47.085 -> Discover polling delay setting: [100] 16:25:47.085 -> Setting NRF52840 BLE configuration parameters! 16:25:47.085 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:25:47.085 -> Board name: [Feather nRF52840 Express] 16:25:47.085 -> FTMS and Chars 'initialized' 16:25:47.085 -> CPS and Chars 'initialized' 16:25:47.085 -> CSCS and Chars 'initialized' 16:25:47.085 -> GA and Chars 'initialized' 16:25:47.085 -> DIS and Chars 'initialized' 16:25:47.085 -> HRMS and Chars 'initialized' 16:25:47.085 -> Start Scanning for CPS, CSC and FTMS! 16:25:47.085 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:25:47.085 -> Timestamp MAC Address Rssi Data 16:25:47.085 -> 000001069 F8:9C:FC:53:5E:49 -58 09-02-16-18-26-18-18-18-0A-18 16:25:47.102 -> --------- SoftDevice Config --------- 16:25:47.102 -> Max UUID128 : 10 16:25:47.102 -> ATTR Table Size : 4096 16:25:47.102 -> Service Changed : 1 16:25:47.102 -> Central Connect Setting 16:25:47.102 -> - Max MTU : 23 16:25:47.102 -> - Event Length : 6 16:25:47.102 -> - HVN Queue Size : 2 16:25:47.102 -> - WrCmd Queue Size: 1 16:25:47.102 -> 16:25:47.102 -> --------- BLE Settings --------- 16:25:47.102 -> Name : Feather nRF52840 Express 16:25:47.102 -> Max Connections : Peripheral = 0, Central = 1 16:25:47.102 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:25:47.102 -> TX Power : 4 dBm 16:25:47.102 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:25:47.102 -> Conn Timeout : 2000 ms 16:25:47.102 -> Central Paired Devices: 16:25:47.102 -> 16:25:47.102 -> 16:25:47.102 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:25:47.102 -> Now checking all Client Services and Characteristics! 16:25:47.102 -> If Mandatory Services Fail --> the Client will disconnect! 16:25:47.102 -> Checking Generic Access and Device Information! 16:25:47.102 -> Found Client Generic Access 16:25:47.218 -> -> Client Reads Device Name: [Zwift Hub] 16:25:47.451 -> -> Client Reads Appearance: [0] 16:25:47.636 -> Found Client Device Information 16:25:47.917 -> -> Client Reads Manufacturer: [Zwift] 16:25:48.554 -> -> Client Reads Model Number: [06] 16:25:48.819 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:25:48.819 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:25:49.130 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:25:49.457 -> Discovering Client FTM Status Characteristic ... Found it! 16:25:49.862 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:25:50.032 -> Discovering Client FTM Feature Characteristic ... Found it! 16:25:50.453 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:25:50.453 -> - Fitness Machine Features: 16:25:50.453 -> Average Speed Supported 16:25:50.453 -> Cadence Supported 16:25:50.453 -> Total Distance Supported 16:25:50.453 -> Resistance Level Supported 16:25:50.453 -> Heart Rate Measurement Supported 16:25:50.453 -> Power Measurement Supported 16:25:50.453 -> - Target Setting Features: 16:25:50.453 -> Resistance Target Setting Supported 16:25:50.453 -> Power Target Setting Supported 16:25:50.453 -> Indoor Bike Simulation Parameters Supported 16:25:50.453 -> Wheel Circumference Configuration Supported 16:25:50.453 -> Spin Down Control Supported 16:25:50.453 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:25:50.735 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:25:51.137 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 16:25:51.137 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 16:25:51.215 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:25:51.370 -> Discovering Client CP Measurement characteristic ... Found it! 16:25:51.696 -> Discovering Client CP Feature characteristic ... Found it! 16:25:51.974 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:25:51.974 -> Wheel revolution data supported 16:25:51.974 -> Crank revolution data supported 16:25:51.974 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:25:52.488 -> Discovering Client CP Sensor Location characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:25:52.567 -> Ready to receive Client FTM Control Point Response Messages 16:25:52.567 -> Ready to receive Client FTM Status values 16:25:52.678 -> Ready to receive Client FTM Indoor Bike Data values 16:25:52.678 -> Found it! 16:25:52.678 -> Ready to receive Client CP Measurement values 16:25:52.771 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 16:25:52.771 -> Discovering Cycling Speed and Cadence (CSC) Service ... Not Found! 16:25:52.850 -> Disconnecting since CSC Service is mandatory! 16:25:52.896 -> Client Disconnected, reason = 0x16 16:25:52.896 -> >>> Restart the Feather nRF52 Client for a new run! <<<

poll_delay = 150

16:28:24.789 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:28:24.789 -> ------------------- Version 03.1 -------------------- 16:28:24.789 -> Discover polling delay setting: [150] 16:28:24.789 -> Setting NRF52840 BLE configuration parameters! 16:28:24.789 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:28:24.790 -> Board name: [Feather nRF52840 Express] 16:28:24.790 -> FTMS and Chars 'initialized' 16:28:24.790 -> CPS and Chars 'initialized' 16:28:24.790 -> CSCS and Chars 'initialized' 16:28:24.790 -> GA and Chars 'initialized' 16:28:24.790 -> DIS and Chars 'initialized' 16:28:24.790 -> HRMS and Chars 'initialized' 16:28:24.790 -> Start Scanning for CPS, CSC and FTMS! 16:28:24.790 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:28:24.790 -> Timestamp MAC Address Rssi Data 16:28:24.790 -> 000000650 F8:9C:FC:53:5E:49 -57 09-02-16-18-26-18-18-18-0A-18 16:28:25.483 -> --------- SoftDevice Config --------- 16:28:25.483 -> Max UUID128 : 10 16:28:25.483 -> ATTR Table Size : 4096 16:28:25.483 -> Service Changed : 1 16:28:25.483 -> Central Connect Setting 16:28:25.483 -> - Max MTU : 23 16:28:25.483 -> - Event Length : 6 16:28:25.483 -> - HVN Queue Size : 2 16:28:25.483 -> - WrCmd Queue Size: 1 16:28:25.483 -> 16:28:25.483 -> --------- BLE Settings --------- 16:28:25.483 -> Name : Feather nRF52840 Express 16:28:25.483 -> Max Connections : Peripheral = 0, Central = 1 16:28:25.483 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:28:25.483 -> TX Power : 4 dBm 16:28:25.483 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:28:25.483 -> Conn Timeout : 2000 ms 16:28:25.483 -> Central Paired Devices: 16:28:25.483 -> 16:28:25.483 -> 16:28:25.483 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:28:25.483 -> Now checking all Client Services and Characteristics! 16:28:25.483 -> If Mandatory Services Fail --> the Client will disconnect! 16:28:25.483 -> Checking Generic Access and Device Information! 16:28:25.511 -> Found Client Generic Access 16:28:25.511 -> -> Client Reads Device Name: [Zwift Hub] 16:28:25.511 -> -> Client Reads Appearance: [1152] 16:28:25.854 -> Found Client Device Information 16:28:25.922 -> -> Client Reads Manufacturer: [Zwift] 16:28:26.389 -> -> Client Reads Model Number: [06] 16:28:26.747 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:28:26.747 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:28:26.951 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:28:27.733 -> Discovering Client FTM Status Characteristic ... Found it! 16:28:28.140 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:28:28.419 -> Discovering Client FTM Feature Characteristic ... Found it! 16:28:28.698 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 16:28:28.698 -> - Fitness Machine Features: 16:28:28.698 -> - Target Setting Features: 16:28:28.698 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:28:29.119 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:28:29.523 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 16:28:29.523 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:28:29.912 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:28:29.912 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:28:30.098 -> Discovering Client CP Measurement characteristic ... Found it! 16:28:30.503 -> Discovering Client CP Feature characteristic ... Found it! 16:28:30.814 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:28:30.815 -> Wheel revolution data supported 16:28:30.815 -> Crank revolution data supported 16:28:30.815 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:28:31.110 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:28:31.390 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 16:28:31.390 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:28:31.670 -> Discovering Client CSC Measurement CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:28:31.966 -> Ready to receive Client FTM Control Point Response Messages 16:28:32.053 -> >>> Couldn't enable notify for Client FTM Status Characteristic. 16:28:32.053 -> FTMS (trainer) is controlled by another Client (Training App)! 16:28:32.091 -> Found it! 16:28:32.092 -> Discovering Client CSC Feature CHR ... Not Found! 16:28:32.249 -> Disconnecting since Client CSC Feature CHR is mandatory! 16:28:32.249 -> Client Disconnected, reason = 0x16 16:28:32.249 -> >>> Restart the Feather nRF52 Client for a new run! <<<

poll_delay = 200

16:32:42.046 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:32:42.046 -> ------------------- Version 03.1 -------------------- 16:32:42.046 -> Discover polling delay setting: [200] 16:32:42.046 -> Setting NRF52840 BLE configuration parameters! 16:32:42.046 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:32:42.141 -> Board name: [Feather nRF52840 Express] 16:32:42.141 -> FTMS and Chars 'initialized' 16:32:42.141 -> CPS and Chars 'initialized' 16:32:42.141 -> CSCS and Chars 'initialized' 16:32:42.141 -> GA and Chars 'initialized' 16:32:42.141 -> DIS and Chars 'initialized' 16:32:42.141 -> HRMS and Chars 'initialized' 16:32:42.141 -> Start Scanning for CPS, CSC and FTMS! 16:32:42.141 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:32:42.141 -> Timestamp MAC Address Rssi Data 16:32:42.141 -> 000000634 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:32:42.141 -> --------- SoftDevice Config --------- 16:32:42.141 -> Max UUID128 : 10 16:32:42.141 -> ATTR Table Size : 4096 16:32:42.141 -> Service Changed : 1 16:32:42.141 -> Central Connect Setting 16:32:42.141 -> - Max MTU : 23 16:32:42.141 -> - Event Length : 6 16:32:42.141 -> - HVN Queue Size : 2 16:32:42.141 -> - WrCmd Queue Size: 1 16:32:42.141 -> 16:32:42.141 -> --------- BLE Settings --------- 16:32:42.141 -> Name : Feather nRF52840 Express 16:32:42.141 -> Max Connections : Peripheral = 0, Central = 1 16:32:42.141 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:32:42.141 -> TX Power : 4 dBm 16:32:42.141 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:32:42.141 -> Conn Timeout : 2000 ms 16:32:42.141 -> Central Paired Devices: 16:32:42.141 -> 16:32:42.141 -> 16:32:42.141 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:32:42.141 -> Now checking all Client Services and Characteristics! 16:32:42.141 -> If Mandatory Services Fail --> the Client will disconnect! 16:32:42.141 -> Checking Generic Access and Device Information! 16:32:42.905 -> Found Client Generic Access 16:32:43.173 -> -> Client Reads Device Name: [Zwift Hub] 16:32:43.217 -> -> Client Reads Appearance: [1152] 16:32:43.562 -> Found Client Device Information 16:32:43.921 -> -> Client Reads Manufacturer: [Zwift] 16:32:44.371 -> -> Client Reads Model Number: [06] 16:32:44.701 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:32:44.701 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:32:44.997 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:32:45.421 -> Discovering Client FTM Status Characteristic ... Found it! 16:32:45.966 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:32:46.336 -> Discovering Client FTM Feature Characteristic ... Found it! 16:32:46.739 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:32:46.739 -> - Fitness Machine Features: 16:32:46.739 -> Average Speed Supported 16:32:46.739 -> Cadence Supported 16:32:46.739 -> Total Distance Supported 16:32:46.739 -> Resistance Level Supported 16:32:46.739 -> Heart Rate Measurement Supported 16:32:46.739 -> Power Measurement Supported 16:32:46.739 -> - Target Setting Features: 16:32:46.739 -> Resistance Target Setting Supported 16:32:46.739 -> Power Target Setting Supported 16:32:46.739 -> Indoor Bike Simulation Parameters Supported 16:32:46.739 -> Wheel Circumference Configuration Supported 16:32:46.739 -> Spin Down Control Supported 16:32:46.739 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:32:47.294 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:32:47.682 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:32:47.682 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:32:48.041 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:32:48.041 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:32:48.384 -> Discovering Client CP Measurement characteristic ... Found it! 16:32:48.883 -> Discovering Client CP Feature characteristic ... Found it! 16:32:49.242 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:32:49.242 -> Wheel revolution data supported 16:32:49.242 -> Crank revolution data supported 16:32:49.242 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:32:49.743 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:32:50.041 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:32:50.041 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:32:50.320 -> Discovering Client CSC Measurement CHR ... Found it! 16:32:50.666 -> Discovering Client CSC Feature CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:32:50.932 -> Ready to receive Client FTM Control Point Response Messages 16:32:50.932 -> >>> Couldn't enable notify for Client FTM Status Characteristic. 16:32:50.932 -> FTMS (trainer) is controlled by another Client (Training App)! 16:32:51.056 -> Found it! 16:32:51.056 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 16:32:51.056 -> Discovering Client CSC Location CHR ... Not Found! NOT Mandatory! 16:32:51.257 -> Discovering Heart Rate Measurement (HR) Service ... Not Found! HR Service is Not Mandatory! 16:32:51.462 -> Client Disconnected, reason = 0x16 16:32:51.462 -> >>> Restart the Feather nRF52 Client for a new run! <<<

poll_delay = 250

16:35:33.886 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:35:33.886 -> ------------------- Version 03.1 -------------------- 16:35:33.886 -> Discover polling delay setting: [250] 16:35:33.886 -> Setting NRF52840 BLE configuration parameters! 16:35:33.886 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:35:34.334 -> Board name: [Feather nRF52840 Express] 16:35:34.334 -> FTMS and Chars 'initialized' 16:35:34.334 -> CPS and Chars 'initialized' 16:35:34.334 -> CSCS and Chars 'initialized' 16:35:34.334 -> GA and Chars 'initialized' 16:35:34.334 -> DIS and Chars 'initialized' 16:35:34.334 -> HRMS and Chars 'initialized' 16:35:34.334 -> Start Scanning for CPS, CSC and FTMS! 16:35:34.334 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:35:34.334 -> Timestamp MAC Address Rssi Data 16:35:34.334 -> 000001176 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 16:35:34.335 -> --------- SoftDevice Config --------- 16:35:34.335 -> Max UUID128 : 10 16:35:34.335 -> ATTR Table Size : 4096 16:35:34.335 -> Service Changed : 1 16:35:34.335 -> Central Connect Setting 16:35:34.335 -> - Max MTU : 23 16:35:34.335 -> - Event Length : 6 16:35:34.335 -> - HVN Queue Size : 2 16:35:34.335 -> - WrCmd Queue Size: 1 16:35:34.335 -> 16:35:34.335 -> --------- BLE Settings --------- 16:35:34.335 -> Name : Feather nRF52840 Express 16:35:34.335 -> Max Connections : Peripheral = 0, Central = 1 16:35:34.335 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:35:34.335 -> TX Power : 4 dBm 16:35:34.335 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:35:34.335 -> Conn Timeout : 2000 ms 16:35:34.335 -> Central Paired Devices: 16:35:34.335 -> 16:35:34.335 -> 16:35:34.335 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:35:34.335 -> Now checking all Client Services and Characteristics! 16:35:34.335 -> If Mandatory Services Fail --> the Client will disconnect! 16:35:34.335 -> Checking Generic Access and Device Information! 16:35:34.717 -> Found Client Generic Access 16:35:35.325 -> -> Client Reads Device Name: [Zwift Hub] 16:35:36.025 -> -> Client Reads Appearance: [1152] 16:35:36.321 -> Found Client Device Information 16:35:36.788 -> -> Client Reads Manufacturer: [Zwift] 16:35:37.161 -> -> Client Reads Model Number: [06] 16:35:37.566 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:35:37.566 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:35:37.924 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:35:38.717 -> Discovering Client FTM Status Characteristic ... Found it! 16:35:39.215 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:35:39.744 -> Discovering Client FTM Feature Characteristic ... Found it! 16:35:40.101 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:35:40.101 -> - Fitness Machine Features: 16:35:40.101 -> Average Speed Supported 16:35:40.101 -> Cadence Supported 16:35:40.101 -> Total Distance Supported 16:35:40.101 -> Resistance Level Supported 16:35:40.101 -> Heart Rate Measurement Supported 16:35:40.101 -> Power Measurement Supported 16:35:40.101 -> - Target Setting Features: 16:35:40.101 -> Resistance Target Setting Supported 16:35:40.101 -> Power Target Setting Supported 16:35:40.101 -> Indoor Bike Simulation Parameters Supported 16:35:40.101 -> Wheel Circumference Configuration Supported 16:35:40.101 -> Spin Down Control Supported 16:35:40.101 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:35:40.662 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:35:41.215 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:35:41.215 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:35:41.871 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 16:35:41.871 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:35:42.213 -> Discovering Client CP Measurement characteristic ... Found it! 16:35:42.667 -> Discovering Client CP Feature characteristic ... Found it! 16:35:43.287 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 16:35:43.287 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:35:43.710 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:35:44.098 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:35:44.098 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:35:44.428 -> Discovering Client CSC Measurement CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics

poll_delay = 250 2eme test

16:37:47.925 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:37:47.925 -> ------------------- Version 03.1 -------------------- 16:37:47.925 -> Discover polling delay setting: [250] 16:37:47.925 -> Setting NRF52840 BLE configuration parameters! 16:37:47.925 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:37:47.926 -> Board name: [Feather nRF52840 Express] 16:37:47.926 -> FTMS and Chars 'initialized' 16:37:47.926 -> CPS and Chars 'initialized' 16:37:47.926 -> CSCS and Chars 'initialized' 16:37:47.926 -> GA and Chars 'initialized' 16:37:47.926 -> DIS and Chars 'initialized' 16:37:47.926 -> HRMS and Chars 'initialized' 16:37:47.926 -> Start Scanning for CPS, CSC and FTMS! 16:37:47.938 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:37:47.938 -> Timestamp MAC Address Rssi Data 16:37:47.938 -> 000001094 F8:9C:FC:53:5E:49 -55 09-02-16-18-26-18-18-18-0A-18 16:37:47.938 -> --------- SoftDevice Config --------- 16:37:47.938 -> Max UUID128 : 10 16:37:47.938 -> ATTR Table Size : 4096 16:37:47.938 -> Service Changed : 1 16:37:47.938 -> Central Connect Setting 16:37:47.938 -> - Max MTU : 23 16:37:47.938 -> - Event Length : 6 16:37:47.938 -> - HVN Queue Size : 2 16:37:47.938 -> - WrCmd Queue Size: 1 16:37:47.938 -> 16:37:47.938 -> --------- BLE Settings --------- 16:37:47.938 -> Name : Feather nRF52840 Express 16:37:47.938 -> Max Connections : Peripheral = 0, Central = 1 16:37:47.938 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:37:47.938 -> TX Power : 4 dBm 16:37:47.938 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:37:47.938 -> Conn Timeout : 2000 ms 16:37:47.938 -> Central Paired Devices: 16:37:47.938 -> 16:37:47.938 -> 16:37:47.938 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:37:47.938 -> Now checking all Client Services and Characteristics! 16:37:47.938 -> If Mandatory Services Fail --> the Client will disconnect! 16:37:47.938 -> Checking Generic Access and Device Information! 16:37:48.176 -> Found Client Generic Access 16:37:48.784 -> -> Client Reads Device Name: [Zwift Hub] 16:37:49.143 -> -> Client Reads Appearance: [1152] 16:37:49.455 -> Found Client Device Information 16:37:49.846 -> -> Client Reads Manufacturer: [Zwift] 16:37:50.263 -> -> Client Reads Model Number: [06] 16:37:50.766 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:37:50.766 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:37:51.077 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:37:51.576 -> Discovering Client FTM Status Characteristic ... Found it! 16:37:52.246 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:37:52.743 -> Discovering Client FTM Feature Characteristic ... Found it! 16:37:53.057 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:37:53.057 -> - Fitness Machine Features: 16:37:53.057 -> Average Speed Supported 16:37:53.057 -> Cadence Supported 16:37:53.057 -> Total Distance Supported 16:37:53.057 -> Resistance Level Supported 16:37:53.057 -> Heart Rate Measurement Supported 16:37:53.057 -> Power Measurement Supported 16:37:53.057 -> - Target Setting Features: 16:37:53.057 -> Resistance Target Setting Supported 16:37:53.057 -> Power Target Setting Supported 16:37:53.057 -> Indoor Bike Simulation Parameters Supported 16:37:53.057 -> Wheel Circumference Configuration Supported 16:37:53.057 -> Spin Down Control Supported 16:37:53.057 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:37:53.554 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:37:54.099 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 16:37:54.099 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:37:54.768 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 16:37:54.768 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:37:55.378 -> Discovering Client CP Measurement characteristic ... Found it! 16:37:56.015 -> Discovering Client CP Feature characteristic ... Found it! 16:37:56.623 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:37:56.623 -> Wheel revolution data supported 16:37:56.623 -> Crank revolution data supported 16:37:56.623 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:37:56.981 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:37:57.402 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:37:57.402 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:37:57.697 -> Discovering Client CSC Measurement CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:37:58.040 -> Ready to receive Client FTM Control Point Response Messages 16:37:58.040 -> Ready to receive Client FTM Status values 16:37:58.087 -> Found it! 16:37:58.087 -> Discovering Client CSC Feature CHR ... Ready to receive Client FTM Indoor Bike Data values 16:37:58.181 -> >>> Couldn't enable notify for Client CP Measurement Characteristic. 16:37:58.181 -> FTMS (trainer) is controlled by another Client (Training App)! 16:37:58.323 -> Not Found! 16:37:58.323 -> Disconnecting since Client CSC Feature CHR is mandatory! 16:37:58.323 -> Client Disconnected, reason = 0x16 16:37:58.323 -> >>> Restart the Feather nRF52 Client for a new run! <<<

poll_delay = 250 3 eme test

16:40:11.341 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:40:11.341 -> ------------------- Version 03.1 -------------------- 16:40:11.341 -> Discover polling delay setting: [250] 16:40:11.341 -> Setting NRF52840 BLE configuration parameters! 16:40:11.341 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:40:11.341 -> Board name: [Feather nRF52840 Express] 16:40:11.341 -> FTMS and Chars 'initialized' 16:40:11.341 -> CPS and Chars 'initialized' 16:40:11.341 -> CSCS and Chars 'initialized' 16:40:11.341 -> GA and Chars 'initialized' 16:40:11.341 -> DIS and Chars 'initialized' 16:40:11.341 -> HRMS and Chars 'initialized' 16:40:11.341 -> Start Scanning for CPS, CSC and FTMS! 16:40:11.341 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:40:11.341 -> Timestamp MAC Address Rssi Data 16:40:11.341 -> 000000984 F8:9C:FC:53:5E:49 -58 09-02-16-18-26-18-18-18-0A-18 16:40:11.539 -> --------- SoftDevice Config --------- 16:40:11.539 -> Max UUID128 : 10 16:40:11.539 -> ATTR Table Size : 4096 16:40:11.539 -> Service Changed : 1 16:40:11.539 -> Central Connect Setting 16:40:11.539 -> - Max MTU : 23 16:40:11.539 -> - Event Length : 6 16:40:11.539 -> - HVN Queue Size : 2 16:40:11.539 -> - WrCmd Queue Size: 1 16:40:11.539 -> 16:40:11.539 -> --------- BLE Settings --------- 16:40:11.539 -> Name : Feather nRF52840 Express 16:40:11.539 -> Max Connections : Peripheral = 0, Central = 1 16:40:11.539 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:40:11.539 -> TX Power : 4 dBm 16:40:11.539 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:40:11.539 -> Conn Timeout : 2000 ms 16:40:11.539 -> Central Paired Devices: 16:40:11.539 -> 16:40:11.539 -> 16:40:11.539 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:40:11.539 -> Now checking all Client Services and Characteristics! 16:40:11.539 -> If Mandatory Services Fail --> the Client will disconnect! 16:40:11.539 -> Checking Generic Access and Device Information! 16:40:11.662 -> Found Client Generic Access 16:40:12.097 -> -> Client Reads Device Name: [] 16:40:12.561 -> -> Client Reads Appearance: [1152] 16:40:12.983 -> Found Client Device Information 16:40:13.965 -> -> Client Reads Model Number: [06] 16:40:14.355 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:40:14.355 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:40:14.759 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:40:15.225 -> Discovering Client FTM Status Characteristic ... Found it! 16:40:15.785 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:40:16.222 -> Discovering Client FTM Feature Characteristic ... Found it! 16:40:16.875 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:40:16.875 -> - Fitness Machine Features: 16:40:16.875 -> Average Speed Supported 16:40:16.875 -> Cadence Supported 16:40:16.875 -> Total Distance Supported 16:40:16.875 -> Resistance Level Supported 16:40:16.875 -> Heart Rate Measurement Supported 16:40:16.875 -> Power Measurement Supported 16:40:16.875 -> - Target Setting Features: 16:40:16.875 -> Resistance Target Setting Supported 16:40:16.875 -> Power Target Setting Supported 16:40:16.875 -> Indoor Bike Simulation Parameters Supported 16:40:16.875 -> Wheel Circumference Configuration Supported 16:40:16.875 -> Spin Down Control Supported 16:40:16.875 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:40:17.562 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:40:17.965 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 16:40:17.965 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:40:18.480 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:40:18.480 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:40:18.837 -> Discovering Client CP Measurement characteristic ... Found it! 16:40:19.525 -> Discovering Client CP Feature characteristic ... Found it! 16:40:20.180 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 16:40:20.180 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:40:20.553 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:40:21.022 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:40:21.022 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:40:21.431 -> Discovering Client CSC Measurement CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:40:21.541 -> Ready to receive Client FTM Control Point Response Messages 16:40:21.541 -> Ready to receive Client FTM Status values 16:40:21.632 -> >>> Couldn't enable notify for Client FTM Indoor Bike Data Characteristic. 16:40:21.632 -> FTMS (trainer) is controlled by another Client (Training App)! 16:40:21.664 -> Not Found! 16:40:21.664 -> Disconnecting since Client CSC Measurement CHR is mandatory! 16:40:21.664 -> Client Disconnected, reason = 0x16 16:40:21.664 -> >>> Restart the Feather nRF52 Client for a new run! <<<

poll_delay = 300

16:42:51.954 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:42:51.954 -> ------------------- Version 03.1 -------------------- 16:42:51.954 -> Discover polling delay setting: [300] 16:42:51.954 -> Setting NRF52840 BLE configuration parameters! 16:42:51.954 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:42:52.044 -> Board name: [Feather nRF52840 Express] 16:42:52.044 -> FTMS and Chars 'initialized' 16:42:52.044 -> CPS and Chars 'initialized' 16:42:52.044 -> CSCS and Chars 'initialized' 16:42:52.044 -> GA and Chars 'initialized' 16:42:52.044 -> DIS and Chars 'initialized' 16:42:52.044 -> HRMS and Chars 'initialized' 16:42:52.044 -> Start Scanning for CPS, CSC and FTMS! 16:42:52.044 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:42:52.044 -> Timestamp MAC Address Rssi Data 16:42:52.044 -> 000000619 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 16:42:52.044 -> --------- SoftDevice Config --------- 16:42:52.044 -> Max UUID128 : 10 16:42:52.044 -> ATTR Table Size : 4096 16:42:52.044 -> Service Changed : 1 16:42:52.044 -> Central Connect Setting 16:42:52.044 -> - Max MTU : 23 16:42:52.044 -> - Event Length : 6 16:42:52.044 -> - HVN Queue Size : 2 16:42:52.044 -> - WrCmd Queue Size: 1 16:42:52.044 -> 16:42:52.044 -> --------- BLE Settings --------- 16:42:52.044 -> Name : Feather nRF52840 Express 16:42:52.044 -> Max Connections : Peripheral = 0, Central = 1 16:42:52.044 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:42:52.044 -> TX Power : 4 dBm 16:42:52.044 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:42:52.044 -> Conn Timeout : 2000 ms 16:42:52.044 -> Central Paired Devices: 16:42:52.044 -> 16:42:52.044 -> 16:42:52.044 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:42:52.044 -> Now checking all Client Services and Characteristics! 16:42:52.044 -> If Mandatory Services Fail --> the Client will disconnect! 16:42:52.044 -> Checking Generic Access and Device Information! 16:42:52.614 -> Found Client Generic Access 16:42:53.249 -> -> Client Reads Device Name: [Zwift Hub] 16:42:53.747 -> -> Client Reads Appearance: [1152] 16:42:54.217 -> Found Client Device Information 16:42:54.650 -> -> Client Reads Manufacturer: [Zwift] 16:42:55.199 -> -> Client Reads Model Number: [06] 16:42:55.680 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:42:55.680 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:42:56.399 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:42:57.274 -> Discovering Client FTM Status Characteristic ... Found it! 16:42:57.835 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:42:58.301 -> Discovering Client FTM Feature Characteristic ... Found it! 16:42:58.770 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:42:58.770 -> - Fitness Machine Features: 16:42:58.770 -> Average Speed Supported 16:42:58.770 -> Cadence Supported 16:42:58.770 -> Total Distance Supported 16:42:58.770 -> Resistance Level Supported 16:42:58.770 -> Heart Rate Measurement Supported 16:42:58.770 -> Power Measurement Supported 16:42:58.770 -> - Target Setting Features: 16:42:58.770 -> Resistance Target Setting Supported 16:42:58.770 -> Power Target Setting Supported 16:42:58.770 -> Indoor Bike Simulation Parameters Supported 16:42:58.770 -> Wheel Circumference Configuration Supported 16:42:58.770 -> Spin Down Control Supported 16:42:58.770 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:42:59.330 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:42:59.829 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:42:59.829 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:43:00.497 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:43:00.497 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:43:00.842 -> Discovering Client CP Measurement characteristic ... Found it! 16:43:01.310 -> Discovering Client CP Feature characteristic ... Found it! 16:43:01.749 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:43:01.749 -> Wheel revolution data supported 16:43:01.749 -> Crank revolution data supported 16:43:01.749 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:43:02.387 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:43:02.932 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:43:02.932 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:43:03.415 -> Discovering Client CSC Measurement CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:43:03.851 -> Ready to receive Client FTM Control Point Response Messages 16:43:03.851 -> Ready to receive Client FTM Status values 16:43:03.898 -> Found it! 16:43:03.898 -> Discovering Client CSC Feature CHR ... Ready to receive Client FTM Indoor Bike Data values 16:43:03.945 -> Ready to receive Client CP Measurement values 16:43:03.991 -> Ready to receive Client CSC Measurement values 16:43:04.269 -> Found it! 16:43:04.347 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:43:04.347 -> Wheel rev supported 16:43:04.347 -> Crank rev supported 16:43:04.347 -> Discovering Client CSC Location CHR ... Found it! 16:43:04.973 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:43:04.973 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 16:43:05.364 -> Discovering HR Measurement characteristic ... Found it! 16:43:05.785 -> Discovering HR Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 16:43:06.237 -> Found it! 16:43:06.237 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 16:43:06.237 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ]

poll_delay = 300 2eme test

16:44:33.399 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:44:33.399 -> ------------------- Version 03.1 -------------------- 16:44:33.399 -> Discover polling delay setting: [300] 16:44:33.399 -> Setting NRF52840 BLE configuration parameters! 16:44:33.399 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:44:33.802 -> Board name: [Feather nRF52840 Express] 16:44:33.802 -> FTMS and Chars 'initialized' 16:44:33.802 -> CPS and Chars 'initialized' 16:44:33.802 -> CSCS and Chars 'initialized' 16:44:33.802 -> GA and Chars 'initialized' 16:44:33.802 -> DIS and Chars 'initialized' 16:44:33.802 -> HRMS and Chars 'initialized' 16:44:33.802 -> Start Scanning for CPS, CSC and FTMS! 16:44:33.802 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:44:33.802 -> Timestamp MAC Address Rssi Data 16:44:33.802 -> 000001239 F8:9C:FC:53:5E:49 -62 09-02-16-18-26-18-18-18-0A-18 16:44:33.803 -> --------- SoftDevice Config --------- 16:44:33.803 -> Max UUID128 : 10 16:44:33.803 -> ATTR Table Size : 4096 16:44:33.803 -> Service Changed : 1 16:44:33.803 -> Central Connect Setting 16:44:33.803 -> - Max MTU : 23 16:44:33.803 -> - Event Length : 6 16:44:33.803 -> - HVN Queue Size : 2 16:44:33.803 -> - WrCmd Queue Size: 1 16:44:33.803 -> 16:44:33.803 -> --------- BLE Settings --------- 16:44:33.803 -> Name : Feather nRF52840 Express 16:44:33.803 -> Max Connections : Peripheral = 0, Central = 1 16:44:33.803 -> Address : DD:CF:A6:C0:1A:11 (Static) 16:44:33.803 -> TX Power : 4 dBm 16:44:33.803 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 16:44:33.803 -> Conn Timeout : 2000 ms 16:44:33.803 -> Central Paired Devices: 16:44:33.803 -> 16:44:33.803 -> 16:44:33.803 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:44:33.803 -> Now checking all Client Services and Characteristics! 16:44:33.803 -> If Mandatory Services Fail --> the Client will disconnect! 16:44:33.803 -> Checking Generic Access and Device Information! 16:44:34.365 -> Found Client Generic Access 16:44:34.924 -> -> Client Reads Device Name: [Zwift Hub] 16:44:35.468 -> -> Client Reads Appearance: [1152] 16:44:35.888 -> Found Client Device Information 16:44:36.337 -> -> Client Reads Manufacturer: [Zwift] 16:44:36.866 -> -> Client Reads Model Number: [06] 16:44:37.412 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:44:37.412 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 16:44:37.772 -> Discovering Client FTM Control Point Characteristic ... Found it! 16:44:38.347 -> Discovering Client FTM Status Characteristic ... Found it! 16:44:38.982 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 16:44:39.528 -> Discovering Client FTM Feature Characteristic ... Found it! 16:44:40.169 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:44:40.214 -> - Fitness Machine Features: 16:44:40.214 -> Average Speed Supported 16:44:40.214 -> Cadence Supported 16:44:40.214 -> Total Distance Supported 16:44:40.214 -> Resistance Level Supported 16:44:40.214 -> Heart Rate Measurement Supported 16:44:40.214 -> Power Measurement Supported 16:44:40.214 -> - Target Setting Features: 16:44:40.214 -> Resistance Target Setting Supported 16:44:40.214 -> Power Target Setting Supported 16:44:40.214 -> Indoor Bike Simulation Parameters Supported 16:44:40.214 -> Wheel Circumference Configuration Supported 16:44:40.214 -> Spin Down Control Supported 16:44:40.214 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 16:44:40.731 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 16:44:41.185 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:44:41.185 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 16:44:41.775 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 01 00 ] 16:44:41.775 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 16:44:42.132 -> Discovering Client CP Measurement characteristic ... Found it! 16:44:42.848 -> Discovering Client CP Feature characteristic ... Found it! 16:44:43.408 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 16:44:43.408 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 16:44:43.953 -> Discovering Client CP Sensor Location characteristic ... Found it! 16:44:44.419 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 16:44:44.419 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 16:44:44.777 -> Discovering Client CSC Measurement CHR ... Found it! 16:44:45.526 -> Discovering Client CSC Feature CHR ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:44:45.590 -> Ready to receive Client FTM Control Point Response Messages 16:44:45.590 -> Ready to receive Client FTM Status values 16:44:45.716 -> Ready to receive Client FTM Indoor Bike Data values 16:44:45.716 -> >>> Couldn't enable notify for Client CP Measurement Characteristic. 16:44:45.716 -> FTMS (trainer) is controlled by another Client (Training App)! 16:44:45.810 -> Not Found! 16:44:45.810 -> Disconnecting since Client CSC Feature CHR is mandatory! 16:44:45.965 -> Client Disconnected, reason = 0x16 16:44:45.965 -> >>> Restart the Feather nRF52 Client for a new run! <<<

Berg0162 commented 1 year ago

Dear Joel, First of all: my best wishes for 2023! That all your wishes may come true, in happiness and good health!

One of my wishes is to solve this persistent inability in your setup of the present Feather + (Client-)code to simply and consistently discover Services and/or Char's of a peripheral trainer..... That was never ever (!) a big deal with my setup nor with any other of the many Simcline users setups, TACX, Wahoo, Elite and others....! I have to admit that my bag of code tricks is about empty, I have played all my cards, including the joker!

I was able to reproduce the behavior that we see with the runs of the FTMS_Client in your setup! I had placed my fake FTMS Server (on a Feather nRF52840) in the next room about 4 meters away from my FTMS_Client, running on an other Feather board: it still was able to connect (RSSI = -68) but discovering Services on the peripheral/server failed sometimes and also readings delivered zero values instead of the real values that were programmatically set in the server! So I have increased the TxPower(4) in the FTMS_Client code. You will see that value in the present code version (in setup()), that you are running! So I was quite optimistic about the results... It makes sense that when the BLE signal strength is around (above or below) a critical level some of the BLE actions (Discover/Read/NotifyEnable) are successful and others are not in a random pattern! However, I can only increase the signal strength of the Client and Server, but NOT of the trainer. I see RSSI values of around -65 in the above output... Is that at a critical level? Possibly, but it depends of many other factors! It is definitely not a high value, on the contrary!

So you are invited to experiment with and around your physical setup (apply your creativity), run the FTMS_Client code after the setup has changed and look for improvement(s) in the output.... (you know by now what to look for!) Some suggestions that I figured out: Move the Feather closer to the trainer to start with! Get within one meter distance! I have always assumed all the components of your setup are in the same room and closely nearby......is that true? Is a potential active BLE jammer present in the room or nearby? BLE dongle, Router, .... May be passive large metal objects? High power electrical wiring? Elevator shaft nearby? Has the USB port on your PC, that is powering the Feather, enough capacity to drive the Feather (+other components?)? After all the strength of the BLE radio signal is influenced by the supplied power capacity (Watt = Voltage*Current)! Yes it will supply 5V but also the required (milli) Amperes over the USB cable? Use nRF Connect to scan advertising devices (Trainer, BLE Dongle, et cetera) and look for the RSSI values, move around the room and check how these change! Values above -70? Notice that you can check only the FTMS_Server and not the FTMS_Client... What is the RSSI value of the FTMS_Server, measured when you hold nRF Connect close to the trainer? Well I sincerely hope that you can improve the results with some simple adjustments of the present setup! Fingers crossed! Best wishes, Jörgen.

Berg0162 commented 1 year ago

I have uploaded new versions, including a Simcline FTMS version that is up to date with the other version. Best wishes, Jörgen.

Berg0162 commented 1 year ago

Dear Joel, I was busy the last week with exploring the BLE libraries for another board: Adafruit ESP32 Feather V2, a.k.a. Huzzah. I was porting parts of the FTMS_Client and then I came across unsafe use of sizeof() in the original code.... So I corrected the code and uploaded the new versions! Please give it a try! You never know if this is the source of all evil! I hope you have made progress finding an external cause for the persistent unexpected behavior and even if that is not the case I would very much appreciate if you keep me posted of your progress! Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorghen, I did a lot of testing with the version before this one. The results were always random. I checked everything and found nothing. in the meantime I took over a version of the client which was the most stable with a server version and the different motor control because I work with relays because the 2 DVR cards do not work with my motor. I'm nearing the end of assembly. I will try this weekend the version deposited on the github. Have a good evening.

Joel.

le-joebar commented 1 year ago

Hello Jorghen,

Here are 3 test results with FTMS_Client_v033.

They are slightly different but still not 100%.

On the other hand, if you have this service imperative to make a lift that works, I think it works.

13:59:44.231 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 13:59:44.231 -> ------------------- Version 03.3 -------------------- 13:59:44.231 -> Discover polling delay setting: [250] 13:59:44.231 -> Setting NRF52840 BLE configuration parameters! 13:59:44.231 -> Initialise the Bluefruit nRF52 module: Client (Central) 13:59:44.231 -> Board name: [Feather nRF52840 Express] 13:59:44.231 -> FTMS and Chars 'initialized' 13:59:44.231 -> CPS and Chars 'initialized' 13:59:44.231 -> CSCS and Chars 'initialized' 13:59:44.231 -> GA and Chars 'initialized' 13:59:44.231 -> DIS and Chars 'initialized' 13:59:44.231 -> HRMS and Chars 'initialized' 13:59:44.231 -> Start Scanning for CPS, CSC and FTMS! 13:59:44.231 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 13:59:44.231 -> Timestamp MAC Address Rssi Data 13:59:44.231 -> 000000658 F8:9C:FC:53:5E:49 -61 09-02-16-18-26-18-18-18-0A-18 13:59:45.468 -> --------- SoftDevice Config --------- 13:59:45.468 -> Max UUID128 : 3 13:59:45.468 -> ATTR Table Size : 4096 13:59:45.468 -> Service Changed : 1 13:59:45.468 -> Central Connect Setting 13:59:45.468 -> - Max MTU : 23 13:59:45.468 -> - Event Length : 6 13:59:45.468 -> - HVN Queue Size : 2 13:59:45.469 -> - WrCmd Queue Size: 1 13:59:45.469 -> 13:59:45.469 -> 13:59:45.469 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 13:59:45.469 -> Now checking all Client Services and Characteristics! 13:59:45.469 -> If Mandatory Services Fail --> the Client will disconnect! 13:59:45.469 -> Checking Generic Access and Device Information! 13:59:45.707 -> Found Client Generic Access 13:59:45.708 -> -> Client Reads Device Name: [Zwift Hub] 13:59:46.118 -> -> Client Reads Appearance: [1152] 13:59:46.570 -> Found Client Device Information 13:59:47.097 -> -> Client Reads Manufacturer: [Zwift] 13:59:47.515 -> -> Client Reads Model Number: [06] 13:59:47.933 -> -> Client Reads Serial Number: [06-F89CFC535E49] 13:59:47.933 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 13:59:48.684 -> Discovering Client FTM Control Point Characteristic ... Found it! 13:59:49.289 -> Discovering Client FTM Status Characteristic ... Found it! 13:59:49.784 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 13:59:50.190 -> Discovering Client FTM Feature Characteristic ... Found it! 13:59:50.594 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 13:59:50.594 -> - Fitness Machine Features: 13:59:50.594 -> Average Speed Supported 13:59:50.594 -> Cadence Supported 13:59:50.594 -> Total Distance Supported 13:59:50.594 -> Resistance Level Supported 13:59:50.594 -> Heart Rate Measurement Supported 13:59:50.594 -> Power Measurement Supported 13:59:50.594 -> - Target Setting Features: 13:59:50.594 -> Resistance Target Setting Supported 13:59:50.594 -> Power Target Setting Supported 13:59:50.594 -> Indoor Bike Simulation Parameters Supported 13:59:50.594 -> Wheel Circumference Configuration Supported 13:59:50.594 -> Spin Down Control Supported 13:59:50.594 -> Spin Down Control Supported 13:59:50.594 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 13:59:51.230 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 13:59:51.586 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 13:59:51.586 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 13:59:52.049 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 13:59:52.049 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 13:59:52.418 -> Discovering Client CP Measurement characteristic ... Found it! 13:59:52.791 -> Discovering Client CP Feature characteristic ... Found it! 13:59:53.241 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 13:59:53.241 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 13:59:53.876 -> Discovering Client CP Sensor Location characteristic ... Found it! 13:59:54.280 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 13:59:54.280 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 13:59:54.592 -> Discovering Client CSC Measurement CHR ... Found it! 13:59:55.153 -> Discovering Client CSC Feature CHR ... Found it! 13:59:55.512 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 13:59:55.512 -> Wheel rev supported 13:59:55.512 -> Crank rev supported 13:59:55.512 -> Discovering Client CSC Location CHR ... Found it! 13:59:55.977 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 13:59:55.977 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 13:59:56.286 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 13:59:56.675 -> Found it! 13:59:56.675 -> Discovering HR Sensor Location characteristic ... Found it! 13:59:57.268 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 13:59:57.268 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 13:59:57.268 -> Ready to receive Client FTM Control Point Response Messages 13:59:57.268 -> Ready to receive Client FTM Status values 13:59:57.345 -> Ready to receive Client FTM Indoor Bike Data values 13:59:57.391 -> Ready to receive Client CP Measurement values 13:59:57.431 -> Ready to receive Client CSC Measurement values 13:59:57.471 -> Ready to receive Client HR Measurement values 13:59:57.830 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:59:57.830 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:59:57.876 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:59:57.876 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:59:58.575 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 13:59:58.651 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 13:59:58.839 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:59:58.839 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:59:58.839 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:59:58.839 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 13:59:59.874 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 13:59:59.874 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 13:59:59.874 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 13:59:59.874 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 14:00:00.657 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 14:00:00.733 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 07 01 ] 14:00:00.733 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [ 04 ] 14:00:00.811 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

14:11:14.157 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 14:11:14.157 -> ------------------- Version 03.3 -------------------- 14:11:14.157 -> Discover polling delay setting: [250] 14:11:14.157 -> Setting NRF52840 BLE configuration parameters! 14:11:14.157 -> Initialise the Bluefruit nRF52 module: Client (Central) 14:11:14.801 -> Board name: [Feather nRF52840 Express] 14:11:14.801 -> FTMS and Chars 'initialized' 14:11:14.801 -> CPS and Chars 'initialized' 14:11:14.801 -> CSCS and Chars 'initialized' 14:11:14.801 -> GA and Chars 'initialized' 14:11:14.801 -> DIS and Chars 'initialized' 14:11:14.801 -> HRMS and Chars 'initialized' 14:11:14.801 -> Start Scanning for CPS, CSC and FTMS! 14:11:14.801 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 14:11:14.801 -> Timestamp MAC Address Rssi Data 14:11:14.801 -> 000002056 F8:9C:FC:53:5E:49 -65 09-02-16-18-26-18-18-18-0A-18 14:11:14.802 -> --------- SoftDevice Config --------- 14:11:14.802 -> Max UUID128 : 3 14:11:14.802 -> ATTR Table Size : 4096 14:11:14.802 -> Service Changed : 1 14:11:14.802 -> Central Connect Setting 14:11:14.802 -> - Max MTU : 23 14:11:14.802 -> - Event Length : 6 14:11:14.802 -> - HVN Queue Size : 2 14:11:14.802 -> - WrCmd Queue Size: 1 14:11:14.802 -> 14:11:14.802 -> --------- BLE Settings --------- 14:11:14.802 -> Name : Feather nRF52840 Express 14:11:14.802 -> Max Connections : Peripheral = 0, Central = 1 14:11:14.802 -> Address : DD:CF:A6:C0:1A:11 (Static) 14:11:14.802 -> TX Power : 4 dBm 14:11:14.802 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 14:11:14.802 -> Conn Timeout : 2000 ms 14:11:14.802 -> Central Paired Devices: 14:11:14.802 -> 14:11:14.802 -> 14:11:14.802 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 14:11:14.802 -> Now checking all Client Services and Characteristics! 14:11:14.802 -> If Mandatory Services Fail --> the Client will disconnect! 14:11:14.802 -> Checking Generic Access and Device Information! 14:11:15.009 -> Found Client Generic Access 14:11:15.582 -> -> Client Reads Device Name: [Zwift Hub] 14:11:15.951 -> -> Client Reads Appearance: [1152] 14:11:16.369 -> Found Client Device Information 14:11:16.926 -> -> Client Reads Manufacturer: [Zwift] 14:11:17.284 -> -> Client Reads Model Number: [06] 14:11:17.719 -> -> Client Reads Serial Number: [06-F89CFC535E49] 14:11:17.719 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 14:11:18.106 -> Discovering Client FTM Control Point Characteristic ... Found it! 14:11:18.757 -> Discovering Client FTM Status Characteristic ... Found it! 14:11:19.270 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 14:11:19.719 -> Discovering Client FTM Feature Characteristic ... Found it! 14:11:20.279 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 14:11:20.280 -> - Fitness Machine Features: 14:11:20.280 -> - Target Setting Features: 14:11:20.280 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 14:11:20.864 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 14:11:21.222 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 14:11:21.222 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 14:11:21.813 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 14:11:21.813 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 14:11:22.229 -> Discovering Client CP Measurement characteristic ... Found it! 14:11:22.929 -> Discovering Client CP Feature characteristic ... Found it! 14:11:23.331 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 14:11:23.331 -> Wheel revolution data supported 14:11:23.331 -> Crank revolution data supported 14:11:23.331 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 14:11:23.737 -> Discovering Client CP Sensor Location characteristic ... Found it! 14:11:24.228 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 14:11:24.228 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 14:11:24.554 -> Discovering Client CSC Measurement CHR ... Found it! 14:11:24.929 -> Discovering Client CSC Feature CHR ... Found it! 14:11:25.366 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 14:11:25.366 -> Discovering Client CSC Location CHR ... Found it! 14:11:25.769 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 14:11:25.769 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 14:11:26.081 -> Discovering HR Measurement characteristic ... Found it! 14:11:26.423 -> Discovering HR Sensor Location characteristic ... Found it! 14:11:26.827 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 14:11:26.827 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 14:11:26.827 -> Ready to receive Client FTM Control Point Response Messages 14:11:26.827 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 14:11:26.827 -> Ready to receive Client FTM Status values 14:11:26.920 -> Ready to receive Client FTM Indoor Bike Data values 14:11:26.966 -> Ready to receive Client CP Measurement values 14:11:26.998 -> Ready to receive Client CSC Measurement values 14:11:27.043 -> Ready to receive Client HR Measurement values 14:11:27.528 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:11:27.528 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 14:11:27.528 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 14:11:27.528 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 14:11:28.626 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:11:28.626 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 14:11:28.627 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 14:11:28.627 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 14:11:28.844 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 14:11:28.922 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 14:11:29.606 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:11:29.606 -> Heart Beats: 0 HBM (8) Contact is NOT detected!

14:22:53.923 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 14:22:53.923 -> ------------------- Version 03.3 -------------------- 14:22:53.923 -> Discover polling delay setting: [250] 14:22:53.923 -> Setting NRF52840 BLE configuration parameters! 14:22:53.923 -> Initialise the Bluefruit nRF52 module: Client (Central) 14:22:53.923 -> Board name: [Feather nRF52840 Express] 14:22:53.923 -> FTMS and Chars 'initialized' 14:22:53.923 -> CPS and Chars 'initialized' 14:22:53.923 -> CSCS and Chars 'initialized' 14:22:53.923 -> GA and Chars 'initialized' 14:22:53.923 -> DIS and Chars 'initialized' 14:22:53.923 -> HRMS and Chars 'initialized' 14:22:53.923 -> Start Scanning for CPS, CSC and FTMS! 14:22:53.923 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 14:22:53.923 -> Timestamp MAC Address Rssi Data 14:22:53.923 -> 000001375 F8:9C:FC:53:5E:49 -61 09-02-16-18-26-18-18-18-0A-18 14:22:53.924 -> --------- SoftDevice Config --------- 14:22:53.924 -> Max UUID128 : 3 14:22:53.924 -> ATTR Table Size : 4096 14:22:53.924 -> Service Changed : 1 14:22:53.924 -> Central Connect Setting 14:22:53.924 -> - Max MTU : 23 14:22:53.924 -> - Event Length : 6 14:22:53.924 -> - HVN Queue Size : 2 14:22:53.924 -> - WrCmd Queue Size: 1 14:22:53.924 -> 14:22:53.924 -> --------- BLE Settings --------- 14:22:53.924 -> Name : Feather nRF52840 Express 14:22:53.924 -> Max Connections : Peripheral = 0, Central = 1 14:22:53.924 -> Address : DD:CF:A6:C0:1A:11 (Static) 14:22:53.924 -> TX Power : 4 dBm 14:22:53.924 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 14:22:53.924 -> Conn Timeout : 2000 ms 14:22:53.924 -> Central Paired Devices: 14:22:53.924 -> 14:22:53.924 -> 14:22:53.924 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 14:22:53.924 -> Now checking all Client Services and Characteristics! 14:22:53.924 -> If Mandatory Services Fail --> the Client will disconnect! 14:22:53.924 -> Checking Generic Access and Device Information! 14:22:53.948 -> Found Client Generic Access 14:22:54.427 -> -> Client Reads Device Name: [Zwift Hub] 14:22:54.832 -> -> Client Reads Appearance: [0] 14:22:55.156 -> Found Client Device Information 14:22:55.778 -> -> Client Reads Manufacturer: [Zwift] 14:22:56.182 -> -> Client Reads Model Number: [06] 14:22:56.584 -> -> Client Reads Serial Number: [06-F89CFC535E49] 14:22:56.584 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 14:22:57.051 -> Discovering Client FTM Control Point Characteristic ... Found it! 14:22:57.750 -> Discovering Client FTM Status Characteristic ... Found it! 14:22:58.445 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 14:22:59.051 -> Discovering Client FTM Feature Characteristic ... Found it! 14:22:59.423 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 14:22:59.423 -> - Fitness Machine Features: 14:22:59.423 -> Average Speed Supported 14:22:59.423 -> Cadence Supported 14:22:59.423 -> Total Distance Supported 14:22:59.423 -> Resistance Level Supported 14:22:59.423 -> Heart Rate Measurement Supported 14:22:59.423 -> Power Measurement Supported 14:22:59.423 -> - Target Setting Features: 14:22:59.423 -> Resistance Target Setting Supported 14:22:59.423 -> Power Target Setting Supported 14:22:59.423 -> Indoor Bike Simulation Parameters Supported 14:22:59.423 -> Wheel Circumference Configuration Supported 14:22:59.423 -> Spin Down Control Supported 14:22:59.423 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 14:22:59.919 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 14:23:00.321 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 14:23:00.321 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 14:23:01.006 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 14:23:01.006 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 14:23:01.522 -> Discovering Client CP Measurement characteristic ... Found it! 14:23:01.913 -> Discovering Client CP Feature characteristic ... Found it! 14:23:02.363 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 14:23:02.363 -> Wheel revolution data supported 14:23:02.363 -> Crank revolution data supported 14:23:02.363 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 14:23:02.862 -> Discovering Client CP Sensor Location characteristic ... Found it! 14:23:03.285 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 14:23:03.285 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 14:23:03.661 -> Discovering Client CSC Measurement CHR ... Found it! 14:23:04.265 -> Discovering Client CSC Feature CHR ... Found it! 14:23:04.762 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 14:23:04.762 -> Wheel rev supported 14:23:04.762 -> Crank rev supported 14:23:04.762 -> Discovering Client CSC Location CHR ... Found it! 14:23:05.254 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 14:23:05.254 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 14:23:05.562 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 14:23:06.057 -> Found it! 14:23:06.057 -> Discovering HR Sensor Location characteristic ... Found it! 14:23:06.445 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 14:23:06.445 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 14:23:06.445 -> Ready to receive Client FTM Control Point Response Messages 14:23:06.445 -> Ready to receive Client FTM Status values 14:23:06.485 -> Ready to receive Client FTM Indoor Bike Data values 14:23:06.522 -> Ready to receive Client CP Measurement values 14:23:06.566 -> Ready to receive Client CSC Measurement values 14:23:06.600 -> Ready to receive Client HR Measurement values 14:23:07.217 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:23:07.217 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 14:23:07.217 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 14:23:07.217 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 14:23:07.664 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 14:23:07.789 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 14:23:08.253 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:23:08.253 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 14:23:08.253 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 14:23:08.253 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 14:23:09.220 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:23:09.220 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 14:23:09.220 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 14:23:09.220 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 14:23:09.778 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 14:23:09.848 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 07 01 ] 14:23:09.848 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [ 04 ] 14:23:10.274 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 14:23:10.274 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 14:23:10.274 -> -> Client Rec'd Raw FTM Indoor Bike Data: [20] [ FE 02 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 ] 14:23:10.274 -> Instant. Speed: 0 KPH Average Speed: 0 KPH Instantaneous Cadence: 0 RPM Average Cadence: 0 RPM Total Distance: 0 m Resistance Level: 20 Instantaneous Power: 0 Watt Average Power: 0 Watt Heart Rate: 0 HBM 14:23:11.206 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

Berg0162 commented 1 year ago

Dear Joel, The good news is that in the 3 runs no (more) problems occur during Service or Char detection, these discoveries all succeed! Unfortunately sometimes a Client read action does not deliver the value that we expect...???? In the Client version 3.4 I have inserted another delay after every Char discovery directly followed by a read action. Experimentally the value is set to 50 ms being a value that I came across with ESP32 BLE libraries and stack congestion issues... Just a wild guess, since this is a nRF52 processor! So please give it a try and set poll_delay to 250 ms, since that is working and see what happens with the second delay when it is set to 50 ms..... Fingers crossed! Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorghen,

Here are the results with the FTMS Client V3.4

The best results are with 250 ms and 100 ms.

17:00:10.598 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:00:10.598 -> ------------------- Version 03.4 -------------------- 17:00:10.598 -> Poll and fetch delay settings: [250]ms [50]ms 17:00:10.598 -> Setting NRF52840 BLE configuration parameters! 17:00:10.598 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:00:10.598 -> Board name: [Feather nRF52840 Express] 17:00:10.598 -> FTMS and Chars 'initialized' 17:00:10.598 -> CPS and Chars 'initialized' 17:00:10.598 -> CSCS and Chars 'initialized' 17:00:10.598 -> GA and Chars 'initialized' 17:00:10.598 -> DIS and Chars 'initialized' 17:00:10.598 -> HRMS and Chars 'initialized' 17:00:10.598 -> Start Scanning for CPS, CSC and FTMS! 17:00:10.598 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:00:10.598 -> Timestamp MAC Address Rssi Data 17:00:10.598 -> 000000642 F8:9C:FC:53:5E:49 -58 09-02-16-18-26-18-18-18-0A-18 17:00:10.598 -> --------- SoftDevice Config --------- 17:00:10.598 -> Max UUID128 : 3 17:00:10.598 -> ATTR Table Size : 4096 17:00:10.598 -> Service Changed : 1 17:00:10.598 -> Central Connect Setting 17:00:10.598 -> - Max MTU : 23 17:00:10.598 -> - Event Length : 6 17:00:10.598 -> - HVN Queue Size : 2 17:00:10.598 -> - WrCmd Queue Size: 1 17:00:10.598 -> 17:00:10.598 -> --------- BLE Settings --------- 17:00:10.598 -> Name : Feather nRF52840 Express 17:00:10.598 -> Max Connections : Peripheral = 0, Central = 1 17:00:10.598 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:00:10.598 -> TX Power : 4 dBm 17:00:10.598 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:00:10.598 -> Conn Timeout : 2000 ms 17:00:10.598 -> Central Paired Devices: 17:00:10.598 -> 17:00:10.598 -> 17:00:10.598 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:00:10.598 -> Now checking all Client Services and Characteristics! 17:00:10.598 -> If Mandatory Services Fail --> the Client will disconnect! 17:00:10.598 -> Checking Generic Access and Device Information! 17:00:11.069 -> Found Client Generic Access 17:00:11.300 -> -> Client Reads Device Name: [Zwift Hub] 17:00:11.474 -> -> Client Reads Appearance: [0] 17:00:11.706 -> Not Found Client Device Information! 17:00:11.706 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:00:12.031 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:00:12.525 -> Discovering Client FTM Status Characteristic ... Found it! 17:00:13.251 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:00:13.714 -> Discovering Client FTM Feature Characteristic ... Found it! 17:00:14.132 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:00:14.132 -> - Fitness Machine Features: 17:00:14.132 -> - Target Setting Features: 17:00:14.132 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:00:14.409 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:00:14.829 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:00:14.829 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:00:15.371 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:00:15.371 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:00:15.743 -> Discovering Client CP Measurement characteristic ... Found it! 17:00:16.207 -> Discovering Client CP Feature characteristic ... Found it! 17:00:16.691 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:00:16.691 -> Wheel revolution data supported 17:00:16.691 -> Crank revolution data supported 17:00:16.691 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:00:17.081 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:00:17.516 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:00:17.516 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:00:17.827 -> Discovering Client CSC Measurement CHR ... Found it! 17:00:18.369 -> Discovering Client CSC Feature CHR ... Found it! 17:00:18.820 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:00:18.820 -> Discovering Client CSC Location CHR ... Found it! 17:00:19.286 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:00:19.286 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:00:19.610 -> Discovering HR Measurement characteristic ... Found it! 17:00:20.059 -> Discovering HR Sensor Location characteristic ... Found it! 17:00:20.509 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:00:20.509 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:00:20.509 -> Ready to receive Client FTM Control Point Response Messages 17:00:20.541 -> Ready to receive Client FTM Status values 17:00:20.586 -> Ready to receive Client FTM Indoor Bike Data values 17:00:20.633 -> Ready to receive Client CP Measurement values 17:00:20.679 -> Ready to receive Client CSC Measurement values 17:00:20.726 -> Ready to receive Client HR Measurement values 17:00:21.287 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:00:21.287 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:00:21.287 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:00:21.287 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:00:22.326 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:00:22.326 -> Heart Beats: 0 HBM (8) Contact is NOT detected!

17:02:08.844 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:02:08.844 -> ------------------- Version 03.4 -------------------- 17:02:08.844 -> Poll and fetch delay settings: [300]ms [75]ms 17:02:09.202 -> Setting NRF52840 BLE configuration parameters! 17:02:09.202 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:02:09.845 -> Board name: [Feather nRF52840 Express] 17:02:09.845 -> FTMS and Chars 'initialized' 17:02:09.845 -> CPS and Chars 'initialized' 17:02:09.845 -> CSCS and Chars 'initialized' 17:02:09.845 -> GA and Chars 'initialized' 17:02:09.845 -> DIS and Chars 'initialized' 17:02:09.845 -> HRMS and Chars 'initialized' 17:02:09.845 -> Start Scanning for CPS, CSC and FTMS! 17:02:09.845 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:02:09.845 -> Timestamp MAC Address Rssi Data 17:02:09.845 -> 000000633 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:02:10.531 -> --------- SoftDevice Config --------- 17:02:10.531 -> Max UUID128 : 3 17:02:10.531 -> ATTR Table Size : 4096 17:02:10.531 -> Service Changed : 1 17:02:10.531 -> Central Connect Setting 17:02:10.531 -> - Max MTU : 23 17:02:10.531 -> - Event Length : 6 17:02:10.531 -> - HVN Queue Size : 2 17:02:10.531 -> - WrCmd Queue Size: 1 17:02:10.531 -> 17:02:10.531 -> --------- BLE Settings --------- 17:02:10.531 -> Name : Feather nRF52840 Express 17:02:10.531 -> Max Connections : Peripheral = 0, Central = 1 17:02:10.531 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:02:10.531 -> TX Power : 4 dBm 17:02:10.531 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:02:10.531 -> Conn Timeout : 2000 ms 17:02:10.531 -> Central Paired Devices: 17:02:10.531 -> 17:02:10.531 -> 17:02:10.531 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:02:10.531 -> Now checking all Client Services and Characteristics! 17:02:10.531 -> If Mandatory Services Fail --> the Client will disconnect! 17:02:10.531 -> Checking Generic Access and Device Information! 17:02:10.550 -> Found Client Generic Access 17:02:10.550 -> -> Client Reads Device Name: [Zwift Hub] 17:02:11.084 -> -> Client Reads Appearance: [1152] 17:02:11.690 -> Found Client Device Information 17:02:12.231 -> -> Client Reads Manufacturer: [Zwift] 17:02:12.726 -> -> Client Reads Model Number: [06] 17:02:13.326 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:02:13.327 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:02:13.761 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:02:14.301 -> Discovering Client FTM Status Characteristic ... Found it! 17:02:15.232 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:02:15.831 -> Discovering Client FTM Feature Characteristic ... Found it! 17:02:16.388 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:02:16.388 -> - Fitness Machine Features: 17:02:16.388 -> Average Speed Supported 17:02:16.388 -> Cadence Supported 17:02:16.388 -> Total Distance Supported 17:02:16.388 -> Resistance Level Supported 17:02:16.388 -> Heart Rate Measurement Supported 17:02:16.388 -> Power Measurement Supported 17:02:16.388 -> Spin Down Control Supported 17:02:16.388 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:02:17.103 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:02:17.630 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:02:17.630 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:02:18.269 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:02:18.269 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:02:18.615 -> Discovering Client CP Measurement characteristic ... Found it! 17:02:19.220 -> Discovering Client CP Feature characteristic ... Found it! 17:02:19.887 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:02:19.887 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:02:20.352 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:02:21.079 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:02:21.079 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:02:21.437 -> Discovering Client CSC Measurement CHR ... Found it! 17:02:21.902 -> Discovering Client CSC Feature CHR ... Found it! 17:02:22.446 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:02:22.446 -> Wheel rev supported 17:02:22.446 -> Crank rev supported 17:02:22.446 -> Discovering Client CSC Location CHR ... Found it! 17:02:22.959 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:02:22.959 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:02:23.622 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:24.371 -> Found it! 17:02:24.371 -> Discovering HR Sensor Location characteristic ... Found it! 17:02:24.987 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:02:24.987 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:02:24.987 -> Ready to receive Client FTM Control Point Response Messages 17:02:25.022 -> Ready to receive Client FTM Status values 17:02:25.054 -> Ready to receive Client FTM Indoor Bike Data values 17:02:25.100 -> Ready to receive Client CP Measurement values 17:02:25.146 -> Ready to receive Client CSC Measurement values 17:02:25.192 -> Ready to receive Client HR Measurement values 17:02:25.504 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:02:25.504 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:02:25.504 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:02:25.504 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:02:26.067 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:26.159 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 17:02:26.285 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:02:26.285 -> Heart Beats: 0 HBM (8) Contact is NOT detected!

17:08:12.160 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:08:12.160 -> ------------------- Version 03.4 -------------------- 17:08:12.160 -> Poll and fetch delay settings: [300]ms [75]ms 17:08:12.160 -> Setting NRF52840 BLE configuration parameters! 17:08:12.160 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:08:12.160 -> Board name: [Feather nRF52840 Express] 17:08:12.160 -> FTMS and Chars 'initialized' 17:08:12.160 -> CPS and Chars 'initialized' 17:08:12.160 -> CSCS and Chars 'initialized' 17:08:12.160 -> GA and Chars 'initialized' 17:08:12.160 -> DIS and Chars 'initialized' 17:08:12.160 -> HRMS and Chars 'initialized' 17:08:12.160 -> Start Scanning for CPS, CSC and FTMS! 17:08:12.160 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:08:12.160 -> Timestamp MAC Address Rssi Data 17:08:12.160 -> 000000652 F8:9C:FC:53:5E:49 -54 09-02-16-18-26-18-18-18-0A-18 17:08:12.636 -> --------- SoftDevice Config --------- 17:08:12.636 -> Max UUID128 : 3 17:08:12.636 -> ATTR Table Size : 4096 17:08:12.636 -> Service Changed : 1 17:08:12.636 -> Central Connect Setting 17:08:12.636 -> - Max MTU : 23 17:08:12.636 -> - Event Length : 6 17:08:12.636 -> - HVN Queue Size : 2 17:08:12.636 -> - WrCmd Queue Size: 1 17:08:12.636 -> 17:08:12.636 -> --------- BLE Settings --------- 17:08:12.636 -> Name : Feather nRF52840 Express 17:08:12.636 -> Max Connections : Peripheral = 0, Central = 1 17:08:12.636 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:08:12.636 -> TX Power : 4 dBm 17:08:12.636 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:08:12.636 -> Conn Timeout : 2000 ms 17:08:12.636 -> Central Paired Devices: 17:08:12.636 -> 17:08:12.636 -> 17:08:12.636 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:08:12.636 -> Now checking all Client Services and Characteristics! 17:08:12.636 -> If Mandatory Services Fail --> the Client will disconnect! 17:08:12.636 -> Checking Generic Access and Device Information! 17:08:12.904 -> Found Client Generic Access 17:08:13.027 -> -> Client Reads Device Name: [Zwift Hub] 17:08:13.449 -> -> Client Reads Appearance: [0] 17:08:13.913 -> Found Client Device Information 17:08:14.395 -> -> Client Reads Manufacturer: [Zwift] 17:08:14.937 -> -> Client Reads Model Number: [06] 17:08:15.678 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:08:15.678 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:08:16.079 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:08:16.684 -> Discovering Client FTM Status Characteristic ... Found it! 17:08:17.271 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:08:17.719 -> Discovering Client FTM Feature Characteristic ... Found it! 17:08:18.216 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:08:18.216 -> - Fitness Machine Features: 17:08:18.216 -> Average Speed Supported 17:08:18.216 -> Cadence Supported 17:08:18.216 -> Total Distance Supported 17:08:18.216 -> Resistance Level Supported 17:08:18.216 -> Heart Rate Measurement Supported 17:08:18.216 -> Power Measurement Supported 17:08:18.216 -> - Target Setting Features: 17:08:18.216 -> Resistance Target Setting Supported 17:08:18.216 -> Power Target Setting Supported 17:08:18.216 -> Indoor Bike Simulation Parameters Supported 17:08:18.216 -> Wheel Circumference Configuration Supported 17:08:18.216 -> Spin Down Control Supported 17:08:18.216 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:08:18.776 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:08:19.385 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:08:19.385 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:08:20.005 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:08:20.005 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:08:20.347 -> Discovering Client CP Measurement characteristic ... Found it! 17:08:20.858 -> Discovering Client CP Feature characteristic ... Found it! 17:08:21.573 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:08:21.573 -> Wheel revolution data supported 17:08:21.573 -> Crank revolution data supported 17:08:21.573 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:08:22.209 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:08:22.890 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:08:22.890 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:08:23.356 -> Discovering Client CSC Measurement CHR ... Found it! 17:08:24.175 -> Discovering Client CSC Feature CHR ... Found it! 17:08:24.765 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:08:24.765 -> Wheel rev supported 17:08:24.765 -> Crank rev supported 17:08:24.765 -> Discovering Client CSC Location CHR ... Found it! 17:08:25.233 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:08:25.233 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:08:25.639 -> Discovering HR Measurement characteristic ... Found it! 17:08:26.107 -> Discovering HR Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:08:26.754 -> Found it! 17:08:26.754 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:08:26.754 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:08:26.754 -> Ready to receive Client FTM Control Point Response Messages 17:08:26.791 -> Ready to receive Client FTM Status values 17:08:26.837 -> Ready to receive Client FTM Indoor Bike Data values 17:08:26.874 -> Ready to receive Client CP Measurement values 17:08:26.919 -> Ready to receive Client CSC Measurement values 17:08:26.962 -> Ready to receive Client HR Measurement values 17:08:27.338 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:08:27.338 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:08:27.338 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:08:27.338 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM

17:14:18.436 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:14:18.436 -> ------------------- Version 03.4 -------------------- 17:14:18.436 -> Poll and fetch delay settings: [250]ms [100]ms 17:14:18.436 -> Setting NRF52840 BLE configuration parameters! 17:14:18.436 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:14:19.491 -> Board name: [Feather nRF52840 Express] 17:14:19.491 -> FTMS and Chars 'initialized' 17:14:19.491 -> CPS and Chars 'initialized' 17:14:19.491 -> CSCS and Chars 'initialized' 17:14:19.491 -> GA and Chars 'initialized' 17:14:19.491 -> DIS and Chars 'initialized' 17:14:19.491 -> HRMS and Chars 'initialized' 17:14:19.491 -> Start Scanning for CPS, CSC and FTMS! 17:14:19.491 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:14:19.491 -> Timestamp MAC Address Rssi Data 17:14:19.491 -> 000001312 F8:9C:FC:53:5E:49 -57 09-02-16-18-26-18-18-18-0A-18 17:14:19.491 -> --------- SoftDevice Config --------- 17:14:19.491 -> Max UUID128 : 3 17:14:19.491 -> ATTR Table Size : 4096 17:14:19.491 -> Service Changed : 1 17:14:19.491 -> Central Connect Setting 17:14:19.491 -> - Max MTU : 23 17:14:19.491 -> - Event Length : 6 17:14:19.491 -> - HVN Queue Size : 2 17:14:19.491 -> - WrCmd Queue Size: 1 17:14:19.491 -> 17:14:19.491 -> --------- BLE Settings --------- 17:14:19.491 -> Name : Feather nRF52840 Express 17:14:19.491 -> Max Connections : Peripheral = 0, Central = 1 17:14:19.491 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:14:19.491 -> TX Power : 4 dBm 17:14:19.491 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:14:19.491 -> Conn Timeout : 2000 ms 17:14:19.491 -> Central Paired Devices: 17:14:19.491 -> 17:14:19.491 -> 17:14:19.491 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:14:19.491 -> Now checking all Client Services and Characteristics! 17:14:19.491 -> If Mandatory Services Fail --> the Client will disconnect! 17:14:19.491 -> Checking Generic Access and Device Information! 17:14:19.491 -> Found Client Generic Access 17:14:20.006 -> -> Client Reads Device Name: [Zwift Hub] 17:14:20.731 -> -> Client Reads Appearance: [1152] 17:14:21.148 -> Found Client Device Information 17:14:21.517 -> -> Client Reads Manufacturer: [Zwift] 17:14:22.103 -> -> Client Reads Model Number: [06] 17:14:22.707 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:14:22.707 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:14:23.308 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:14:23.976 -> Discovering Client FTM Status Characteristic ... Found it! 17:14:24.534 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:14:24.889 -> Discovering Client FTM Feature Characteristic ... Found it! 17:14:25.479 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:14:25.479 -> - Fitness Machine Features: 17:14:25.479 -> Average Speed Supported 17:14:25.479 -> Cadence Supported 17:14:25.479 -> Total Distance Supported 17:14:25.479 -> Resistance Level Supported 17:14:25.479 -> Heart Rate Measurement Supported 17:14:25.479 -> Power Measurement Supported 17:14:25.479 -> - Target Setting Features: 17:14:25.479 -> Resistance Target Setting Supported 17:14:25.479 -> Power Target Setting Supported 17:14:25.479 -> Indoor Bike Simulation Parameters Supported 17:14:25.479 -> Wheel Circumference Configuration Supported 17:14:25.479 -> Spin Down Control Supported 17:14:25.479 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:14:26.058 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:14:26.553 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:14:26.553 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:14:27.188 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:14:27.188 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:14:27.544 -> Discovering Client CP Measurement characteristic ... Found it! 17:14:27.946 -> Discovering Client CP Feature characteristic ... Found it! 17:14:28.504 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:14:28.504 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:14:29.093 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:14:29.590 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:14:29.590 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:14:29.869 -> Discovering Client CSC Measurement CHR ... Found it! 17:14:30.426 -> Discovering Client CSC Feature CHR ... Found it! 17:14:30.936 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:14:30.936 -> Discovering Client CSC Location CHR ... Found it! 17:14:31.434 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:14:31.434 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:14:31.792 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:14:32.443 -> Found it! 17:14:32.443 -> Discovering HR Sensor Location characteristic ... Found it! 17:14:32.990 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:14:32.990 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:14:32.990 -> Ready to receive Client FTM Control Point Response Messages 17:14:33.025 -> Ready to receive Client FTM Status values 17:14:33.103 -> Ready to receive Client FTM Indoor Bike Data values 17:14:33.149 -> Ready to receive Client CP Measurement values 17:14:33.190 -> Ready to receive Client CSC Measurement values 17:14:33.228 -> Ready to receive Client HR Measurement values 17:14:33.275 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:14:33.275 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:14:34.270 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

17:24:20.895 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:24:20.895 -> ------------------- Version 03.4 -------------------- 17:24:20.895 -> Poll and fetch delay settings: [250]ms [100]ms 17:24:20.895 -> Setting NRF52840 BLE configuration parameters! 17:24:20.895 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:24:20.895 -> Board name: [Feather nRF52840 Express] 17:24:20.895 -> FTMS and Chars 'initialized' 17:24:20.895 -> CPS and Chars 'initialized' 17:24:20.895 -> CSCS and Chars 'initialized' 17:24:20.895 -> GA and Chars 'initialized' 17:24:20.895 -> DIS and Chars 'initialized' 17:24:20.895 -> HRMS and Chars 'initialized' 17:24:20.895 -> Start Scanning for CPS, CSC and FTMS! 17:24:20.895 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:24:20.895 -> Timestamp MAC Address Rssi Data 17:24:20.895 -> 000000731 F8:9C:FC:53:5E:49 -56 09-02-16-18-26-18-18-18-0A-18 17:24:21.398 -> --------- SoftDevice Config --------- 17:24:21.398 -> Max UUID128 : 3 17:24:21.398 -> ATTR Table Size : 4096 17:24:21.398 -> Service Changed : 1 17:24:21.398 -> Central Connect Setting 17:24:21.398 -> - Max MTU : 23 17:24:21.398 -> - Event Length : 6 17:24:21.398 -> - HVN Queue Size : 2 17:24:21.399 -> - WrCmd Queue Size: 1 17:24:21.399 -> 17:24:21.399 -> --------- BLE Settings --------- 17:24:21.399 -> Name : Feather nRF52840 Express 17:24:21.399 -> Max Connections : Peripheral = 0, Central = 1 17:24:21.399 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:24:21.399 -> TX Power : 4 dBm 17:24:21.399 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:24:21.399 -> Conn Timeout : 2000 ms 17:24:21.399 -> Central Paired Devices: 17:24:21.399 -> 17:24:21.399 -> 17:24:21.399 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:24:21.399 -> Now checking all Client Services and Characteristics! 17:24:21.399 -> If Mandatory Services Fail --> the Client will disconnect! 17:24:21.399 -> Checking Generic Access and Device Information! 17:24:21.846 -> Found Client Generic Access 17:24:22.068 -> -> Client Reads Device Name: [Zwift Hub] 17:24:22.693 -> -> Client Reads Appearance: [1152] 17:24:23.003 -> Found Client Device Information 17:24:23.438 -> -> Client Reads Manufacturer: [Zwift] 17:24:23.935 -> -> Client Reads Model Number: [06] 17:24:24.494 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:24:24.494 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:24:24.822 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:24:25.411 -> Discovering Client FTM Status Characteristic ... Found it! 17:24:26.019 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:24:26.470 -> Discovering Client FTM Feature Characteristic ... Found it! 17:24:27.178 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:24:27.178 -> - Fitness Machine Features: 17:24:27.178 -> - Target Setting Features: 17:24:27.178 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:24:27.878 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:24:28.655 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:24:28.655 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:24:29.355 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:24:29.355 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:24:29.680 -> Discovering Client CP Measurement characteristic ... Found it! 17:24:30.036 -> Discovering Client CP Feature characteristic ... Found it! 17:24:30.626 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:24:30.626 -> Wheel revolution data supported 17:24:30.626 -> Crank revolution data supported 17:24:30.626 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:24:31.076 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:24:31.729 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:24:31.729 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:24:32.055 -> Discovering Client CSC Measurement CHR ... Found it! 17:24:32.473 -> Discovering Client CSC Feature CHR ... Found it! 17:24:33.109 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:24:33.109 -> Wheel rev supported 17:24:33.109 -> Crank rev supported 17:24:33.109 -> Discovering Client CSC Location CHR ... Found it! 17:24:33.775 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:24:33.775 -> Discovering Heart Rate Measurement (HR) Service ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:24:34.441 -> Found it! HRMS Max Payload: 20 Data Length: 27 17:24:34.441 -> Discovering HR Measurement characteristic ... Found it! 17:24:35.123 -> Discovering HR Sensor Location characteristic ... Found it! 17:24:35.633 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 17:24:35.633 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:24:35.633 -> Ready to receive Client FTM Control Point Response Messages 17:24:35.676 -> Ready to receive Client FTM Status values 17:24:35.712 -> Ready to receive Client FTM Indoor Bike Data values 17:24:35.756 -> Ready to receive Client CP Measurement values 17:24:35.789 -> Ready to receive Client CSC Measurement values 17:24:35.835 -> Ready to receive Client HR Measurement values 17:24:36.272 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:24:36.304 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:24:36.304 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:24:36.304 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:24:36.304 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:24:36.304 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 17:24:37.639 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

17:31:11.499 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:31:11.499 -> ------------------- Version 03.4 -------------------- 17:31:11.499 -> Poll and fetch delay settings: [250]ms [100]ms 17:31:11.499 -> Setting NRF52840 BLE configuration parameters! 17:31:11.499 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:31:11.499 -> Board name: [Feather nRF52840 Express] 17:31:11.499 -> FTMS and Chars 'initialized' 17:31:11.499 -> CPS and Chars 'initialized' 17:31:11.499 -> CSCS and Chars 'initialized' 17:31:11.499 -> GA and Chars 'initialized' 17:31:11.499 -> DIS and Chars 'initialized' 17:31:11.499 -> HRMS and Chars 'initialized' 17:31:11.499 -> Start Scanning for CPS, CSC and FTMS! 17:31:12.636 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:31:12.636 -> Timestamp MAC Address Rssi Data 17:31:12.636 -> 000003058 F8:9C:FC:53:5E:49 -54 09-02-16-18-26-18-18-18-0A-18 17:31:12.854 -> --------- SoftDevice Config --------- 17:31:12.854 -> Max UUID128 : 3 17:31:12.854 -> ATTR Table Size : 4096 17:31:12.854 -> Service Changed : 1 17:31:12.854 -> Central Connect Setting 17:31:12.854 -> - Max MTU : 23 17:31:12.854 -> - Event Length : 6 17:31:12.854 -> - HVN Queue Size : 2 17:31:12.854 -> - WrCmd Queue Size: 1 17:31:12.854 -> 17:31:12.854 -> --------- BLE Settings --------- 17:31:12.854 -> Name : Feather nRF52840 Express 17:31:12.854 -> Max Connections : Peripheral = 0, Central = 1 17:31:12.854 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:31:12.854 -> TX Power : 4 dBm 17:31:12.854 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:31:12.854 -> Conn Timeout : 2000 ms 17:31:12.854 -> Central Paired Devices: 17:31:12.854 -> 17:31:12.854 -> 17:31:12.854 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:31:12.854 -> Now checking all Client Services and Characteristics! 17:31:12.854 -> If Mandatory Services Fail --> the Client will disconnect! 17:31:12.854 -> Checking Generic Access and Device Information! 17:31:13.411 -> Found Client Generic Access 17:31:13.907 -> -> Client Reads Device Name: [Zwift Hub] 17:31:14.389 -> -> Client Reads Appearance: [1152] 17:31:14.761 -> Found Client Device Information 17:31:15.164 -> -> Client Reads Manufacturer: [Zwift] 17:31:16.252 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:31:16.252 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:31:16.577 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:31:17.305 -> Discovering Client FTM Status Characteristic ... Found it! 17:31:17.985 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:31:18.543 -> Discovering Client FTM Feature Characteristic ... Found it! 17:31:19.006 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:31:19.006 -> - Fitness Machine Features: 17:31:19.006 -> Average Speed Supported 17:31:19.006 -> Cadence Supported 17:31:19.006 -> Total Distance Supported 17:31:19.006 -> Resistance Level Supported 17:31:19.006 -> Heart Rate Measurement Supported 17:31:19.006 -> Power Measurement Supported 17:31:19.006 -> - Target Setting Features: 17:31:19.006 -> Resistance Target Setting Supported 17:31:19.006 -> Power Target Setting Supported 17:31:19.006 -> Indoor Bike Simulation Parameters Supported 17:31:19.006 -> Wheel Circumference Configuration Supported 17:31:19.006 -> Spin Down Control Supported 17:31:19.006 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:31:19.504 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:31:20.143 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:31:20.143 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:31:20.824 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:31:20.824 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:31:21.196 -> Discovering Client CP Measurement characteristic ... Found it! 17:31:21.833 -> Discovering Client CP Feature characteristic ... Found it! 17:31:22.315 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:31:22.315 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:31:22.797 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:31:23.462 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:31:23.462 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:31:23.774 -> Discovering Client CSC Measurement CHR ... Found it! 17:31:24.194 -> Discovering Client CSC Feature CHR ... Found it! 17:31:24.648 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:31:24.648 -> Wheel rev supported 17:31:24.648 -> Crank rev supported 17:31:24.648 -> Discovering Client CSC Location CHR ... Found it! 17:31:25.270 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:31:25.270 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:31:25.548 -> Discovering HR Measurement characteristic ... Found it! 17:31:25.952 -> Discovering HR Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:31:26.480 -> Found it! 17:31:26.480 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:31:26.480 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:31:26.480 -> Ready to receive Client FTM Control Point Response Messages 17:31:26.511 -> Ready to receive Client FTM Status values 17:31:26.630 -> Ready to receive Client FTM Indoor Bike Data values 17:31:26.668 -> Ready to receive Client CP Measurement values 17:31:26.700 -> Ready to receive Client CSC Measurement values 17:31:26.746 -> Ready to receive Client HR Measurement values 17:31:27.288 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:31:27.288 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:31:27.288 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:31:27.288 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:31:28.296 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

17:35:29.097 -> Poll and fetch delay settings: [250]ms [100]ms 17:35:29.097 -> Setting NRF52840 BLE configuration parameters! 17:35:29.097 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:35:29.097 -> Board name: [Feather nRF52840 Express] 17:35:29.097 -> FTMS and Chars 'initialized' 17:35:29.097 -> CPS and Chars 'initialized' 17:35:29.097 -> CSCS and Chars 'initialized' 17:35:29.097 -> GA and Chars 'initialized' 17:35:29.097 -> DIS and Chars 'initialized' 17:35:29.097 -> HRMS and Chars 'initialized' 17:35:29.097 -> Start Scanning for CPS, CSC and FTMS! 17:35:29.123 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:35:29.123 -> Timestamp MAC Address Rssi Data 17:35:29.123 -> 000001693 F8:9C:FC:53:5E:49 -55 09-02-16-18-26-18-18-18-0A-18 17:35:29.213 -> --------- SoftDevice Config --------- 17:35:29.213 -> Max UUID128 : 3 17:35:29.213 -> ATTR Table Size : 4096 17:35:29.213 -> Service Changed : 1 17:35:29.213 -> Central Connect Setting 17:35:29.213 -> - Max MTU : 23 17:35:29.213 -> - Event Length : 6 17:35:29.213 -> - HVN Queue Size : 2 17:35:29.213 -> - WrCmd Queue Size: 1 17:35:29.213 -> 17:35:29.213 -> --------- BLE Settings --------- 17:35:29.213 -> Name : Feather nRF52840 Express 17:35:29.213 -> Max Connections : Peripheral = 0, Central = 1 17:35:29.213 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:35:29.213 -> TX Power : 4 dBm 17:35:29.213 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:35:29.213 -> Conn Timeout : 2000 ms 17:35:29.213 -> Central Paired Devices: 17:35:29.213 -> 17:35:29.213 -> 17:35:29.213 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:35:29.213 -> Now checking all Client Services and Characteristics! 17:35:29.213 -> If Mandatory Services Fail --> the Client will disconnect! 17:35:29.213 -> Checking Generic Access and Device Information! 17:35:29.846 -> Found Client Generic Access 17:35:30.620 -> -> Client Reads Device Name: [Zwift Hub] 17:35:31.116 -> -> Client Reads Appearance: [1152] 17:35:31.396 -> Found Client Device Information 17:35:31.875 -> -> Client Reads Manufacturer: [Zwift] 17:35:32.431 -> -> Client Reads Model Number: [06] 17:35:33.039 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:35:33.647 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:35:34.362 -> Discovering Client FTM Status Characteristic ... Found it! 17:35:35.002 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:35:35.467 -> Discovering Client FTM Feature Characteristic ... Found it! 17:35:35.905 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:35:35.905 -> - Fitness Machine Features: 17:35:35.905 -> Average Speed Supported 17:35:35.905 -> Cadence Supported 17:35:35.905 -> Total Distance Supported 17:35:35.905 -> Resistance Level Supported 17:35:35.905 -> Heart Rate Measurement Supported 17:35:35.905 -> Power Measurement Supported 17:35:35.905 -> - Target Setting Features: 17:35:35.905 -> Resistance Target Setting Supported 17:35:35.905 -> Power Target Setting Supported 17:35:35.905 -> Indoor Bike Simulation Parameters Supported 17:35:35.905 -> Wheel Circumference Configuration Supported 17:35:35.905 -> Spin Down Control Supported 17:35:35.905 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:35:36.540 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:35:37.159 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:35:37.159 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:35:37.798 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:35:37.799 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:35:38.096 -> Discovering Client CP Measurement characteristic ... Found it! 17:35:38.528 -> Discovering Client CP Feature characteristic ... Found it! 17:35:39.072 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:35:39.072 -> Wheel revolution data supported 17:35:39.072 -> Crank revolution data supported 17:35:39.072 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:35:39.432 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:35:39.863 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:35:39.863 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:35:40.390 -> Discovering Client CSC Measurement CHR ... Found it! 17:35:41.013 -> Discovering Client CSC Feature CHR ... Found it! 17:35:41.557 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:35:41.557 -> Discovering Client CSC Location CHR ... Found it! 17:35:42.128 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:35:42.128 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:35:42.500 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:35:43.060 -> Found it! 17:35:43.060 -> Discovering HR Sensor Location characteristic ... Found it! 17:35:43.555 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 17:35:43.555 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:35:43.555 -> Ready to receive Client FTM Control Point Response Messages 17:35:43.587 -> Ready to receive Client FTM Status values 17:35:43.633 -> Ready to receive Client FTM Indoor Bike Data values 17:35:43.665 -> Ready to receive Client CP Measurement values 17:35:43.743 -> Ready to receive Client CSC Measurement values 17:35:43.775 -> Ready to receive Client HR Measurement values 17:35:44.472 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:35:44.472 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:35:44.472 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:35:44.472 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:35:44.832 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:35:44.954 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ]

Berg0162 commented 1 year ago

Dear Joel, That was clearly not the solution.... Regards, Jörgen

Op ma 16 jan. 2023 om 17:38 schreef le-joebar @.***>:

Hello Jorghen,

Here are the results with the FTMS Client V3.4

The best results are with 250 ms and 100 ms.

17:00:10.598 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:00:10.598 -> ------------------- Version 03.4 -------------------- 17:00:10.598 -> Poll and fetch delay settings: [250]ms [50]ms 17:00:10.598 -> Setting NRF52840 BLE configuration parameters! 17:00:10.598 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:00:10.598 -> Board name: [Feather nRF52840 Express] 17:00:10.598 -> FTMS and Chars 'initialized' 17:00:10.598 -> CPS and Chars 'initialized' 17:00:10.598 -> CSCS and Chars 'initialized' 17:00:10.598 -> GA and Chars 'initialized' 17:00:10.598 -> DIS and Chars 'initialized' 17:00:10.598 -> HRMS and Chars 'initialized' 17:00:10.598 -> Start Scanning for CPS, CSC and FTMS! 17:00:10.598 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:00:10.598 -> Timestamp MAC Address Rssi Data 17:00:10.598 -> 000000642 F8:9C:FC:53:5E:49 -58 09-02-16-18-26-18-18-18-0A-18 17:00:10.598 -> --------- SoftDevice Config --------- 17:00:10.598 -> Max UUID128 : 3 17:00:10.598 -> ATTR Table Size : 4096 17:00:10.598 -> Service Changed : 1 17:00:10.598 -> Central Connect Setting 17:00:10.598 -> - Max MTU : 23 17:00:10.598 -> - Event Length : 6 17:00:10.598 -> - HVN Queue Size : 2 17:00:10.598 -> - WrCmd Queue Size: 1 17:00:10.598 -> 17:00:10.598 -> --------- BLE Settings --------- 17:00:10.598 -> Name : Feather nRF52840 Express 17:00:10.598 -> Max Connections : Peripheral = 0, Central = 1 17:00:10.598 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:00:10.598 -> TX Power : 4 dBm 17:00:10.598 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:00:10.598 -> Conn Timeout : 2000 ms 17:00:10.598 -> Central Paired Devices: 17:00:10.598 -> 17:00:10.598 -> 17:00:10.598 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:00:10.598 -> Now checking all Client Services and Characteristics! 17:00:10.598 -> If Mandatory Services Fail --> the Client will disconnect! 17:00:10.598 -> Checking Generic Access and Device Information! 17:00:11.069 -> Found Client Generic Access 17:00:11.300 -> -> Client Reads Device Name: [Zwift Hub] 17:00:11.474 -> -> Client Reads Appearance: [0] 17:00:11.706 -> Not Found Client Device Information! 17:00:11.706 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:00:12.031 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:00:12.525 -> Discovering Client FTM Status Characteristic ... Found it! 17:00:13.251 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:00:13.714 -> Discovering Client FTM Feature Characteristic ... Found it! 17:00:14.132 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:00:14.132 -> - Fitness Machine Features: 17:00:14.132 -> - Target Setting Features: 17:00:14.132 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:00:14.409 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:00:14.829 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:00:14.829 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:00:15.371 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:00:15.371 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:00:15.743 -> Discovering Client CP Measurement characteristic ... Found it! 17:00:16.207 -> Discovering Client CP Feature characteristic ... Found it! 17:00:16.691 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:00:16.691 -> Wheel revolution data supported 17:00:16.691 -> Crank revolution data supported 17:00:16.691 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:00:17.081 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:00:17.516 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:00:17.516 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:00:17.827 -> Discovering Client CSC Measurement CHR ... Found it! 17:00:18.369 -> Discovering Client CSC Feature CHR ... Found it! 17:00:18.820 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:00:18.820 -> Discovering Client CSC Location CHR ... Found it! 17:00:19.286 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:00:19.286 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:00:19.610 -> Discovering HR Measurement characteristic ... Found it! 17:00:20.059 -> Discovering HR Sensor Location characteristic ... Found it! 17:00:20.509 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:00:20.509 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:00:20.509 -> Ready to receive Client FTM Control Point Response Messages 17:00:20.541 -> Ready to receive Client FTM Status values 17:00:20.586 -> Ready to receive Client FTM Indoor Bike Data values 17:00:20.633 -> Ready to receive Client CP Measurement values 17:00:20.679 -> Ready to receive Client CSC Measurement values 17:00:20.726 -> Ready to receive Client HR Measurement values 17:00:21.287 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:00:21.287 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:00:21.287 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:00:21.287 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:00:22.326 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:00:22.326 -> Heart Beats: 0 HBM (8) Contact is NOT detected!

17:02:08.844 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:02:08.844 -> ------------------- Version 03.4 -------------------- 17:02:08.844 -> Poll and fetch delay settings: [300]ms [75]ms 17:02:09.202 -> Setting NRF52840 BLE configuration parameters! 17:02:09.202 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:02:09.845 -> Board name: [Feather nRF52840 Express] 17:02:09.845 -> FTMS and Chars 'initialized' 17:02:09.845 -> CPS and Chars 'initialized' 17:02:09.845 -> CSCS and Chars 'initialized' 17:02:09.845 -> GA and Chars 'initialized' 17:02:09.845 -> DIS and Chars 'initialized' 17:02:09.845 -> HRMS and Chars 'initialized' 17:02:09.845 -> Start Scanning for CPS, CSC and FTMS! 17:02:09.845 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:02:09.845 -> Timestamp MAC Address Rssi Data 17:02:09.845 -> 000000633 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:02:10.531 -> --------- SoftDevice Config --------- 17:02:10.531 -> Max UUID128 : 3 17:02:10.531 -> ATTR Table Size : 4096 17:02:10.531 -> Service Changed : 1 17:02:10.531 -> Central Connect Setting 17:02:10.531 -> - Max MTU : 23 17:02:10.531 -> - Event Length : 6 17:02:10.531 -> - HVN Queue Size : 2 17:02:10.531 -> - WrCmd Queue Size: 1 17:02:10.531 -> 17:02:10.531 -> --------- BLE Settings --------- 17:02:10.531 -> Name : Feather nRF52840 Express 17:02:10.531 -> Max Connections : Peripheral = 0, Central = 1 17:02:10.531 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:02:10.531 -> TX Power : 4 dBm 17:02:10.531 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:02:10.531 -> Conn Timeout : 2000 ms 17:02:10.531 -> Central Paired Devices: 17:02:10.531 -> 17:02:10.531 -> 17:02:10.531 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:02:10.531 -> Now checking all Client Services and Characteristics! 17:02:10.531 -> If Mandatory Services Fail --> the Client will disconnect! 17:02:10.531 -> Checking Generic Access and Device Information! 17:02:10.550 -> Found Client Generic Access 17:02:10.550 -> -> Client Reads Device Name: [Zwift Hub] 17:02:11.084 -> -> Client Reads Appearance: [1152] 17:02:11.690 -> Found Client Device Information 17:02:12.231 -> -> Client Reads Manufacturer: [Zwift] 17:02:12.726 -> -> Client Reads Model Number: [06] 17:02:13.326 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:02:13.327 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:02:13.761 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:02:14.301 -> Discovering Client FTM Status Characteristic ... Found it! 17:02:15.232 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:02:15.831 -> Discovering Client FTM Feature Characteristic ... Found it! 17:02:16.388 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:02:16.388 -> - Fitness Machine Features: 17:02:16.388 -> Average Speed Supported 17:02:16.388 -> Cadence Supported 17:02:16.388 -> Total Distance Supported 17:02:16.388 -> Resistance Level Supported 17:02:16.388 -> Heart Rate Measurement Supported 17:02:16.388 -> Power Measurement Supported 17:02:16.388 -> Spin Down Control Supported 17:02:16.388 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:02:17.103 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:02:17.630 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:02:17.630 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:02:18.269 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:02:18.269 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:02:18.615 -> Discovering Client CP Measurement characteristic ... Found it! 17:02:19.220 -> Discovering Client CP Feature characteristic ... Found it! 17:02:19.887 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:02:19.887 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:02:20.352 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:02:21.079 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:02:21.079 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:02:21.437 -> Discovering Client CSC Measurement CHR ... Found it! 17:02:21.902 -> Discovering Client CSC Feature CHR ... Found it! 17:02:22.446 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:02:22.446 -> Wheel rev supported 17:02:22.446 -> Crank rev supported 17:02:22.446 -> Discovering Client CSC Location CHR ... Found it! 17:02:22.959 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:02:22.959 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:02:23.622 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:24.371 -> Found it! 17:02:24.371 -> Discovering HR Sensor Location characteristic ... Found it! 17:02:24.987 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:02:24.987 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:02:24.987 -> Ready to receive Client FTM Control Point Response Messages 17:02:25.022 -> Ready to receive Client FTM Status values 17:02:25.054 -> Ready to receive Client FTM Indoor Bike Data values 17:02:25.100 -> Ready to receive Client CP Measurement values 17:02:25.146 -> Ready to receive Client CSC Measurement values 17:02:25.192 -> Ready to receive Client HR Measurement values 17:02:25.504 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:02:25.504 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:02:25.504 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:02:25.504 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:02:26.067 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:26.159 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 17:02:26.285 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:02:26.285 -> Heart Beats: 0 HBM (8) Contact is NOT detected!

17:08:12.160 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:08:12.160 -> ------------------- Version 03.4 -------------------- 17:08:12.160 -> Poll and fetch delay settings: [300]ms [75]ms 17:08:12.160 -> Setting NRF52840 BLE configuration parameters! 17:08:12.160 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:08:12.160 -> Board name: [Feather nRF52840 Express] 17:08:12.160 -> FTMS and Chars 'initialized' 17:08:12.160 -> CPS and Chars 'initialized' 17:08:12.160 -> CSCS and Chars 'initialized' 17:08:12.160 -> GA and Chars 'initialized' 17:08:12.160 -> DIS and Chars 'initialized' 17:08:12.160 -> HRMS and Chars 'initialized' 17:08:12.160 -> Start Scanning for CPS, CSC and FTMS! 17:08:12.160 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:08:12.160 -> Timestamp MAC Address Rssi Data 17:08:12.160 -> 000000652 F8:9C:FC:53:5E:49 -54 09-02-16-18-26-18-18-18-0A-18 17:08:12.636 -> --------- SoftDevice Config --------- 17:08:12.636 -> Max UUID128 : 3 17:08:12.636 -> ATTR Table Size : 4096 17:08:12.636 -> Service Changed : 1 17:08:12.636 -> Central Connect Setting 17:08:12.636 -> - Max MTU : 23 17:08:12.636 -> - Event Length : 6 17:08:12.636 -> - HVN Queue Size : 2 17:08:12.636 -> - WrCmd Queue Size: 1 17:08:12.636 -> 17:08:12.636 -> --------- BLE Settings --------- 17:08:12.636 -> Name : Feather nRF52840 Express 17:08:12.636 -> Max Connections : Peripheral = 0, Central = 1 17:08:12.636 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:08:12.636 -> TX Power : 4 dBm 17:08:12.636 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:08:12.636 -> Conn Timeout : 2000 ms 17:08:12.636 -> Central Paired Devices: 17:08:12.636 -> 17:08:12.636 -> 17:08:12.636 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:08:12.636 -> Now checking all Client Services and Characteristics! 17:08:12.636 -> If Mandatory Services Fail --> the Client will disconnect! 17:08:12.636 -> Checking Generic Access and Device Information! 17:08:12.904 -> Found Client Generic Access 17:08:13.027 -> -> Client Reads Device Name: [Zwift Hub] 17:08:13.449 -> -> Client Reads Appearance: [0] 17:08:13.913 -> Found Client Device Information 17:08:14.395 -> -> Client Reads Manufacturer: [Zwift] 17:08:14.937 -> -> Client Reads Model Number: [06] 17:08:15.678 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:08:15.678 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:08:16.079 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:08:16.684 -> Discovering Client FTM Status Characteristic ... Found it! 17:08:17.271 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:08:17.719 -> Discovering Client FTM Feature Characteristic ... Found it! 17:08:18.216 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:08:18.216 -> - Fitness Machine Features: 17:08:18.216 -> Average Speed Supported 17:08:18.216 -> Cadence Supported 17:08:18.216 -> Total Distance Supported 17:08:18.216 -> Resistance Level Supported 17:08:18.216 -> Heart Rate Measurement Supported 17:08:18.216 -> Power Measurement Supported 17:08:18.216 -> - Target Setting Features: 17:08:18.216 -> Resistance Target Setting Supported 17:08:18.216 -> Power Target Setting Supported 17:08:18.216 -> Indoor Bike Simulation Parameters Supported 17:08:18.216 -> Wheel Circumference Configuration Supported 17:08:18.216 -> Spin Down Control Supported 17:08:18.216 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:08:18.776 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:08:19.385 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:08:19.385 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:08:20.005 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:08:20.005 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:08:20.347 -> Discovering Client CP Measurement characteristic ... Found it! 17:08:20.858 -> Discovering Client CP Feature characteristic ... Found it! 17:08:21.573 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:08:21.573 -> Wheel revolution data supported 17:08:21.573 -> Crank revolution data supported 17:08:21.573 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:08:22.209 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:08:22.890 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:08:22.890 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:08:23.356 -> Discovering Client CSC Measurement CHR ... Found it! 17:08:24.175 -> Discovering Client CSC Feature CHR ... Found it! 17:08:24.765 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:08:24.765 -> Wheel rev supported 17:08:24.765 -> Crank rev supported 17:08:24.765 -> Discovering Client CSC Location CHR ... Found it! 17:08:25.233 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:08:25.233 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:08:25.639 -> Discovering HR Measurement characteristic ... Found it! 17:08:26.107 -> Discovering HR Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:08:26.754 -> Found it! 17:08:26.754 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:08:26.754 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:08:26.754 -> Ready to receive Client FTM Control Point Response Messages 17:08:26.791 -> Ready to receive Client FTM Status values 17:08:26.837 -> Ready to receive Client FTM Indoor Bike Data values 17:08:26.874 -> Ready to receive Client CP Measurement values 17:08:26.919 -> Ready to receive Client CSC Measurement values 17:08:26.962 -> Ready to receive Client HR Measurement values 17:08:27.338 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:08:27.338 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:08:27.338 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:08:27.338 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM

17:14:18.436 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:14:18.436 -> ------------------- Version 03.4 -------------------- 17:14:18.436 -> Poll and fetch delay settings: [250]ms [100]ms 17:14:18.436 -> Setting NRF52840 BLE configuration parameters! 17:14:18.436 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:14:19.491 -> Board name: [Feather nRF52840 Express] 17:14:19.491 -> FTMS and Chars 'initialized' 17:14:19.491 -> CPS and Chars 'initialized' 17:14:19.491 -> CSCS and Chars 'initialized' 17:14:19.491 -> GA and Chars 'initialized' 17:14:19.491 -> DIS and Chars 'initialized' 17:14:19.491 -> HRMS and Chars 'initialized' 17:14:19.491 -> Start Scanning for CPS, CSC and FTMS! 17:14:19.491 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:14:19.491 -> Timestamp MAC Address Rssi Data 17:14:19.491 -> 000001312 F8:9C:FC:53:5E:49 -57 09-02-16-18-26-18-18-18-0A-18 17:14:19.491 -> --------- SoftDevice Config --------- 17:14:19.491 -> Max UUID128 : 3 17:14:19.491 -> ATTR Table Size : 4096 17:14:19.491 -> Service Changed : 1 17:14:19.491 -> Central Connect Setting 17:14:19.491 -> - Max MTU : 23 17:14:19.491 -> - Event Length : 6 17:14:19.491 -> - HVN Queue Size : 2 17:14:19.491 -> - WrCmd Queue Size: 1 17:14:19.491 -> 17:14:19.491 -> --------- BLE Settings --------- 17:14:19.491 -> Name : Feather nRF52840 Express 17:14:19.491 -> Max Connections : Peripheral = 0, Central = 1 17:14:19.491 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:14:19.491 -> TX Power : 4 dBm 17:14:19.491 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:14:19.491 -> Conn Timeout : 2000 ms 17:14:19.491 -> Central Paired Devices: 17:14:19.491 -> 17:14:19.491 -> 17:14:19.491 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:14:19.491 -> Now checking all Client Services and Characteristics! 17:14:19.491 -> If Mandatory Services Fail --> the Client will disconnect! 17:14:19.491 -> Checking Generic Access and Device Information! 17:14:19.491 -> Found Client Generic Access 17:14:20.006 -> -> Client Reads Device Name: [Zwift Hub] 17:14:20.731 -> -> Client Reads Appearance: [1152] 17:14:21.148 -> Found Client Device Information 17:14:21.517 -> -> Client Reads Manufacturer: [Zwift] 17:14:22.103 -> -> Client Reads Model Number: [06] 17:14:22.707 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:14:22.707 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:14:23.308 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:14:23.976 -> Discovering Client FTM Status Characteristic ... Found it! 17:14:24.534 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:14:24.889 -> Discovering Client FTM Feature Characteristic ... Found it! 17:14:25.479 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:14:25.479 -> - Fitness Machine Features: 17:14:25.479 -> Average Speed Supported 17:14:25.479 -> Cadence Supported 17:14:25.479 -> Total Distance Supported 17:14:25.479 -> Resistance Level Supported 17:14:25.479 -> Heart Rate Measurement Supported 17:14:25.479 -> Power Measurement Supported 17:14:25.479 -> - Target Setting Features: 17:14:25.479 -> Resistance Target Setting Supported 17:14:25.479 -> Power Target Setting Supported 17:14:25.479 -> Indoor Bike Simulation Parameters Supported 17:14:25.479 -> Wheel Circumference Configuration Supported 17:14:25.479 -> Spin Down Control Supported 17:14:25.479 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:14:26.058 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:14:26.553 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:14:26.553 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:14:27.188 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:14:27.188 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:14:27.544 -> Discovering Client CP Measurement characteristic ... Found it! 17:14:27.946 -> Discovering Client CP Feature characteristic ... Found it! 17:14:28.504 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:14:28.504 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:14:29.093 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:14:29.590 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:14:29.590 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:14:29.869 -> Discovering Client CSC Measurement CHR ... Found it! 17:14:30.426 -> Discovering Client CSC Feature CHR ... Found it! 17:14:30.936 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:14:30.936 -> Discovering Client CSC Location CHR ... Found it! 17:14:31.434 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:14:31.434 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:14:31.792 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:14:32.443 -> Found it! 17:14:32.443 -> Discovering HR Sensor Location characteristic ... Found it! 17:14:32.990 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:14:32.990 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:14:32.990 -> Ready to receive Client FTM Control Point Response Messages 17:14:33.025 -> Ready to receive Client FTM Status values 17:14:33.103 -> Ready to receive Client FTM Indoor Bike Data values 17:14:33.149 -> Ready to receive Client CP Measurement values 17:14:33.190 -> Ready to receive Client CSC Measurement values 17:14:33.228 -> Ready to receive Client HR Measurement values 17:14:33.275 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:14:33.275 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:14:34.270 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

17:24:20.895 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:24:20.895 -> ------------------- Version 03.4 -------------------- 17:24:20.895 -> Poll and fetch delay settings: [250]ms [100]ms 17:24:20.895 -> Setting NRF52840 BLE configuration parameters! 17:24:20.895 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:24:20.895 -> Board name: [Feather nRF52840 Express] 17:24:20.895 -> FTMS and Chars 'initialized' 17:24:20.895 -> CPS and Chars 'initialized' 17:24:20.895 -> CSCS and Chars 'initialized' 17:24:20.895 -> GA and Chars 'initialized' 17:24:20.895 -> DIS and Chars 'initialized' 17:24:20.895 -> HRMS and Chars 'initialized' 17:24:20.895 -> Start Scanning for CPS, CSC and FTMS! 17:24:20.895 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:24:20.895 -> Timestamp MAC Address Rssi Data 17:24:20.895 -> 000000731 F8:9C:FC:53:5E:49 -56 09-02-16-18-26-18-18-18-0A-18 17:24:21.398 -> --------- SoftDevice Config --------- 17:24:21.398 -> Max UUID128 : 3 17:24:21.398 -> ATTR Table Size : 4096 17:24:21.398 -> Service Changed : 1 17:24:21.398 -> Central Connect Setting 17:24:21.398 -> - Max MTU : 23 17:24:21.398 -> - Event Length : 6 17:24:21.398 -> - HVN Queue Size : 2 17:24:21.399 -> - WrCmd Queue Size: 1 17:24:21.399 -> 17:24:21.399 -> --------- BLE Settings --------- 17:24:21.399 -> Name : Feather nRF52840 Express 17:24:21.399 -> Max Connections : Peripheral = 0, Central = 1 17:24:21.399 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:24:21.399 -> TX Power : 4 dBm 17:24:21.399 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:24:21.399 -> Conn Timeout : 2000 ms 17:24:21.399 -> Central Paired Devices: 17:24:21.399 -> 17:24:21.399 -> 17:24:21.399 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:24:21.399 -> Now checking all Client Services and Characteristics! 17:24:21.399 -> If Mandatory Services Fail --> the Client will disconnect! 17:24:21.399 -> Checking Generic Access and Device Information! 17:24:21.846 -> Found Client Generic Access 17:24:22.068 -> -> Client Reads Device Name: [Zwift Hub] 17:24:22.693 -> -> Client Reads Appearance: [1152] 17:24:23.003 -> Found Client Device Information 17:24:23.438 -> -> Client Reads Manufacturer: [Zwift] 17:24:23.935 -> -> Client Reads Model Number: [06] 17:24:24.494 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:24:24.494 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:24:24.822 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:24:25.411 -> Discovering Client FTM Status Characteristic ... Found it! 17:24:26.019 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:24:26.470 -> Discovering Client FTM Feature Characteristic ... Found it! 17:24:27.178 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:24:27.178 -> - Fitness Machine Features: 17:24:27.178 -> - Target Setting Features: 17:24:27.178 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:24:27.878 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:24:28.655 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:24:28.655 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:24:29.355 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:24:29.355 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:24:29.680 -> Discovering Client CP Measurement characteristic ... Found it! 17:24:30.036 -> Discovering Client CP Feature characteristic ... Found it! 17:24:30.626 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:24:30.626 -> Wheel revolution data supported 17:24:30.626 -> Crank revolution data supported 17:24:30.626 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:24:31.076 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:24:31.729 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:24:31.729 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:24:32.055 -> Discovering Client CSC Measurement CHR ... Found it! 17:24:32.473 -> Discovering Client CSC Feature CHR ... Found it! 17:24:33.109 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:24:33.109 -> Wheel rev supported 17:24:33.109 -> Crank rev supported 17:24:33.109 -> Discovering Client CSC Location CHR ... Found it! 17:24:33.775 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 17:24:33.775 -> Discovering Heart Rate Measurement (HR) Service ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:24:34.441 -> Found it! HRMS Max Payload: 20 Data Length: 27 17:24:34.441 -> Discovering HR Measurement characteristic ... Found it! 17:24:35.123 -> Discovering HR Sensor Location characteristic ... Found it! 17:24:35.633 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 17:24:35.633 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:24:35.633 -> Ready to receive Client FTM Control Point Response Messages 17:24:35.676 -> Ready to receive Client FTM Status values 17:24:35.712 -> Ready to receive Client FTM Indoor Bike Data values 17:24:35.756 -> Ready to receive Client CP Measurement values 17:24:35.789 -> Ready to receive Client CSC Measurement values 17:24:35.835 -> Ready to receive Client HR Measurement values 17:24:36.272 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:24:36.304 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:24:36.304 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:24:36.304 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:24:36.304 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:24:36.304 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ] 17:24:37.639 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

17:31:11.499 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:31:11.499 -> ------------------- Version 03.4 -------------------- 17:31:11.499 -> Poll and fetch delay settings: [250]ms [100]ms 17:31:11.499 -> Setting NRF52840 BLE configuration parameters! 17:31:11.499 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:31:11.499 -> Board name: [Feather nRF52840 Express] 17:31:11.499 -> FTMS and Chars 'initialized' 17:31:11.499 -> CPS and Chars 'initialized' 17:31:11.499 -> CSCS and Chars 'initialized' 17:31:11.499 -> GA and Chars 'initialized' 17:31:11.499 -> DIS and Chars 'initialized' 17:31:11.499 -> HRMS and Chars 'initialized' 17:31:11.499 -> Start Scanning for CPS, CSC and FTMS! 17:31:12.636 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:31:12.636 -> Timestamp MAC Address Rssi Data 17:31:12.636 -> 000003058 F8:9C:FC:53:5E:49 -54 09-02-16-18-26-18-18-18-0A-18 17:31:12.854 -> --------- SoftDevice Config --------- 17:31:12.854 -> Max UUID128 : 3 17:31:12.854 -> ATTR Table Size : 4096 17:31:12.854 -> Service Changed : 1 17:31:12.854 -> Central Connect Setting 17:31:12.854 -> - Max MTU : 23 17:31:12.854 -> - Event Length : 6 17:31:12.854 -> - HVN Queue Size : 2 17:31:12.854 -> - WrCmd Queue Size: 1 17:31:12.854 -> 17:31:12.854 -> --------- BLE Settings --------- 17:31:12.854 -> Name : Feather nRF52840 Express 17:31:12.854 -> Max Connections : Peripheral = 0, Central = 1 17:31:12.854 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:31:12.854 -> TX Power : 4 dBm 17:31:12.854 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:31:12.854 -> Conn Timeout : 2000 ms 17:31:12.854 -> Central Paired Devices: 17:31:12.854 -> 17:31:12.854 -> 17:31:12.854 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:31:12.854 -> Now checking all Client Services and Characteristics! 17:31:12.854 -> If Mandatory Services Fail --> the Client will disconnect! 17:31:12.854 -> Checking Generic Access and Device Information! 17:31:13.411 -> Found Client Generic Access 17:31:13.907 -> -> Client Reads Device Name: [Zwift Hub] 17:31:14.389 -> -> Client Reads Appearance: [1152] 17:31:14.761 -> Found Client Device Information 17:31:15.164 -> -> Client Reads Manufacturer: [Zwift] 17:31:16.252 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:31:16.252 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:31:16.577 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:31:17.305 -> Discovering Client FTM Status Characteristic ... Found it! 17:31:17.985 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:31:18.543 -> Discovering Client FTM Feature Characteristic ... Found it! 17:31:19.006 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:31:19.006 -> - Fitness Machine Features: 17:31:19.006 -> Average Speed Supported 17:31:19.006 -> Cadence Supported 17:31:19.006 -> Total Distance Supported 17:31:19.006 -> Resistance Level Supported 17:31:19.006 -> Heart Rate Measurement Supported 17:31:19.006 -> Power Measurement Supported 17:31:19.006 -> - Target Setting Features: 17:31:19.006 -> Resistance Target Setting Supported 17:31:19.006 -> Power Target Setting Supported 17:31:19.006 -> Indoor Bike Simulation Parameters Supported 17:31:19.006 -> Wheel Circumference Configuration Supported 17:31:19.006 -> Spin Down Control Supported 17:31:19.006 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:31:19.504 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:31:20.143 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:31:20.143 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:31:20.824 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 17:31:20.824 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:31:21.196 -> Discovering Client CP Measurement characteristic ... Found it! 17:31:21.833 -> Discovering Client CP Feature characteristic ... Found it! 17:31:22.315 -> -> Client Reads Raw CP Feature bytes: [4] [ 00 00 00 00 ] 17:31:22.315 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:31:22.797 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:31:23.462 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:31:23.462 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:31:23.774 -> Discovering Client CSC Measurement CHR ... Found it! 17:31:24.194 -> Discovering Client CSC Feature CHR ... Found it! 17:31:24.648 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 17:31:24.648 -> Wheel rev supported 17:31:24.648 -> Crank rev supported 17:31:24.648 -> Discovering Client CSC Location CHR ... Found it! 17:31:25.270 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:31:25.270 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:31:25.548 -> Discovering HR Measurement characteristic ... Found it! 17:31:25.952 -> Discovering HR Sensor Location characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:31:26.480 -> Found it! 17:31:26.480 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 17:31:26.480 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:31:26.480 -> Ready to receive Client FTM Control Point Response Messages 17:31:26.511 -> Ready to receive Client FTM Status values 17:31:26.630 -> Ready to receive Client FTM Indoor Bike Data values 17:31:26.668 -> Ready to receive Client CP Measurement values 17:31:26.700 -> Ready to receive Client CSC Measurement values 17:31:26.746 -> Ready to receive Client HR Measurement values 17:31:27.288 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:31:27.288 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:31:27.288 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:31:27.288 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:31:28.296 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ]

17:35:29.097 -> Poll and fetch delay settings: [250]ms [100]ms 17:35:29.097 -> Setting NRF52840 BLE configuration parameters! 17:35:29.097 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:35:29.097 -> Board name: [Feather nRF52840 Express] 17:35:29.097 -> FTMS and Chars 'initialized' 17:35:29.097 -> CPS and Chars 'initialized' 17:35:29.097 -> CSCS and Chars 'initialized' 17:35:29.097 -> GA and Chars 'initialized' 17:35:29.097 -> DIS and Chars 'initialized' 17:35:29.097 -> HRMS and Chars 'initialized' 17:35:29.097 -> Start Scanning for CPS, CSC and FTMS! 17:35:29.123 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:35:29.123 -> Timestamp MAC Address Rssi Data 17:35:29.123 -> 000001693 F8:9C:FC:53:5E:49 -55 09-02-16-18-26-18-18-18-0A-18 17:35:29.213 -> --------- SoftDevice Config --------- 17:35:29.213 -> Max UUID128 : 3 17:35:29.213 -> ATTR Table Size : 4096 17:35:29.213 -> Service Changed : 1 17:35:29.213 -> Central Connect Setting 17:35:29.213 -> - Max MTU : 23 17:35:29.213 -> - Event Length : 6 17:35:29.213 -> - HVN Queue Size : 2 17:35:29.213 -> - WrCmd Queue Size: 1 17:35:29.213 -> 17:35:29.213 -> --------- BLE Settings --------- 17:35:29.213 -> Name : Feather nRF52840 Express 17:35:29.213 -> Max Connections : Peripheral = 0, Central = 1 17:35:29.213 -> Address : DD:CF:A6:C0:1A:11 (Static) 17:35:29.213 -> TX Power : 4 dBm 17:35:29.213 -> Conn Intervals : min = 20.00 ms, max = 30.00 ms 17:35:29.213 -> Conn Timeout : 2000 ms 17:35:29.213 -> Central Paired Devices: 17:35:29.213 -> 17:35:29.213 -> 17:35:29.213 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:35:29.213 -> Now checking all Client Services and Characteristics! 17:35:29.213 -> If Mandatory Services Fail --> the Client will disconnect! 17:35:29.213 -> Checking Generic Access and Device Information! 17:35:29.846 -> Found Client Generic Access 17:35:30.620 -> -> Client Reads Device Name: [Zwift Hub] 17:35:31.116 -> -> Client Reads Appearance: [1152] 17:35:31.396 -> Found Client Device Information 17:35:31.875 -> -> Client Reads Manufacturer: [Zwift] 17:35:32.431 -> -> Client Reads Model Number: [06] 17:35:33.039 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:35:33.647 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:35:34.362 -> Discovering Client FTM Status Characteristic ... Found it! 17:35:35.002 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:35:35.467 -> Discovering Client FTM Feature Characteristic ... Found it! 17:35:35.905 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:35:35.905 -> - Fitness Machine Features: 17:35:35.905 -> Average Speed Supported 17:35:35.905 -> Cadence Supported 17:35:35.905 -> Total Distance Supported 17:35:35.905 -> Resistance Level Supported 17:35:35.905 -> Heart Rate Measurement Supported 17:35:35.905 -> Power Measurement Supported 17:35:35.905 -> - Target Setting Features: 17:35:35.905 -> Resistance Target Setting Supported 17:35:35.905 -> Power Target Setting Supported 17:35:35.905 -> Indoor Bike Simulation Parameters Supported 17:35:35.905 -> Wheel Circumference Configuration Supported 17:35:35.905 -> Spin Down Control Supported 17:35:35.905 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:35:36.540 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:35:37.159 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 17:35:37.159 -> Discovering Client FTM Supported Power Range Characteristic ... Found it! 17:35:37.798 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:35:37.799 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:35:38.096 -> Discovering Client CP Measurement characteristic ... Found it! 17:35:38.528 -> Discovering Client CP Feature characteristic ... Found it! 17:35:39.072 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:35:39.072 -> Wheel revolution data supported 17:35:39.072 -> Crank revolution data supported 17:35:39.072 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:35:39.432 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:35:39.863 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 17:35:39.863 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:35:40.390 -> Discovering Client CSC Measurement CHR ... Found it! 17:35:41.013 -> Discovering Client CSC Feature CHR ... Found it! 17:35:41.557 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:35:41.557 -> Discovering Client CSC Location CHR ... Found it! 17:35:42.128 -> -> Client Reads CSC Location Sensor: Loc#: 0 Other 17:35:42.128 -> Discovering Heart Rate Measurement (HR) Service ... Found it! HRMS Max Payload: 20 Data Length: 27 17:35:42.500 -> Discovering HR Measurement characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:35:43.060 -> Found it! 17:35:43.060 -> Discovering HR Sensor Location characteristic ... Found it! 17:35:43.555 -> -> Client Reads HR Location Sensor: Loc#: 0 Other 17:35:43.555 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:35:43.555 -> Ready to receive Client FTM Control Point Response Messages 17:35:43.587 -> Ready to receive Client FTM Status values 17:35:43.633 -> Ready to receive Client FTM Indoor Bike Data values 17:35:43.665 -> Ready to receive Client CP Measurement values 17:35:43.743 -> Ready to receive Client CSC Measurement values 17:35:43.775 -> Ready to receive Client HR Measurement values 17:35:44.472 -> -> Client Rec'd Raw Heart Rate Measurement Data: [2] [ 04 00 ] 17:35:44.472 -> Heart Beats: 0 HBM (8) Contact is NOT detected! 17:35:44.472 -> -> Client Rec'd Raw FTM Indoor Bike Data: [11] [ 64 02 00 00 00 00 14 00 00 00 00 ] 17:35:44.472 -> Instant. Speed: 0 KPH Instantaneous Cadence: 0 RPM Resistance Level: 20 Instantaneous Power: 0 Watt Heart Rate: 0 HBM 17:35:44.832 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:35:44.954 -> -> Client Rec'd Raw FTM Control Point Response Data: [ 80 00 01 ]

— Reply to this email directly, view it on GitHub https://github.com/Berg0162/simcline/issues/7#issuecomment-1384303966, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANS5LSVC5SFWEY44ZWJFVSTWSV2QBANCNFSM6AAAAAASZDERFE . You are receiving this because you authored the thread.Message ID: @.***>

Berg0162 commented 1 year ago

Dear Joel, How are you doing? And what is the status of your present setup? Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorgen,

I'm still working on the project but more slowly because I have a lot of work at the moment.

The version of Simcline V2.0 is stable as far as the connection is concerned (8/10). On the other hand I encounter a parasite problem with the linear motor when the direction changes. I'll make a sketch for you later.

Here is a picture of the project being finished.

Sincerely Joel

20230215_171847

le-joebar commented 1 year ago

Hello Jorgen,

Glad to let you know it works.

In fact, for the connection between the Simcline to work well, I must put the Bluetooth receiver closer to the Adafruit.

I didn't know how to do it before because I was looking at the data via RS232 and therefore the USB extension was busy.

In short when I connect 9/10 it's ok sometimes 1/10 the connection between Zwift and Zwifthub is done live.

20230217_175227 20230217_175334 20230217_175421

Berg0162 commented 1 year ago

Dear Joel, I am really happy for you that the setup is working now! I see that you have added an Alu profile and linear glider finally. My compliments for how you have faced the challenges that you met during the building process! You were not afraid to change plans when things did not work as expected! Chapeau pour votre persévérance! I hope you will spent many hours with it during your indoor Zwift rides. Now it is time to climb the Alpe d'Huez! During my recent work on porting the Simcline nRF52 code to ESP32 I became aware of the importance of correct BLE connection parameters. I have always thought that the Client and Server negotiated that in the background at connect time without any intervention... However I have learned now that possibly the unexpected behavior during Service discovery that you met with the Zwift Hub in combination with the nRF52 (client-side) code can be (possibly) blamed to improper connection parameter settings.... My assumption is now that Zwift Hub expects slightly different connection parameter settings than what is default set in the nRF52 (library) code that I applied for Client, Server and MITM programs. The last days I have put that to the test and, indeed, I can exactly reproduce the unexpected discovery behavior that we saw with your Zwift Hub by manipulating connection parameters... However I do not have a real Zwift Hub, I can only simulate one...and the proof of the pudding is in the eating. So the question is are you willing to run specific suggested code changes in the Client code on one of your nRF52 Feathers. The Feather that runs the test does not have to be connected to anything else other than the PC, by USB! The Feather Itsy-Bitsy will probably do the work as well as the Feather Express. All we are interested in is have the service discovery process to run smoothly 10 out 10 times ! Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorgen,

I agree to spend time doing various tests for myself and all other users. I still have 2 nrf52840 Feather available. And I could buy an ESP32 to also test it will not be lost! I still have modifications that will ask for your help because I believe that the % are not well respected. I know it's half if Zwift settings are at 50% but....

With pleasure,

Joel

Berg0162 commented 1 year ago

Great, You will hear soon!

Berg0162 commented 1 year ago

Dear Joel, You are invited to insert some extra lines of code in your FTMS_Client program and run it repeatedly against your Zwift Hub trainer.

1) Please change the const nature of poll_delay to a variable at the beginning of the program and set to zero:

// - Zwift Hub will NOT pass 100%-error-free with a value of poll_delay lower than 250 ms !!
unsigned long poll_delay = 0;   // Unit is milliseconds
//---------------------------------------------------------------------------------------------------

2) Just insert the indicated new lines of code in the function client_connect_callback() just before it will start to discover the presence of SVC's and CHR's of your Zwift Hub

void client_connect_callback(uint16_t conn_handle)
.
.
start insert
  // Client sets NEW connection parameters: Connection Interval, Latency and Supervision Timeout ---------------------------------
  uint8_t ConnInterval = 24; // in units of 1.25 ms ---> Vary between 24 (30 ms) and 48 (60 ms)
  // Connection Interval in units of 1.25ms = ## (vary!), Latency = 0 (keep!), Supervision Timeout in units of 10ms = 400 (keep!)
  if( connection->requestConnectionParameter(ConnInterval, 0, 400) ) {
    ConnInterval *= 1.25; // convert to ms
    DEBUG_PRINTF(">>> Request NEW Connection Parameters! Interval: %d ms Latency: 0 Supervision Timeout: 4000 ms\n", ConnInterval);
    poll_delay = ConnInterval; // Synchronize SVC/CHR Discovery calls with Connection Interval
  }
  // ------------------------------------------------------------------------------------------------------------------------------
end insert
  DEBUG_PRINTLN("Now checking all Client Services and Characteristics!");
  DEBUG_PRINTLN("If Mandatory Services Fail --> the Client will disconnect!");
  // --------------
  // Wait some extra time for client to fully settle after connection!
  delay(poll_delay);
  // --------------

  if( !client_GA_connect_callback(conn_handle) ) {
    Bluefruit.disconnect(conn_handle);
    return;    
  }
.
.

3) Run the new FTMS_Client and see if and how it will pass the discovery process completely until the trainer and Client are exchanging information... that is the moment to stop the test by disconnecting the Feather. 4) Repeat the same run and see if the results are reproducible.... If discovery fails time after time somewhere in the process then increase in small steps the value of uint8_t ConnInterval --> compile, upload and repeat the procedure

If my assumption is correct you should find a value of ConnInterval at which the whole discovery process will pass without any unexpected behavior... Fingers crossed! Jörgen.

le-joebar commented 1 year ago

Hello Jorgen,

The change in value for the tests this fact?

uint8_t ConnInterval = XX;

And I leave the value at 0 here

unsigned long poll_delay = 0;

Sincerely,

Berg0162 commented 1 year ago

Yes, that is correct!

Op ma 20 feb. 2023 13:55 schreef le-joebar @.***>:

Hello Jorgen,

The change in value for the tests this fact?

uint8_t ConnInterval = XX;

And I leave the value at 0 here

unsigned long poll_delay = 0;

Sincerely,

— Reply to this email directly, view it on GitHub https://github.com/Berg0162/simcline/issues/7#issuecomment-1436973111, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANS5LSQYN7MUKR2SMBXB2X3WYNSTHANCNFSM6AAAAAASZDERFE . You are receiving this because you authored the thread.Message ID: @.***>

le-joebar commented 1 year ago

Hello Jorgen,

Here are the results, it's always pretty much the same thing.

Tell me what you would like as a test value and procedure ;)

17:04:57.864 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:04:57.864 -> ------------------- Version 03.0 -------------------- 17:04:57.864 -> Processor: Feather nRF52840 17:04:57.864 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:04:57.864 -> FTMS and Chars 'initialized' 17:04:57.864 -> CPS and Chars 'initialized' 17:04:57.864 -> CSCS and Chars 'initialized' 17:04:57.864 -> GA and Chars 'initialized' 17:04:57.864 -> DIS and Chars 'initialized' 17:04:57.864 -> HRMS and Chars 'initialized' 17:04:57.864 -> Start Scanning for CPS, CSC and FTMS! 17:04:57.864 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:04:57.864 -> Timestamp MAC Address Rssi Data 17:04:57.864 -> 000000645 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:04:57.864 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:04:57.864 -> >>> Request NEW Connection Parameters! Interval: 30 ms Latency: 0 Supervision Timeout: 4000 ms 17:04:57.864 -> Now checking all Client Services and Characteristics! 17:04:57.864 -> If Mandatory Services Fail --> the Client will disconnect! 17:04:57.864 -> Checking Generic Access and Device Information! 17:04:57.864 -> Start BLEDiscovery... does it help ? 17:04:58.215 -> Found Client Generic Access 17:04:58.215 -> -> Client Reads Device Name: [Zwift Hub] 17:04:58.396 -> -> Client Reads Appearance: [0] 17:04:58.396 -> Not Found Client Device Information! 17:04:58.396 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 17:04:58.397 -> Disconnecting since Client FTM Service is mandatory! 17:04:58.397 -> Client Disconnected, reason = 0x16 17:04:58.397 -> >>> Restart the Feather nRF52 Client for a new run! <<< 17:04:59.805 -> Stopped!

17:06:28.955 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:06:28.955 -> ------------------- Version 03.0 -------------------- 17:06:28.955 -> Processor: Feather nRF52840 17:06:28.955 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:06:29.128 -> FTMS and Chars 'initialized' 17:06:29.128 -> CPS and Chars 'initialized' 17:06:29.128 -> CSCS and Chars 'initialized' 17:06:29.128 -> GA and Chars 'initialized' 17:06:29.128 -> DIS and Chars 'initialized' 17:06:29.128 -> HRMS and Chars 'initialized' 17:06:29.128 -> Start Scanning for CPS, CSC and FTMS! 17:06:29.129 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:06:29.129 -> Timestamp MAC Address Rssi Data 17:06:29.129 -> 000000655 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:06:29.129 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:06:29.129 -> >>> Request NEW Connection Parameters! Interval: 45 ms Latency: 0 Supervision Timeout: 4000 ms 17:06:29.129 -> Now checking all Client Services and Characteristics! 17:06:29.129 -> If Mandatory Services Fail --> the Client will disconnect! 17:06:29.129 -> Checking Generic Access and Device Information! 17:06:29.129 -> Start BLEDiscovery... does it help ? 17:06:29.284 -> Found Client Generic Access 17:06:29.894 -> -> Client Reads Device Name: [Zwift Hub] 17:06:30.008 -> -> Client Reads Appearance: [0] 17:06:30.471 -> Found Client Device Information 17:06:30.781 -> -> Client Reads Manufacturer: [Zwift] 17:06:31.092 -> -> Client Reads Model Number: [06] 17:06:31.232 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:06:31.371 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:06:31.371 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:06:31.678 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:06:32.172 -> Discovering Client FTM Status Characteristic ... Found it! 17:06:32.711 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:06:32.974 -> Discovering Client FTM Feature Characteristic ... Found it! 17:06:33.252 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:06:33.252 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:06:33.252 -> - Fitness Machine Features: 17:06:33.252 -> - Target Setting Features: 17:06:33.252 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:06:33.939 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:06:34.109 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:06:34.109 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 17:06:34.155 -> Discovering Client Cycling Power (CP) Service ... Not Found! 17:06:34.201 -> Disconnecting since Client Cyling Power Service is mandatory! 17:06:34.326 -> Client Disconnected, reason = 0x16 17:06:34.326 -> >>> Restart the Feather nRF52 Client for a new run! <<<

17:02:49.635 -> CSCS and Chars 'initialized' 17:02:49.635 -> GA and Chars 'initialized' 17:02:49.635 -> DIS and Chars 'initialized' 17:02:49.635 -> HRMS and Chars 'initialized' 17:02:49.635 -> Start Scanning for CPS, CSC and FTMS! 17:02:49.635 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:02:49.635 -> Timestamp MAC Address Rssi Data 17:02:49.635 -> 000002657 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:02:49.804 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:02:49.804 -> >>> Request NEW Connection Parameters! Interval: 30 ms Latency: 0 Supervision Timeout: 4000 ms 17:02:49.804 -> Now checking all Client Services and Characteristics! 17:02:49.804 -> If Mandatory Services Fail --> the Client will disconnect! 17:02:49.804 -> Checking Generic Access and Device Information! 17:02:49.804 -> Start BLEDiscovery... does it help ? 17:02:49.899 -> Found Client Generic Access 17:02:50.452 -> -> Client Reads Device Name: [Zwift Hub] 17:02:50.456 -> -> Client Reads Appearance: [0] 17:02:50.456 -> Found Client Device Information 17:02:50.677 -> -> Client Reads Manufacturer: [Zwift] 17:02:50.910 -> -> Client Reads Model Number: [06] 17:02:51.251 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:02:51.251 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:02:51.390 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:02:51.825 -> Discovering Client FTM Status Characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:02:51.950 -> Ready to receive Client FTM Control Point Response Messages 17:02:52.120 -> Found it! 17:02:52.120 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:02:52.430 -> Discovering Client FTM Feature Characteristic ... Found it! 17:02:52.649 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:02:52.649 -> - Fitness Machine Features: 17:02:52.649 -> Average Speed Supported 17:02:52.649 -> Cadence Supported 17:02:52.649 -> Total Distance Supported 17:02:52.649 -> Resistance Level Supported 17:02:52.649 -> Heart Rate Measurement Supported 17:02:52.649 -> Power Measurement Supported 17:02:52.649 -> - Target Setting Features: 17:02:52.649 -> Resistance Target Setting Supported 17:02:52.649 -> Power Target Setting Supported 17:02:52.649 -> Indoor Bike Simulation Parameters Supported 17:02:52.649 -> Wheel Circumference Configuration Supported 17:02:52.649 -> Spin Down Control Supported 17:02:52.649 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:02:53.174 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:02:53.468 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:02:53.468 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 17:02:53.501 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:02:53.641 -> Discovering Client CP Measurement characteristic ... Found it! 17:02:53.941 -> Discovering Client CP Feature characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:54.065 -> Found it! 17:02:54.141 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:02:54.141 -> Wheel revolution data supported 17:02:54.141 -> Crank revolution data supported 17:02:54.141 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:02:54.483 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:02:54.703 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:02:54.703 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:02:54.872 -> Discovering Client CSC Measurement CHR ... Found it! 17:02:55.540 -> Discovering Client CSC Feature CHR ... Found it! 17:02:55.805 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:02:55.805 -> Discovering Client CSC Location CHR ... Not Found! NOT Mandatory! 17:02:55.837 -> Discovering Heart Rate Measurement (HR) Service ... Not Found! HR Service is Not Mandatory! 17:02:55.977 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:57.982 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ]

16:55:24.280 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:55:24.280 -> ------------------- Version 03.0 -------------------- 16:55:24.280 -> Processor: Feather nRF52840 16:55:24.280 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:55:24.404 -> FTMS and Chars 'initialized' 16:55:24.404 -> CPS and Chars 'initialized' 16:55:24.404 -> CSCS and Chars 'initialized' 16:55:24.404 -> GA and Chars 'initialized' 16:55:24.404 -> DIS and Chars 'initialized' 16:55:24.404 -> HRMS and Chars 'initialized' 16:55:24.404 -> Start Scanning for CPS, CSC and FTMS! 16:55:24.404 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:55:24.404 -> Timestamp MAC Address Rssi Data 16:55:24.404 -> 000008926 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:55:24.530 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:55:24.531 -> >>> Request NEW Connection Parameters! Interval: 86 ms Latency: 0 Supervision Timeout: 4000 ms 16:55:24.531 -> Now checking all Client Services and Characteristics! 16:55:24.531 -> If Mandatory Services Fail --> the Client will disconnect! 16:55:24.531 -> Checking Generic Access and Device Information! 16:55:24.531 -> Start BLEDiscovery... does it help ? 16:55:24.953 -> Found Client Generic Access 16:55:25.496 -> -> Client Reads Device Name: [Zwift Hub] 16:55:26.348 -> -> Client Reads Appearance: [0] 16:55:26.440 -> Not Found Client Device Information! 16:55:26.440 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:55:26.532 -> Disconnecting since Client FTM Service is mandatory! 16:55:27.003 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:55:27.046 -> Client Disconnected, reason = 0x16 16:55:27.046 -> >>> Restart the Feather nRF52 Client for a new run! <<<

16:58:06.967 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:58:06.967 -> ------------------- Version 03.0 -------------------- 16:58:06.967 -> Processor: Feather nRF52840 16:58:06.967 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:58:06.986 -> FTMS and Chars 'initialized' 16:58:06.986 -> CPS and Chars 'initialized' 16:58:06.986 -> CSCS and Chars 'initialized' 16:58:06.986 -> GA and Chars 'initialized' 16:58:06.986 -> DIS and Chars 'initialized' 16:58:06.986 -> HRMS and Chars 'initialized' 16:58:06.986 -> Start Scanning for CPS, CSC and FTMS! 16:58:06.986 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:58:06.986 -> Timestamp MAC Address Rssi Data 16:58:06.986 -> 000000639 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:58:06.989 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:58:06.989 -> >>> Request NEW Connection Parameters! Interval: 93 ms Latency: 0 Supervision Timeout: 4000 ms 16:58:06.989 -> Now checking all Client Services and Characteristics! 16:58:06.989 -> If Mandatory Services Fail --> the Client will disconnect! 16:58:06.989 -> Checking Generic Access and Device Information! 16:58:06.989 -> Start BLEDiscovery... does it help ? 16:58:06.989 -> Found Client Generic Access 16:58:07.756 -> -> Client Reads Device Name: [] 16:58:07.930 -> Found Client Device Information 16:58:08.991 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:58:09.116 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:58:09.242 -> Disconnecting since Client FTM Service is mandatory! 16:58:09.415 -> Client Disconnected, reason = 0x16 16:58:09.415 -> >>> Restart the Feather nRF52 Client for a new run! <<<

16:58:58.676 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:58:58.676 -> ------------------- Version 03.0 -------------------- 16:58:58.676 -> Processor: Feather nRF52840 16:58:58.676 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:58:58.677 -> FTMS and Chars 'initialized' 16:58:58.677 -> CPS and Chars 'initialized' 16:58:58.677 -> CSCS and Chars 'initialized' 16:58:58.677 -> GA and Chars 'initialized' 16:58:58.677 -> DIS and Chars 'initialized' 16:58:58.677 -> HRMS and Chars 'initialized' 16:58:58.677 -> Start Scanning for CPS, CSC and FTMS! 16:58:58.677 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:58:58.677 -> Timestamp MAC Address Rssi Data 16:58:58.677 -> 000000635 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:58:58.678 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:58:58.678 -> >>> Request NEW Connection Parameters! Interval: 87 ms Latency: 0 Supervision Timeout: 4000 ms 16:58:58.678 -> Now checking all Client Services and Characteristics! 16:58:58.678 -> If Mandatory Services Fail --> the Client will disconnect! 16:58:58.678 -> Checking Generic Access and Device Information! 16:58:58.678 -> Start BLEDiscovery... does it help ? 16:58:59.460 -> Found Client Generic Access 16:58:59.732 -> -> Client Reads Device Name: [Zwift Hub] 16:58:59.791 -> -> Client Reads Appearance: [0] 16:59:00.205 -> Found Client Device Information 16:59:00.657 -> -> Client Reads Manufacturer: [Zwift] 16:59:00.657 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:59:01.814 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:59:01.907 -> Disconnecting since Client FTM Service is mandatory! 16:59:02.047 -> Client Disconnected, reason = 0x16 16:59:02.047 -> >>> Restart the Feather nRF52 Client for a new run! <<<

17:07:57.516 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:07:57.516 -> ------------------- Version 03.0 -------------------- 17:07:57.516 -> Processor: Feather nRF52840 17:07:57.516 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:07:57.517 -> FTMS and Chars 'initialized' 17:07:57.517 -> CPS and Chars 'initialized' 17:07:57.517 -> CSCS and Chars 'initialized' 17:07:57.517 -> GA and Chars 'initialized' 17:07:57.517 -> DIS and Chars 'initialized' 17:07:57.517 -> HRMS and Chars 'initialized' 17:07:57.517 -> Start Scanning for CPS, CSC and FTMS! 17:07:57.517 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:07:57.517 -> Timestamp MAC Address Rssi Data 17:07:57.517 -> 000000621 F8:9C:FC:53:5E:49 -61 09-02-16-18-26-18-18-18-0A-18 17:07:57.517 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:07:57.517 -> >>> Request NEW Connection Parameters! Interval: 47 ms Latency: 0 Supervision Timeout: 4000 ms 17:07:57.517 -> Now checking all Client Services and Characteristics! 17:07:57.517 -> If Mandatory Services Fail --> the Client will disconnect! 17:07:57.517 -> Checking Generic Access and Device Information! 17:07:57.517 -> Start BLEDiscovery... does it help ? 17:07:57.970 -> Found Client Generic Access 17:07:57.970 -> -> Client Reads Device Name: [Zwift Hub] 17:07:58.239 -> -> Client Reads Appearance: [1152] 17:07:58.266 -> Found Client Device Information 17:07:58.421 -> -> Client Reads Manufacturer: [Zwift] 17:07:58.966 -> -> Client Reads Model Number: [06] 17:07:59.324 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:07:59.416 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:07:59.416 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:07:59.631 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:08:00.110 -> Discovering Client FTM Status Characteristic ... Found it! 17:08:00.744 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:08:01.284 -> Discovering Client FTM Feature Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:08:01.331 -> Disconnecting since Client FTM Feature Characteristic is mandatory! 17:08:01.409 -> Client Disconnected, reason = 0x16 17:08:01.409 -> >>> Restart the Feather nRF52 Client for a new run! <<<

17:01:51.122 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:01:51.122 -> ------------------- Version 03.0 -------------------- 17:01:51.122 -> Processor: Feather nRF52840 17:01:51.122 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:01:51.305 -> FTMS and Chars 'initialized' 17:01:51.305 -> CPS and Chars 'initialized' 17:01:51.305 -> CSCS and Chars 'initialized' 17:01:51.305 -> GA and Chars 'initialized' 17:01:51.305 -> DIS and Chars 'initialized' 17:01:51.305 -> HRMS and Chars 'initialized' 17:01:51.305 -> Start Scanning for CPS, CSC and FTMS! 17:01:51.305 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:01:51.305 -> Timestamp MAC Address Rssi Data 17:01:51.305 -> 000000632 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:01:51.306 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:01:51.306 -> >>> Request NEW Connection Parameters! Interval: 85 ms Latency: 0 Supervision Timeout: 4000 ms 17:01:51.306 -> Now checking all Client Services and Characteristics! 17:01:51.306 -> If Mandatory Services Fail --> the Client will disconnect! 17:01:51.306 -> Checking Generic Access and Device Information! 17:01:51.306 -> Start BLEDiscovery... does it help ? 17:01:51.849 -> Found Client Generic Access 17:01:52.014 -> -> Client Reads Device Name: [] 17:01:52.339 -> -> Client Reads Appearance: [0] 17:01:52.586 -> Found Client Device Information 17:01:53.006 -> -> Client Reads Manufacturer: [Zwift] 17:01:53.424 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:01:53.702 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 17:01:53.795 -> Disconnecting since Client FTM Service is mandatory! 17:01:53.950 -> Client Disconnected, reason = 0x16 17:01:53.950 -> >>> Restart the Feather nRF52 Client for a new run! <<<

Berg0162 commented 1 year ago

Dear Joël, You can look at what the Zwift Hub itself is exposing... Use nRF Connect, check Generic Access and look what values it is showing at Preferred Connection Parameters... the minimum connection interval is a good value to enter. Can you make a screen shot of that service and share it? Best wishes, Jörgen. PS Take care of the correct units!

Op vr 24 feb. 2023 17:12 schreef le-joebar @.***>:

Hello Jorgen,

Here are the results, it's always pretty much the same thing.

Tell me what you would like as a test value and procedure ;)

17:04:57.864 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:04:57.864 -> ------------------- Version 03.0 -------------------- 17:04:57.864 -> Processor: Feather nRF52840 17:04:57.864 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:04:57.864 -> FTMS and Chars 'initialized' 17:04:57.864 -> CPS and Chars 'initialized' 17:04:57.864 -> CSCS and Chars 'initialized' 17:04:57.864 -> GA and Chars 'initialized' 17:04:57.864 -> DIS and Chars 'initialized' 17:04:57.864 -> HRMS and Chars 'initialized' 17:04:57.864 -> Start Scanning for CPS, CSC and FTMS! 17:04:57.864 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:04:57.864 -> Timestamp MAC Address Rssi Data 17:04:57.864 -> 000000645 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:04:57.864 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:04:57.864 -> >>> Request NEW Connection Parameters! Interval: 30 ms Latency: 0 Supervision Timeout: 4000 ms 17:04:57.864 -> Now checking all Client Services and Characteristics! 17:04:57.864 -> If Mandatory Services Fail --> the Client will disconnect! 17:04:57.864 -> Checking Generic Access and Device Information! 17:04:57.864 -> Start BLEDiscovery... does it help ? 17:04:58.215 -> Found Client Generic Access 17:04:58.215 -> -> Client Reads Device Name: [Zwift Hub] 17:04:58.396 -> -> Client Reads Appearance: [0] 17:04:58.396 -> Not Found Client Device Information! 17:04:58.396 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 17:04:58.397 -> Disconnecting since Client FTM Service is mandatory! 17:04:58.397 -> Client Disconnected, reason = 0x16 17:04:58.397 -> >>> Restart the Feather nRF52 Client for a new run! <<< 17:04:59.805 -> Stopped!

17:06:28.955 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:06:28.955 -> ------------------- Version 03.0 -------------------- 17:06:28.955 -> Processor: Feather nRF52840 17:06:28.955 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:06:29.128 -> FTMS and Chars 'initialized' 17:06:29.128 -> CPS and Chars 'initialized' 17:06:29.128 -> CSCS and Chars 'initialized' 17:06:29.128 -> GA and Chars 'initialized' 17:06:29.128 -> DIS and Chars 'initialized' 17:06:29.128 -> HRMS and Chars 'initialized' 17:06:29.128 -> Start Scanning for CPS, CSC and FTMS! 17:06:29.129 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:06:29.129 -> Timestamp MAC Address Rssi Data 17:06:29.129 -> 000000655 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:06:29.129 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:06:29.129 -> >>> Request NEW Connection Parameters! Interval: 45 ms Latency: 0 Supervision Timeout: 4000 ms 17:06:29.129 -> Now checking all Client Services and Characteristics! 17:06:29.129 -> If Mandatory Services Fail --> the Client will disconnect! 17:06:29.129 -> Checking Generic Access and Device Information! 17:06:29.129 -> Start BLEDiscovery... does it help ? 17:06:29.284 -> Found Client Generic Access 17:06:29.894 -> -> Client Reads Device Name: [Zwift Hub] 17:06:30.008 -> -> Client Reads Appearance: [0] 17:06:30.471 -> Found Client Device Information 17:06:30.781 -> -> Client Reads Manufacturer: [Zwift] 17:06:31.092 -> -> Client Reads Model Number: [06] 17:06:31.232 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:06:31.371 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:06:31.371 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:06:31.678 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:06:32.172 -> Discovering Client FTM Status Characteristic ... Found it! 17:06:32.711 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:06:32.974 -> Discovering Client FTM Feature Characteristic ... Found it! 17:06:33.252 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:06:33.252 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:06:33.252 -> - Fitness Machine Features: 17:06:33.252 -> - Target Setting Features: 17:06:33.252 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:06:33.939 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:06:34.109 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:06:34.109 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 17:06:34.155 -> Discovering Client Cycling Power (CP) Service ... Not Found! 17:06:34.201 -> Disconnecting since Client Cyling Power Service is mandatory! 17:06:34.326 -> Client Disconnected, reason = 0x16 17:06:34.326 -> >>> Restart the Feather nRF52 Client for a new run! <<<

17:02:49.635 -> CSCS and Chars 'initialized' 17:02:49.635 -> GA and Chars 'initialized' 17:02:49.635 -> DIS and Chars 'initialized' 17:02:49.635 -> HRMS and Chars 'initialized' 17:02:49.635 -> Start Scanning for CPS, CSC and FTMS! 17:02:49.635 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:02:49.635 -> Timestamp MAC Address Rssi Data 17:02:49.635 -> 000002657 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:02:49.804 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:02:49.804 -> >>> Request NEW Connection Parameters! Interval: 30 ms Latency: 0 Supervision Timeout: 4000 ms 17:02:49.804 -> Now checking all Client Services and Characteristics! 17:02:49.804 -> If Mandatory Services Fail --> the Client will disconnect! 17:02:49.804 -> Checking Generic Access and Device Information! 17:02:49.804 -> Start BLEDiscovery... does it help ? 17:02:49.899 -> Found Client Generic Access 17:02:50.452 -> -> Client Reads Device Name: [Zwift Hub] 17:02:50.456 -> -> Client Reads Appearance: [0] 17:02:50.456 -> Found Client Device Information 17:02:50.677 -> -> Client Reads Manufacturer: [Zwift] 17:02:50.910 -> -> Client Reads Model Number: [06] 17:02:51.251 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:02:51.251 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:02:51.390 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:02:51.825 -> Discovering Client FTM Status Characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:02:51.950 -> Ready to receive Client FTM Control Point Response Messages 17:02:52.120 -> Found it! 17:02:52.120 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:02:52.430 -> Discovering Client FTM Feature Characteristic ... Found it! 17:02:52.649 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 17:02:52.649 -> - Fitness Machine Features: 17:02:52.649 -> Average Speed Supported 17:02:52.649 -> Cadence Supported 17:02:52.649 -> Total Distance Supported 17:02:52.649 -> Resistance Level Supported 17:02:52.649 -> Heart Rate Measurement Supported 17:02:52.649 -> Power Measurement Supported 17:02:52.649 -> - Target Setting Features: 17:02:52.649 -> Resistance Target Setting Supported 17:02:52.649 -> Power Target Setting Supported 17:02:52.649 -> Indoor Bike Simulation Parameters Supported 17:02:52.649 -> Wheel Circumference Configuration Supported 17:02:52.649 -> Spin Down Control Supported 17:02:52.649 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:02:53.174 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:02:53.468 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:02:53.468 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 17:02:53.501 -> Discovering Client Cycling Power (CP) Service ... Found it! CPS Max Payload: 20 Data Length: 27 17:02:53.641 -> Discovering Client CP Measurement characteristic ... Found it! 17:02:53.941 -> Discovering Client CP Feature characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:54.065 -> Found it! 17:02:54.141 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 17:02:54.141 -> Wheel revolution data supported 17:02:54.141 -> Crank revolution data supported 17:02:54.141 -> Discovering Client CP Control Point characteristic ... Not Found! NOT Mandatory! 17:02:54.483 -> Discovering Client CP Sensor Location characteristic ... Found it! 17:02:54.703 -> -> Client Reads CP Location Sensor: Loc#: 0 Other 17:02:54.703 -> Discovering Cycling Speed and Cadence (CSC) Service ... Found it! CSCS Max Payload: 20 Data Length: 27 17:02:54.872 -> Discovering Client CSC Measurement CHR ... Found it! 17:02:55.540 -> Discovering Client CSC Feature CHR ... Found it! 17:02:55.805 -> -> Client Reads Raw CSC Feature bytes: [2] [ 00 00 ] 17:02:55.805 -> Discovering Client CSC Location CHR ... Not Found! NOT Mandatory! 17:02:55.837 -> Discovering Heart Rate Measurement (HR) Service ... Not Found! HR Service is Not Mandatory! 17:02:55.977 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:02:57.982 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ]

16:55:24.280 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:55:24.280 -> ------------------- Version 03.0 -------------------- 16:55:24.280 -> Processor: Feather nRF52840 16:55:24.280 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:55:24.404 -> FTMS and Chars 'initialized' 16:55:24.404 -> CPS and Chars 'initialized' 16:55:24.404 -> CSCS and Chars 'initialized' 16:55:24.404 -> GA and Chars 'initialized' 16:55:24.404 -> DIS and Chars 'initialized' 16:55:24.404 -> HRMS and Chars 'initialized' 16:55:24.404 -> Start Scanning for CPS, CSC and FTMS! 16:55:24.404 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:55:24.404 -> Timestamp MAC Address Rssi Data 16:55:24.404 -> 000008926 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:55:24.530 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:55:24.531 -> >>> Request NEW Connection Parameters! Interval: 86 ms Latency: 0 Supervision Timeout: 4000 ms 16:55:24.531 -> Now checking all Client Services and Characteristics! 16:55:24.531 -> If Mandatory Services Fail --> the Client will disconnect! 16:55:24.531 -> Checking Generic Access and Device Information! 16:55:24.531 -> Start BLEDiscovery... does it help ? 16:55:24.953 -> Found Client Generic Access 16:55:25.496 -> -> Client Reads Device Name: [Zwift Hub] 16:55:26.348 -> -> Client Reads Appearance: [0] 16:55:26.440 -> Not Found Client Device Information! 16:55:26.440 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:55:26.532 -> Disconnecting since Client FTM Service is mandatory! 16:55:27.003 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:55:27.046 -> Client Disconnected, reason = 0x16 16:55:27.046 -> >>> Restart the Feather nRF52 Client for a new run! <<<

16:58:06.967 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:58:06.967 -> ------------------- Version 03.0 -------------------- 16:58:06.967 -> Processor: Feather nRF52840 16:58:06.967 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:58:06.986 -> FTMS and Chars 'initialized' 16:58:06.986 -> CPS and Chars 'initialized' 16:58:06.986 -> CSCS and Chars 'initialized' 16:58:06.986 -> GA and Chars 'initialized' 16:58:06.986 -> DIS and Chars 'initialized' 16:58:06.986 -> HRMS and Chars 'initialized' 16:58:06.986 -> Start Scanning for CPS, CSC and FTMS! 16:58:06.986 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:58:06.986 -> Timestamp MAC Address Rssi Data 16:58:06.986 -> 000000639 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:58:06.989 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:58:06.989 -> >>> Request NEW Connection Parameters! Interval: 93 ms Latency: 0 Supervision Timeout: 4000 ms 16:58:06.989 -> Now checking all Client Services and Characteristics! 16:58:06.989 -> If Mandatory Services Fail --> the Client will disconnect! 16:58:06.989 -> Checking Generic Access and Device Information! 16:58:06.989 -> Start BLEDiscovery... does it help ? 16:58:06.989 -> Found Client Generic Access 16:58:07.756 -> -> Client Reads Device Name: [] 16:58:07.930 -> Found Client Device Information 16:58:08.991 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:58:09.116 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:58:09.242 -> Disconnecting since Client FTM Service is mandatory! 16:58:09.415 -> Client Disconnected, reason = 0x16 16:58:09.415 -> >>> Restart the Feather nRF52 Client for a new run! <<<

16:58:58.676 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 16:58:58.676 -> ------------------- Version 03.0 -------------------- 16:58:58.676 -> Processor: Feather nRF52840 16:58:58.676 -> Initialise the Bluefruit nRF52 module: Client (Central) 16:58:58.677 -> FTMS and Chars 'initialized' 16:58:58.677 -> CPS and Chars 'initialized' 16:58:58.677 -> CSCS and Chars 'initialized' 16:58:58.677 -> GA and Chars 'initialized' 16:58:58.677 -> DIS and Chars 'initialized' 16:58:58.677 -> HRMS and Chars 'initialized' 16:58:58.677 -> Start Scanning for CPS, CSC and FTMS! 16:58:58.677 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 16:58:58.677 -> Timestamp MAC Address Rssi Data 16:58:58.677 -> 000000635 F8:9C:FC:53:5E:49 -59 09-02-16-18-26-18-18-18-0A-18 16:58:58.678 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 16:58:58.678 -> >>> Request NEW Connection Parameters! Interval: 87 ms Latency: 0 Supervision Timeout: 4000 ms 16:58:58.678 -> Now checking all Client Services and Characteristics! 16:58:58.678 -> If Mandatory Services Fail --> the Client will disconnect! 16:58:58.678 -> Checking Generic Access and Device Information! 16:58:58.678 -> Start BLEDiscovery... does it help ? 16:58:59.460 -> Found Client Generic Access 16:58:59.732 -> -> Client Reads Device Name: [Zwift Hub] 16:58:59.791 -> -> Client Reads Appearance: [0] 16:59:00.205 -> Found Client Device Information 16:59:00.657 -> -> Client Reads Manufacturer: [Zwift] 16:59:00.657 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 16:59:01.814 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 16:59:01.907 -> Disconnecting since Client FTM Service is mandatory! 16:59:02.047 -> Client Disconnected, reason = 0x16 16:59:02.047 -> >>> Restart the Feather nRF52 Client for a new run! <<<

17:07:57.516 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:07:57.516 -> ------------------- Version 03.0 -------------------- 17:07:57.516 -> Processor: Feather nRF52840 17:07:57.516 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:07:57.517 -> FTMS and Chars 'initialized' 17:07:57.517 -> CPS and Chars 'initialized' 17:07:57.517 -> CSCS and Chars 'initialized' 17:07:57.517 -> GA and Chars 'initialized' 17:07:57.517 -> DIS and Chars 'initialized' 17:07:57.517 -> HRMS and Chars 'initialized' 17:07:57.517 -> Start Scanning for CPS, CSC and FTMS! 17:07:57.517 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:07:57.517 -> Timestamp MAC Address Rssi Data 17:07:57.517 -> 000000621 F8:9C:FC:53:5E:49 -61 09-02-16-18-26-18-18-18-0A-18 17:07:57.517 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:07:57.517 -> >>> Request NEW Connection Parameters! Interval: 47 ms Latency: 0 Supervision Timeout: 4000 ms 17:07:57.517 -> Now checking all Client Services and Characteristics! 17:07:57.517 -> If Mandatory Services Fail --> the Client will disconnect! 17:07:57.517 -> Checking Generic Access and Device Information! 17:07:57.517 -> Start BLEDiscovery... does it help ? 17:07:57.970 -> Found Client Generic Access 17:07:57.970 -> -> Client Reads Device Name: [Zwift Hub] 17:07:58.239 -> -> Client Reads Appearance: [1152] 17:07:58.266 -> Found Client Device Information 17:07:58.421 -> -> Client Reads Manufacturer: [Zwift] 17:07:58.966 -> -> Client Reads Model Number: [06] 17:07:59.324 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:07:59.416 -> -> Client Reads Serial Number: [06-F89CFC535E49] 17:07:59.416 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:07:59.631 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:08:00.110 -> Discovering Client FTM Status Characteristic ... Found it! 17:08:00.744 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:08:01.284 -> Discovering Client FTM Feature Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:08:01.331 -> Disconnecting since Client FTM Feature Characteristic is mandatory! 17:08:01.409 -> Client Disconnected, reason = 0x16 17:08:01.409 -> >>> Restart the Feather nRF52 Client for a new run! <<<

17:01:51.122 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:01:51.122 -> ------------------- Version 03.0 -------------------- 17:01:51.122 -> Processor: Feather nRF52840 17:01:51.122 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:01:51.305 -> FTMS and Chars 'initialized' 17:01:51.305 -> CPS and Chars 'initialized' 17:01:51.305 -> CSCS and Chars 'initialized' 17:01:51.305 -> GA and Chars 'initialized' 17:01:51.305 -> DIS and Chars 'initialized' 17:01:51.305 -> HRMS and Chars 'initialized' 17:01:51.305 -> Start Scanning for CPS, CSC and FTMS! 17:01:51.305 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:01:51.305 -> Timestamp MAC Address Rssi Data 17:01:51.305 -> 000000632 F8:9C:FC:53:5E:49 -60 09-02-16-18-26-18-18-18-0A-18 17:01:51.306 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:01:51.306 -> >>> Request NEW Connection Parameters! Interval: 85 ms Latency: 0 Supervision Timeout: 4000 ms 17:01:51.306 -> Now checking all Client Services and Characteristics! 17:01:51.306 -> If Mandatory Services Fail --> the Client will disconnect! 17:01:51.306 -> Checking Generic Access and Device Information! 17:01:51.306 -> Start BLEDiscovery... does it help ? 17:01:51.849 -> Found Client Generic Access 17:01:52.014 -> -> Client Reads Device Name: [] 17:01:52.339 -> -> Client Reads Appearance: [0] 17:01:52.586 -> Found Client Device Information 17:01:53.006 -> -> Client Reads Manufacturer: [Zwift] 17:01:53.424 -> Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:01:53.702 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Not Found! 17:01:53.795 -> Disconnecting since Client FTM Service is mandatory! 17:01:53.950 -> Client Disconnected, reason = 0x16 17:01:53.950 -> >>> Restart the Feather nRF52 Client for a new run! <<<

— Reply to this email directly, view it on GitHub https://github.com/Berg0162/simcline/issues/7#issuecomment-1443924188, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANS5LSWPJIYVCXO6O6GARFLWZDMVDANCNFSM6AAAAAASZDERFE . You are receiving this because you authored the thread.Message ID: @.***>

le-joebar commented 1 year ago

Hi Jorghën,

Is that what you want?

image

Berg0162 commented 1 year ago

Dear Joel, That is the info your Zwift Hub is sharing... The connInterval that it prefers is ranging between 72 and 120... so give the value 72 a try in the Client! Best wishes, Jörgen.

PS 72 in units of 1.25 means: 72 * 1.25 = 90 ms

Op za 4 mrt 2023 om 14:53 schreef le-joebar @.***>:

Hi Jorghën,

Is that what you want?

[image: image] https://user-images.githubusercontent.com/61932881/222906193-a7291095-e081-42de-9a51-93911f55372a.png

— Reply to this email directly, view it on GitHub https://github.com/Berg0162/simcline/issues/7#issuecomment-1454747405, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANS5LSU7CUSHWKXE5DWMNXTW2NCORANCNFSM6AAAAAASZDERFE . You are receiving this because you authored the thread.Message ID: @.***>

le-joebar commented 1 year ago

Hello Jorgen,

Despite many tests with different values, the best is +- 115 mms but not at all stable.

A lot of : 17:40:18.954 -> Client Disconnected, reason = 0x16

17:20:34.084 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:20:34.084 -> ------------------- Version 03.0 -------------------- 17:20:34.084 -> Processor: Feather nRF52840 17:20:34.084 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:20:34.688 -> FTMS and Chars 'initialized' 17:20:34.688 -> CPS and Chars 'initialized' 17:20:34.688 -> CSCS and Chars 'initialized' 17:20:34.688 -> GA and Chars 'initialized' 17:20:34.689 -> DIS and Chars 'initialized' 17:20:34.689 -> HRMS and Chars 'initialized' 17:20:34.689 -> Start Scanning for CPS, CSC and FTMS! 17:20:34.689 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:20:34.689 -> Timestamp MAC Address Rssi Data 17:20:34.689 -> 000000615 F8:9C:FC:53:5E:49 -45 09-02-16-18-26-18-18-18-0A-18 17:20:34.690 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:20:34.690 -> >>> Request NEW Connection Parameters! Interval: 115 ms Latency: 0 Supervision Timeout: 4000 ms 17:20:34.690 -> Now checking all Client Services and Characteristics! 17:20:34.690 -> If Mandatory Services Fail --> the Client will disconnect! 17:20:34.690 -> Checking Generic Access and Device Information! 17:20:34.690 -> Start BLEDiscovery... does it help ? 17:20:34.894 -> Found Client Generic Access 17:20:35.476 -> -> Client Reads Device Name: [] 17:20:35.848 -> -> Client Reads Appearance: [0] 17:20:35.943 -> Not Found Client Device Information! 17:20:35.943 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:20:36.435 -> Found it! FTMS Max Payload: 20 Data Length: 27 17:20:36.436 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:20:37.225 -> Discovering Client FTM Status Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:20:38.740 -> Found it! 17:20:38.740 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:20:39.417 -> Discovering Client FTM Feature Characteristic ... Found it! 17:20:40.095 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:20:40.095 -> - Fitness Machine Features: 17:20:40.095 -> - Target Setting Features: 17:20:40.095 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:20:40.218 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Not Found! NOT mandatory! 17:20:40.297 -> Discovering Client FTM Supported Power Range Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:20:40.421 -> Not Found! NOT mandatory! 17:20:40.421 -> Discovering Client Cycling Power (CP) Service ... Not Found! 17:20:40.560 -> Disconnecting since Client Cyling Power Service is mandatory! 17:20:42.504 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 17:20:44.616 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ] 17:20:46.726 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 00 28 33 00 ] 17:20:48.820 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 00 00 28 33 00 ]

17:24:50.978 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:24:50.978 -> ------------------- Version 03.0 -------------------- 17:24:50.978 -> Processor: Feather nRF52840 17:24:50.978 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:24:51.630 -> FTMS and Chars 'initialized' 17:24:51.630 -> CPS and Chars 'initialized' 17:24:51.630 -> CSCS and Chars 'initialized' 17:24:51.630 -> GA and Chars 'initialized' 17:24:51.630 -> DIS and Chars 'initialized' 17:24:51.630 -> HRMS and Chars 'initialized' 17:24:51.630 -> Start Scanning for CPS, CSC and FTMS! 17:24:51.631 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:24:51.631 -> Timestamp MAC Address Rssi Data 17:24:51.631 -> 000000654 F8:9C:FC:53:5E:49 -45 09-02-16-18-26-18-18-18-0A-18 17:24:51.631 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:24:51.631 -> >>> Request NEW Connection Parameters! Interval: 118 ms Latency: 0 Supervision Timeout: 4000 ms 17:24:51.631 -> Now checking all Client Services and Characteristics! 17:24:51.631 -> If Mandatory Services Fail --> the Client will disconnect! 17:24:51.631 -> Checking Generic Access and Device Information! 17:24:51.631 -> Start BLEDiscovery... does it help ? 17:24:52.440 -> Found Client Generic Access 17:24:52.458 -> -> Client Reads Device Name: [] 17:24:52.977 -> -> Client Reads Appearance: [0] 17:24:53.103 -> Not Found Client Device Information! 17:24:53.103 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:24:53.366 -> Discovering Client FTM Control Point Characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:24:54.698 -> Found it! 17:24:54.698 -> Discovering Client FTM Status Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:24:55.504 -> Found it! 17:24:55.504 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:24:56.107 -> Discovering Client FTM Feature Characteristic ... Found it! 17:24:56.571 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:24:56.571 -> - Fitness Machine Features: 17:24:56.571 -> - Target Setting Features: 17:24:56.571 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:24:56.695 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Found it! 17:24:57.281 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 00 00 00 00 ] 17:24:57.281 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 17:24:57.404 -> Discovering Client Cycling Power (CP) Service ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:24:57.563 -> Not Found! 17:24:57.563 -> Disconnecting since Client Cyling Power Service is mandatory! 17:24:59.403 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 17:25:01.511 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ] 17:25:03.615 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 00 28 33 00 ]

17:37:01.110 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:37:01.110 -> ------------------- Version 03.0 -------------------- 17:37:01.110 -> Processor: Feather nRF52840 17:37:01.110 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:37:01.735 -> FTMS and Chars 'initialized' 17:37:01.735 -> CPS and Chars 'initialized' 17:37:01.735 -> CSCS and Chars 'initialized' 17:37:01.735 -> GA and Chars 'initialized' 17:37:01.735 -> DIS and Chars 'initialized' 17:37:01.735 -> HRMS and Chars 'initialized' 17:37:01.735 -> Start Scanning for CPS, CSC and FTMS! 17:37:01.735 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:37:01.735 -> Timestamp MAC Address Rssi Data 17:37:01.735 -> 000000620 F8:9C:FC:53:5E:49 -45 09-02-16-18-26-18-18-18-0A-18 17:37:02.454 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:37:02.454 -> >>> Request NEW Connection Parameters! Interval: 118 ms Latency: 0 Supervision Timeout: 4000 ms 17:37:02.454 -> Now checking all Client Services and Characteristics! 17:37:02.454 -> If Mandatory Services Fail --> the Client will disconnect! 17:37:02.454 -> Checking Generic Access and Device Information! 17:37:02.454 -> Start BLEDiscovery... does it help ? 17:37:02.483 -> Found Client Generic Access 17:37:02.483 -> -> Client Reads Device Name: [] 17:37:02.781 -> -> Client Reads Appearance: [0] 17:37:02.921 -> Not Found Client Device Information! 17:37:02.921 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Found it! FTMS Max Payload: 20 Data Length: 27 17:37:03.417 -> Discovering Client FTM Control Point Characteristic ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:37:04.715 -> Found it! 17:37:04.715 -> Discovering Client FTM Status Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:37:05.671 -> Found it! 17:37:05.671 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:37:06.740 -> Discovering Client FTM Feature Characteristic ... Found it! 17:37:07.158 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:37:07.158 -> - Fitness Machine Features: 17:37:07.158 -> - Target Setting Features: 17:37:07.158 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:37:07.295 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Not Found! NOT mandatory! 17:37:07.435 -> Discovering Client FTM Supported Power Range Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:37:07.933 -> Found it! 17:37:08.027 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:37:08.027 -> Discovering Client Cycling Power (CP) Service ... Not Found! 17:37:08.150 -> Disconnecting since Client Cyling Power Service is mandatory! 17:37:09.620 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 17:37:11.721 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ]

17:38:03.799 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:38:03.799 -> ------------------- Version 03.0 -------------------- 17:38:03.799 -> Processor: Feather nRF52840 17:38:03.799 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:38:04.313 -> FTMS and Chars 'initialized' 17:38:04.313 -> CPS and Chars 'initialized' 17:38:04.313 -> CSCS and Chars 'initialized' 17:38:04.313 -> GA and Chars 'initialized' 17:38:04.313 -> DIS and Chars 'initialized' 17:38:04.313 -> HRMS and Chars 'initialized' 17:38:04.313 -> Start Scanning for CPS, CSC and FTMS! 17:38:04.313 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:38:04.313 -> Timestamp MAC Address Rssi Data 17:38:04.313 -> 000001318 F8:9C:FC:53:5E:49 -45 09-02-16-18-26-18-18-18-0A-18 17:38:04.313 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:38:04.313 -> >>> Request NEW Connection Parameters! Interval: 118 ms Latency: 0 Supervision Timeout: 4000 ms 17:38:04.313 -> Now checking all Client Services and Characteristics! 17:38:04.313 -> If Mandatory Services Fail --> the Client will disconnect! 17:38:04.313 -> Checking Generic Access and Device Information! 17:38:04.313 -> Start BLEDiscovery... does it help ? 17:38:04.631 -> Found Client Generic Access 17:38:05.417 -> -> Client Reads Device Name: [] 17:38:06.283 -> -> Client Reads Appearance: [0] 17:38:06.361 -> Not Found Client Device Information! 17:38:06.361 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:38:06.638 -> Found it! FTMS Max Payload: 20 Data Length: 27 17:38:06.638 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:38:07.599 -> Discovering Client FTM Status Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:38:08.656 -> Found it! 17:38:08.656 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:38:09.257 -> Discovering Client FTM Feature Characteristic ... Found it! 17:38:09.708 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:38:09.709 -> - Fitness Machine Features: 17:38:09.709 -> - Target Setting Features: 17:38:09.709 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:38:09.847 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Not Found! NOT mandatory! 17:38:09.939 -> Discovering Client FTM Supported Power Range Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:38:10.574 -> Found it! 17:38:10.667 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 00 00 00 00 ] 17:38:10.667 -> Discovering Client Cycling Power (CP) Service ... Not Found! 17:38:10.792 -> Disconnecting since Client Cyling Power Service is mandatory! 17:38:12.486 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 17:38:14.609 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ] 17:38:16.705 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 00 28 33 00 ]

17:41:48.576 -> Feather nRF52 Client/Central: CPS, CSC, HBM and FTMS 17:41:48.576 -> ------------------- Version 03.0 -------------------- 17:41:48.576 -> Processor: Feather nRF52840 17:41:48.576 -> Initialise the Bluefruit nRF52 module: Client (Central) 17:41:49.072 -> FTMS and Chars 'initialized' 17:41:49.072 -> CPS and Chars 'initialized' 17:41:49.072 -> CSCS and Chars 'initialized' 17:41:49.072 -> GA and Chars 'initialized' 17:41:49.072 -> DIS and Chars 'initialized' 17:41:49.072 -> HRMS and Chars 'initialized' 17:41:49.072 -> Start Scanning for CPS, CSC and FTMS! 17:41:49.072 -> Found advertising Peripheral with FTMS service!, see the Raw Data packet: 17:41:49.072 -> Timestamp MAC Address Rssi Data 17:41:49.072 -> 000001397 F8:9C:FC:53:5E:49 -46 09-02-16-18-26-18-18-18-0A-18 17:41:49.103 -> Feather nRF52 (Central) connected to Trainer (Peripheral) device: [Zwift Hub] MAC Address: F8:9C:FC:53:5E:49 17:41:49.103 -> >>> Request NEW Connection Parameters! Interval: 118 ms Latency: 0 Supervision Timeout: 4000 ms 17:41:49.103 -> Now checking all Client Services and Characteristics! 17:41:49.103 -> If Mandatory Services Fail --> the Client will disconnect! 17:41:49.103 -> Checking Generic Access and Device Information! 17:41:49.103 -> Start BLEDiscovery... does it help ? 17:41:49.890 -> Found Client Generic Access 17:41:50.800 -> -> Client Reads Device Name: [] 17:41:51.172 -> -> Client Reads Appearance: [0] 17:41:51.296 -> Not Found Client Device Information! 17:41:51.296 -> Discovering Mandatory Client Fitness Machine (FTM) Service ... Enable Notify/Indicate of relevant Peripheral (Trainer) Characteristics 17:41:51.884 -> Found it! FTMS Max Payload: 20 Data Length: 27 17:41:51.884 -> Discovering Client FTM Control Point Characteristic ... Found it! 17:41:52.719 -> Discovering Client FTM Status Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:41:53.926 -> Found it! 17:41:53.926 -> Discovering Client FTM Indoor Bike Data Characteristic ... Found it! 17:41:54.515 -> Discovering Client FTM Feature Characteristic ... Found it! 17:41:55.337 -> -> Client Reads Raw FTM Feature bytes: [8] [ 00 00 00 00 00 00 00 00 ] 17:41:55.337 -> - Fitness Machine Features: 17:41:55.337 -> - Target Setting Features: 17:41:55.337 -> Discovering Client FTM Training Status Characteristic ... Not Found! Not Mandatory 17:41:55.431 -> Discovering Client FTM Supported Resistance Level Range Characteristic ... Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 00 00 00 00 00 00 00 00 ] 17:41:55.554 -> Not Found! NOT mandatory! 17:41:55.554 -> Discovering Client FTM Supported Power Range Characteristic ... Not Found! NOT mandatory! 17:41:55.678 -> Discovering Client Cycling Power (CP) Service ... Not Found! 17:41:55.802 -> Disconnecting since Client Cyling Power Service is mandatory! 17:41:57.652 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 07 00 00 00 00 00 00 00 ] 17:41:59.756 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 22 01 28 33 00 ] 17:42:01.855 -> Client sends Indoor Bike Simulation Parameters to Trainer's FTM Control Point: [ 11 00 00 09 00 28 33 00 ]

Berg0162 commented 1 year ago

Dear Joel, That is NOT really the jackpot... 👎 If you still have the courage let's try just some small alterations...

    poll_delay = ConnInterval; // Synchronize SVC/CHR Discovery calls with Connection Interval

Modify --> Comment out the line

    //poll_delay = ConnInterval; // Synchronize SVC/CHR Discovery calls with Connection Interval

Try this with the connInterval value that was "most" successful around (92) 115 ms. If this new situation is improving the success rate, vary the connInterval value (from 72 and up) within the Zwift Hub Preferred Connection interval parameters

// - Zwift Hub will NOT pass 100%-error-free with a value of poll_delay lower than 250 ms !!
unsigned long poll_delay = 0;   // Unit is milliseconds
//---------------------------------------------------------------------------------------------------

You could give poll_delay in the above code line an arbitrary value of 50 ms....

Best wishes, Jörgen.

le-joebar commented 1 year ago

Hello Jorgen,

I think you made Jackpot with the ESP32!!!!!

I had no connection failure.

Here is the result :

12:04:50.863 -> ets Jun 8 2016 00:22:57 12:04:50.863 -> 12:04:50.863 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 12:04:50.863 -> configsip: 0, SPIWP:0xee 12:04:50.863 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 12:04:50.863 -> mode:DIO, clock div:1 12:04:50.863 -> load:0x3fff0030,len:1344 12:04:50.863 -> load:0x40078000,len:13864 12:04:50.863 -> load:0x40080400,len:3608 12:04:50.863 -> entry 0x400805f0 12:04:51.096 -> ESP32 NimBLE MITM supporting: CPS, CSC, HBM and FTMS 12:04:51.096 -> ------------------ Version 01.0 -------------------- 12:04:51.345 -> Configuring the default Generic Access Service 12:04:51.345 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 12:04:51.345 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 12:04:51.345 -> Configuring the Server Nordic Uart Service 12:04:51.345 -> Configuring the Server Device Information Service 12:04:51.377 -> Configuring the Server Cycle Power Service 12:04:51.377 -> Configuring the Server Cadence and Speed Service 12:04:51.377 -> Configuring the Server Fitness Machine Service 12:04:51.377 -> Configuring the Server Heart Rate Service 12:04:51.377 -> Setting up the Server advertising payload(s) 12:04:51.377 -> Setting Appearance in Advertised data to [1152] 12:04:51.377 -> Server is advertising: CPS, CSC and FTMS 12:04:51.377 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 12:04:53.065 -> Found advertising Peripheral with FTMS enabled! See data: 12:04:53.101 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 12:04:53.101 -> Service Data: 12:04:53.101 -> UUID: 0x1826, Data:  12:04:53.141 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 12:04:53.141 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 12:04:53.141 -> Now checking all Client Services and Characteristics! 12:04:53.141 -> If Mandatory Services Fail --> the Client will disconnect! 12:04:53.544 -> Client Generic Access: Found! 12:04:53.824 -> -> Client Reads Device Name: [Zwift Hub] 12:04:54.193 -> -> Client Reads Appearance: [1152] 12:04:54.271 -> Client Device Information Service: Found! 12:04:54.641 -> -> Client Reads Manufacturer Name: [Zwift] 12:04:55.000 -> -> Client Reads Model Number: [06] 12:04:55.373 -> -> Client Reads Serial Number: [06-F89CFC535E49] 12:04:55.636 -> Client_CyclingPower_Service: Found! 12:04:55.822 -> Client_CP_Measurement_Chr: Found! 12:04:56.377 -> Client_CP_Feature_Chr: Found! 12:04:56.456 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 12:04:56.456 -> Wheel revolution data supported 12:04:56.501 -> Crank revolution data supported 12:04:56.779 -> Client_CP_Location_Chr: Found! 12:04:56.857 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 12:04:57.088 -> Client_CyclingSpeedCadence_Service: Found! 12:04:57.336 -> Client_CSC_Measurement_Chr: Found! 12:04:57.893 -> Client_CSC_Feature_Chr: Found! 12:04:57.986 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 12:04:57.986 -> Wheel rev supported 12:04:57.986 -> Crank rev supported 12:04:58.232 -> Client_CSC_Location_Chr: Found! 12:04:58.421 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 12:04:58.823 -> Client_FitnessMachine_Service: Found! 12:04:59.135 -> Client_FTM_Feature_Chr: Found! 12:04:59.281 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 12:04:59.281 -> - Fitness Machine Features: 12:04:59.281 -> Average Speed Supported 12:04:59.281 -> Cadence Supported 12:04:59.281 -> Total Distance Supported 12:04:59.281 -> Resistance Level Supported 12:04:59.281 -> Heart Rate Measurement Supported 12:04:59.281 -> Power Measurement Supported 12:04:59.281 -> - Target Setting Features: 12:04:59.281 -> Resistance Target Setting Supported 12:04:59.281 -> Power Target Setting Supported 12:04:59.281 -> Indoor Bike Simulation Parameters Supported 12:04:59.320 -> Wheel Circumference Configuration Supported 12:04:59.320 -> Spin Down Control Supported 12:04:59.584 -> Client_FTM_IndoorBikeData_Chr: Found! 12:05:00.519 -> Client_FTM_TrainingStatus_Chr: Not Found! 12:05:00.831 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 12:05:00.924 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 12:05:01.285 -> Client_FTM_SupportedPowerRange_Chr: Found! 12:05:01.373 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 12:05:01.637 -> Client_FTM_ControlPoint_Chr: Found! 12:05:02.432 -> Client_FTM_Status_Chr: Found! 12:05:03.135 -> Client_HeartRate_Service: Found! 12:05:03.384 -> Client_HR_Measurement_Chr: Found! 12:05:04.038 -> Client_HR_Location_Chr: Found! 12:05:04.132 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 12:06:01.821 -> Server Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 12:06:01.821 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 12:06:01.821 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 12:06:02.277 -> MTU updated: 255 for connection ID: 1 12:06:02.542 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 12:06:06.951 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 12:06:08.054 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 12:06:09.257 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 12:06:09.885 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 12:06:10.432 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 12:06:11.276 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 12:08:24.282 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 12:08:24.282 -> Request Control of Machine! 12:08:24.513 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 12:08:24.652 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 12:08:24.652 -> Reset Machine! 12:08:24.715 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 01 01 ] 12:08:24.761 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [1] [ 01 ] 12:08:24.761 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 12:08:24.761 -> Request Control of Machine! 12:08:24.993 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 12:08:25.071 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 07] [Values: 00 ] 12:08:25.071 -> Start or Resume Machine! 12:08:25.195 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 07 01 ] 12:08:25.242 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [1] [ 04 ] 12:08:26.114 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 E6 00 28 33 00 ] 12:08:26.160 -> Set Indoor Bike Simulation Parameters! 12:08:26.160 -> Wind speed (1000): 0.00 | Grade (100): 2.30 | Crr (10000): 0.00 | Cw (100): 0.51 12:08:26.283 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:08:26.283 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 E6 00 28 33 ] 12:10:02.871 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 CC 00 28 33 00 ] 12:10:02.871 -> Set Indoor Bike Simulation Parameters! 12:10:02.871 -> Wind speed (1000): 0.00 | Grade (100): 2.04 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:03.026 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:03.026 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 CC 00 28 33 ] 12:10:03.853 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 9A 00 28 33 00 ] 12:10:03.899 -> Set Indoor Bike Simulation Parameters! 12:10:03.899 -> Wind speed (1000): 0.00 | Grade (100): 1.54 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:04.223 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:04.223 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 9A 00 28 33 ] 12:10:05.269 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 90 00 28 33 00 ] 12:10:05.269 -> Set Indoor Bike Simulation Parameters! 12:10:05.269 -> Wind speed (1000): 0.00 | Grade (100): 1.44 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:05.392 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:05.438 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 90 00 28 33 ] 12:10:05.957 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 80 00 28 33 00 ] 12:10:06.001 -> Set Indoor Bike Simulation Parameters! 12:10:06.001 -> Wind speed (1000): 0.00 | Grade (100): 1.28 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:06.140 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:06.140 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 80 00 28 33 ] 12:10:07.012 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 75 00 28 33 00 ] 12:10:07.012 -> Set Indoor Bike Simulation Parameters! 12:10:07.012 -> Wind speed (1000): 0.00 | Grade (100): 1.17 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:07.230 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:07.230 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 75 00 28 33 ] 12:10:07.995 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 6D 00 28 33 00 ] 12:10:08.041 -> Set Indoor Bike Simulation Parameters! 12:10:08.041 -> Wind speed (1000): 0.00 | Grade (100): 1.09 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:08.304 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:08.304 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 6D 00 28 33 ] 12:10:09.162 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 64 00 28 33 00 ] 12:10:09.162 -> Set Indoor Bike Simulation Parameters! 12:10:09.162 -> Wind speed (1000): 0.00 | Grade (100): 1.00 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:09.396 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:09.396 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 64 00 28 33 ] 12:10:10.281 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 5B 00 28 33 00 ] 12:10:10.281 -> Set Indoor Bike Simulation Parameters! 12:10:10.281 -> Wind speed (1000): 0.00 | Grade (100): 0.91 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:10.468 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:10.468 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 5B 00 28 33 ] 12:10:11.264 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 55 00 28 33 00 ] 12:10:11.264 -> Set Indoor Bike Simulation Parameters! 12:10:11.264 -> Wind speed (1000): 0.00 | Grade (100): 0.85 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:11.435 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:11.435 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 55 00 28 33 ] 12:10:12.294 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 50 00 28 33 00 ] 12:10:12.294 -> Set Indoor Bike Simulation Parameters! 12:10:12.294 -> Wind speed (1000): 0.00 | Grade (100): 0.80 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:12.510 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:12.510 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 50 00 28 33 ] 12:10:13.588 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 4B 00 28 33 00 ] 12:10:13.588 -> Set Indoor Bike Simulation Parameters! 12:10:13.588 -> Wind speed (1000): 0.00 | Grade (100): 0.75 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:13.710 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:13.710 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 4B 00 28 33 ] 12:10:14.568 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 49 00 28 33 00 ] 12:10:14.568 -> Set Indoor Bike Simulation Parameters! 12:10:14.568 -> Wind speed (1000): 0.00 | Grade (100): 0.73 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:14.757 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:14.803 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 49 00 28 33 ] 12:10:15.642 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 46 00 28 33 00 ] 12:10:15.642 -> Set Indoor Bike Simulation Parameters! 12:10:15.642 -> Wind speed (1000): 0.00 | Grade (100): 0.70 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:15.722 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:15.722 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 46 00 28 33 ] 12:10:18.167 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 48 00 28 33 00 ] 12:10:18.167 -> Set Indoor Bike Simulation Parameters! 12:10:18.167 -> Wind speed (1000): 0.00 | Grade (100): 0.72 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:18.356 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:18.401 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 48 00 28 33 ] 12:10:19.216 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 4B 00 28 33 00 ] 12:10:19.262 -> Set Indoor Bike Simulation Parameters! 12:10:19.262 -> Wind speed (1000): 0.00 | Grade (100): 0.75 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:19.586 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:19.586 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 4B 00 28 33 ] 12:10:20.394 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 51 00 28 33 00 ] 12:10:20.394 -> Set Indoor Bike Simulation Parameters! 12:10:20.394 -> Wind speed (1000): 0.00 | Grade (100): 0.81 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:20.519 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:20.519 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 51 00 28 33 ] 12:10:21.468 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 58 00 28 33 00 ] 12:10:21.468 -> Set Indoor Bike Simulation Parameters! 12:10:21.468 -> Wind speed (1000): 0.00 | Grade (100): 0.88 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:21.593 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:21.640 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 58 00 28 33 ] 12:10:22.541 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 61 00 28 33 00 ] 12:10:22.541 -> Set Indoor Bike Simulation Parameters! 12:10:22.541 -> Wind speed (1000): 0.00 | Grade (100): 0.97 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:22.712 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:22.712 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 61 00 28 33 ] 12:10:23.505 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 6B 00 28 33 00 ] 12:10:23.505 -> Set Indoor Bike Simulation Parameters! 12:10:23.505 -> Wind speed (1000): 0.00 | Grade (100): 1.07 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:23.677 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:23.677 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 6B 00 28 33 ] 12:10:24.489 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 74 00 28 33 00 ] 12:10:24.535 -> Set Indoor Bike Simulation Parameters! 12:10:24.535 -> Wind speed (1000): 0.00 | Grade (100): 1.16 | Crr (10000): 0.00 | Cw (100): 0.51 12:10:24.752 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 11 01 ] 12:10:24.752 -> -> Client Rec'd Raw FTM Machine Status Data: [1] [7] [ 12 00 00 74 00 28 33 ] 12:10:25.579 -> --> Raw FTM Control Point Data [len: 7] [OpCode: 11] [Values: 00 00 7A 00 28 33 00 ] 12:10:25.579 -> Set Indoor Bike Simulation Parameters! 12:05:01.373 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ]

image

image

le-joebar commented 1 year ago

Jorgen,

I'm trying to compile the: esp32_FTMS_Simcline_v010

at line 513 I must correct like this #include "Lifter.h"

I will make the electronic connections to test everything actively.

Berg0162 commented 1 year ago

Dear Joel, I am very glad that the ESP32 code is working so well with your Zwift Hub... I assume that ESP32_Client is doing as well as FTMS_Zwift_Bridge...??

Lifter is a class that should reside in Arduino/libraries/, if that is the case is should be addressed as #include . In other cases when it resides in the same directory as the Arduino.ino file is should be addressed as #include "Lifter.h".

Have a nice weekend, Jörgen.

le-joebar commented 1 year ago

Yes the ESP32_Client work perfectly !

le-joebar commented 1 year ago

Hello Jorgen,

I can't manage to properly adjust the values ​​for the inclination of the bike.

My bike is 96cm between the 2 wheels.

The axle of the rear wheel is 42 cm from the ground.

For the front wheel to be at the same height, the value of the VL6180X must be at 27 cm, i.e.:

Lifter.cpp _TargetPosition = 270; // Choose the safe value of a flat road

But I don't think this is taken into account!!!!

The maximum high and Min low stroke

define MINPOSITION 170 // VL6180X highest value top microswitch activated to mechanically stop operation

define MAXPOSITION 370 // VL6180X lowest value bottom microswitch activated to mechanically stop operation

Despite the values ​​that I changed in the program after the start of the system and the self-test the wheel stood at 35cm from the ground.

Can you help me to adjust the values?

PS: Do you believe that with the dual core ESP32 it would be possible to add the fan speed ??? lol

Friendship , Joel.

Berg0162 commented 1 year ago

Positions

Does this help you?

Berg0162 commented 1 year ago

Dear Joel, Did you use the test programs in the Arduino directory? These were added (among other things) to help one solve finding correct Top/Bottom positioning values..... I have added an updated version derived from the Test_Manual..etcetera and Test_Auto..etcetera.... All in one and taking into account the development board for correct pin allocation. These are the tools you can do it with! Please notice that the VL6180X is NOT calibrated (!) and NOT measuring in millimeters, at first glance it looks like but it is NOT! However, the Simcline code does take care as long as you enter the correct Min and Max, Top and Bottom values. Best wishes, Jörgen.

Berg0162 commented 1 year ago

For the front wheel to be at the same height, the value of the VL6180X must be at 27 cm, i.e.:

Lifter.cpp _TargetPosition = 270; // Choose the safe value of a flat road

But I don't think this is taken into account!!!!

The private class variables are defined in Lifter Class and set to an initial value

// Private variables for position control
  _IsBrakeOn = true;
  _IsMovingUp = false;
  _IsMovingDown = false;
  _TargetPosition = 400; // Choose the safe value of a flat road

Class methods are defined that allow setting new values, like:

void Lifter::SetTargetPosition(int16_t Tpos)
{
  _TargetPosition = Tpos;
}

It is safer to start with the Brakes on (true) and Moving-Up and -Down being false !!! The value of 400 is arbitrary (but safer than 0 or 32000) and chosen in case the casual class user is not using the method lift.setTargetPosition(###) before Up/DownControl is activated... 400 would then mean: lift to something close to flat road position... That is a lot safer than lift until you reached the value of zero... If you study carefully the Simcline code you would see that ALWAYS first lift.SetTargetPosition(###) is called before UpDownMovement is called! So to make a long story short: the initial value of 400 has really NOTHING to do with your specific horizontal wheel position and changing it will have no effect!

The settings in the Simcline code have an one on one relationship with the Simcline construction and how the wheel axle position is measured, between the top of the Aluminium Extruded Profile and the gliding Axle Cylinder mount. The photos, that you have sent me, suggest (but I am not sure) that with your setup you are having the same alignment. In that case, setting values for MINPOSITION and MAXPOSITION should bring you close to a working setup... Did you check carefully that the VL6180X is measuring correct values over the whole range of axle movement? Alignment of the laser (with respect to its target) is very critical... I did not see a shiny reflection plate (target mirror) on your axle mount, do you have good response when you reach the maximal distance value of 30 cm? Keep trying! Jörgen.

le-joebar commented 1 year ago

Hello Jorgen,

I followed your instructions and tested with "esp32-nRF52_Simcline_Diagnostics_Test.ino" After some mechanical adjustment everything is perfect !!! ;)

With the ESP 32 dual core don't you think it's possible to add the fans?.

Last thing the "Simcline_v2_4_4.apk" does not work on my Samsung android A71 I have this message :

image

Joel

Berg0162 commented 1 year ago

Daar Joël, Great! Didn't you use the original test-programs before, for positioning the actuator? When you install the Android App the BLE library needs access rights to your location data to function well...It asks for that right and you should grant it! Check in Settings, the App rights... What is your Android version? Best wishes, Jörgen.

Op za 25 mrt. 2023 12:32 schreef Joel @.***>:

Hello Jorgen,

I followed your instructions and tested with "esp32-nRF52_Simcline_Diagnostics_Test.ino" After some mechanical adjustment everything is perfect !!! ;)

With the ESP 32 dual core don't you think it's possible to add the fans?.

Last thing the "Simcline_v2_4_4.apk" does not work on my Samsung android A71 I have this message :

[image: image] https://user-images.githubusercontent.com/61932881/227714902-5cc400b1-7a06-4924-8ebe-d12dd0b9e24e.png

Joel

— Reply to this email directly, view it on GitHub https://github.com/Berg0162/simcline/issues/7#issuecomment-1483800781, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANS5LSXBNGIII5VAHDTA343W53JWTANCNFSM6AAAAAASZDERFE . You are receiving this because you authored the thread.Message ID: @.***>

le-joebar commented 1 year ago

Hello Jorgen, I haven't spent the last few days adjusting the wheel height and now it's perfect. I had done the editing with an ES 32 WROOM that I had in stock and I had a lot of untimely reboots!

Then its this calm and sometimes works without problem!

I thought it was because of the card. So I ordered the Adafruit ESP32 FEATHER V2 but it's exactly the same.

I'll send you copies of the results.

On the Adafruit I did not put the Oled there the VL but it does not affect the result.

There is also this I don't know if it has to do? with adafruit and Wroom

16:27:00.700 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x1, 0x0} 16:27:00.700 -> E (15) esp_littlefs: mount failed, (-84) 16:27:00.744 -> E (19) esp_littlefs: Failed to initialize LittleFS

ESP32-WROOM

16:27:00.441 -> ets Jun 8 2016 00:22:57 16:27:00.441 -> 16:27:00.441 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:27:00.441 -> configsip: 0, SPIWP:0xee 16:27:00.441 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:27:00.483 -> mode:DIO, clock div:1 16:27:00.483 -> load:0x3fff0030,len:1344 16:27:00.483 -> load:0x40078000,len:13864 16:27:00.483 -> load:0x40080400,len:3608 16:27:00.483 -> entry 0x400805f0 16:27:00.700 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:27:00.700 -> -------------------- Version 01.1 ---------------------- 16:27:00.700 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x1, 0x0} 16:27:00.700 -> E (15) esp_littlefs: mount failed, (-84) 16:27:00.744 -> E (19) esp_littlefs: Failed to initialize LittleFS 16:27:00.744 -> SSD1306 OLED display is running... 16:27:10.284 -> otor Control Task Created and Active! 16:27:10.284 -> Simcline Basic Motor Funtions are working!! 16:27:10.550 -> Configuring the default Generic Access Service 16:27:10.550 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:27:10.550 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:27:10.582 -> Configuring the Server Nordic Uart Service 16:27:10.582 -> Configuring the Server Device Information Service 16:27:10.582 -> Configuring the Server Cycle Power Service 16:27:10.582 -> Configuring the Server Cadence and Speed Service 16:27:10.582 -> Configuring the Server Fitness Machine Service 16:27:10.582 -> Configuring the Server Heart Rate Service 16:27:10.582 -> Setting up the Server advertising payload(s) 16:27:10.627 -> Setting Appearance in Advertised data to [1152] 16:27:10.627 -> Server is advertising: CPS, CSC and FTMS 16:27:10.627 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:27:10.706 -> Found advertising Peripheral with FTMS enabled! See data: 16:27:10.706 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:27:10.752 -> Service Data: 16:27:10.752 -> UUID: 0x1826, Data:  16:27:10.784 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:27:10.784 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:27:10.830 -> Now checking all Client Services and Characteristics! 16:27:10.830 -> If Mandatory Services Fail --> the Client will disconnect! 16:27:11.158 -> Client Generic Access: Found! 16:27:11.611 -> -> Client Reads Device Name: [Zwift Hub] 16:27:12.191 -> -> Client Reads Appearance: [1152] 16:27:12.284 -> Client Device Information Service: Found! 16:27:12.886 -> -> Client Reads Manufacturer Name: [Zwift] 16:27:13.365 -> -> Client Reads Model Number: [06] 16:27:13.902 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:27:14.409 -> Client_CyclingPower_Service: Found! 16:27:14.688 -> Client_CP_Measurement_Chr: Found! 16:27:15.655 -> Client_CP_Feature_Chr: Found! 16:27:15.902 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:27:15.902 -> Wheel revolution data supported 16:27:15.902 -> Crank revolution data supported 16:27:16.303 -> Client_CP_Location_Chr: Found! 16:27:16.442 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:27:16.736 -> Client_CyclingSpeedCadence_Service: Found! 16:27:17.045 -> Client_CSC_Measurement_Chr: Found! 16:27:17.906 -> Client_CSC_Feature_Chr: Found! 16:27:18.047 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:27:18.047 -> Wheel rev supported 16:27:18.047 -> Crank rev supported 16:27:18.356 -> Client_CSC_Location_Chr: Found! 16:27:18.587 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:27:18.847 -> Client_FitnessMachine_Service: Found! 16:27:19.065 -> Client_FTM_Feature_Chr: Found! 16:27:19.235 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:27:19.235 -> - Fitness Machine Features: 16:27:19.235 -> Average Speed Supported 16:27:19.235 -> Cadence Supported 16:27:19.235 -> Total Distance Supported 16:27:19.235 -> Resistance Level Supported 16:27:19.235 -> Heart Rate Measurement Supported 16:27:19.235 -> Power Measurement Supported 16:27:19.281 -> - Target Setting Features: 16:27:19.281 -> Resistance Target Setting Supported 16:27:19.281 -> Power Target Setting Supported 16:27:19.281 -> Indoor Bike Simulation Parameters Supported 16:27:19.281 -> Wheel Circumference Configuration Supported 16:27:19.281 -> Spin Down Control Supported 16:27:19.560 -> Client_FTM_IndoorBikeData_Chr: Found! 16:27:20.908 -> Client_FTM_TrainingStatus_Chr: Not Found! 16:27:21.138 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 16:27:21.217 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:27:21.600 -> Client_FTM_SupportedPowerRange_Chr: Found! 16:27:21.787 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:27:22.202 -> Client_FTM_ControlPoint_Chr: Found! 16:27:22.892 -> Client_FTM_Status_Chr: Found! 16:27:23.753 -> Client_HeartRate_Service: Found! 16:27:23.985 -> Client_HR_Measurement_Chr: Found! 16:27:24.907 -> Client_HR_Location_Chr: Found! 16:27:25.138 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 16:32:36.029 -> erver Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 16:32:36.029 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 16:32:36.029 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 16:32:36.587 -> Central (MyLaptop/Zwift) updated MTU to: [255] for connection ID: 1 16:32:37.243 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:32:41.215 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 16:32:42.355 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 16:32:43.381 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 16:32:44.102 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 16:32:44.631 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 16:32:45.503 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 16:33:13.496 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:33:13.496 -> Request Control of Machine! 16:33:14.381 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 16:33:14.521 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 16:33:14.521 -> Reset Machine! 16:33:14.646 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:33:14.646 -> Request Control of Machine! 16:33:14.851 -> Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. 16:33:14.851 -> Memory dump at 0x400d2808: 3f6508a8 00f01dc2 81004136 16:33:14.851 -> Core 1 register dump: 16:33:14.851 -> PC : 0x400d280d PS : 0x00060030 A0 : 0x00000000 A1 : 0x3ffd20c0
16:33:14.851 -> A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x00000000
16:33:14.851 -> A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800d280d A9 : 0x3ffd20a0
16:33:14.883 -> A10 : 0x3ffd2ad4 A11 : 0x00000001 A12 : 0x0000000b A13 : 0x3ffd215c
16:33:14.883 -> A14 : 0x00000000 A15 : 0x3ffc3fbc SAR : 0x00000009 EXCCAUSE: 0x00000000
16:33:14.883 -> EXCVADDR: 0x00000000 LBEG : 0x4009044c LEND : 0x40090462 LCOUNT : 0x00000000
16:33:14.883 -> 16:33:14.883 -> 16:33:14.883 -> Backtrace:0x400d280a:0x3ffd20c0 16:33:14.915 -> 16:33:14.915 -> 16:33:14.915 -> 16:33:14.915 -> 16:33:14.915 -> ELF file SHA256: 0000000000000000 16:33:14.915 -> 16:33:14.915 -> Rebooting... 16:33:14.915 -> ets Jun 8 2016 00:22:57 16:33:14.915 -> 16:33:14.915 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:33:14.915 -> configsip: 0, SPIWP:0xee 16:33:14.915 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:33:14.915 -> mode:DIO, clock div:1 16:33:14.915 -> load:0x3fff0030,len:1344 16:33:14.915 -> load:0x40078000,len:13864 16:33:14.915 -> load:0x40080400,len:3608 16:33:14.915 -> entry 0x400805f0 16:33:15.164 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:33:15.164 -> -------------------- Version 01.1 ---------------------- 16:33:15.164 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x1, 0x0} 16:33:15.164 -> E (15) esp_littlefs: mount failed, (-84) 16:33:15.210 -> E (19) esp_littlefs: Failed to initialize LittleFS 16:33:15.210 -> SSD1306 OLED display is running... 16:33:24.709 -> Motor Control Task Created and Active! 16:33:24.709 -> Simcline Basic Motor Funtions are working!! 16:33:25.019 -> Configuring the default Generic Access Service 16:33:25.019 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:33:25.019 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:33:25.019 -> Configuring the Server Nordic Uart Service 16:33:25.019 -> Configuring the Server Device Information Service 16:33:25.051 -> Configuring the Server Cycle Power Service 16:33:25.051 -> Configuring the Server Cadence and Speed Service 16:33:25.051 -> Configuring the Server Fitness Machine Service 16:33:25.051 -> Configuring the Server Heart Rate Service 16:33:25.051 -> Setting up the Server advertising payload(s) 16:33:25.051 -> Setting Appearance in Advertised data to [1152] 16:33:25.051 -> Server is advertising: CPS, CSC and FTMS 16:33:25.089 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:33:25.126 -> Found advertising Peripheral with FTMS enabled! See data: 16:33:25.126 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:33:25.126 -> Service Data: 16:33:25.126 -> UUID: 0x1826, Data:  16:33:25.191 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:33:25.191 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:33:25.237 -> Now checking all Client Services and Characteristics! 16:33:25.237 -> If Mandatory Services Fail --> the Client will disconnect! 16:33:25.595 -> Client Generic Access: Found! 16:33:26.067 -> -> Client Reads Device Name: [Zwift Hub] 16:33:26.476 -> -> Client Reads Appearance: [1152] 16:33:26.662 -> Client Device Information Service: Found! 16:33:27.207 -> -> Client Reads Manufacturer Name: [Zwift] 16:33:27.766 -> -> Client Reads Model Number: [06] 16:33:28.126 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:33:28.377 -> Client_CyclingPower_Service: Found! 16:33:28.894 -> Client_CP_Measurement_Chr: Found! 16:33:29.033 -> Server Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 16:33:29.033 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 16:33:29.033 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 16:33:29.171 -> Central (MyLaptop/Zwift) updated MTU to: [255] for connection ID: 1 16:33:29.843 -> Client_CP_Feature_Chr: Found! 16:33:30.060 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:33:30.060 -> Wheel revolution data supported 16:33:30.060 -> Crank revolution data supported 16:33:30.324 -> Client_CP_Location_Chr: Found! 16:33:30.513 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:33:30.794 -> Client_CyclingSpeedCadence_Service: Found! 16:33:31.107 -> Client_CSC_Measurement_Chr: Found! 16:33:31.964 -> Client_CSC_Feature_Chr: Found! 16:33:32.104 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:33:32.104 -> Wheel rev supported 16:33:32.104 -> Crank rev supported 16:33:32.402 -> Client_CSC_Location_Chr: Found! 16:33:32.528 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:33:33.164 -> Client_FitnessMachine_Service: Found! 16:33:33.413 -> Client_FTM_Feature_Chr: Found! 16:33:33.633 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:33:33.633 -> - Fitness Machine Features: 16:33:33.665 -> Average Speed Supported 16:33:33.665 -> Cadence Supported 16:33:33.665 -> Total Distance Supported 16:33:33.665 -> Resistance Level Supported 16:33:33.665 -> Heart Rate Measurement Supported 16:33:33.665 -> Power Measurement Supported 16:33:33.665 -> - Target Setting Features: 16:33:33.665 -> Resistance Target Setting Supported 16:33:33.665 -> Power Target Setting Supported 16:33:33.665 -> Indoor Bike Simulation Parameters Supported 16:33:33.665 -> Wheel Circumference Configuration Supported 16:33:33.665 -> Spin Down Control Supported 16:33:33.787 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 16:33:33.959 -> Client_FTM_IndoorBikeData_Chr: Found! 16:33:34.910 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 16:33:35.563 -> Client_FTM_TrainingStatus_Chr: Not Found! 16:33:35.909 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 16:33:36.003 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 16:33:36.130 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:33:36.471 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 16:33:36.517 -> Client_FTM_SupportedPowerRange_Chr: Found! 16:33:36.686 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:33:36.966 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 16:33:37.012 -> Client_FTM_ControlPoint_Chr: Found! 16:33:37.888 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 16:33:38.013 -> Client_FTM_Status_Chr: Found! 16:33:38.903 -> Client_HeartRate_Service: Found! 16:33:39.417 -> Client_HR_Measurement_Chr: Found! 16:33:40.195 -> Client_HR_Location_Chr: Found! 16:33:40.412 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 16:33:40.833 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:33:40.833 -> Request Control of Machine! 16:33:41.999 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:33:43.060 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:33:45.858 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:33:45.858 -> Request Control of Machine! 16:33:45.984 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 16:33:46.153 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 16:33:46.153 -> Reset Machine! 16:33:46.278 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:33:46.278 -> Request Control of Machine! 16:33:46.403 -> Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. 16:33:46.403 -> Memory dump at 0x400d2808: 3f6508a8 00f01dc2 81004136 16:33:46.403 -> Core 1 register dump: 16:33:46.403 -> PC : 0x400d280d PS : 0x00060830 A0 : 0x00000000 A1 : 0x3ffd2060
16:33:46.403 -> A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x00000000
16:33:46.435 -> A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800d280d A9 : 0x3ffd2040
16:33:46.435 -> A10 : 0x3ffd2a78 A11 : 0x00000001 A12 : 0x0000000b A13 : 0x3ffd2100
16:33:46.435 -> A14 : 0x00000000 A15 : 0x3ffc3fbc SAR : 0x00000009 EXCCAUSE: 0x00000000
16:33:46.435 -> EXCVADDR: 0x00000000 LBEG : 0x4009044c LEND : 0x40090462 LCOUNT : 0x00000000
16:33:46.467 -> 16:33:46.467 -> 16:33:46.467 -> Backtrace:0x400d280a:0x3ffd2060 16:33:46.467 -> 16:33:46.467 -> 16:33:46.467 -> 16:33:46.467 -> 16:33:46.467 -> ELF file SHA256: 0000000000000000 16:33:46.467 -> 16:33:46.467 -> Rebooting... 16:33:46.467 -> ets Jun 8 2016 00:22:57 16:33:46.467 -> 16:33:46.467 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:33:46.467 -> configsip: 0, SPIWP:0xee 16:33:46.467 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:33:46.467 -> mode:DIO, clock div:1 16:33:46.467 -> load:0x3fff0030,len:1344 16:33:46.467 -> load:0x40078000,len:13864 16:33:46.509 -> load:0x40080400,len:3608 16:33:46.509 -> entry 0x400805f0 16:33:46.729 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:33:46.729 -> -------------------- Version 01.1 ---------------------- 16:33:46.729 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x1, 0x0} 16:33:46.729 -> E (15) esp_littlefs: mount failed, (-84) 16:33:46.729 -> E (19) esp_littlefs: Failed to initialize LittleFS 16:33:46.729 -> SSD1306 OLED display is running... 16:33:56.266 -> Motor Control Task Created and Active! 16:33:56.312 -> Simcline Basic Motor Funtions are working!! 16:33:56.577 -> Configuring the default Generic Access Service 16:33:56.577 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:33:56.609 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:33:56.609 -> Configuring the Server Nordic Uart Service 16:33:56.609 -> Configuring the Server Device Information Service 16:33:56.609 -> Configuring the Server Cycle Power Service 16:33:56.609 -> Configuring the Server Cadence and Speed Service 16:33:56.609 -> Configuring the Server Fitness Machine Service 16:33:56.609 -> Configuring the Server Heart Rate Service 16:33:56.642 -> Setting up the Server advertising payload(s) 16:33:56.642 -> Setting Appearance in Advertised data to [1152] 16:33:56.642 -> Server is advertising: CPS, CSC and FTMS 16:33:56.642 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:33:56.684 -> Found advertising Peripheral with FTMS enabled! See data: 16:33:56.684 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:33:56.684 -> Service Data: 16:33:56.684 -> UUID: 0x1826, Data:  16:33:56.761 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:33:56.761 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:33:56.808 -> Now checking all Client Services and Characteristics! 16:33:56.808 -> If Mandatory Services Fail --> the Client will disconnect! 16:33:57.231 -> Client Generic Access: Found! 16:33:57.885 -> -> Client Reads Device Name: [Zwift Hub] 16:33:58.275 -> -> Client Reads Appearance: [1152] 16:33:58.400 -> Server Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 16:33:58.400 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 16:33:58.400 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 16:33:58.400 -> Client Device Information Service: Found! 16:33:58.446 -> Central (MyLaptop/Zwift) updated MTU to: [255] for connection ID: 1 16:33:58.834 -> -> Client Reads Manufacturer Name: [Zwift] 16:33:59.285 -> -> Client Reads Model Number: [06] 16:33:59.831 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:34:00.141 -> Client_CyclingPower_Service: Found! 16:34:00.499 -> Client_CP_Measurement_Chr: Found! 16:34:01.293 -> Client_CP_Feature_Chr: Found! 16:34:01.386 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:34:01.386 -> Wheel revolution data supported 16:34:01.386 -> Crank revolution data supported 16:34:01.667 -> Client_CP_Location_Chr: Found! 16:34:01.839 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:34:02.073 -> Client_CyclingSpeedCadence_Service: Found! 16:34:02.338 -> Client_CSC_Measurement_Chr: Found! 16:34:02.902 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 16:34:03.134 -> Client_CSC_Feature_Chr: Found! 16:34:03.353 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:34:03.353 -> Wheel rev supported 16:34:03.399 -> Crank rev supported 16:34:03.648 -> Client_CSC_Location_Chr: Found! 16:34:03.788 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:34:04.021 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 16:34:04.099 -> Client_FitnessMachine_Service: Found! 16:34:04.380 -> Client_FTM_Feature_Chr: Found! 16:34:04.503 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:34:04.534 -> - Fitness Machine Features: 16:34:04.534 -> Average Speed Supported 16:34:04.534 -> Cadence Supported 16:34:04.534 -> Total Distance Supported 16:34:04.534 -> Resistance Level Supported 16:34:04.534 -> Heart Rate Measurement Supported 16:34:04.534 -> Power Measurement Supported 16:34:04.534 -> - Target Setting Features: 16:34:04.534 -> Resistance Target Setting Supported 16:34:04.534 -> Power Target Setting Supported 16:34:04.534 -> Indoor Bike Simulation Parameters Supported 16:34:04.534 -> Wheel Circumference Configuration Supported 16:34:04.579 -> Spin Down Control Supported 16:34:04.843 -> Client_FTM_IndoorBikeData_Chr: Found! 16:34:04.969 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 16:34:05.576 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 16:34:06.079 -> Client_FTM_TrainingStatus_Chr: Not Found! 16:34:06.122 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 16:34:06.482 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 16:34:06.621 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:34:06.839 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:34:06.839 -> Request Control of Machine! 16:34:06.934 -> Client_FTM_SupportedPowerRange_Chr: Found! 16:34:07.122 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 16:34:07.170 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:34:07.529 -> Client_FTM_ControlPoint_Chr: Found! 16:34:08.277 -> Client_FTM_Status_Chr: Found! 16:34:09.022 -> Client_HeartRate_Service: Found! 16:34:09.492 -> Client_HR_Measurement_Chr: Found! 16:34:10.130 -> Client_HR_Location_Chr: Found! 16:34:10.256 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 16:34:11.221 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:34:11.689 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:34:11.689 -> Request Control of Machine! 16:34:11.782 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 16:34:11.876 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 16:34:11.876 -> Reset Machine! 16:34:11.955 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 01 01 ] 16:34:12.001 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:34:12.001 -> Request Control of Machine! 16:34:12.032 -> Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. 16:34:12.032 -> Memory dump at 0x400d2808: 3f6508a8 00f01dc2 81004136 16:34:12.032 -> Core 1 register dump: 16:34:12.032 -> PC : 0x400d280d PS : 0x00060b30 A0 : 0x00000000 A1 : 0x3ffd2060
16:34:12.032 -> A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x00000000
16:34:12.065 -> A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800d280d A9 : 0x3ffd2040
16:34:12.065 -> A10 : 0x3ffd2a78 A11 : 0x00000001 A12 : 0x0000000b A13 : 0x3ffd2100
16:34:12.065 -> A14 : 0x00000000 A15 : 0x3ffc3fbc SAR : 0x00000009 EXCCAUSE: 0x00000000
16:34:12.065 -> EXCVADDR: 0x00000000 LBEG : 0x4009044c LEND : 0x40090462 LCOUNT : 0x00000000
16:34:12.065 -> 16:34:12.065 -> 16:34:12.065 -> Backtrace:0x400d280a:0x3ffd2060 16:34:12.096 -> 16:34:12.096 -> 16:34:12.096 -> 16:34:12.096 -> 16:34:12.096 -> ELF file SHA256: 0000000000000000 16:34:12.096 -> 16:34:12.096 -> Rebooting... 16:34:12.096 -> ets Jun 8 2016 00:22:57 16:34:12.096 -> 16:34:12.096 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:34:12.096 -> configsip: 0, SPIWP:0xee 16:34:12.096 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:34:12.096 -> mode:DIO, clock div:1 16:34:12.096 -> load:0x3fff0030,len:1344 16:34:12.096 -> load:0x40078000,len:13864 16:34:12.096 -> load:0x40080400,len:3608 16:34:12.141 -> entry 0x400805f0 16:34:12.359 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:34:12.359 -> -------------------- Version 01.1 ---------------------- 16:34:12.359 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x1, 0x0} 16:34:12.359 -> E (15) esp_littlefs: mount failed, (-84) 16:34:12.359 -> E (19) esp_littlefs: Failed to initialize LittleFS 16:34:12.359 -> SSD1306 OLED display is running... 16:34:22.350 -> otor Control Task Created and Active! 16:34:22.395 -> Simcline Basic Motor Funtions are working!! 16:34:22.658 -> Configuring the default Generic Access Service 16:34:22.658 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:34:22.690 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:34:22.690 -> Configuring the Server Nordic Uart Service 16:34:22.690 -> Configuring the Server Device Information Service 16:34:22.690 -> Configuring the Server Cycle Power Service 16:34:22.690 -> Configuring the Server Cadence and Speed Service 16:34:22.690 -> Configuring the Server Fitness Machine Service 16:34:22.690 -> Configuring the Server Heart Rate Service 16:34:22.724 -> Setting up the Server advertising payload(s) 16:34:22.724 -> Setting Appearance in Advertised data to [1152] 16:34:22.724 -> Server is advertising: CPS, CSC and FTMS 16:34:22.724 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:34:22.724 -> Found advertising Peripheral with FTMS enabled! See data: 16:34:22.765 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:34:22.765 -> Service Data: 16:34:22.765 -> UUID: 0x1826, Data:  16:34:22.843 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:34:22.843 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:34:22.889 -> Now checking all Client Services and Characteristics! 16:34:22.889 -> If Mandatory Services Fail --> the Client will disconnect!

ADAFRUIT ESP32 Feather V2

16:39:39.343 -> ets Jul 29 2019 12:21:46 16:39:39.343 -> 16:39:39.343 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:39:39.385 -> configsip: 271414342, SPIWP:0xee 16:39:39.385 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:39:39.385 -> mode:DIO, clock div:1 16:39:39.385 -> load:0x3fff0030,len:1184 16:39:39.385 -> load:0x40078000,len:13160 16:39:39.385 -> load:0x40080400,len:3036 16:39:39.385 -> entry 0x400805e4 16:39:39.882 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:39:39.882 -> -------------------- Version 01.1 ---------------------- 16:39:39.882 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x0, 0x1} 16:39:39.882 -> E (253) esp_littlefs: mount failed, (-84) 16:39:39.882 -> E (257) esp_littlefs: Failed to initialize LittleFS 16:39:39.925 -> SSD1306 OLED display is running... 16:40:10.516 -> Simcline >> ERROR << Basic Motor Funtions are NOT working!! 16:40:10.820 -> Configuring the default Generic Access Service 16:40:10.820 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:40:10.820 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:40:10.820 -> Configuring the Server Nordic Uart Service 16:40:10.820 -> Configuring the Server Device Information Service 16:40:10.820 -> Configuring the Server Cycle Power Service 16:40:10.856 -> Configuring the Server Cadence and Speed Service 16:40:10.856 -> Configuring the Server Fitness Machine Service 16:40:10.856 -> Configuring the Server Heart Rate Service 16:40:10.856 -> Setting up the Server advertising payload(s) 16:40:10.856 -> Setting Appearance in Advertised data to [1152] 16:40:10.856 -> Server is advertising: CPS, CSC and FTMS 16:40:10.856 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:40:11.164 -> Found advertising Peripheral with FTMS enabled! See data: 16:40:11.164 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:40:11.164 -> Service Data: 16:40:11.164 -> UUID: 0x1826, Data:  16:40:11.211 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:40:11.211 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:40:11.211 -> Now checking all Client Services and Characteristics! 16:40:11.211 -> If Mandatory Services Fail --> the Client will disconnect! 16:40:11.658 -> Client Generic Access: Found! 16:40:12.185 -> -> Client Reads Device Name: [Zwift Hub] 16:40:12.694 -> -> Client Reads Appearance: [1152] 16:40:12.868 -> Client Device Information Service: Found! 16:40:13.358 -> -> Client Reads Manufacturer Name: [Zwift] 16:40:13.849 -> -> Client Reads Model Number: [06] 16:40:14.388 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:40:14.711 -> Client_CyclingPower_Service: Found! 16:40:14.896 -> Client_CP_Measurement_Chr: Found! 16:40:15.637 -> Client_CP_Feature_Chr: Found! 16:40:15.807 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:40:15.807 -> Wheel revolution data supported 16:40:15.808 -> Crank revolution data supported 16:40:16.040 -> Client_CP_Location_Chr: Found! 16:40:16.163 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:40:16.502 -> Client_CyclingSpeedCadence_Service: Found! 16:40:16.949 -> Client_CSC_Measurement_Chr: Found! 16:40:17.641 -> Client_CSC_Feature_Chr: Found! 16:40:17.766 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:40:17.811 -> Wheel rev supported 16:40:17.812 -> Crank rev supported 16:40:18.091 -> Client_CSC_Location_Chr: Found! 16:40:18.261 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:40:18.444 -> Client_FitnessMachine_Service: Found! 16:40:18.709 -> Client_FTM_Feature_Chr: Found! 16:40:18.837 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:40:18.837 -> - Fitness Machine Features: 16:40:18.837 -> Average Speed Supported 16:40:18.837 -> Cadence Supported 16:40:18.837 -> Total Distance Supported 16:40:18.837 -> Resistance Level Supported 16:40:18.880 -> Heart Rate Measurement Supported 16:40:18.880 -> Power Measurement Supported 16:40:18.880 -> - Target Setting Features: 16:40:18.880 -> Resistance Target Setting Supported 16:40:18.880 -> Power Target Setting Supported 16:40:18.880 -> Indoor Bike Simulation Parameters Supported 16:40:18.880 -> Wheel Circumference Configuration Supported 16:40:18.880 -> Spin Down Control Supported 16:40:19.142 -> Client_FTM_IndoorBikeData_Chr: Found! 16:40:20.050 -> Client_FTM_TrainingStatus_Chr: Not Found! 16:40:20.405 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 16:40:20.498 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:40:20.808 -> Client_FTM_SupportedPowerRange_Chr: Found! 16:40:20.900 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:40:21.118 -> Client_FTM_ControlPoint_Chr: Found! 16:40:21.991 -> Client_FTM_Status_Chr: Found! 16:40:22.593 -> Client_HeartRate_Service: Found! 16:40:22.963 -> Client_HR_Measurement_Chr: Found! 16:40:23.549 -> Client_HR_Location_Chr: Found! 16:40:23.735 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 16:41:28.693 -> Server Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 16:41:28.693 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 16:41:28.693 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 16:41:29.209 -> Central (MyLaptop/Zwift) updated MTU to: [255] for connection ID: 1 16:41:29.958 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:41:33.806 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 16:41:35.004 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 16:41:35.959 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 16:41:36.644 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 16:41:37.086 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 16:41:37.959 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 16:42:04.405 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:42:04.405 -> Request Control of Machine! 16:42:04.965 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 16:42:05.090 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 16:42:05.090 -> Reset Machine! 16:42:05.169 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:42:05.213 -> Request Control of Machine! 16:42:05.329 -> Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. 16:42:05.329 -> Memory dump at 0x400d2944: 7fa508a8 00f01dc3 81004136 16:42:05.329 -> Core 1 register dump: 16:42:05.329 -> PC : 0x400d2949 PS : 0x00060430 A0 : 0x00000000 A1 : 0x3ffd1010
16:42:05.329 -> A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x00000000
16:42:05.362 -> A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800d2949 A9 : 0x3ffd0ff0
16:42:05.362 -> A10 : 0x3ffd1a24 A11 : 0x00000001 A12 : 0x0000000a A13 : 0x3ffd10ac
16:42:05.362 -> A14 : 0x00000000 A15 : 0x3ffc3ffc SAR : 0x00000005 EXCCAUSE: 0x00000000
16:42:05.362 -> EXCVADDR: 0x00000000 LBEG : 0x400917e4 LEND : 0x40091800 LCOUNT : 0x00000000
16:42:05.399 -> 16:42:05.399 -> 16:42:05.399 -> Backtrace:0x400d2946:0x3ffd1010 16:42:05.399 -> 16:42:05.399 -> 16:42:05.399 -> 16:42:05.399 -> 16:42:05.399 -> ELF file SHA256: 0000000000000000 16:42:05.399 -> 16:42:05.399 -> Rebooting... 16:42:05.399 -> ets Jul 29 2019 12:21:46 16:42:05.399 -> 16:42:05.399 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:42:05.399 -> configsip: 271414342, SPIWP:0xee 16:42:05.399 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:42:05.399 -> mode:DIO, clock div:1 16:42:05.399 -> load:0x3fff0030,len:1184 16:42:05.399 -> load:0x40078000,len:13160 16:42:05.399 -> load:0x40080400,len:3036 16:42:05.399 -> entry 0x400805e4 16:42:05.904 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:42:05.904 -> -------------------- Version 01.1 ---------------------- 16:42:05.904 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x0, 0x1} 16:42:05.946 -> E (253) esp_littlefs: mount failed, (-84) 16:42:05.946 -> E (257) esp_littlefs: Failed to initialize LittleFS 16:42:05.946 -> SSD1306 OLED display is running... 16:42:36.583 -> Simcline >> ERROR << Basic Motor Funtions are NOT working!! 16:42:36.845 -> Configuring the default Generic Access Service 16:42:36.845 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:42:36.845 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:42:36.845 -> Configuring the Server Nordic Uart Service 16:42:36.845 -> Configuring the Server Device Information Service 16:42:36.845 -> Configuring the Server Cycle Power Service 16:42:36.891 -> Configuring the Server Cadence and Speed Service 16:42:36.891 -> Configuring the Server Fitness Machine Service 16:42:36.891 -> Configuring the Server Heart Rate Service 16:42:36.891 -> Setting up the Server advertising payload(s) 16:42:36.891 -> Setting Appearance in Advertised data to [1152] 16:42:36.891 -> Server is advertising: CPS, CSC and FTMS 16:42:36.891 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:42:36.937 -> Found advertising Peripheral with FTMS enabled! See data: 16:42:36.937 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:42:36.937 -> Service Data: 16:42:36.937 -> UUID: 0x1826, Data:  16:42:37.019 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:42:37.019 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:42:37.019 -> Now checking all Client Services and Characteristics! 16:42:37.061 -> If Mandatory Services Fail --> the Client will disconnect! 16:42:37.421 -> Client Generic Access: Found! 16:42:37.926 -> -> Client Reads Device Name: [Zwift Hub] 16:42:38.460 -> -> Client Reads Appearance: [1152] 16:42:38.584 -> Client Device Information Service: Found! 16:42:38.662 -> Server Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 16:42:38.662 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 16:42:38.662 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 16:42:38.662 -> Central (MyLaptop/Zwift) updated MTU to: [255] for connection ID: 1 16:42:39.019 -> -> Client Reads Manufacturer Name: [Zwift] 16:42:39.428 -> -> Client Reads Model Number: [06] 16:42:39.989 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:42:40.535 -> Client_CyclingPower_Service: Found! 16:42:40.800 -> Client_CP_Measurement_Chr: Found! 16:42:41.733 -> Client_CP_Feature_Chr: Found! 16:42:41.810 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:42:41.810 -> Wheel revolution data supported 16:42:41.810 -> Crank revolution data supported 16:42:42.107 -> Client_CP_Location_Chr: Found! 16:42:42.263 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:42:42.635 -> Client_CyclingSpeedCadence_Service: Found! 16:42:42.918 -> Client_CSC_Measurement_Chr: Found! 16:42:43.247 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 16:42:44.120 -> Client_CSC_Feature_Chr: Found! 16:42:44.213 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:42:44.213 -> Wheel rev supported 16:42:44.213 -> Crank rev supported 16:42:44.339 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 16:42:44.683 -> Client_CSC_Location_Chr: Found! 16:42:44.871 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:42:45.280 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 16:42:45.373 -> Client_FitnessMachine_Service: Found! 16:42:45.683 -> Client_FTM_Feature_Chr: Found! 16:42:45.906 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:42:45.906 -> - Fitness Machine Features: 16:42:45.906 -> Average Speed Supported 16:42:45.906 -> Cadence Supported 16:42:45.948 -> Total Distance Supported 16:42:45.948 -> Resistance Level Supported 16:42:45.948 -> Heart Rate Measurement Supported 16:42:45.948 -> Power Measurement Supported 16:42:45.948 -> - Target Setting Features: 16:42:45.948 -> Resistance Target Setting Supported 16:42:45.948 -> Power Target Setting Supported 16:42:45.948 -> Indoor Bike Simulation Parameters Supported 16:42:45.948 -> Wheel Circumference Configuration Supported 16:42:45.948 -> Spin Down Control Supported 16:42:45.948 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 16:42:46.294 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:42:46.294 -> Request Control of Machine! 16:42:46.294 -> Client_FTM_IndoorBikeData_Chr: Found! 16:42:46.556 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 16:42:47.384 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 16:42:47.664 -> Client_FTM_TrainingStatus_Chr: Not Found! 16:42:48.085 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 16:42:48.179 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:42:48.630 -> Client_FTM_SupportedPowerRange_Chr: Found! 16:42:48.723 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:42:49.146 -> Client_FTM_ControlPoint_Chr: Found! 16:42:49.868 -> Client_FTM_Status_Chr: Found! 16:42:50.884 -> Client_HeartRate_Service: Found! 16:42:51.165 -> Client_HR_Measurement_Chr: Found! 16:42:51.338 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:42:51.338 -> Request Control of Machine! 16:42:52.228 -> Client_HR_Location_Chr: Found! 16:42:52.307 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 16:42:53.464 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:42:54.732 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:42:56.378 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:42:56.378 -> Request Control of Machine! 16:42:56.534 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 16:42:56.675 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 16:42:56.675 -> Reset Machine! 16:42:56.802 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:42:56.802 -> Request Control of Machine! 16:42:56.802 -> Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. 16:42:56.835 -> Memory dump at 0x400d2944: 7fa508a8 00f01dc3 81004136 16:42:56.835 -> Core 1 register dump: 16:42:56.835 -> PC : 0x400d2949 PS : 0x00060230 A0 : 0x00000000 A1 : 0x3ffd0db0
16:42:56.835 -> A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x00000000
16:42:56.835 -> A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800d2949 A9 : 0x3ffd0d90
16:42:56.835 -> A10 : 0x3ffd17c4 A11 : 0x00000001 A12 : 0x0000000a A13 : 0x3ffd0e4c
16:42:56.867 -> A14 : 0x00000000 A15 : 0x3ffc3ffc SAR : 0x00000004 EXCCAUSE: 0x00000000
16:42:56.867 -> EXCVADDR: 0x00000000 LBEG : 0x400917e4 LEND : 0x40091800 LCOUNT : 0x00000000
16:42:56.867 -> 16:42:56.867 -> 16:42:56.867 -> Backtrace:0x400d2946:0x3ffd0db0 16:42:56.867 -> 16:42:56.867 -> 16:42:56.867 -> 16:42:56.867 -> 16:42:56.867 -> ELF file SHA256: 0000000000000000 16:42:56.867 -> 16:42:56.867 -> Rebooting... 16:42:56.906 -> ets Jul 29 2019 12:21:46 16:42:56.906 -> 16:42:56.906 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:42:56.906 -> configsip: 271414342, SPIWP:0xee 16:42:56.906 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:42:56.906 -> mode:DIO, clock div:1 16:42:56.906 -> load:0x3fff0030,len:1184 16:42:56.906 -> load:0x40078000,len:13160 16:42:56.906 -> load:0x40080400,len:3036 16:42:56.906 -> entry 0x400805e4 16:42:57.425 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:42:57.425 -> -------------------- Version 01.1 ---------------------- 16:42:57.425 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x0, 0x1} 16:42:57.425 -> E (253) esp_littlefs: mount failed, (-84) 16:42:57.425 -> E (257) esp_littlefs: Failed to initialize LittleFS 16:42:57.425 -> SSD1306 OLED display is running... 16:43:28.075 -> Simcline >> ERROR << Basic Motor Funtions are NOT working!! 16:43:28.329 -> Configuring the default Generic Access Service 16:43:28.329 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:43:28.329 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:43:28.329 -> Configuring the Server Nordic Uart Service 16:43:28.329 -> Configuring the Server Device Information Service 16:43:28.362 -> Configuring the Server Cycle Power Service 16:43:28.362 -> Configuring the Server Cadence and Speed Service 16:43:28.362 -> Configuring the Server Fitness Machine Service 16:43:28.362 -> Configuring the Server Heart Rate Service 16:43:28.362 -> Setting up the Server advertising payload(s) 16:43:28.362 -> Setting Appearance in Advertised data to [1152] 16:43:28.362 -> Server is advertising: CPS, CSC and FTMS 16:43:28.362 -> Client Starts Scanning for Server Device with CPS, CSC and FTMS! 16:43:28.394 -> Found advertising Peripheral with FTMS enabled! See data: 16:43:28.394 -> Name: Zwift Hub, Address: f8:9c:fc:53:5e:49, appearance: 1152, manufacturer data: 4a09065e49, serviceUUID: 0x1816 16:43:28.394 -> Service Data: 16:43:28.394 -> UUID: 0x1826, Data:  16:43:28.464 -> Client Connection Parameters -> Interval: [40] Latency: [0] Supervision Timeout: [256] 16:43:28.464 -> ESP32 Client connected to Server device with Name: [Zwift Hub] MAC Address: [F8:9C:FC:53:5E:49] Handle: [0] MTU: [244] 16:43:28.464 -> Now checking all Client Services and Characteristics! 16:43:28.464 -> If Mandatory Services Fail --> the Client will disconnect! 16:43:29.010 -> Client Generic Access: Found! 16:43:29.602 -> -> Client Reads Device Name: [Zwift Hub] 16:43:29.634 -> Server Connection Parameters -> Interval: [48] Latency: [0] Supervision Timeout: [960] 16:43:29.634 -> ESP32 Server connected to Client device with MAC Address: [58:11:22:53:52:18] Conn Handle: [1] 16:43:29.680 -> Central (MyLaptop/Zwift) has to set CP/CSC/FTMS CCCD Notify/Indicate (enable) and start.... 16:43:29.680 -> Central (MyLaptop/Zwift) updated MTU to: [255] for connection ID: 1 16:43:30.168 -> -> Client Reads Appearance: [1152] 16:43:30.262 -> Client Device Information Service: Found! 16:43:30.761 -> -> Client Reads Manufacturer Name: [Zwift] 16:43:31.448 -> -> Client Reads Model Number: [06] 16:43:32.055 -> -> Client Reads Serial Number: [06-F89CFC535E49] 16:43:32.351 -> Client_CyclingPower_Service: Found! 16:43:32.760 -> Client_CP_Measurement_Chr: Found! 16:43:33.599 -> Client_CP_Feature_Chr: Found! 16:43:33.790 -> -> Client Reads Raw CP Feature bytes: [4] [ 0C 00 00 00 ] 16:43:33.790 -> Wheel revolution data supported 16:43:33.835 -> Crank revolution data supported 16:43:34.164 -> Client_CP_Location_Chr: Found! 16:43:34.304 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a63] 16:43:34.350 -> -> Client Reads CP Location Sensor: Loc#: 12 Rear wheel 16:43:34.722 -> Client_CyclingSpeedCadence_Service: Found! 16:43:35.114 -> Client_CSC_Measurement_Chr: Found! 16:43:35.519 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a5b] 16:43:36.161 -> Client_CSC_Feature_Chr: Found! 16:43:36.380 -> -> Client Reads Raw CSC Feature bytes: [2] [ 03 00 ] 16:43:36.380 -> Wheel rev supported 16:43:36.380 -> Crank rev supported 16:43:36.536 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ad2] 16:43:36.773 -> Client_CSC_Location_Chr: Found! 16:43:36.866 -> -> Client Reads CSC Location Sensor: Loc#: 12 Rear wheel 16:43:37.148 -> Central Updated CCCD --> Indicate Enabled for Char: [0x2ad9] 16:43:37.272 -> Client_FitnessMachine_Service: Found! 16:43:37.639 -> Client_FTM_Feature_Chr: Found! 16:43:37.680 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:43:37.680 -> Request Control of Machine! 16:43:37.796 -> Central Updated CCCD --> Notify Enabled for Char: [0x2ada] 16:43:37.796 -> -> Client Reads Raw FTM Feature bytes: [8] [ 87 44 00 00 0C E0 00 00 ] 16:43:37.796 -> - Fitness Machine Features: 16:43:37.796 -> Average Speed Supported 16:43:37.796 -> Cadence Supported 16:43:37.836 -> Total Distance Supported 16:43:37.836 -> Resistance Level Supported 16:43:37.836 -> Heart Rate Measurement Supported 16:43:37.836 -> Power Measurement Supported 16:43:37.836 -> - Target Setting Features: 16:43:37.836 -> Resistance Target Setting Supported 16:43:37.836 -> Power Target Setting Supported 16:43:37.836 -> Indoor Bike Simulation Parameters Supported 16:43:37.836 -> Wheel Circumference Configuration Supported 16:43:37.836 -> Spin Down Control Supported 16:43:38.273 -> Client_FTM_IndoorBikeData_Chr: Found! 16:43:38.694 -> Central Updated CCCD --> Notify Enabled for Char: [0x2a37] 16:43:39.847 -> Client_FTM_TrainingStatus_Chr: Not Found! 16:43:40.223 -> Client_FTM_SupportedResistanceLevelRange_Chr: Found! 16:43:40.362 -> -> Client Reads Raw FTM Supported Resistance Level Range bytes: [6] [ 00 00 64 00 01 00 ] 16:43:40.816 -> Client_FTM_SupportedPowerRange_Chr: Found! 16:43:40.989 -> -> Client Reads Raw FTM Supported Power Range bytes: [6] [ 00 00 E8 03 01 00 ] 16:43:41.414 -> Client_FTM_ControlPoint_Chr: Found! 16:43:42.271 -> Client_FTM_Status_Chr: Found! 16:43:42.696 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:43:42.696 -> Request Control of Machine! 16:43:43.213 -> Client_HeartRate_Service: Found! 16:43:43.523 -> Client_HR_Measurement_Chr: Found! 16:43:44.872 -> Client_HR_Location_Chr: Found! 16:43:44.998 -> -> Client Reads HR Location Sensor: Loc#: 1 Chest 16:43:46.153 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:43:47.415 -> All Client (Trainer) Characteristics are Notify/Indicate Enabled! 16:43:47.744 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:43:47.744 -> Request Control of Machine! 16:43:47.916 -> -> Client Rec'd Raw FTM Control Point Response Data: [0] [3] [ 80 00 01 ] 16:43:47.994 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ] 16:43:47.994 -> Reset Machine! 16:43:48.118 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ] 16:43:48.118 -> Request Control of Machine! 16:43:48.151 -> Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. 16:43:48.151 -> Memory dump at 0x400d2944: 7fa508a8 00f01dc3 81004136 16:43:48.151 -> Core 1 register dump: 16:43:48.151 -> PC : 0x400d2949 PS : 0x00060030 A0 : 0x00000000 A1 : 0x3ffd0dc0
16:43:48.185 -> A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x00000000
16:43:48.185 -> A6 : 0x00000000 A7 : 0x00000000 A8 : 0x800d2949 A9 : 0x3ffd0da0
16:43:48.185 -> A10 : 0x3ffd17cc A11 : 0x00000001 A12 : 0x0000000a A13 : 0x3ffd0e54
16:43:48.185 -> A14 : 0x00000000 A15 : 0x3ffc3ffc SAR : 0x00000004 EXCCAUSE: 0x00000000
16:43:48.222 -> EXCVADDR: 0x00000000 LBEG : 0x400917e4 LEND : 0x40091800 LCOUNT : 0x00000000
16:43:48.222 -> 16:43:48.222 -> 16:43:48.222 -> Backtrace:0x400d2946:0x3ffd0dc0 16:43:48.222 -> 16:43:48.222 -> 16:43:48.222 -> 16:43:48.222 -> 16:43:48.222 -> ELF file SHA256: 0000000000000000 16:43:48.222 -> 16:43:48.222 -> Rebooting... 16:43:48.222 -> ets Jul 29 2019 12:21:46 16:43:48.222 -> 16:43:48.222 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:43:48.222 -> configsip: 271414342, SPIWP:0xee 16:43:48.222 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:43:48.222 -> mode:DIO, clock div:1 16:43:48.258 -> load:0x3fff0030,len:1184 16:43:48.258 -> load:0x40078000,len:13160 16:43:48.258 -> load:0x40080400,len:3036 16:43:48.258 -> entry 0x400805e4 16:43:48.759 -> ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS 16:43:48.759 -> -------------------- Version 01.1 ---------------------- 16:43:48.759 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error: Corrupted dir pair at {0x0, 0x1} 16:43:48.759 -> E (253) esp_littlefs: mount failed, (-84) 16:43:48.759 -> E (257) esp_littlefs: Failed to initialize LittleFS 16:43:48.759 -> SSD1306 OLED display is running... 16:44:19.401 -> Simcline >> ERROR << Basic Motor Funtions are NOT working!! 16:44:19.666 -> Configuring the default Generic Access Service 16:44:19.666 -> Successfully Set Generic Access Appearance Chr value to: [1152] Generic Cycling 16:44:19.666 -> Successfully Set Generic Access Device Name Chr value to: [Sim ESP32] 16:44:19.701 -> Configuring the Server Nordic Uart Service

Berg0162 commented 1 year ago

Dear Joel, Let's handle the error message of LittleFS (Little File System) first! Have a close look at this part in the code:

  DEBUG_PRINTLN("ESP32 NimBLE SIMCLINE supporting: CPS, CSC, HBM and FTMS");
  DEBUG_PRINTLN("-------------------- Version 01.1 ----------------------");
  // LittleFS start the Littlefilesystem lib and see if we have persistent data ----
  // This opens LittleFS with a root subdirectory /littlefs/
  LittleFS.begin();
  // WARNING --------- Uncomment only when strictly necessary!!! ---------
  // Uncomment only the very first time the Simcline code is executed!!!
  /* This creates LittleFS with a root subdirectory /littlefs/
  LittleFS.format();
  DEBUG_PRINTLN("Wipe out all persistent data, including any file(s)....");
  */
  // Get or set (first time only) the values of relevant and crucial variables
  // to persistence, with the Companion App the user can set these on the fly!
  // Get or set the values of aRGVmax, aRGVmin, GradeChangeFactor in PRSdata.
  if (!getPRSdata()) {
    setPRSdata();
  }
  // LittleFS------------------------------------------------------------------------

The LittleFS error messages make it quite clear that you did NOT allow LittleFS (the first time you run the code) to create (LittleFS.format) a virtual FS-partition on the ESP32 development board that you run the Simcline code on... (when you change boards you have to repeat this!) Every time, after startup, the Simcline code tries to open the FS-partition, read a file (getPRSdata) with persistent variable values.... and it will fail consequently! ---> You can solve this yourself!

By the way is the Companion App working after you have allowed Bluetooth to access your location? Notice that you can test the working of Phone-ESP32 with esp32_FTMS_Server_v010 by connecting your phone when the server is running! (NO FS-PARTION IS CREATED RUNNING THE SERVER CODE!) Best wishes, Jörgen.

Berg0162 commented 1 year ago

Welcome to the world of ESP32:

Guru Meditation Error: Core 1 panic'ed (Illegal Instruction). Exception was unhandled.

This message covers a plethora of potential causes.....

Then its this calm and sometimes works without problem!

Although you have sent 5 times the same (finally) fatal output, as I understand it: --> it will run sometimes without any problem! Question: Correct?

This points to a critical timing problem, one of the processes on Core #1 is timed out and I guess it has to do with handling of _server_FTM_ControlPointChr , looking at the debug output, the callback handling is active most probably when the error occurs. Question: You never had this error when running esp32_FTMS_Zwift_Bridge_v010 with DEBUG activated?

You have DEBUG activated with the following parts defined:

#ifdef DEBUG
//  Restrict activating one or more of the following DEBUG directives --> process intensive 
//  The overhead can lead to spurious side effects and a loss of quality of service handling!!
//#define DEBUG_HBM               // If defined allows for parsing and decoding the Heart Beat Data
//#define DEBUG_CP_MEASUREMENT    // If defined allows for parsing and decoding the Cycling Power Data
//#define DEBUG_CSC_MEASUREMENT   // If defined allows for parsing and decoding the Cycling Speed and Cadence Data
//#define DEBUG_FTM_INDOORBIKEDATA// If defined allows for parsing the Indoor Bike Data
#ifdef DEBUG_FTM_INDOORBIKEDATA
//#define DEBUG_DECODE_IBD        // If defined allows for decoding the Indoor Bike Data
#endif
//#define DEBUG_FTM_TRAININGSTATUS// If defined allows for parsing the Training Status Data
//#define DEBUG_FTM_STATUS        // If defined allows for parsing the Machine Status Data
#define DEBUG_FTM_CONTROLPOINT_RESPONSE     // If defined allows for parsing the Data
#define DEBUG_FTM_CONTROLPOINT_OPCODE_DATA  // If defined allows for parsing and decoding Data
#endif

With my experimental setup that is never causing problems but I have Arduino IDE Serial Monitor running at 115200 baud... So printing to serial monitor is fast....so less prone to timing errors! Question: What is your baud rate setting of Arduino IDE Serial Monitor?

My suggestion is to try the following steps first: 1) Comment out

//#define DEBUG_FTM_CONTROLPOINT_RESPONSE     // If defined allows for parsing the Data
//#define DEBUG_FTM_CONTROLPOINT_OPCODE_DATA  // If defined allows for parsing and decoding Data

2) Switch Arduino IDE: Tools -> Core Debug Level: "Error" 3) Compile, Upload and Run again, with Serial Monitor active for output