From 74bc2c078c22de80a9a269fae5f60b6a6c99cc05 Mon Sep 17 00:00:00 2001 From: dianke3yu <343528259@qq.com> Date: Fri, 13 Jun 2025 18:02:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E6=9D=A1=E8=93=9D?= =?UTF-8?q?=E7=89=99=E5=8D=8F=E8=AE=AE=E4=BA=AE=E7=81=AF10=E7=A7=92?= =?UTF-8?q?=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boarding_service/wifi_boarding_utils.c | 12 ++++++++ .../projects/beken_wss_paopao/main/spi_led.c | 30 +++++++++++++++---- .../projects/beken_wss_paopao/main/spi_led.h | 1 + 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/bk_aidk/projects/beken_wss_paopao/main/boarding_service/wifi_boarding_utils.c b/bk_aidk/projects/beken_wss_paopao/main/boarding_service/wifi_boarding_utils.c index fac4fc64..84c52706 100755 --- a/bk_aidk/projects/beken_wss_paopao/main/boarding_service/wifi_boarding_utils.c +++ b/bk_aidk/projects/beken_wss_paopao/main/boarding_service/wifi_boarding_utils.c @@ -715,6 +715,18 @@ static int32_t wifi_boarding_gatts_cb(bk_gatts_cb_event_t event, bk_gatt_if_t ga wifi_boarding_notify(str_respone, strlen((char *)&str_respone)); } } + + else if (NULL != (ptr = strstr((char *)recv, "AT+SOU_DEVICE"))) + { + wboard_loge("AT+SOU_DEVICE!!"); + ws2812_led_start_ota(); + + rtos_delay_milliseconds(10000); + ws2812_stop_led_start_ota(); + + + } + /** * 蓝牙控制OTA diff --git a/bk_aidk/projects/beken_wss_paopao/main/spi_led.c b/bk_aidk/projects/beken_wss_paopao/main/spi_led.c index 299e0352..0c5fabb7 100755 --- a/bk_aidk/projects/beken_wss_paopao/main/spi_led.c +++ b/bk_aidk/projects/beken_wss_paopao/main/spi_led.c @@ -67,11 +67,19 @@ static uint8_t led_data[WS2812_LED_NUM *24*sizeof(uint8_t)]; static int ws2812_start = 0; + //static beken_timer_t timer_led_ota_handle; static int ota_led_state = 0; + static beken_thread_t ota_led_thread_hdl = NULL; + + + + + + static void ws2812_led_ota_task(void *arg){ while(ws2812_start){ @@ -84,9 +92,15 @@ static void ws2812_led_ota_task(void *arg){ } rtos_delay_milliseconds(100); } + + if(ota_led_thread_hdl) { + rtos_delete_thread(&ota_led_thread_hdl); + ota_led_thread_hdl = NULL; + } } void ws2812_led_start_ota(){ + ws2812_start = 1; bk_err_t ret = BK_OK; ret = rtos_create_thread(&ota_led_thread_hdl, 4, @@ -169,15 +183,15 @@ static void spi_led_task(void *arg) //唤醒词 灯效果 case TYPE_WAKEUP: ws2812_set_all_led(current_color,0); - ws2812_set_all_led(current_color,current_brightness); + ws2812_set_all_led(current_color,1); rtos_delay_milliseconds(100); ws2812_set_all_led(current_color,0); rtos_delay_milliseconds(100); - ws2812_set_all_led(current_color,current_brightness); + ws2812_set_all_led(current_color,1); rtos_delay_milliseconds(100); ws2812_set_all_led(current_color,0); rtos_delay_milliseconds(100); - ws2812_set_all_led(current_color,current_brightness); + ws2812_set_all_led(current_color,1); break; case TYPE_OFF: ws2812_set_all_led(current_color,0); @@ -319,9 +333,9 @@ void ws2812_led_asr_wakeup(){ if (spi_led_msg_que != NULL) { - //ws2812_msg_t msg; - //msg.type = TYPE_WAKEUP; - //rtos_push_to_queue(&spi_led_msg_que, &msg, BEKEN_NO_WAIT); + ws2812_msg_t msg; + msg.type = TYPE_WAKEUP; + rtos_push_to_queue(&spi_led_msg_que, &msg, BEKEN_NO_WAIT); } } @@ -371,3 +385,7 @@ void ws2812_led_clear_all(){ ws2812_set_all_led(0x000000,0); } + +void ws2812_stop_led_start_ota(){ + ws2812_start = 0; +} diff --git a/bk_aidk/projects/beken_wss_paopao/main/spi_led.h b/bk_aidk/projects/beken_wss_paopao/main/spi_led.h index 052d47a1..c8928abc 100755 --- a/bk_aidk/projects/beken_wss_paopao/main/spi_led.h +++ b/bk_aidk/projects/beken_wss_paopao/main/spi_led.h @@ -37,6 +37,7 @@ void ws2812_set_all_led_brightness(int brightness); void ws2812_led_asr_wakeup(); void ws2812_led_change_color(); void ws2812_led_start_ota(); +void ws2812_stop_led_start_ota(); #ifdef __cplusplus } #endif