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); } }