2 Replies Latest reply on Apr 9, 2016 9:33 AM by MichaelF_56

    BLE problems writing characteristics

      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 ?