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:
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 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