diff --git a/rk3308/aispeech-2mic-64bit/dds_client/demo/demo_main b/rk3308/aispeech-2mic-64bit/dds_client/demo/demo_main index 8db5fdb..8282367 100755 Binary files a/rk3308/aispeech-2mic-64bit/dds_client/demo/demo_main and b/rk3308/aispeech-2mic-64bit/dds_client/demo/demo_main differ diff --git a/rk3308/aispeech-2mic-64bit/dds_client/demo/main.c b/rk3308/aispeech-2mic-64bit/dds_client/demo/main.c index 58cfe26..59db2fa 100755 --- a/rk3308/aispeech-2mic-64bit/dds_client/demo/main.c +++ b/rk3308/aispeech-2mic-64bit/dds_client/demo/main.c @@ -49,6 +49,12 @@ void clean_silence_frame() { void do_system_sleep() { system("echo mem > /sys/power/state"); } +void do_wifi_suspend_prepare() { + system("dhd_priv setsuspendmode 1"); +} +void do_wifi_resume_prepare() { + system("dhd_priv setsuspendmode 0"); +} #define VAD_WAKEUP_LEVEL_MIN 0 #define VAD_WAKEUP_LEVEL_MAX 5 #define VAD_WAKEUP_TIME_MAX 10 @@ -632,7 +638,11 @@ void *vad_detect_func(void* arg) { wait_device_mode_timeout_ms(30); printf("pause >>>>\n"); clean_silence_frame(); + + do_wifi_suspend_prepare(); do_system_sleep(); + do_wifi_resume_prepare(); + printf("resume >>>>\n"); dds_client_publish(dc, DDS_CLIENT_USER_DEVICE_MODE, "{\"mode\":\"normal\"}"); } diff --git a/rk3308/aispeech-6mic-64bit/dds_client/demo/demo_main b/rk3308/aispeech-6mic-64bit/dds_client/demo/demo_main index 439c52e..7a3dbef 100755 Binary files a/rk3308/aispeech-6mic-64bit/dds_client/demo/demo_main and b/rk3308/aispeech-6mic-64bit/dds_client/demo/demo_main differ diff --git a/rk3308/aispeech-6mic-64bit/dds_client/demo/main.c b/rk3308/aispeech-6mic-64bit/dds_client/demo/main.c index 63f3066..f54736d 100755 --- a/rk3308/aispeech-6mic-64bit/dds_client/demo/main.c +++ b/rk3308/aispeech-6mic-64bit/dds_client/demo/main.c @@ -50,6 +50,12 @@ void clean_silence_frame() { void do_system_sleep() { system("echo mem > /sys/power/state"); } +void do_wifi_suspend_prepare() { + system("dhd_priv setsuspendmode 1"); +} +void do_wifi_resume_prepare() { + system("dhd_priv setsuspendmode 0"); +} /* * 1. volume.set * 2. play.list.update @@ -591,7 +597,11 @@ void *vad_detect_func(void* arg) { wait_device_mode_timeout_ms(30); printf("pause >>>>\n"); clean_silence_frame(); + + do_wifi_suspend_prepare(); do_system_sleep(); + do_wifi_resume_prepare(); + usleep(30 * 1000); printf("resume >>>>\n"); dds_client_publish(dc, DDS_CLIENT_USER_DEVICE_MODE, "{\"mode\":\"normal\"}");