This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Zero Attribute Permission for Characteristic Value???

The following code are copied out of bpservice.c (blood prressure service).

I don't understand why the attribute permission field of Characteristic Value Declaration is ZERO. is it neither readable nor writable? Then the only way for client to get the value of this field is by notification or indication? what is the point? And if this is the case then the client can know the bloodPressureTempUUID? Then how the client know the Characteristic is Blood Pressure Measurement  if bloodPressureTempUUID not known? I am confused.

    // 1. Characteristic Declaration
    {
      { ATT_BT_UUID_SIZE, characterUUID },
      GATT_PERMIT_READ,
      0,
      &bloodPressureTempProps
    },

    // 2. Characteristic Value
    {
      { ATT_BT_UUID_SIZE, bloodPressureTempUUID },
      0, //return READ_NOT_PERMITTED
      0,
      &bloodPressureTemp
    },

    // 3.Characteristic Configuration
    {
      { ATT_BT_UUID_SIZE, clientCharCfgUUID },
      GATT_PERMIT_READ | GATT_PERMIT_WRITE,
      0,
      (uint8 *)&bloodPressureMeasConfig
    },

  • The reason you're confused is because the Bluetooth specification is confusing.  

    The characteristic value permissions are defined in the Characteristic Declaration attribute, not the Characteristic Value attribute.  See this thread for more detailed explanation http://e2e.ti.com/support/low_power_rf/f/538/p/214846/1071343.aspx#1071343