- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Platform BCM943341WCD1, use ble_proximity project as sample.
defined characteristic in gatt_db[] as :
CHARACTERISTIC_UUID128_WRITABLE(HDLC_XXX_CLIENT_ID,
HDLC_XXX_CLIENT_ID_VALUE,
UUID_XXX_CLIENT_ID,
LEGATTDB_CHAR_PROP_READ | LEGATTDB_CHAR_PROP_WRITE,
LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_CMD | LEGATTDB_PERM_WRITE_REQ),
CHARACTERISTIC_UUID128_WRITABLE(HDLC_XXX_AUTH_CODE,
HDLC_XXX_AUTH_CODE_VALUE,
UUID_XXX_AUTH_CODE,
LEGATTDB_CHAR_PROP_READ | LEGATTDB_CHAR_PROP_WRITE,
LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_CMD | LEGATTDB_PERM_WRITE_REQ),
I have an Android program that is writing the characteristics in the exact same way.
a) mBleService.getBleDevice().writeXxxAuthCode(loginAsyncTask.getAccessToken().getBytes());
on BCM943341WCD1 console:
in ble_proximity_gatt_cback, I get event=GATT_ATTRIBUTE_REQUEST_EVT
AND p_event_data->attribute_request.request_type = GATTS_REQ_TYPE_WRITE
b) mBleService.getBleDevice().writeXxxClientId(loginAsyncTask.getClientId().getBytes());
on BCM943341WCD1 console:
in ble_proximity_gatt_cback, I get event=GATT_ATTRIBUTE_REQUEST_EVT
AND p_event_data->attribute_request.request_type = GATTS_REQ_TYPE_WRITE_EXEC
Why does one show up as GATTS_REQ_TYPE_WRITE and the other as GATTS_REQ_TYPE_WRITE_EXEC ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe the problem was that the amount of data I was writing to one of the characteristics was too long. Is there a max size for data that can be written to a characteristics ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe Characteristic max size is a function of the Bluetooth spec: Adopted Specifications | Bluetooth Technology Website
If I am not mistaken, this is roughly 20 octets, so that would be a good place to start: Is there a max size for device information?