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

BLE- nRFConnect + FTMS Profile /Indoor bike Data Characteristic

Project context:
--------------------
Server BLE  for home trainer diy

Target  (Bluetooth server) : Bluefruit nRF52 The feather
Library : BluefruitBLE
Client : nRF Connect (Android)

Problem description:

---------------------------

I'm checking the characteristic Indoor bike Data (0x2AD2)

In the specification (xml file found on the bluetooth web site) , there is a field "Instantaneous Speed  in the Inodoor bike data characteristic.

But this field is not shown by nRFConnect. And all the other fields are shifted .

my record implementation is the following:

typedef struct CIndoorBikeData_t {
  uint16_t flags;                           //flags (16bits) champ de bits défini ds l'xml et la spec
  int16_t InstantaneousSpeed;               // en km/h (résolution 0.01 ) (C1)                  !!!!! décalé par rapport à l'XML
  uint16_t AverageSpeed;                    // en km/h (résolution 0.01 ) (C2)                  !!!!! décalé par rapport à l'XML
  uint16_t InstantaneousCadence;            // en tr/mn, resolution 0.5  (C3)
  uint16_t AverageCadence;                  //en tr/mn, resolution 0.5  (C4)                    !!!!! décalé par rapport à l'XML
  uint16_t TotalDistance;                   //en m ,resolution 1  (C5)
  uint8_t TotalDistance2;                   //en m ,resolution 1  (C5)
  int16_t ResistanceLevel;                  //sans unité ,  (C6)                              !!!!! décalé par rapport à l'XML
  int16_t InstantaneousPower;               //en watts ,resolution 1  (C7)                   !!!!! décalé par rapport à l'XML 
  int16_t AveragePower;                     //en watts ,resolution 1  (C8)
  uint16_t TotalEnergy;                     //en kCalorie , resolution 1  (C9)
  uint16_t EnergyPerHour;                   //en kCalorie , resolution 1  (C9)
  int8_t EnergyPerMinute;                   //en kCalorie , resolution 1  (C9)
  uint8_t HeartRate;                        //Beats per minute with a resolution of 1 (C10)
  uint8_t MetabolicEquivalent;              // Metabolic equi. resolution 0.1 , (C11)
  uint16_t ElaspsedTime;                    // Second with a resolution of 1, (C12)
  uint16_t RemainingTime;                   //Second with a resolution of 1(C13)
  };

1/ Is the specification uptodate ? I think Zwift aggree with nRFconnect because it shows the same datas.

2/ When I notify this characteristic (0x2AD2) it is not shown as well as it should in nRFConnect. After a read it's OK!

Is there a problem with the fact that the record's size is 32bytes which is larger than 20 bytes?

Thanks

Vincent

Parents
  • Hi,

    I am afraid I do not quite understand what behavior you are seeing. Do you have screenshots from nRF Connect to show what you see before and after reading the characteristic?

    Regarding use of the Bluefruit library, it is not made by us (Nordic Semiconductor) and so you should use the forum or support service of that third party in order to figure out if there might be an issue with the library. From what I understand that third party would be Adafruit, for this particular case.

    Regards,
    Terje

Reply
  • Hi,

    I am afraid I do not quite understand what behavior you are seeing. Do you have screenshots from nRF Connect to show what you see before and after reading the characteristic?

    Regarding use of the Bluefruit library, it is not made by us (Nordic Semiconductor) and so you should use the forum or support service of that third party in order to figure out if there might be an issue with the library. From what I understand that third party would be Adafruit, for this particular case.

    Regards,
    Terje

Children
No Data
Related