This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Questions about implementation of Fitness Machine ControlPoint flow chart(Server point of view) (0x2AD9)

Aim: Smart Home Trainer developpment ( Zwift connexion)

Hardware: Bluefruit The feater (nRF52832)

Library : Nordic sdk +  Bluefruit 

Problem: Difficulties with the implementation of the Fitness Machine Control Point (0x2AD9)

I have many questions about the understanding of control points in GATT specification

Q1: Properties of the control point : Read is excluded. How can the client read the control point after a write of the server?

      When a write is detected by the server (callbak), the server receive the goog Opcode to initialise the transaction.

      In my software, the server answer with a write ((0X01= SUCCESS) into the control point characteristic.

      But it doesn't work.

     How should the server write the response to a write request to Fitness Machine control point?

     (sequence diagram of specification FTMS p74/78)

Q2: Explanations about the Procedure executed by the server (FTMS specification §4.16.2.22 p 64/78)

" The server must answer with the Response   Code (0xx80)"  : 

             How can the server send the Response Code? Which command? Which characteristic? Which API ?

" The Request op Code field shall be set to the correct value":

            I understand that the server write the opcode  in the control point. Is it correct?

             Which command should it use to update the control point with the  opcode : write, notify, indicate???

Thank you 

Vincent

  • Hi,

    Read is excluded. How can the client read the control point after a write of the server?

    The server sends the repsonse/opcode as an indication back to client.

    Which command should it use to update the control point with the  opcode : write, notify, indicate???

     Indicate.

    How can the server send the Response Code? Which command? Which characteristic? Which API ?

    Take a look at how the control point is used in the function racp_response_code_send() in the file ble_gls.c, found in SDK_folder\components\ble\ble_services\ble_gls

Related