From d7a127304389c010b02dc490527ed60d299f7c7a Mon Sep 17 00:00:00 2001 From: zwsd Date: Mon, 8 Aug 2022 17:09:54 +0800 Subject: [PATCH] =?UTF-8?q?esp32=E9=80=8F=E4=BC=A0(PC=E9=80=9A=E8=BF=87UAR?= =?UTF-8?q?T=E4=B8=8B=E5=8F=91JSON=E7=BB=99=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=EF=BC=8C=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=86=8D=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E8=93=9D=E7=89=99=E5=8F=91=E9=80=81=E7=BB=99=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=AB=AF)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/ble_spp_client_demo.c | 4 ++-- main/ble_spp_client_demo.h | 4 ++-- main/key.c | 6 ++++-- main/key.h | 2 +- main/main.c | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/main/ble_spp_client_demo.c b/main/ble_spp_client_demo.c index 4387039..40f14ff 100644 --- a/main/ble_spp_client_demo.c +++ b/main/ble_spp_client_demo.c @@ -693,14 +693,14 @@ void ble_init() spp_uart_init(); } -void ble_gattc_write_char_cb(char* string) +void ble_gattc_write_char_cb(char *string, uint8_t string_length) { if ((is_connect == true) && (db != NULL) && ((db + SPP_IDX_SPP_DATA_RECV_VAL)->properties & (ESP_GATT_CHAR_PROP_BIT_WRITE_NR | ESP_GATT_CHAR_PROP_BIT_WRITE))) { esp_ble_gattc_write_char(spp_gattc_if, spp_conn_id, (db + SPP_IDX_SPP_DATA_RECV_VAL)->attribute_handle, - strlen(string), + string_length, (uint8_t *)string, ESP_GATT_WRITE_TYPE_RSP, ESP_GATT_AUTH_REQ_NONE); diff --git a/main/ble_spp_client_demo.h b/main/ble_spp_client_demo.h index c20bb51..6a018c9 100644 --- a/main/ble_spp_client_demo.h +++ b/main/ble_spp_client_demo.h @@ -22,7 +22,7 @@ enum SPP_IDX_SPP_DATA_RECV_VAL, - // SPP_IDX_SPP_COMMAND_VAL, +// SPP_IDX_SPP_COMMAND_VAL, #ifdef SUPPORT_HEARTBEAT SPP_IDX_SPP_HEARTBEAT_VAL, @@ -33,4 +33,4 @@ enum }; void ble_init(); -void ble_gattc_write_char_cb(); \ No newline at end of file +void ble_gattc_write_char_cb(char *string, uint8_t string_length); \ No newline at end of file diff --git a/main/key.c b/main/key.c index 49a0fae..8afca72 100644 --- a/main/key.c +++ b/main/key.c @@ -22,21 +22,23 @@ void key_schedule() if (gpio_get_level(KEY_REC) == 0) { /* code */ + char *send_string = "{ \"order\": \"setPosition\", \"index\": 0, \"speedLevel\": 0, \"position\": 360, \"direction\": 1 }"; ESP_LOGI("Finny", "KEY_REC level 0"); while (gpio_get_level(KEY_REC) == 0) { } - s_ble_gattc_write_char_cb("{ \"order\": \"setPosition\", \"index\": 0, \"speedLevel\": 0, \"position\": 180, \"direction\": 1 }"); + s_ble_gattc_write_char_cb(send_string, strlen(send_string)); ESP_LOGI("Finny", "stop"); } if (gpio_get_level(KEY_MODE) == 0) { + char *send_string = "{ \"order\": \"setPosition\", \"index\": 0, \"speedLevel\": 0, \"position\": 360, \"direction\": 1 }"; /* code */ ESP_LOGI("Finny", "KEY_MODE level 0"); while (gpio_get_level(KEY_MODE) == 0) { } - s_ble_gattc_write_char_cb("{ \"order\": \"setPosition\", \"index\": 0, \"speedLevel\": 0, \"position\": 360, \"direction\": 1 }"); + s_ble_gattc_write_char_cb(send_string, strlen(send_string)); ESP_LOGI("Finny", "stop"); } } diff --git a/main/key.h b/main/key.h index 213d4cb..f89293d 100644 --- a/main/key.h +++ b/main/key.h @@ -7,7 +7,7 @@ #define KEY_MODE 39 #define GPIO_KEY_INPUT_PIN_SEL ((1ULL << KEY_REC) | (1ULL << KEY_MODE)) -typedef void (*key_ble_cb_t)(char* string); +typedef void (*key_ble_cb_t)(char *string, uint8_t string_length); void key_init(); void key_schedule(); diff --git a/main/main.c b/main/main.c index cc111d5..dfd3cd4 100644 --- a/main/main.c +++ b/main/main.c @@ -45,7 +45,7 @@ void pc_uart_receive(uart_port_t uart_num) if (length != 0) { length = uart_read_bytes(uart_num, rx_data_buffer, length, 100); - uart_write_bytes(UART_NUM_2, rx_data_buffer, length); + ble_gattc_write_char_cb((char *)rx_data_buffer, length); } }