return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_gattc_args_t), NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
+esp_gatt_status_t esp_ble_gattc_cache_refresh(esp_bd_addr_t remote_bda)
+{
+ btc_msg_t msg;
+ btc_ble_gattc_args_t arg;
+
+ if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) {
+ return ESP_ERR_INVALID_STATE;
+ }
+
+ msg.sig = BTC_SIG_API_CALL;
+ msg.pid = BTC_PID_GATTC;
+ msg.act = BTC_GATTC_ACT_CACHE_REFRESH;
+ memcpy(arg.cache_refresh.remote_bda, remote_bda, sizeof(esp_bd_addr_t));
+
+ return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_gattc_args_t), NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
+}
+
#endif ///GATTC_INCLUDED == TRUE
case BTC_GATTC_ACT_UNREG_FOR_NOTIFY:
btc_gattc_unreg_for_notify(arg);
break;
+ case BTC_GATTC_ACT_CACHE_REFRESH:
+ BTA_GATTC_Refresh(arg->cache_refresh.remote_bda);
+ break;
default:
LOG_ERROR("%s: Unhandled event (%d)!\n", __FUNCTION__, msg->act);
break;
BTC_GATTC_ACT_PREPARE_WRITE_CHAR_DESCR,
BTC_GATTC_ACT_EXECUTE_WRITE,
BTC_GATTC_ACT_REG_FOR_NOTIFY,
- BTC_GATTC_ACT_UNREG_FOR_NOTIFY
+ BTC_GATTC_ACT_UNREG_FOR_NOTIFY,
+ BTC_GATTC_ACT_CACHE_REFRESH,
} btc_gattc_act_t;
/* btc_ble_gattc_args_t */
esp_gatt_srvc_id_t service_id;
esp_gatt_id_t char_id;
} unreg_for_notify;
+ //BTC_GATTC_ACT_CACHE_REFRESH,
+ struct cache_refresh_arg {
+ esp_bd_addr_t remote_bda;
+ } cache_refresh;
} btc_ble_gattc_args_t;
void btc_gattc_call_handler(btc_msg_t *msg);