]> granicus.if.org Git - esp-idf/commitdiff
component/bt : blufi add version
authorTian Hao <tianhao@espressif.com>
Fri, 6 Jan 2017 09:40:46 +0000 (17:40 +0800)
committerTian Hao <tianhao@espressif.com>
Fri, 6 Jan 2017 09:40:46 +0000 (17:40 +0800)
components/bt/bluedroid/api/esp_blufi_api.c
components/bt/bluedroid/api/include/esp_blufi_api.h
components/bt/bluedroid/bta/gatt/bta_gatts_act.c
components/bt/bluedroid/btc/profile/esp/blufi/blufi_prf.c
components/bt/bluedroid/btc/profile/esp/blufi/blufi_protocol.c
components/bt/bluedroid/btc/profile/esp/blufi/include/blufi_int.h
components/bt/bluedroid/btc/profile/esp/include/btc_blufi_prf.h
docs/api/esp_blufi.rst
examples/12_blufi/main/blufi_main.c

index 5493824d2a5823ed0dcb374f35b538923fa313ac..094fbfae5fd9c6038a94dc036f6467606c19aec6 100644 (file)
@@ -71,4 +71,8 @@ esp_err_t esp_blufi_profile_deinit(void)
     return (btc_transfer_context(&msg, NULL, 0, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
 }
 
+uint16_t esp_blufi_get_version(void)
+{
+    return btc_blufi_get_version();
+}
 
index 5490fec05a5d97996ccd20fe72257513744a372d..6da6512163137c7e65762b4d227a8069ead5f516 100644 (file)
@@ -344,6 +344,15 @@ esp_err_t esp_blufi_profile_deinit(void);
  */
 esp_err_t esp_blufi_send_wifi_conn_report(wifi_mode_t opmode, esp_blufi_sta_conn_state_t sta_conn_state, uint8_t softap_conn_num, esp_blufi_extra_info_t *extra_info);
 
+/**
+ *
+ * @brief           Get BLUFI profile version
+ * 
+ * @return          Most 8bit significant is Great version, Least 8bit is Sub version
+ *
+ */
+uint16_t esp_blufi_get_version(void);
+
 #ifdef __cplusplus
 }
 #endif
index aa00bf287dbad6571e8e1163b3238b86d25410e5..04bb3ee7cba7733362fb8692392acbe02cbeb617 100644 (file)
@@ -233,8 +233,6 @@ void bta_gatts_register(tBTA_GATTS_CB *p_cb, tBTA_GATTS_DATA *p_msg)
     if (p_msg->api_reg.p_cback) {
         (*p_msg->api_reg.p_cback)(BTA_GATTS_REG_EVT, &cb_data);
     }
-
-    LOG_ERROR("status=%x\n", status);
 }
 
 
index d480350453bead0a7ba3b78866b1f8a2d5ab9a52..c126273a7231cee23a8d15ee4d11aa947189d991 100644 (file)
@@ -895,3 +895,7 @@ void btc_blufi_set_callbacks(esp_blufi_callbacks_t *callbacks)
     blufi_env.cbs = callbacks;
 }
 
+uint16_t btc_blufi_get_version(void)
+{
+    return BTC_BLUFI_VERSION;
+}
index 2f92a43806d29728a086c5be6518b69a3618ed34..d4d617f000057d055fe303c27ddd0b6cb11d322d 100644 (file)
@@ -90,6 +90,15 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len)
 
             btc_transfer_context(&msg, NULL, 0, NULL);
             break;
+        case BLUFI_TYPE_CTRL_SUBTYPE_GET_VERSION: {
+            uint8_t type = BLUFI_BUILD_TYPE(BLUFI_TYPE_DATA, BLUFI_TYPE_DATA_SUBTYPE_REPLY_VERSION);
+            uint8_t data[2];
+
+            data[0] = BTC_BLUFI_GREAT_VER;
+            data[1] = BTC_BLUFI_SUB_VER;
+            btc_blufi_send_encap(type, &data[0], sizeof(data));
+            break;
+        }
         default:
             LOG_ERROR("%s Unkown Ctrl pkt %02x\n", __func__, type);
             break;
index 0de66b8e77ad4caf9f7db1a190df8943217d4148..c21b41c4cab6ad17d7435a820acc3aa773f87f6c 100644 (file)
 #ifndef __BLUFI_INT_H__
 #define __BLUFI_INT_H__
 
+#define BTC_BLUFI_GREAT_VER   0x01  //Version + Subversion
+#define BTC_BLUFI_SUB_VER     0x00  //Version + Subversion
+#define BTC_BLUFI_VERSION     ((BTC_BLUFI_GREAT_VER<<8)|BTC_BLUFI_SUB_VER)  //Version + Subversion
+
 /* service engine control block */
 typedef struct {
     /* Protocol reference */
@@ -85,7 +89,8 @@ typedef struct blufi_frag_hdr blufi_frag_hdr_t;
 #define BLUFI_TYPE_CTRL_SUBTYPE_CONN_TO_AP              0x03
 #define BLUFI_TYPE_CTRL_SUBTYPE_DISCONN_FROM_AP         0x04
 #define BLUFI_TYPE_CTRL_SUBTYPE_GET_WIFI_STATUS         0x05
-#define BLUFI_TYPE_CTRL_SUBTYPE_DEAUTHENTICATE_STA             0x06
+#define BLUFI_TYPE_CTRL_SUBTYPE_DEAUTHENTICATE_STA      0x06
+#define BLUFI_TYPE_CTRL_SUBTYPE_GET_VERSION             0x07
 
 #define BLUFI_TYPE_DATA                                 0x1
 #define BLUFI_TYPE_DATA_SUBTYPE_NEG                     0x00
@@ -104,7 +109,7 @@ typedef struct blufi_frag_hdr blufi_frag_hdr_t;
 #define BLUFI_TYPE_DATA_SUBTYPE_CLIENT_PRIV_KEY         0x0d
 #define BLUFI_TYPE_DATA_SUBTYPE_SERVER_PRIV_KEY         0x0e
 #define BLUFI_TYPE_DATA_SUBTYPE_WIFI_REP                0x0f
-
+#define BLUFI_TYPE_DATA_SUBTYPE_REPLY_VERSION           0x10 
 #define BLUFI_TYPE_IS_CTRL(type)        (BLUFI_GET_TYPE((type)) == BLUFI_TYPE_CTRL)
 #define BLUFI_TYPE_IS_DATA(type)        (BLUFI_GET_TYPE((type)) == BLUFI_TYPE_DATA)
 
@@ -115,7 +120,8 @@ typedef struct blufi_frag_hdr blufi_frag_hdr_t;
 #define BLUFI_TYPE_IS_CTRL_CONN_WIFI(type)           (BLUFI_TYPE_IS_CTRL((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_CTRL_SUBTYPE_CONN_TO_AP)
 #define BLUFI_TYPE_IS_CTRL_DISCONN_WIFI(type)        (BLUFI_TYPE_IS_CTRL((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_CTRL_SUBTYPE_DISCONN_FROM_AP)
 #define BLUFI_TYPE_IS_CTRL_GET_WIFI_STATUS(type)     (BLUFI_TYPE_IS_CTRL((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_CTRL_SUBTYPE_GET_WIFI_STATUS)
-#define BLUFI_TYPE_IS_CTRL_DEAUTHENTICATE_STA(type)         (BLUFI_TYPE_IS_CTRL((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_CTRL_SUBTYPE_DEAUTHENTICATE_STA)
+#define BLUFI_TYPE_IS_CTRL_DEAUTHENTICATE_STA(type)  (BLUFI_TYPE_IS_CTRL((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_CTRL_SUBTYPE_DEAUTHENTICATE_STA)
+#define BLUFI_TYPE_IS_CTRL_GET_VERSION(type)         (BLUFI_TYPE_IS_CTRL((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_CTRL_SUBTYPE_GET_VERSION)
 
 #define BLUFI_TYPE_IS_DATA_NEG(type)                 (BLUFI_TYPE_IS_DATA((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_DATA_SUBTYPE_NEG)
 #define BLUFI_TYPE_IS_DATA_STA_BSSID(type)           (BLUFI_TYPE_IS_DATA((type)) && BLUFI_GET_SUBTYPE((type)) == BLUFI_TYPE_DATA_SUBTYPE_STA_BSSID)
index eb909e3a2ee908b2164cfd6c000b8ecafd6b42e7..1d82d0c9a5b0bba652fcce7e5f33204314a6a88a 100644 (file)
@@ -41,4 +41,7 @@ void btc_blufi_set_callbacks(esp_blufi_callbacks_t *callbacks);
 
 void btc_blufi_call_deep_copy(btc_msg_t *msg, void *p_dest, void *p_src);
 void btc_blufi_call_deep_free(btc_msg_t *msg);
+
+uint16_t btc_blufi_get_version(void);
+
 #endif /* __BTC_BLUFI_PRF_H__ */
index 1ffb67bec98c8240b29559f0b1553b2ddf56ed64..f620edeb83ed1f67710f0ca1d2cc09388a94c98d 100644 (file)
@@ -125,4 +125,5 @@ Functions
 .. doxygenfunction:: esp_blufi_profile_init
 .. doxygenfunction:: esp_blufi_profile_deinit
 .. doxygenfunction:: esp_blufi_send_wifi_conn_report
+.. doxygenfunction:: esp_blufi_get_version
 
index 3f5cd3dcc6f67631cb8d56c0017ae18c0bda2fa4..9e2b1da0ab3c75a604309cf3b28498b79aa1343a 100644 (file)
@@ -328,6 +328,8 @@ void app_main()
         return;
     }
 
+    BLUFI_INFO("BLUFI VERSION %04x\n", esp_blufi_get_version());
+
     blufi_security_init();
     esp_ble_gap_register_callback(gap_event_handler);