增加了按键开启打断

This commit is contained in:
mojingtao 2024-11-11 10:04:56 +08:00
parent 60fc4617ca
commit 372e744be9
18 changed files with 2710 additions and 2628 deletions

View File

@ -136,6 +136,39 @@ static int app_demo_state_machine(struct application *app, enum app_state state,
return 0; return 0;
} }
static int doubao_key_click(struct key_event *key)
{
/* printf("key->value%d\n",key->value); */
switch (key->value) {
case KEY_OK:
printf("app_event_handler[in %s task] SYS_KEY_EVENT %d \r\n", os_current_task(), key->value);
extern OS_SEM voice_start_sem;
os_sem_set(&voice_start_sem,0);
os_sem_post(&voice_start_sem);
break;
default:
break;
}
return false;
}
static int doubao_key_event_handler(struct key_event *key)
{
int ret = false;
switch (key->action) {
case KEY_EVENT_CLICK:
ret = doubao_key_click(key);
break;
default:
break;
}
return ret;
}
static int app_demo_event_handler(struct application *app, struct sys_event *sys_event) static int app_demo_event_handler(struct application *app, struct sys_event *sys_event)
{ {
switch (sys_event->type) { switch (sys_event->type) {
@ -189,6 +222,9 @@ extern void sys_power_auto_shutdown_pause();
} }
} }
#endif //USE_DEMO_WIFI_TEST #endif //USE_DEMO_WIFI_TEST
case SYS_KEY_EVENT:
printf("%s %d\n", __func__, __LINE__);
doubao_key_event_handler((struct key_event *)sys_event->payload);
default: default:
return false; return false;
} }
@ -247,5 +283,7 @@ void app_main()
it.name = "app_demo"; it.name = "app_demo";
it.action = ACTION_DO_NOTHING; it.action = ACTION_DO_NOTHING;
start_app(&it); start_app(&it);
key_event_enable(); //针对按键事件,需要先使能开关
} }

View File

@ -4181,6 +4181,9 @@
<Unit filename="../../../../wifi_daobao/chat_lwip_http_stream.c"> <Unit filename="../../../../wifi_daobao/chat_lwip_http_stream.c">
<Option compilerVar="CC" /> <Option compilerVar="CC" />
</Unit> </Unit>
<Unit filename="../../../../wifi_daobao/doubao_start.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../../../../wifi_daobao/stt_websocket_queue.c"> <Unit filename="../../../../wifi_daobao/stt_websocket_queue.c">
<Option compilerVar="CC" /> <Option compilerVar="CC" />
</Unit> </Unit>

View File

@ -27215,7 +27215,7 @@
"app_config.h" "app_config.h"
"debug.h" "debug.h"
1730945913 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.c 1731286384 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.c
"server/audio_server.h" "server/audio_server.h"
"server/server_core.h" "server/server_core.h"
"system/app_core.h" "system/app_core.h"
@ -27235,12 +27235,12 @@
"asm/sfc_norflash_api.h" "asm/sfc_norflash_api.h"
"event/device_event.h" "event/device_event.h"
1730271853 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.h 1731048266 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.h
1730942905 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_record_queue_new.c 1731287995 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_record_queue_new.c
"aduio_record.h" "aduio_record.h"
1730864726 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_record.h 1731287961 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_record.h
"server/audio_server.h" "server/audio_server.h"
"server/server_core.h" "server/server_core.h"
"system/app_core.h" "system/app_core.h"
@ -27255,8 +27255,9 @@
<time.h> <time.h>
"device/device.h" "device/device.h"
"asm/clock.h" "asm/clock.h"
"aduio_playback.h"
1730976213 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\chat_lwip_http_stream.c 1731068175 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\chat_lwip_http_stream.c
"system/includes.h" "system/includes.h"
"wifi/wifi_connect.h" "wifi/wifi_connect.h"
"apps/http_client.h" "apps/http_client.h"
@ -27266,7 +27267,7 @@
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\cjson_common\cjson.h 1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\cjson_common\cjson.h
<stddef.h> <stddef.h>
1730975332 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\stt_websocket_queue.c 1731289210 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\stt_websocket_queue.c
"web_socket/websocket_api.h" "web_socket/websocket_api.h"
"wifi/wifi_connect.h" "wifi/wifi_connect.h"
"system/includes.h" "system/includes.h"
@ -27277,7 +27278,7 @@
"mem_leak_test.h" "mem_leak_test.h"
"app_config.h" "app_config.h"
1730971097 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\tts_websocket.c 1731061689 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\tts_websocket.c
"web_socket/websocket_api.h" "web_socket/websocket_api.h"
"wifi/wifi_connect.h" "wifi/wifi_connect.h"
"system/includes.h" "system/includes.h"
@ -27290,7 +27291,7 @@
"spiflash.h" "spiflash.h"
"event/device_event.h" "event/device_event.h"
1729583028 source:c:\users\lc\desktop\git\doubao_chat\apps\demo\demo_devkitboard\app_main.c 1731047605 source:c:\users\lc\desktop\git\doubao_chat\apps\demo\demo_devkitboard\app_main.c
"app_config.h" "app_config.h"
"system/includes.h" "system/includes.h"
"os/os_api.h" "os/os_api.h"
@ -27624,3 +27625,22 @@
"os/os_api.h" "os/os_api.h"
"os/os_cpu.h" "os/os_cpu.h"
1731037337 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\doubao_start.c
"server/audio_server.h"
"server/server_core.h"
"system/app_core.h"
"generic/circular_buf.h"
"os/os_api.h"
"app_config.h"
"system/includes.h"
"wifi/wifi_connect.h"
"syscfg/syscfg_id.h"
"storage_device.h"
"fs/fs.h"
<time.h>
"device/device.h"
"asm/clock.h"
"spiflash.h"
"asm/sfc_norflash_api.h"
"event/device_event.h"

View File

@ -27,29 +27,16 @@
#define MAX_VOLUME_VALUE 100 #define MAX_VOLUME_VALUE 100
#define INIT_VOLUME_VALUE 50 #define INIT_VOLUME_VALUE 50
struct playback_hdl playback_handler;
struct playback_hdl {
struct server *dec_server;
char volume;
u8 channel;
void *cache_buf;
cbuffer_t save_cbuf;
int sample_rate;
OS_SEM r_sem;
OS_SEM w_sem;
volatile u8 run_flag;
};
static struct playback_hdl playback_handler;
#define pbh (&playback_handler) #define pbh (&playback_handler)
static int w_flag=0; int w_flag=0;
static int curlen=0;
extern OS_SEM voice_stop_sem; extern OS_SEM voice_stop_sem;
extern OS_SEM voice_start_sem;
static int audio_vfs_fread(void *file, void *data, u32 len) static int audio_vfs_fread(void *file, void *data, u32 len)
{ {
cbuffer_t *cbuf = (cbuffer_t *)file; cbuffer_t *cbuf = (cbuffer_t *)file;
@ -76,7 +63,7 @@ static int playback_buffer_data_out(void)
{ {
union audio_req req = {0}; union audio_req req = {0};
req.dec.volume = 10; req.dec.volume = 20;
req.dec.output_buf_len = 10 * 1024; req.dec.output_buf_len = 10 * 1024;
req.dec.sample_rate = pbh->sample_rate; req.dec.sample_rate = pbh->sample_rate;
req.dec.channel = pbh->channel; req.dec.channel = pbh->channel;
@ -106,18 +93,15 @@ static int playback_buffer_data_out(void)
pbh->run_flag = 0; pbh->run_flag = 0;
return err; return err;
} }
} }
static int audio_buffer_dec_stop(void) static void audio_buffer_dec_stop(void)
{ {
int err = 0;
union audio_req req = {0}; union audio_req req = {0};
req.dec.cmd = AUDIO_DEC_STOP; req.dec.cmd = AUDIO_DEC_STOP;
server_request(pbh->dec_server, AUDIO_REQ_DEC, &req); server_request(pbh->dec_server, AUDIO_REQ_DEC, &req);
return 0;
} }
static void dec_server_event_handler(void *priv, int argc, int *argv) static void dec_server_event_handler(void *priv, int argc, int *argv)
@ -127,11 +111,10 @@ static void dec_server_event_handler(void *priv, int argc, int *argv)
printf("playback: AUDIO_SERVER_EVENT_ERR\n"); printf("playback: AUDIO_SERVER_EVENT_ERR\n");
case AUDIO_SERVER_EVENT_END: case AUDIO_SERVER_EVENT_END:
w_flag = 0; w_flag = 0;
curlen = 0;
printf("playback: AUDIO_SERVER_EVENT_END\n"); printf("playback: AUDIO_SERVER_EVENT_END\n");
audio_buffer_dec_stop(); audio_buffer_dec_stop();
os_sem_set(&voice_stop_sem,0); os_sem_set(&voice_start_sem,0);
os_sem_post(&voice_stop_sem); os_sem_post(&voice_start_sem);
break; break;
} }
} }
@ -194,7 +177,7 @@ static void read_queue_to_cbuf(void *priv)
printf("recv_len: %d\r\n",recv->len); printf("recv_len: %d\r\n",recv->len);
curlen+=cbuf_write(&pbh->save_cbuf, recv->msg, recv->len); cbuf_write(&pbh->save_cbuf, recv->msg, recv->len);
free(recv->msg); free(recv->msg);
@ -220,7 +203,7 @@ static void playback_start(void *priv)
while(1){ while(1){
os_sem_pend(&pbh->w_sem,0); os_sem_pend(&pbh->w_sem,0);
os_time_dly(50); os_time_dly(20);
playback_buffer_data_out(); playback_buffer_data_out();
} }
} }

View File

@ -7,5 +7,16 @@ struct tts_response{
int end; int end;
}; };
struct playback_hdl {
struct server *dec_server;
char volume;
u8 channel;
void *cache_buf;
cbuffer_t save_cbuf;
int sample_rate;
OS_SEM r_sem;
OS_SEM w_sem;
volatile u8 run_flag;
};
#endif #endif

View File

@ -15,8 +15,9 @@
#include <time.h> #include <time.h>
#include "device/device.h" #include "device/device.h"
#include "asm/clock.h" #include "asm/clock.h"
#include "aduio_playback.h"
#define SPEECH_RECOGNITION_BUFFER_SIZE (1024 * 5) #define SPEECH_RECOGNITION_BUFFER_SIZE (1024 * 10)
#define APP_TIMER_CLK clk_get("osc") //获得时钟源 #define APP_TIMER_CLK clk_get("osc") //获得时钟源
#define MAX_TIME_CNT 0x7fff //最大计数值 #define MAX_TIME_CNT 0x7fff //最大计数值

View File

@ -3,9 +3,12 @@
#define RECORD #define RECORD
#ifdef RECORD #ifdef RECORD
//全局变量 OS_SEM voice_start_sem;
static OS_SEM voice_stop_sem;
u8 sock_run_flag = 0;
OS_SEM voice_stop_sem;
static const u32 timer_div[] = { static const u32 timer_div[] = {
/*0000*/ 1, /*0000*/ 1,
@ -26,10 +29,13 @@ static const u32 timer_div[] = {
/*1111*/ 128 * 256, /*1111*/ 128 * 256,
}; };
//静态函数
static struct record_hdl record_handler; static struct record_hdl record_handler;
#define __this (&record_handler) extern struct playback_hdl playback_handler;
extern int w_flag;
#define rech (&record_handler)
//编码器输出MP3数据 //编码器输出MP3数据
static int record_vfs_fwrite(void *file, void *data, u32 len) static int record_vfs_fwrite(void *file, void *data, u32 len)
@ -52,7 +58,7 @@ static int record_vfs_fwrite(void *file, void *data, u32 len)
buffer_filled += len; buffer_filled += len;
} else { } else {
//发送消息队列 //发送消息队列
if(__this->start_flag){ if(rech->start_flag){
rec_msg *qmsg = calloc(1,sizeof(rec_msg)); rec_msg *qmsg = calloc(1,sizeof(rec_msg));
if (!qmsg) { if (!qmsg) {
log_e("Failed to allocate qmsg buffer\n"); log_e("Failed to allocate qmsg buffer\n");
@ -63,12 +69,13 @@ static int record_vfs_fwrite(void *file, void *data, u32 len)
qmsg->msg_size = buffer_filled; qmsg->msg_size = buffer_filled;
if(__this->stop_flag){ if(rech->stop_flag){
__this->start_flag = 0; rech->start_flag = 0;
__this->stop_flag = 0; rech->stop_flag = 0;
qmsg->end = 1; qmsg->end = 1;
os_sem_set(&voice_stop_sem,0); os_sem_set(&voice_stop_sem,0);
os_sem_post(&voice_stop_sem); os_sem_post(&voice_stop_sem);
sock_run_flag = 1;
} }
else else
qmsg->end = 0; qmsg->end = 0;
@ -116,9 +123,9 @@ static int record_close(void)
log_d("----------record close----------\n"); log_d("----------record close----------\n");
if (__this->enc_server) { if (rech->enc_server) {
req.enc.cmd = AUDIO_ENC_CLOSE; req.enc.cmd = AUDIO_ENC_CLOSE;
server_request(__this->enc_server, AUDIO_REQ_ENC, &req); server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
} }
return 0; return 0;
@ -133,11 +140,11 @@ static void enc_server_event_handler(void *priv, int argc, int *argv)
break; break;
case AUDIO_SERVER_EVENT_SPEAK_START: case AUDIO_SERVER_EVENT_SPEAK_START:
log_i("speak start ! \n"); log_i("speak start ! \n");
__this->start_flag = 1; rech->start_flag = 1;
break; break;
case AUDIO_SERVER_EVENT_SPEAK_STOP: case AUDIO_SERVER_EVENT_SPEAK_STOP:
log_i("speak stop ! \n"); log_i("speak stop ! \n");
__this->stop_flag = 1; rech->stop_flag = 1;
break; break;
default: default:
break; break;
@ -157,8 +164,8 @@ static int encoder_init(int sample_rate, u8 channel)
os_sem_create(&voice_stop_sem, 0); os_sem_create(&voice_stop_sem, 0);
__this->start_flag = 0; rech->start_flag = 0;
__this->stop_flag = 0; rech->stop_flag = 0;
/****************初始化编码器*******************/ /****************初始化编码器*******************/
memset(&req, 0, sizeof(union audio_req)); memset(&req, 0, sizeof(union audio_req));
@ -169,17 +176,17 @@ static int encoder_init(int sample_rate, u8 channel)
} else { } else {
req.enc.channel_bit_map = BIT(CONFIG_AUDIO_ADC_CHANNEL_L); req.enc.channel_bit_map = BIT(CONFIG_AUDIO_ADC_CHANNEL_L);
} }
req.enc.frame_size = sample_rate / 100 * 4 * channel; //收集够多少字节MP3数据就回调一次fwrite req.enc.frame_size = sample_rate / 100 * 8 * channel; //收集够多少字节MP3数据就回调一次fwrite
req.enc.output_buf_len = req.enc.frame_size * 3; //底层缓冲buf至少设成3倍frame_size req.enc.output_buf_len = req.enc.frame_size * 3; //底层缓冲buf至少设成3倍frame_size
req.enc.cmd = AUDIO_ENC_OPEN; req.enc.cmd = AUDIO_ENC_OPEN;
req.enc.channel = channel; req.enc.channel = channel;
req.enc.volume = __this->gain; req.enc.volume = rech->gain;
req.enc.sample_rate = sample_rate; req.enc.sample_rate = sample_rate;
req.enc.format = "mp3"; req.enc.format = "mp3";
req.enc.sample_source = __this->sample_source; req.enc.sample_source = rech->sample_source;
req.enc.vfs_ops = &record_vfs_ops; req.enc.vfs_ops = &record_vfs_ops;
req.enc.file = NULL; req.enc.file = NULL;
if (channel == 1 && !strcmp(__this->sample_source, "mic") && (sample_rate == 8000 || sample_rate == 16000)) { if (channel == 1 && !strcmp(rech->sample_source, "mic") && (sample_rate == 8000 || sample_rate == 16000)) {
req.enc.use_vad = 1; //打开VAD断句功能 req.enc.use_vad = 1; //打开VAD断句功能
req.enc.dns_enable = 1; //打开降噪功能 req.enc.dns_enable = 1; //打开降噪功能
req.enc.vad_auto_refresh = 1; //VAD自动刷新 req.enc.vad_auto_refresh = 1; //VAD自动刷新
@ -189,11 +196,16 @@ static int encoder_init(int sample_rate, u8 channel)
req.enc.vad_start_threshold = 0; //ms req.enc.vad_start_threshold = 0; //ms
req.enc.vad_stop_threshold = 2000; //ms req.enc.vad_stop_threshold = 2000; //ms
} }
err = server_request(__this->enc_server, AUDIO_REQ_ENC, &req); err = server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
if (err) { if (err) {
return -1; return -1;
} }
memset(&req, 0, sizeof(union audio_req));
req.enc.cmd = AUDIO_ENC_PAUSE;
err = server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
if (err) {
return -2;
}
return 0; return 0;
} }
@ -201,17 +213,17 @@ static int record_mode_init(void)
{ {
log_i("record_play_main\n"); log_i("record_play_main\n");
memset(__this, 0, sizeof(struct record_hdl)); memset(rech, 0, sizeof(struct record_hdl));
__this->sample_source = "mic"; rech->sample_source = "mic";
__this->channel = CONFIG_AUDIO_RECORDER_CHANNEL; rech->channel = CONFIG_AUDIO_RECORDER_CHANNEL;
__this->gain = CONFIG_AUDIO_ADC_GAIN; rech->gain = CONFIG_AUDIO_ADC_GAIN;
__this->sample_rate = CONFIG_AUDIO_RECORDER_SAMPLERATE; rech->sample_rate = CONFIG_AUDIO_RECORDER_SAMPLERATE;
__this->enc_server = server_open("audio_server", "enc"); rech->enc_server = server_open("audio_server", "enc");
server_register_event_handler_to_task(__this->enc_server, NULL, enc_server_event_handler, "app_core"); server_register_event_handler_to_task(rech->enc_server, NULL, enc_server_event_handler, "app_core");
return encoder_init(__this->sample_rate, __this->channel); return encoder_init(rech->sample_rate, rech->channel);
} }
static void record_run_task(void){ static void record_run_task(void){
@ -222,29 +234,62 @@ static void record_run_task(void){
//等待信号量 //等待信号量
os_sem_pend(&voice_stop_sem, 0); os_sem_pend(&voice_stop_sem, 0);
//os_time_dly(1000); //os_time_dly(1000);
req.enc.cmd = AUDIO_ENC_PP; req.enc.cmd = AUDIO_ENC_PAUSE;
server_request(__this->enc_server, AUDIO_REQ_ENC, &req); server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
} }
} }
static void record_encoder_start_task(void)
{
union audio_req req = {0};
while(1){
os_sem_pend(&voice_start_sem, 0);
req.enc.cmd = AUDIO_ENC_PAUSE;
server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
if(/*req.enc.status==AUDIO_ENC_PAUSE&&*/!sock_run_flag){
memset(&req,0,sizeof(union audio_req));
req.dec.cmd = AUDIO_DEC_GET_STATUS;
server_request(playback_handler.dec_server, AUDIO_REQ_DEC, &req);
printf("req.dec.status1:%d\r\n",req.dec.status);
if(req.dec.status==AUDIO_DEC_STOP){
printf("req.dec.status2:%d\r\n",req.dec.status);
memset(&req,0,sizeof(union audio_req));
req.enc.cmd = AUDIO_ENC_START;
server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
}else{
printf("req.dec.status3:%d\r\n",req.dec.status);
w_flag = 0;
cbuf_clear(&playback_handler.save_cbuf);
memset(&req,0,sizeof(union audio_req));
req.dec.cmd = AUDIO_DEC_STOP;
server_request(playback_handler.dec_server, AUDIO_REQ_DEC, &req);
memset(&req,0,sizeof(union audio_req));
req.enc.cmd = AUDIO_ENC_START;
server_request(rech->enc_server, AUDIO_REQ_ENC, &req);
}
}
}
}
static void record_run_task_create(void) static void record_run_task_create(void)
{ {
thread_fork("record_run_task", 15, 1024 , 0, NULL, record_run_task, NULL); thread_fork("record_run_task", 15, 1024 , 0, NULL, record_run_task, NULL);
} }
static void record_encoder_start_task_create(void)
{
os_sem_create(&voice_start_sem,0);
thread_fork("record_encoder_start_task", 15, 512 , 0, NULL, record_encoder_start_task, NULL);
}
static void record_start(void *priv) static void record_start(void *priv)
{ {
enum wifi_sta_connect_state state; record_encoder_start_task_create();
while (1) {
printf("Connecting to the network...\n");
state = wifi_get_sta_connect_state();
if (WIFI_STA_NETWORK_STACK_DHCP_SUCC == state) {
printf("Network connection is successful!\n");
break;
}
os_time_dly(500);
}
record_run_task_create(); record_run_task_create();
} }
//程序入口 //程序入口

View File

@ -39,6 +39,8 @@ extern OS_SEM chat_sem;
extern OS_MUTEX http_mutex; extern OS_MUTEX http_mutex;
extern u8 sock_run_flag;
OS_SEM tts_sem; OS_SEM tts_sem;
static void process_sse_chunk(const char *chunk) static void process_sse_chunk(const char *chunk)
@ -66,6 +68,7 @@ static void process_sse_chunk(const char *chunk)
if(chat_index<MAX_MSG_LENGTH){ if(chat_index<MAX_MSG_LENGTH){
chat_index++; chat_index++;
} }
sock_run_flag = 0;
} else { } else {
cJSON *json = cJSON_Parse(data_start); cJSON *json = cJSON_Parse(data_start);
if (json) { if (json) {
@ -87,7 +90,7 @@ static void process_sse_chunk(const char *chunk)
if(strcmp(content->valuestring,",")==0||strcmp(content->valuestring,":")==0||strcmp(content->valuestring,":")==0|| if(strcmp(content->valuestring,",")==0||strcmp(content->valuestring,":")==0||strcmp(content->valuestring,":")==0||
strcmp(content->valuestring,"。")==0||strcmp(content->valuestring,"!")==0||strcmp(content->valuestring,"?")==0|| strcmp(content->valuestring,"。")==0||strcmp(content->valuestring,"!")==0||strcmp(content->valuestring,"?")==0||
strcmp(content->valuestring,";")==0){ strcmp(content->valuestring,";")==0){
printf("sentence:%s\r\n",accumulated_content+(accumulated_length-add_length)); //printf("sentence:%s\r\n",accumulated_content+(accumulated_length-add_length));
argv[0]=accumulated_length; argv[0]=accumulated_length;
argv[1]=add_length; argv[1]=add_length;
os_sem_set(&tts_sem,0); os_sem_set(&tts_sem,0);
@ -182,7 +185,7 @@ static void http_chat_task(void *priv)
root = cJSON_CreateObject(); root = cJSON_CreateObject();
if(!root){ if(!root){
goto fail; break;
} }
cJSON_AddStringToObject(root, "model", "ep-20241018142738-n7wv9"); cJSON_AddStringToObject(root, "model", "ep-20241018142738-n7wv9");
@ -191,13 +194,13 @@ static void http_chat_task(void *priv)
cJSON *messages = cJSON_AddArrayToObject(root, "messages"); cJSON *messages = cJSON_AddArrayToObject(root, "messages");
if(!messages){ if(!messages){
goto fail; break;
} }
for(int i=0;i<chat_index;i++){ for(int i=0;i<chat_index;i++){
cJSON *session = cJSON_CreateObject(); cJSON *session = cJSON_CreateObject();
if(!session){ if(!session){
goto fail; break;
} }
cJSON_AddStringToObject(session, "role", msg_arr[i].role); cJSON_AddStringToObject(session, "role", msg_arr[i].role);
@ -208,7 +211,7 @@ static void http_chat_task(void *priv)
char *http_data = cJSON_Print(root); char *http_data = cJSON_Print(root);
if(!http_data){ if(!http_data){
goto fail; break;
} }
//printf("http_data:%s\r\n",http_data); //printf("http_data:%s\r\n",http_data);
@ -221,49 +224,28 @@ static void http_chat_task(void *priv)
memset(accumulated_content,0,MAX_CONTENT_LENGTH); memset(accumulated_content,0,MAX_CONTENT_LENGTH);
accumulated_length = 0; accumulated_length = 0;
printf("httpc_get_file_dns_start\r\n");
os_mutex_pend(&http_mutex, 0); os_mutex_pend(&http_mutex, 0);
httpc_get_file_dns(server_name, port, uri, &setting,http_rev_func, NULL, NULL); httpc_get_file_dns(server_name, port, uri, &setting,http_rev_func, NULL, NULL);
os_mutex_post(&http_mutex); os_mutex_post(&http_mutex);
printf("httpc_get_file_dns_end\r\n");
free(http_data); free(http_data);
} }
fail:
if (!root) { if (!root) {
cJSON_Delete(root); cJSON_Delete(root);
} }
} }
} }
void http_chat_task_create(void)
static void http_chat_start(void *priv)
{ {
enum wifi_sta_connect_state state;
os_sem_create(&tts_sem,0); os_sem_create(&tts_sem,0);
while (1) { if (thread_fork("http_chat_task", 16, 1024 * 4, 0, NULL, http_chat_task, NULL) != OS_NO_ERR) {
printf("Connecting to the network...\n");
state = wifi_get_sta_connect_state();
if (WIFI_STA_NETWORK_STACK_DHCP_SUCC == state) {
printf("Network connection is successful!\n");
break;
}
os_time_dly(1000);
}
if (thread_fork("http_chat_task", 18, 1024 * 4, 0, NULL, http_chat_task, NULL) != OS_NO_ERR) {
printf("thread fork fail\n");
}
}
//应用程序入口,需要运行在STA模式下
static int chat_lwip_http(void)
{
if (thread_fork("http_chat_start", 15, 512, 0, NULL, http_chat_start, NULL) != OS_NO_ERR) {
printf("thread fork fail\n"); printf("thread fork fail\n");
} }
} }
late_initcall(chat_lwip_http);
#endif //CHAT #endif //CHAT

View File

@ -86,6 +86,8 @@ OS_MUTEX http_mutex;
static OS_SEM disconnet_sem; static OS_SEM disconnet_sem;
static OS_SEM websocket_send_sem;
unsigned char chat_msg[4 * 1024]; unsigned char chat_msg[4 * 1024];
static void websockets_callback(u8 *buf, u32 len, u8 type) static void websockets_callback(u8 *buf, u32 len, u8 type)
@ -94,14 +96,16 @@ static void websockets_callback(u8 *buf, u32 len, u8 type)
int err; int err;
u8 *temp; u8 *temp;
if(buf!=NULL&&type!=0x89){ if(buf!=NULL&&type!=0x89){
temp = calloc(1,len+1); // temp = calloc(1,len+1);
memcpy(temp,buf,len); // memcpy(temp,buf,len);
argv[0]=(int)temp; argv[0]=(int)buf;
argv[1]=len; argv[1]=len;
err = os_taskq_post_type("websockets_stt_client_request_handle", Q_USER, 10, argv); err = os_taskq_post_type("websockets_stt_client_request_handle", Q_USER, 10, argv);
if (err == OS_Q_FULL) { if (err == OS_Q_FULL) {
printf("post request err!\r\n"); printf("post request err!\r\n");
} }
os_sem_post(&websocket_send_sem);
} }
} }
@ -187,13 +191,13 @@ static uint8_t* generate_header(
// 设置基本头部(4字节) // 设置基本头部(4字节)
header[0] = (version << 4) | (header_size & 0x0F); header[0] = (version << 4) | (header_size & 0x0F);
printf(" .header[0]: %x \r\n",header[0]); //printf(" .header[0]: %x \r\n",header[0]);
header[1] = (message_type << 4) | (message_type_specific_flags & 0x0F); header[1] = (message_type << 4) | (message_type_specific_flags & 0x0F);
printf(" .header[1]: %x \r\n",header[1]); //printf(" .header[1]: %x \r\n",header[1]);
header[2] = (serial_method << 4) | (compression_type & 0x0F); header[2] = (serial_method << 4) | (compression_type & 0x0F);
printf(" .header[2]: %x \r\n",header[2]); //printf(" .header[2]: %x \r\n",header[2]);
header[3] = reserved_data; header[3] = reserved_data;
printf(" .header[3]: %x \r\n",header[3]); //printf(" .header[3]: %x \r\n",header[3]);
// 复制扩展头部(如果有的话) // 复制扩展头部(如果有的话)
if (extension_header_length > 0 && extension_header != NULL) { if (extension_header_length > 0 && extension_header != NULL) {
@ -373,228 +377,247 @@ static void generate_uuid(char *uuid_out)
*******************************************************************************/ *******************************************************************************/
static void websockets_stt_client_main_thread(void *priv) static void websockets_stt_client_main_thread(void *priv)
{ {
reconnet:
int err;
char mode = WEBSOCKETS_MODE;
u8 url[256] = OBJ_URL;
const char *origin_str = "wss://openspeech.bytedance.com/api/v2/asr";
const char *user_agent_str = "Authorization: Bearer; BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL";
char *websocket_header = NULL;
char *payload = NULL;
uint32_t payloadsize;
size_t total_length;
size_t header_length;
size_t payload_length;
char *full_client_request=NULL;
u8 uuid[16] = {0};
int msg[32]; //接收消息队列buf
char *aduio_client_request=NULL;
rec_msg *rmsg=NULL;
int frist_voice=0;
AsrWsClient STTPayload={
.appid="8571950639",
.cluster="volcengine_streaming_common",
.token="BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL",
.uid="388808088185088",
.nbest=1,
.workflow="audio_in,resample,partition,vad,fe,decode,itn,nlu_punctuate",
.show_language=false,
.show_utterances=false,
.result_type="full",
.format="mp3",
.rate=16000,
.language="zh-CN",
.bits=16,
.channel=1,
.codec="raw",
};
os_sem_create(&chat_sem,0);
os_mutex_create(&http_mutex);
printf(" . ----------------- stt Client Websocket ------------------\r\n");
/* 0 . malloc buffer */
struct websocket_struct *websockets_info = malloc(sizeof(struct websocket_struct));
if (!websockets_info) {
return;
}
/* 1 . register */
websockets_client_reg(websockets_info, mode);
/* 2 . init */
err = websockets_client_init(websockets_info, url, origin_str, user_agent_str);
if (FALSE == err) {
printf(" . ! Cilent websocket init error !!!\r\n");
goto exit_ws;
}
/* 3 . hanshack */
os_mutex_pend(&http_mutex, 0);
err = websockets_client_handshack(websockets_info);
if (FALSE == err) {
printf(" . ! Handshake error !!!\r\n");
goto exit_ws;
}
printf(" . Handshake success \r\n");
os_mutex_post(&http_mutex);
/* 4 . CreateThread */
thread_fork("stt_websocket_client_heart", 19, 512, 0,
&websockets_info->ping_thread_id,
websockets_info->_heart_thread,
websockets_info);
thread_fork("stt_websocket_client_recv", 18, 512, 0,
&websockets_info->recv_thread_id,
websockets_info->_recv_thread,
websockets_info);
//websockets_sleep(1000);
/* 5 . recv or send data */
while(1){ while(1){
//接收消息队列 int err;
err = os_taskq_pend("taskq", msg, ARRAY_SIZE(msg)); char mode = WEBSOCKETS_MODE;
if (err != OS_TASKQ || msg[0] != Q_USER) { u8 url[256] = OBJ_URL;
goto exit_ws; const char *origin_str = "wss://openspeech.bytedance.com/api/v2/asr";
const char *user_agent_str = "Authorization: Bearer; BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL";
char *websocket_header = NULL;
char *payload = NULL;
uint32_t payloadsize;
size_t total_length;
size_t header_length;
size_t payload_length;
char *full_client_request=NULL;
u8 uuid[16] = {0};
int msg[32]; //接收消息队列buf
char *aduio_client_request=NULL;
rec_msg *rmsg=NULL;
int frist_voice=0;
AsrWsClient STTPayload={
.appid="8571950639",
.cluster="volcengine_streaming_common",
.token="BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL",
.uid="388808088185088",
.nbest=1,
.workflow="audio_in,resample,partition,vad,fe,decode,itn,nlu_punctuate",
.show_language=false,
.show_utterances=false,
.result_type="full",
.format="mp3",
.rate=16000,
.language="zh-CN",
.bits=16,
.channel=1,
.codec="raw",
};
printf(" . ----------------- stt Client Websocket ------------------\r\n");
/* 0 . malloc buffer */
struct websocket_struct *websockets_info = malloc(sizeof(struct websocket_struct));
if (!websockets_info) {
break;
}
/* 1 . register */
websockets_client_reg(websockets_info, mode);
/* 2 . init */
err = websockets_client_init(websockets_info, url, origin_str, user_agent_str);
if (FALSE == err) {
printf(" . ! Cilent websocket init error !!!\r\n");
break;
} }
rmsg=(rec_msg *)msg[1]; /* 3 . hanshack */
printf("websockets_client_handshack_start\r\n");
os_mutex_pend(&http_mutex, 0);
err = websockets_client_handshack(websockets_info);
os_mutex_post(&http_mutex);
printf("websockets_client_handshack_end\r\n");
if (FALSE == err) {
printf(" . ! Handshake error !!!\r\n");
break;
}
printf(" . Handshake success \r\n");
/* 4 . CreateThread */
thread_fork("stt_websocket_client_heart", 19, 512, 0,
&websockets_info->ping_thread_id,
websockets_info->_heart_thread,
websockets_info);
thread_fork("stt_websocket_client_recv", 18, 512, 0,
&websockets_info->recv_thread_id,
websockets_info->_recv_thread,
websockets_info);
if(frist_voice==0){ //websockets_sleep(1000);
websocket_header=generate_header(DEFAULT_HEADR); /* 5 . recv or send data */
if(websocket_header==NULL){ while(1){
goto exit_ws; //接收消息队列
err = os_taskq_pend("taskq", msg, ARRAY_SIZE(msg));
if (err != OS_TASKQ || msg[0] != Q_USER) {
break;
} }
header_length=4+STT_DEFAULT_EXTENSION_HEADER_LENGTH;
generate_uuid(uuid); rmsg=(rec_msg *)msg[1];
payload=construct_request(&STTPayload, uuid); if(frist_voice==0){
if(payload==NULL){ websocket_header=generate_header(DEFAULT_HEADR);
goto exit_ws;
if(websocket_header==NULL){
break;
}
header_length=4+STT_DEFAULT_EXTENSION_HEADER_LENGTH;
generate_uuid(uuid);
payload=construct_request(&STTPayload, uuid);
if(payload==NULL){
break;
}
printf(" . Payload :%s \r\n",payload);
payload_length=strlen(payload);
payloadsize=htonl(payload_length);
total_length=header_length+4+payload_length;
full_client_request=(char *)malloc(total_length+1);
if (full_client_request == NULL) {
printf(" . ! malloc err !!!\r\n");
break;
}
memcpy(full_client_request, websocket_header, header_length);
memcpy(full_client_request + header_length, &payloadsize, 4);
memcpy(full_client_request + 4 + header_length,payload,payload_length+1);
if(websocket_header!=NULL){
free(websocket_header);
websocket_header = NULL;
}
if(payload!=NULL){
free(payload);
payload = NULL;
}
os_sem_pend(&websocket_send_sem,0);
err = websockets_client_send(websockets_info, (u8 *)full_client_request, total_length, WCT_TXTDATA);
if (FALSE == err) {
printf(" . ! send err !!!\r\n");
break;
}
if(full_client_request!=NULL){
free(full_client_request);
full_client_request = NULL;
}
frist_voice = 1;
} }
printf(" . Payload :%s \r\n",payload);
payload_length=strlen(payload); if(rmsg->end){
websocket_header=generate_header(STT_DEFAULT_VERSION,0b0010,0b0010,0b0000,\
STT_DEFAULT_COMPRESSION_TYPE,STT_DEFAULT_RESERVED_DATA,\
STT_DEFAULT_EXTENSION_HEADER,STT_DEFAULT_EXTENSION_HEADER_LENGTH);
}else{
websocket_header=generate_header(STT_DEFAULT_VERSION,0b0010,0b0000,0b0000,\
STT_DEFAULT_COMPRESSION_TYPE,STT_DEFAULT_RESERVED_DATA,\
STT_DEFAULT_EXTENSION_HEADER,STT_DEFAULT_EXTENSION_HEADER_LENGTH);
}
payloadsize=htonl(payload_length); payloadsize=htonl(rmsg->msg_size);
total_length=header_length+4+payload_length; total_length=header_length+4+rmsg->msg_size;
full_client_request=(char *)malloc(total_length+1); aduio_client_request=(char *)malloc(total_length+1);
if (full_client_request == NULL) {
if (aduio_client_request == NULL) {
printf(" . ! malloc err !!!\r\n"); printf(" . ! malloc err !!!\r\n");
goto exit_ws; break;
} }
memcpy(full_client_request, websocket_header, header_length);
memcpy(full_client_request + header_length, &payloadsize, 4); memcpy(aduio_client_request, websocket_header, header_length);
memcpy(full_client_request + 4 + header_length,payload,payload_length+1); memcpy(aduio_client_request + header_length, &payloadsize, 4);
free(websocket_header); memcpy(aduio_client_request + 4 + header_length,rmsg->msg,rmsg->msg_size+1);
free(payload); if(websocket_header!=NULL){
free(websocket_header);
websocket_header = NULL;
}
err = websockets_client_send(websockets_info, (u8 *)full_client_request, total_length, WCT_TXTDATA); err = websockets_client_send(websockets_info, (u8 *)aduio_client_request, total_length, WCT_TXTDATA);
if (FALSE == err) { if (FALSE == err) {
printf(" . ! send err !!!\r\n"); printf(" . ! send err !!!\r\n");
goto exit_ws; break;
} }
free(full_client_request); if(aduio_client_request!=NULL){
free(aduio_client_request);
frist_voice = 1; aduio_client_request = NULL;
}
if(rmsg->end){
websocket_header=generate_header(STT_DEFAULT_VERSION,0b0010,0b0010,0b0000,\
STT_DEFAULT_COMPRESSION_TYPE,STT_DEFAULT_RESERVED_DATA,\
STT_DEFAULT_EXTENSION_HEADER,STT_DEFAULT_EXTENSION_HEADER_LENGTH);
}else{
websocket_header=generate_header(STT_DEFAULT_VERSION,0b0010,0b0000,0b0000,\
STT_DEFAULT_COMPRESSION_TYPE,STT_DEFAULT_RESERVED_DATA,\
STT_DEFAULT_EXTENSION_HEADER,STT_DEFAULT_EXTENSION_HEADER_LENGTH);
}
payloadsize=htonl(rmsg->msg_size);
total_length=header_length+4+rmsg->msg_size;
aduio_client_request=(char *)malloc(total_length+1);
if (aduio_client_request == NULL) {
printf(" . ! malloc err !!!\r\n");
goto exit_ws;
}
memcpy(aduio_client_request, websocket_header, header_length);
memcpy(aduio_client_request + header_length, &payloadsize, 4);
memcpy(aduio_client_request + 4 + header_length,rmsg->msg,rmsg->msg_size+1);
free(websocket_header);
err = websockets_client_send(websockets_info, (u8 *)aduio_client_request, total_length, WCT_TXTDATA);
if (FALSE == err) {
printf(" . ! send err !!!\r\n");
goto exit_ws;
}
free(aduio_client_request);
if(rmsg->end){
free(rmsg);
os_sem_pend(&disconnet_sem,0);
if (websockets_info->recv_thread_id) {
thread_kill(&websockets_info->recv_thread_id, KILL_REQ);
} }
if (websockets_info->ping_thread_id) { if(rmsg->end){
thread_kill(&websockets_info->ping_thread_id, KILL_REQ); os_sem_pend(&disconnet_sem,0);
break;
} }
websockets_client_exit(websockets_info); if(rmsg!=NULL){
free(websockets_info); free(rmsg);
goto reconnet; rmsg=NULL;
}
} }
if(rmsg!=NULL)
free(rmsg);
}
exit_ws:
/* 6 . exit */ /* 6 . exit */
if (websockets_info->recv_thread_id) { websockets_client_exit_notify(websockets_info);
thread_kill(&websockets_info->recv_thread_id, KILL_REQ); if (websockets_info->ping_thread_id) {
thread_kill(&websockets_info->ping_thread_id, KILL_REQ);
}
if (websockets_info->recv_thread_id) {
thread_kill(&websockets_info->recv_thread_id, KILL_REQ);
}
websockets_client_exit(websockets_info);
if(websockets_info!=NULL){
free(websockets_info);
}
if(rmsg!=NULL){
free(rmsg);
rmsg = NULL;
}
if(websocket_header!=NULL)
free(websocket_header);
if(payload!=NULL)
free(payload);
if(full_client_request!=NULL)
free(full_client_request);
if(aduio_client_request!=NULL)
free(aduio_client_request);
} }
if (websockets_info->ping_thread_id) {
thread_kill(&websockets_info->ping_thread_id, KILL_REQ);
}
websockets_client_exit(websockets_info);
free(websockets_info);
if(rmsg!=NULL)
free(rmsg);
if(websocket_header!=NULL)
free(websocket_header);
if(payload!=NULL)
free(payload);
if(aduio_client_request!=NULL)
free(aduio_client_request);
} }
static void websockets_stt_client_request_handle(void *priv){ static void websockets_stt_client_request_handle(void *priv){
@ -612,11 +635,11 @@ static void websockets_stt_client_request_handle(void *priv){
ParsedResponse *req=NULL; ParsedResponse *req=NULL;
printf(" . len: %d",len); //printf(" . len: %d",len);
req=stt_parse_response(buf, len); req=stt_parse_response(buf, len);
free(buf); //free(buf);
printf(" . msg: %s\r\n",req->payload_msg); printf(" . msg: %s\r\n",req->payload_msg);
@ -633,7 +656,7 @@ static void websockets_stt_client_request_handle(void *priv){
cJSON *result = cJSON_GetArrayItem(results, i); cJSON *result = cJSON_GetArrayItem(results, i);
cJSON *text = cJSON_GetObjectItem(result,"text"); cJSON *text = cJSON_GetObjectItem(result,"text");
if (cJSON_IsString(text) && (text->valuestring != NULL)) { if (cJSON_IsString(text) && (text->valuestring != NULL)) {
printf("text: %s\r\n", (unsigned char*)text->valuestring); //printf("text: %s\r\n", (unsigned char*)text->valuestring);
sprintf(chat_msg,"%s",text->valuestring); sprintf(chat_msg,"%s",text->valuestring);
os_sem_set(&disconnet_sem,0); os_sem_set(&disconnet_sem,0);
os_sem_post(&disconnet_sem); os_sem_post(&disconnet_sem);
@ -652,41 +675,18 @@ static void websockets_stt_client_request_handle(void *priv){
} }
} }
static void stt_websocket_client_thread_create(void) void stt_websocket_client_thread_create(void)
{ {
os_sem_create(&disconnet_sem,0);
os_sem_create(&chat_sem,0);
os_mutex_create(&http_mutex);
os_sem_create(&websocket_send_sem,1);
thread_fork("websockets_stt_client_main_thread", 16, 1024 * 8, 512, 0, websockets_stt_client_main_thread, NULL); thread_fork("websockets_stt_client_main_thread", 16, 1024 * 8, 512, 0, websockets_stt_client_main_thread, NULL);
} }
static void websockets_stt_client_request_handle_create(void) void websockets_stt_client_request_handle_create(void)
{ {
thread_fork("websockets_stt_client_request_handle",20,1024 * 2, 512, 0,websockets_stt_client_request_handle,NULL); thread_fork("websockets_stt_client_request_handle",20,1024 * 2, 1024, 0,websockets_stt_client_request_handle,NULL);
} }
static void stt_http_websocket_start(void *priv)
{
enum wifi_sta_connect_state state;
os_sem_create(&disconnet_sem,0);
while (1) {
printf("Connecting to the network...\n");
state = wifi_get_sta_connect_state();
if (WIFI_STA_NETWORK_STACK_DHCP_SUCC == state) {
printf("Network connection is successful!\n");
break;
}
os_time_dly(500);
}
stt_websocket_client_thread_create();
websockets_stt_client_request_handle_create();
}
//应用程序入口,需要运行在STA模式下
static int stt_websocket_init(void)
{
if (thread_fork("stt_http_websocket_start", 10, 512, 0, NULL, stt_http_websocket_start, NULL) != OS_NO_ERR) {
printf("thread fork fail\n");
}
}
late_initcall(stt_websocket_init);
#endif // stt #endif // stt

View File

@ -24,6 +24,8 @@ struct tts_response *tts_req;
extern char accumulated_content[4*1024]; extern char accumulated_content[4*1024];
extern OS_MUTEX http_mutex;
// 消息类型定义 // 消息类型定义
#define AUDIO_ONLY_RESPONSE 0xb #define AUDIO_ONLY_RESPONSE 0xb
#define ERROR_MESSAGE 0xf #define ERROR_MESSAGE 0xf
@ -95,7 +97,7 @@ static void websockets_callback(u8 *buf, u32 len, u8 type)
os_sem_set(&tts_sem,0); os_sem_set(&tts_sem,0);
os_sem_post(&tts_sem); os_sem_post(&tts_sem);
printf("queue is post\r\n"); //printf("queue is post\r\n");
} }
// printf("req_len: %d\r\n",req_len); // printf("req_len: %d\r\n",req_len);
} }
@ -286,8 +288,8 @@ static char* tts_parse_response(uint8_t *res,int *len) {
uint32_t payload_size = (payload[4] << 24) | (payload[5] << 16) | (payload[6] << 8) | payload[7]; uint32_t payload_size = (payload[4] << 24) | (payload[5] << 16) | (payload[6] << 8) | payload[7];
payload += 8; payload += 8;
printf(" Sequence number: %d\n", sequence_number); // printf(" Sequence number: %d\n", sequence_number);
printf(" Payload size: %d bytes\n", payload_size); // printf(" Payload size: %d bytes\n", payload_size);
*len = payload_size; *len = payload_size;
@ -418,7 +420,9 @@ static void websockets_tts_client_main_thread(void *priv)
} }
/* 3 . hanshack */ /* 3 . hanshack */
os_mutex_pend(&http_mutex, 0);
err = websockets_client_handshack(websockets_info); err = websockets_client_handshack(websockets_info);
os_mutex_post(&http_mutex);
if (FALSE == err) { if (FALSE == err) {
printf(" . ! Handshake error !!!\r\n"); printf(" . ! Handshake error !!!\r\n");
goto exit_ws; goto exit_ws;
@ -479,7 +483,7 @@ static void websockets_tts_client_main_thread(void *priv)
goto exit_ws; goto exit_ws;
} }
printf(" . Payload :%s \r\n",payload); //printf(" . Payload :%s \r\n",payload);
payload_length=strlen(payload); payload_length=strlen(payload);
@ -532,34 +536,9 @@ exit_ws:
free(full_client_request); free(full_client_request);
} }
static void tts_websocket_client_thread_create(void) void tts_websocket_client_thread_create(void)
{ {
thread_fork("websockets_tts_client_main_thread", 15, 1024 * 6, 1024, 0, websockets_tts_client_main_thread, NULL); thread_fork("websockets_tts_client_main_thread", 15, 1024 * 6, 1024, 0, websockets_tts_client_main_thread, NULL);
} }
static void tts_http_websocket_start(void *priv)
{
enum wifi_sta_connect_state state;
while (1) {
printf("Connecting to the network...\n");
state = wifi_get_sta_connect_state();
if (WIFI_STA_NETWORK_STACK_DHCP_SUCC == state) {
printf("Network connection is successful!\n");
break;
}
os_time_dly(500);
}
tts_websocket_client_thread_create();
}
//应用程序入口,需要运行在STA模式下
void c_main(void *priv)
{
if (thread_fork("tts_http_websocket_start", 12, 512, 0, NULL, tts_http_websocket_start, NULL) != OS_NO_ERR) {
printf("thread fork fail\n");
}
}
late_initcall(c_main);
#endif // tts #endif // tts

View File

@ -2,16 +2,364 @@
<CodeBlocks_layout_file> <CodeBlocks_layout_file>
<FileVersion major="1" minor="0" /> <FileVersion major="1" minor="0" />
<ActiveTarget name="Release" /> <ActiveTarget name="Release" />
<File name="..\..\..\common\camera\gc0307_dvp\gc0307.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3639" topLine="102" />
</Cursor>
</File>
<File name="..\..\wifi\wifi_app_task.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3795" topLine="342" />
</Cursor>
</File>
<File name="..\..\..\common\key\key_driver.c" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11680" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\err.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2072" topLine="58" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\server\ctp_server.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3251" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\cJSON_common\cJSON.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5850" topLine="129" />
</Cursor>
</File>
<File name="..\..\..\common\net\platform_cfg.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5241" topLine="193" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\web_socket\websocket_api.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<Cursor>
<Cursor1 position="1372" topLine="30" />
</Cursor>
</File>
<File name="..\..\..\common\config\log_config\lib_btctrler_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10507" topLine="218" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\cdp\cdp.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="12" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\crypto_toolbox\endian.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6160" topLine="209" />
</Cursor>
</File>
<File name="board_7916A.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10404" topLine="345" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\tcp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="15344" topLine="392" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\os\os_api.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12187" topLine="311" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\altcp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6305" topLine="141" />
</Cursor>
</File>
<File name="..\..\..\common\net\config_network.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3409" topLine="97" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\generic\typedef.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2280" topLine="47" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\apps\http_client.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="3" zoom_2="0">
<Cursor>
<Cursor1 position="1835" topLine="18" />
</Cursor>
</File>
<File name="..\..\wifi\network_mssdp.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="230" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_cfg.c" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28918" topLine="865" />
</Cursor>
</File>
<File name="..\..\..\common\net\wifi_conf.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="52587" topLine="168" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\http\http_cli.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5688" topLine="99" />
</Cursor>
<Folding>
<Collapse line="86" />
</Folding>
</File>
<File name="..\..\app_main.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="7064" topLine="277" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\arch.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9606" topLine="242" />
</Cursor>
</File>
<File name="board_config.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12143" topLine="222" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\opt.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="50050" topLine="1516" />
</Cursor>
</File>
<File name="..\..\..\common\ble\include\le_net_central.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\ble\include\le_net_central.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="2112" topLine="6" /> <Cursor1 position="2112" topLine="6" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\debug.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3771" topLine="96" />
</Cursor>
</File>
<File name="board_7911B_develop_aerial.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="15781" topLine="477" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\event\event.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="254" topLine="24" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\sys_common.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="634" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_hogp.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="36137" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\usb\device\descriptor.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4434" topLine="109" />
</Cursor>
</File>
<File name="..\..\wifi\ctp_cmd.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\wifi\ctp_cmd.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="12150" topLine="420" /> <Cursor1 position="12150" topLine="420" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\driver\device\key\iokey.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="132" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\driver\cpu\wl82\asm\cpu.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="171" topLine="12" />
</Cursor>
</File>
<File name="..\..\..\common\ble\mesh\examples\AliGenie_light.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="32900" topLine="921" />
</Cursor>
</File>
<File name="..\..\..\wifi_daobao\chat_lwip_http.c" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<Cursor>
<Cursor1 position="755" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\lwipopts_sfc.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5758" topLine="115" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\apps\httpd_opts.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10820" topLine="205" />
</Cursor>
</File>
<File name="board_7912A.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20500" topLine="885" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\event\net_event.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="169" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\config\log_config\lib_update_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="512" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\ble\include\le_common.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="894" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\wifi_daobao\tts_websocket.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="3" zoom_2="0">
<Cursor>
<Cursor1 position="255" topLine="0" />
</Cursor>
</File>
<File name="..\..\video_rec.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="39527" topLine="1120" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\web_socket\websocket_base64.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="84" topLine="0" />
</Cursor>
</File>
<File name="..\..\wifi\user_video_rec.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1925" topLine="128" />
</Cursor>
</File>
<File name="..\..\jpeg2yuv.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="411" topLine="3" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\app_core.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1360" topLine="36" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_central.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="15810" topLine="439" />
</Cursor>
</File>
<File name="..\..\..\common\audio_music\audio_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1861" topLine="34" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\def.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4627" topLine="45" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_trans_data.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11493" topLine="344" />
</Cursor>
</File>
<File name="..\..\include\app_config.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6513" topLine="102" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\ctp\ctp.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="9" />
</Cursor>
</File>
<File name="..\..\..\..\cpu\wl82\debug.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="420" topLine="24" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_cfg_dui.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="25682" topLine="722" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\arch\cc.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1364" topLine="5" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\c++\include\stdlib.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3319" topLine="57" />
</Cursor>
</File>
<File name="..\..\..\common\key\adkey.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="126" topLine="36" />
</Cursor>
</File>
<File name="..\..\..\wifi_daobao\stt_websocket.c" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<Cursor>
<Cursor1 position="2370" topLine="66" />
</Cursor>
</File>
<File name="..\..\..\common\system\device_mount.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4110" topLine="162" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\event\key_event.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="123" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\update\fs_update.c" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2163" topLine="66" />
</Cursor>
</File>
<File name="..\..\..\common\config\bt_profile_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="150" topLine="0" />
</Cursor>
</File>
<File name="..\..\get_yuv_data.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\pbuf.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9957" topLine="6" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_cfg_tencent.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28145" topLine="775" />
</Cursor>
</File>
<File name="..\..\..\common\ble\include\le_net_cfg.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="25" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\newlib\include\time.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="970" topLine="42" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\generic\printf.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\..\include_lib\system\generic\printf.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="339" topLine="0" /> <Cursor1 position="339" topLine="0" />
@ -22,19 +370,9 @@
<Cursor1 position="0" topLine="228" /> <Cursor1 position="0" topLine="228" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\apps\http_client.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="3" zoom_2="0"> <File name="..\..\..\..\lib\net\lwip_2_1_3\apps\http\http_client.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="3" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="1835" topLine="18" /> <Cursor1 position="3081" topLine="59" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\opt.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="50050" topLine="1516" />
</Cursor>
</File>
<File name="..\..\..\common\audio_music\audio_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1861" topLine="34" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\common\key\iokey.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\key\iokey.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -42,79 +380,9 @@
<Cursor1 position="5003" topLine="131" /> <Cursor1 position="5003" topLine="131" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\common\ble\le_net_cfg.c" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\wifi\net_video_rec.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="28918" topLine="865" /> <Cursor1 position="49847" topLine="1702" />
</Cursor>
</File>
<File name="..\..\..\common\config\bt_profile_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="150" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\arch\cc.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1364" topLine="5" />
</Cursor>
</File>
<File name="..\..\..\common\net\testbox\client.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="192" />
</Cursor>
</File>
<File name="..\..\spi_video.c" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="457" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\lwipopts_sfc.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5758" topLine="115" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\lwipopts_bt.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5681" topLine="113" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\tutk\P2PCam\AVIOCTRLDEFs.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="30160" topLine="576" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\generic\typedef.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2280" topLine="47" />
</Cursor>
</File>
<File name="board_7912A.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20500" topLine="885" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\sys_common.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="634" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\driver\cpu\wl82\asm\cpu.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="171" topLine="12" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_hogp.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="36137" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\ble\include\le_net_cfg.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="25" topLine="0" />
</Cursor>
</File>
<File name="..\..\jpeg2yuv.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="411" topLine="3" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\common\config\user_cfg.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\config\user_cfg.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -122,332 +390,59 @@
<Cursor1 position="2368" topLine="28" /> <Cursor1 position="2368" topLine="28" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\lwipopts.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5784" topLine="130" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\web_socket\websocket_base64.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="84" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\event\net_event.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="169" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\altcp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6305" topLine="141" />
</Cursor>
</File>
<File name="..\..\..\..\cpu\wl82\debug.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="420" topLine="24" />
</Cursor>
</File>
<File name="..\..\..\common\key\adkey.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="126" topLine="36" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\crypto_toolbox\endian.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6160" topLine="209" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\pbuf.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9957" topLine="6" />
</Cursor>
</File>
<File name="..\..\wifi\wifi_app_task.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3795" topLine="342" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\http\http_cli.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5688" topLine="99" />
</Cursor>
<Folding>
<Collapse line="86" />
</Folding>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\tcp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="15344" topLine="392" />
</Cursor>
</File>
<File name="board_7916A.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10404" topLine="345" />
</Cursor>
</File>
<File name="..\..\..\common\net\config_network.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3409" topLine="97" />
</Cursor>
</File>
<File name="..\..\..\common\key\key_driver.c" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11680" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\event\key_event.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="123" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\debug.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3771" topLine="96" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\web_socket\websocket_api.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<Cursor>
<Cursor1 position="1372" topLine="30" />
</Cursor>
</File>
<File name="..\..\..\common\system\app_power_manage.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1754" topLine="0" />
</Cursor>
</File>
<File name="..\..\video_rec.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="39527" topLine="1120" />
</Cursor>
</File>
<File name="..\..\wifi\net_video_rec.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="49847" topLine="1702" />
</Cursor>
</File>
<File name="..\..\..\common\system\device_mount.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4110" topLine="162" />
</Cursor>
</File>
<File name="..\..\..\..\lib\net\lwip_2_1_3\apps\http\http_client.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="3" zoom_2="0">
<Cursor>
<Cursor1 position="3081" topLine="59" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\def.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4627" topLine="45" />
</Cursor>
</File>
<File name="..\..\..\common\ble\include\le_common.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="894" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\ctp\ctp.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="9" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_trans_data.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11493" topLine="344" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\driver\device\key\iokey.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="132" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_cfg_tencent.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28145" topLine="775" />
</Cursor>
</File>
<File name="..\..\app_main.c" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9035" topLine="226" />
</Cursor>
</File>
<File name="..\..\get_yuv_data.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\cdp\cdp.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="12" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\err.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2072" topLine="58" />
</Cursor>
</File>
<File name="..\..\wifi\network_mssdp.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="230" />
</Cursor>
</File>
<File name="..\..\..\common\update\fs_update.c" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2163" topLine="66" />
</Cursor>
</File>
<File name="board_config.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12143" topLine="222" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\syscfg\syscfg_id.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13583" topLine="227" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_central.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="15810" topLine="439" />
</Cursor>
</File>
<File name="..\..\..\common\ble\include\le_hogp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\ble\include\le_hogp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="987" topLine="0" /> <Cursor1 position="987" topLine="0" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\wifi_daobao\tts_websocket.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="3" zoom_2="0">
<Cursor>
<Cursor1 position="255" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\net\platform_cfg.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5241" topLine="193" />
</Cursor>
</File>
<File name="..\..\..\common\net\wifi_conf.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="52587" topLine="168" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\utils\event\event.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="254" topLine="24" />
</Cursor>
</File>
<File name="board_7911B_develop_aerial.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="15781" topLine="477" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_24g_deal.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3136" topLine="12" />
</Cursor>
</File>
<File name="..\..\..\common\ble\le_net_cfg_dui.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="25682" topLine="722" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\system\os\os_api.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12187" topLine="311" />
</Cursor>
</File>
<File name="..\..\..\common\system\power_manage.c" open="1" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\wifi_daobao\chat_lwip_http.c" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<Cursor>
<Cursor1 position="755" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\common\ble\mesh\examples\AliGenie_light.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="32900" topLine="921" />
</Cursor>
</File>
<File name="..\..\..\common\config\log_config\lib_update_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="512" topLine="0" />
</Cursor>
</File>
<File name="..\..\wifi\user_video_rec.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1925" topLine="128" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\c++\include\stdlib.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3319" topLine="57" />
</Cursor>
</File>
<File name="..\..\..\common\usb\device\descriptor.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4434" topLine="109" />
</Cursor>
</File>
<File name="..\..\wifi\tutk_platform.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="669" />
</Cursor>
</File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\app\apps\httpd_opts.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10820" topLine="205" />
</Cursor>
</File>
<File name="..\..\app_database.c" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\app_database.c" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="2961" topLine="50" /> <Cursor1 position="2961" topLine="50" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\arch.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\wifi\tutk_platform.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="9606" topLine="242" /> <Cursor1 position="0" topLine="669" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\system\app_core.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\..\include_lib\net\tutk\P2PCam\AVIOCTRLDEFs.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="1360" topLine="36" /> <Cursor1 position="30160" topLine="576" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\common\camera\gc0307_dvp\gc0307.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\lwipopts_bt.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="3639" topLine="102" /> <Cursor1 position="5681" topLine="113" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\common\config\log_config\lib_btctrler_config.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\ble\le_24g_deal.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="10507" topLine="218" /> <Cursor1 position="3136" topLine="12" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\wifi_daobao\stt_websocket.c" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0"> <File name="..\..\spi_video.c" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="2370" topLine="66" /> <Cursor1 position="457" topLine="0" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\newlib\include\time.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\system\app_power_manage.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="970" topLine="42" /> <Cursor1 position="1754" topLine="0" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\net\server\ctp_server.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\..\include_lib\utils\syscfg\syscfg_id.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="3251" topLine="0" /> <Cursor1 position="13583" topLine="227" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\include\app_config.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\..\include_lib\net\lwip_2_1_3\lwip\port\lwipopts.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="6513" topLine="102" /> <Cursor1 position="5784" topLine="130" />
</Cursor> </Cursor>
</File> </File>
<File name="..\..\..\..\include_lib\net\cJSON_common\cJSON.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <File name="..\..\..\common\net\testbox\client.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor> <Cursor>
<Cursor1 position="5850" topLine="129" /> <Cursor1 position="0" topLine="192" />
</Cursor> </Cursor>
</File> </File>
</CodeBlocks_layout_file> </CodeBlocks_layout_file>

View File

@ -230,7 +230,7 @@ fat_image_tool.exe --size CONFIG_SDNAND_HFAT_LEN_TEXT --sectors-per-cluster CONF
fat_image_tool.exe --size CONFIG_SDNAND_FAT1_LEN_TEXT --sectors-per-cluster CONFIG_SDNAND_FAT1_CLUSTER_SIZE --lfn true --n-root 512 --volume-name FAT1_IMG --output jl_fat1.bin --fat-dir fat1_dir fat_image_tool.exe --size CONFIG_SDNAND_FAT1_LEN_TEXT --sectors-per-cluster CONFIG_SDNAND_FAT1_CLUSTER_SIZE --lfn true --n-root 512 --volume-name FAT1_IMG --output jl_fat1.bin --fat-dir fat1_dir
isd_download.exe isd_config.ini -gen2 -to-sdcard -dev wl82 -boot 0x1c02000 -div1 -app app.bin cfg_tool.bin -res %AUDIO_RES% %UI_RES% cfg -extend-bin -output-bin jl_hfs.bin %UPDATE_FILES% -no-app-bin-enc isd_download.exe isd_config.ini -gen2 -to-sdcard -dev wl82 -boot 0x1c02000 -div1 -app app.bin cfg_tool.bin -res %AUDIO_RES% %UI_RES% cfg -extend-bin -output-bin jl_hfs.bin %UPDATE_FILES% -no-app-bin-enc
#elif defined CONFIG_SFC_ENABLE #elif defined CONFIG_SFC_ENABLE
isd_download.exe isd_config.ini -tonorflash -dev wl82 -boot 0x1c02000 -div1 -wait 300 -uboot uboot.boot -app app.bin cfg_tool.bin -res demo %AUDIO_RES% %UI_RES% %CFG_FILE% -reboot 500 %KEY_FILE% %UPDATE_FILES% -extend-bin isd_download.exe isd_config.ini -tonorflash -dev wl82 -boot 0x1c02000 -div1 -wait 300 -uboot uboot.boot -app app.bin cfg_tool.bin -res %AUDIO_RES% %UI_RES% %CFG_FILE% -reboot 500 %KEY_FILE% %UPDATE_FILES% -extend-bin
#else #else
REM @@@@@@@无效参数 REM @@@@@@@无效参数
set run_addr=0x2000 set run_addr=0x2000
@ -239,7 +239,7 @@ set mask_addr=0x100000
uboot_lz4.exe app.bin app.lz4 %run_addr% %load_addr% rom.image %mask_addr% uboot_lz4.exe app.bin app.lz4 %run_addr% %load_addr% rom.image %mask_addr%
REM @@@@@@@@@@@@@@@ REM @@@@@@@@@@@@@@@
isd_download.exe isd_config.ini -tonorflash -dev wl82 -boot 0x1c02000 -div1 -wait 300 -uboot uboot.boot -app app.lz4 cfg_tool.bin -res demo %AUDIO_RES% %UI_RES% %CFG_FILE% -reboot 500 %KEY_FILE% %UPDATE_FILES% -extend-bin isd_download.exe isd_config.ini -tonorflash -dev wl82 -boot 0x1c02000 -div1 -wait 300 -uboot uboot.boot -app app.lz4 cfg_tool.bin -res %AUDIO_RES% %UI_RES% %CFG_FILE% -reboot 500 %KEY_FILE% %UPDATE_FILES% -extend-bin
#endif #endif

File diff suppressed because it is too large Load Diff