Diff. de résultat entre commande Read et Notify sur une caractéristique >20o.

infos générales

Serveur BLE pour un home trainer diy

cible (Bluetooth server) : Bluefruit nRF52 The feather
Librairie : BluefruitBLE
Client : nRF Connect (Android)

Description du problème:

je travaille avec la caractéristique (CyclingPowerMeasurement (0x2A63, UUID GATT), taille : 32 octest.

I lis sur nRF Connect:

  • Avec la commande du client Read : Good size (32 bytes) , and the good values.
  • Avec la commande du client Notify: seulement 20 octest lus.

rq: pas de descripteurs rajoutés

//init of the characteristic
  m_Measurement.setProperties(CHR_PROPS_NOTIFY |CHR_PROPS_READ );
    m_Measurement.setPermission(SECMODE_OPEN, SECMODE_NO_ACCESS);
    m_Measurement.setFixedLen(32);//(SIZE_CPS_MEAS_DATA);
    m_Measurement.setMaxLen(32);
    m_Measurement.setCccdWriteCallback( fctCCCdCallback);  // Optionally capture CCCD updates   ?????
    m_Measurement.begin();//validation de l'attachement de la caractéristique au service
  
// a write         m_pCyclingPower_Service->m_Measurement.write(m_pCyclingPower_Service->m_CPSMeasurementData.bPaquet_CPS_Meas, 32 );
//a notify[b][/b]
         if (!m_pCyclingPower_Service->m_Measurement.notify(m_pCyclingPower_Service->m_CPSMeasurementData.bPaquet_CPS_Meas, 32 ) )
            Serial.println("ERROR: Notify for CPS Measurement not set in the CCCD or not connected!");

Some suggestions:

je crois qu'il y a une histoire de limite à 20 octets mais je ne sais pas comment augmenter cette limite probablement par défaut
merci