Hello,
I'm reading some charateristic values from my firmware that is based on the SimpleBLEPeripheral project. The device is connecting to the Android BLE example.
Now, I've seen that it is possible to read from multiple instances of the same characteristics. I have a general set of paramaters in my firmware. By modifying the simpleProfileAttrTbl to include a pointer to the first element of my parameter list, I can successfully read this first value in the app.
I would like to use this instance feature to read the rest of the parameters in the list. How does this plug into the SimpleGattProfile? When the app is asking for the characteristic, I will receive a call to simpleProfile_ReadAttrCB, but there is no InstanceID parameter. There is an offset parameter included, but is this not only for sub-indexing big charateristic values?
And how will I choose what instanceID to read from Android? As far as I see I can only read the instanceID, but not write it.
static uint8 simpleProfile_ReadAttrCB( uint16 connHandle, gattAttribute_t *pAttr, uint8 *pValue, uint8 *pLen, uint16 offset, uint8 maxLen )