加入了聊天上下文

This commit is contained in:
mojingtao 2024-11-07 18:50:37 +08:00
parent eb5395b9e8
commit 60fc4617ca
15 changed files with 3988 additions and 3653 deletions

View File

@ -15334,12 +15334,12 @@
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\system\boot.h 1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\system\boot.h
"asm/cpu.h" "asm/cpu.h"
1730443698 c:\users\lc\desktop\git\doubao_chat\apps\demo\demo_devkitboard\include\app_config.h 1730947852 c:\users\lc\desktop\git\doubao_chat\apps\demo\demo_devkitboard\include\app_config.h
"demo_config.h" "demo_config.h"
"usb_std_class_def.h" "usb_std_class_def.h"
"usb_common_def.h" "usb_common_def.h"
1730441630 c:\users\lc\desktop\git\doubao_chat\apps\demo\demo_devkitboard\include\demo_config.h 1730970485 c:\users\lc\desktop\git\doubao_chat\apps\demo\demo_devkitboard\include\demo_config.h
1715152831 c:\users\lc\desktop\git\doubao_chat\apps\common\usb\usb_std_class_def.h 1715152831 c:\users\lc\desktop\git\doubao_chat\apps\common\usb\usb_std_class_def.h
@ -15769,7 +15769,7 @@
<stdlib.h> <stdlib.h>
<string.h> <string.h>
1729064203 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\app\apps\http_client.h 1730889744 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\app\apps\http_client.h
"lwip/opt.h" "lwip/opt.h"
"lwip/ip_addr.h" "lwip/ip_addr.h"
"lwip/err.h" "lwip/err.h"
@ -27215,7 +27215,7 @@
"app_config.h" "app_config.h"
"debug.h" "debug.h"
1730861380 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.c 1730945913 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"
@ -27237,7 +27237,7 @@
1730271853 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.h 1730271853 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_playback.h
1730864128 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_record_queue_new.c 1730942905 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 1730864726 c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\aduio_record.h
@ -27256,7 +27256,7 @@
"device/device.h" "device/device.h"
"asm/clock.h" "asm/clock.h"
1730858113 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\chat_lwip_http_stream.c 1730976213 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 +27266,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>
1730859979 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\stt_websocket_queue.c 1730975332 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 +27277,7 @@
"mem_leak_test.h" "mem_leak_test.h"
"app_config.h" "app_config.h"
1730861763 source:c:\users\lc\desktop\git\doubao_chat\apps\wifi_daobao\tts_websocket.c 1730971097 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"
@ -27581,3 +27581,46 @@
"gpcnt.h" "gpcnt.h"
"gSensor_manage.h" "gSensor_manage.h"
1729042150 source:c:\users\lc\desktop\git\doubao_chat\lib\net\lwip_2_1_3\apps\http\httpd.c
"lwip/init.h"
"apps/httpd.h"
"lwip/debug.h"
"lwip/stats.h"
"apps/fs.h"
"httpd_structs.h"
"lwip/def.h"
"lwip/altcp.h"
"lwip/altcp_tcp.h"
"lwip/altcp_tls.h"
"lwip/sys.h"
<string.h>
<stdlib.h>
<stdio.h>
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\app\apps\httpd.h
"httpd_opts.h"
"lwip/err.h"
"lwip/pbuf.h"
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\app\apps\httpd_opts.h
"lwip/opt.h"
"lwip/prot/iana.h"
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\app\apps\fs.h
"httpd_opts.h"
"lwip/err.h"
1729042160 c:\users\lc\desktop\git\doubao_chat\lib\net\lwip_2_1_3\apps\http\httpd_structs.h
"apps/httpd.h"
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\src\include\lwip\sys.h
"lwip/opt.h"
"lwip/err.h"
"arch/sys_arch.h"
1715152831 c:\users\lc\desktop\git\doubao_chat\include_lib\net\lwip_2_1_3\lwip\port\arch\sys_arch.h
"cc.h"
"arch.h"
"os/os_api.h"
"os/os_cpu.h"

View File

@ -23,7 +23,7 @@
#define CONFIG_DOUBLE_BANK_ENABLE 0//双备份方式升级 #define CONFIG_DOUBLE_BANK_ENABLE 0//双备份方式升级
#define CONFIG_IPERF_ENABLE // iperf测试 #define CONFIG_IPERF_ENABLE // iperf测试
#define CONFIG_AIRKISS_NET_CFG //AIRKISS配网 #define CONFIG_AIRKISS_NET_CFG //AIRKISS配网
//#define MEM_LEAK_CHECK_ENABLE //是否启用内存泄漏检查(需要包含mem_leak_test.h头文件) #define MEM_LEAK_CHECK_ENABLE //是否启用内存泄漏检查(需要包含mem_leak_test.h头文件)
//#define CONFIG_ASSIGN_MACADDR_ENABLE //第一次开机连上外网后,使用杰理服务器分配WIFI模块的MAC地址, 关闭则使用<蓝牙地址更新工具*.exe>或者随机数作为MAC地址 //#define CONFIG_ASSIGN_MACADDR_ENABLE //第一次开机连上外网后,使用杰理服务器分配WIFI模块的MAC地址, 关闭则使用<蓝牙地址更新工具*.exe>或者随机数作为MAC地址
//#define SDTAP_DEBUG //#define SDTAP_DEBUG
// #define CONFIG_STATIC_IPADDR_ENABLE //记忆路由器分配的IP,下次直接使用记忆IP节省DHCP时间 // #define CONFIG_STATIC_IPADDR_ENABLE //记忆路由器分配的IP,下次直接使用记忆IP节省DHCP时间

View File

@ -168,12 +168,12 @@ static int playback_mode_init(void)
} }
server_register_event_handler_to_task(pbh->dec_server, NULL, dec_server_event_handler, "app_core"); server_register_event_handler_to_task(pbh->dec_server, NULL, dec_server_event_handler, "app_core");
pbh->cache_buf = malloc(pbh->sample_rate * pbh->channel *500); pbh->cache_buf = malloc(pbh->sample_rate * pbh->channel *400);
if (pbh->cache_buf == NULL) { if (pbh->cache_buf == NULL) {
return -1; return -1;
} }
cbuf_init(&pbh->save_cbuf, pbh->cache_buf, pbh->sample_rate * pbh->channel * 500); cbuf_init(&pbh->save_cbuf, pbh->cache_buf, pbh->sample_rate * pbh->channel * 400);
} }

View File

@ -74,7 +74,7 @@ static int record_vfs_fwrite(void *file, void *data, u32 len)
qmsg->end = 0; qmsg->end = 0;
argv[0]=(int)qmsg; argv[0]=(int)qmsg;
err = os_taskq_post_type("websockets_stt_client_main_thread", Q_USER, 4, argv); err = os_taskq_post_type("websockets_stt_client_main_thread", Q_USER, 10, argv);
if (err == OS_Q_FULL) { if (err == OS_Q_FULL) {
return len; return len;
} }
@ -230,7 +230,7 @@ static void record_run_task(void){
static void record_run_task_create(void) static void record_run_task_create(void)
{ {
thread_fork("record_run_task", 20, 1024 , 0, NULL, record_run_task, NULL); thread_fork("record_run_task", 15, 1024 , 0, NULL, record_run_task, NULL);
} }
static void record_start(void *priv) static void record_start(void *priv)

View File

@ -15,6 +15,13 @@
#define MAX_CONTENT_LENGTH 4*1024 #define MAX_CONTENT_LENGTH 4*1024
#define MAX_MSG_LENGTH 5
typedef struct message_session{
char role[10];
char content[5*1024];
}msg_session;
static char buffer[2*1024] = {0}; // 用于存储不完整数据块的缓冲区 static char buffer[2*1024] = {0}; // 用于存储不完整数据块的缓冲区
static size_t buffer_len = 0; static size_t buffer_len = 0;
@ -22,10 +29,16 @@ char accumulated_content[10*1024] = {0};
static size_t accumulated_length = 0; static size_t accumulated_length = 0;
static size_t add_length = 0; static size_t add_length = 0;
static msg_session msg_arr[MAX_MSG_LENGTH];
static int chat_index=0;
extern unsigned char chat_msg[4 * 1024]; extern unsigned char chat_msg[4 * 1024];
extern OS_SEM chat_sem; extern OS_SEM chat_sem;
extern OS_MUTEX http_mutex;
OS_SEM tts_sem; OS_SEM tts_sem;
static void process_sse_chunk(const char *chunk) static void process_sse_chunk(const char *chunk)
@ -41,6 +54,18 @@ static void process_sse_chunk(const char *chunk)
if (strcmp(data_start, "[DONE]") == 0) { if (strcmp(data_start, "[DONE]") == 0) {
printf("SSE stream ended\r\n"); printf("SSE stream ended\r\n");
printf("answer: %s\r\n",accumulated_content); printf("answer: %s\r\n",accumulated_content);
if(chat_index>=MAX_MSG_LENGTH){
chat_index = MAX_MSG_LENGTH-1;
for (int i = 1; i < MAX_MSG_LENGTH; i++) {
sprintf(msg_arr[i-1].role,"%s",msg_arr[i].role);
sprintf(msg_arr[i-1].content,"%s",msg_arr[i].content);
}
}
sprintf(msg_arr[chat_index].role,"%s","assistant");
sprintf(msg_arr[chat_index].content,"%s",accumulated_content);
if(chat_index<MAX_MSG_LENGTH){
chat_index++;
}
} else { } else {
cJSON *json = cJSON_Parse(data_start); cJSON *json = cJSON_Parse(data_start);
if (json) { if (json) {
@ -141,6 +166,19 @@ static void http_chat_task(void *priv)
while(1){ while(1){
os_sem_pend(&chat_sem, 0); os_sem_pend(&chat_sem, 0);
if(chat_index>=MAX_MSG_LENGTH){
chat_index = MAX_MSG_LENGTH-1;
for (int i = 1; i < MAX_MSG_LENGTH; i++) {
sprintf(msg_arr[i-1].role,"%s",msg_arr[i].role);
sprintf(msg_arr[i-1].content,"%s",msg_arr[i].content);
}
}
sprintf(msg_arr[chat_index].role,"%s","user");
sprintf(msg_arr[chat_index].content,"%s",chat_msg);
if(chat_index<MAX_MSG_LENGTH){
chat_index++;
}
root = cJSON_CreateObject(); root = cJSON_CreateObject();
if(!root){ if(!root){
@ -156,18 +194,23 @@ static void http_chat_task(void *priv)
goto fail; goto fail;
} }
for(int i=0;i<chat_index;i++){
cJSON *session = cJSON_CreateObject(); cJSON *session = cJSON_CreateObject();
if(!session){ if(!session){
goto fail; goto fail;
} }
cJSON_AddStringToObject(session, "role", msg_arr[i].role);
cJSON_AddStringToObject(session, "role", "user"); cJSON_AddStringToObject(session, "content", msg_arr[i].content);
cJSON_AddStringToObject(session, "content", chat_msg);
cJSON_AddItemToArray(messages, session); cJSON_AddItemToArray(messages, session);
}
char *http_data = cJSON_Print(root); char *http_data = cJSON_Print(root);
if(!http_data){
goto fail;
}
//printf("http_data:%s\r\n",http_data);
cJSON_Delete(root); cJSON_Delete(root);
@ -177,7 +220,10 @@ 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;
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);
free(http_data); free(http_data);
} }
@ -203,7 +249,7 @@ static void http_chat_start(void *priv)
os_time_dly(1000); os_time_dly(1000);
} }
if (thread_fork("http_chat_task", 20, 1024 * 4, 0, NULL, http_chat_task, NULL) != OS_NO_ERR) { if (thread_fork("http_chat_task", 18, 1024 * 4, 0, NULL, http_chat_task, NULL) != OS_NO_ERR) {
printf("thread fork fail\n"); printf("thread fork fail\n");
} }

View File

@ -82,54 +82,28 @@ extern OS_SEM voice_start_sem;
OS_SEM chat_sem; OS_SEM chat_sem;
OS_MUTEX http_mutex;
static OS_SEM disconnet_sem; static OS_SEM disconnet_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)
{ {
int argv[4];
int err;
u8 *temp;
if(buf!=NULL&&type!=0x89){ if(buf!=NULL&&type!=0x89){
temp = calloc(1,len+1);
ParsedResponse *req=NULL; memcpy(temp,buf,len);
argv[0]=(int)temp;
printf(" . len: %d, . type: %x \r\n",len,type); argv[1]=len;
err = os_taskq_post_type("websockets_stt_client_request_handle", Q_USER, 10, argv);
extern ParsedResponse* stt_parse_response(const uint8_t* res, size_t res_size); if (err == OS_Q_FULL) {
printf("post request err!\r\n");
req=stt_parse_response(buf, len);
printf(" . msg: %s\r\n",req->payload_msg);
cJSON* json = cJSON_Parse(req->payload_msg);
if(json!=NULL){
cJSON *sequence = cJSON_GetObjectItem(json, "sequence");
if(cJSON_IsNumber(sequence)){
if(sequence->valueint<0){
cJSON *results = cJSON_GetObjectItem(json, "result");
if (cJSON_IsArray(results)) {
int array_size = cJSON_GetArraySize(results);
for (int i = 0; i < array_size; i++) {
cJSON *result = cJSON_GetArrayItem(results, i);
cJSON *text = cJSON_GetObjectItem(result,"text");
if (cJSON_IsString(text) && (text->valuestring != NULL)) {
printf("text: %s\r\n", (unsigned char*)text->valuestring);
sprintf(chat_msg,"%s",text->valuestring);
os_sem_set(&chat_sem,0);
os_sem_post(&chat_sem);
os_sem_set(&disconnet_sem,0);
os_sem_post(&disconnet_sem);
} }
} }
} }
}
}
}
if(req!=NULL)
free(req);
}
}
/******************************************************************************* /*******************************************************************************
@ -401,7 +375,7 @@ static void websockets_stt_client_main_thread(void *priv)
{ {
reconnet: reconnet:
int err; int err;
char mode = WEBSOCKET_MODE; char mode = WEBSOCKETS_MODE;
u8 url[256] = OBJ_URL; u8 url[256] = OBJ_URL;
const char *origin_str = "wss://openspeech.bytedance.com/api/v2/asr"; const char *origin_str = "wss://openspeech.bytedance.com/api/v2/asr";
const char *user_agent_str = "Authorization: Bearer; BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL"; const char *user_agent_str = "Authorization: Bearer; BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL";
@ -438,6 +412,7 @@ reconnet:
}; };
os_sem_create(&chat_sem,0); os_sem_create(&chat_sem,0);
os_mutex_create(&http_mutex);
printf(" . ----------------- stt Client Websocket ------------------\r\n"); printf(" . ----------------- stt Client Websocket ------------------\r\n");
@ -457,12 +432,14 @@ reconnet:
} }
/* 3 . hanshack */ /* 3 . hanshack */
os_mutex_pend(&http_mutex, 0);
err = websockets_client_handshack(websockets_info); err = websockets_client_handshack(websockets_info);
if (FALSE == err) { if (FALSE == err) {
printf(" . ! Handshake error !!!\r\n"); printf(" . ! Handshake error !!!\r\n");
goto exit_ws; goto exit_ws;
} }
printf(" . Handshake success \r\n"); printf(" . Handshake success \r\n");
os_mutex_post(&http_mutex);
/* 4 . CreateThread */ /* 4 . CreateThread */
thread_fork("stt_websocket_client_heart", 19, 512, 0, thread_fork("stt_websocket_client_heart", 19, 512, 0,
@ -579,30 +556,30 @@ reconnet:
if(rmsg->end){ if(rmsg->end){
free(rmsg); free(rmsg);
os_sem_pend(&disconnet_sem,0); 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 (websockets_info->ping_thread_id) {
thread_kill(&websockets_info->ping_thread_id, KILL_REQ); 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); websockets_client_exit(websockets_info);
free(websockets_info); free(websockets_info);
goto reconnet; goto reconnet;
} }
if(rmsg!=NULL)
free(rmsg); free(rmsg);
} }
exit_ws: exit_ws:
/* 6 . exit */ /* 6 . exit */
if (websockets_info->ping_thread_id) {
thread_kill(&websockets_info->ping_thread_id, KILL_REQ);
}
if (websockets_info->recv_thread_id) { if (websockets_info->recv_thread_id) {
thread_kill(&websockets_info->recv_thread_id, KILL_REQ); thread_kill(&websockets_info->recv_thread_id, KILL_REQ);
} }
if (websockets_info->ping_thread_id) {
thread_kill(&websockets_info->ping_thread_id, KILL_REQ);
}
websockets_client_exit(websockets_info); websockets_client_exit(websockets_info);
free(websockets_info); free(websockets_info);
@ -620,9 +597,69 @@ exit_ws:
} }
static void websockets_stt_client_request_handle(void *priv){
int err;
int msg[32];
u8 *buf;
u32 len;
while(1){
err = os_taskq_pend("taskq", msg, ARRAY_SIZE(msg));
if (err != OS_TASKQ || msg[0] != Q_USER) {
continue;
}
buf = (u8 *)msg[1];
len = msg[2];
ParsedResponse *req=NULL;
printf(" . len: %d",len);
req=stt_parse_response(buf, len);
free(buf);
printf(" . msg: %s\r\n",req->payload_msg);
cJSON* json = cJSON_Parse(req->payload_msg);
if(json!=NULL){
cJSON *sequence = cJSON_GetObjectItem(json, "sequence");
if(cJSON_IsNumber(sequence)){
if(sequence->valueint<0){
cJSON *results = cJSON_GetObjectItem(json, "result");
if (cJSON_IsArray(results)) {
int array_size = cJSON_GetArraySize(results);
for (int i = 0; i < array_size; i++) {
cJSON *result = cJSON_GetArrayItem(results, i);
cJSON *text = cJSON_GetObjectItem(result,"text");
if (cJSON_IsString(text) && (text->valuestring != NULL)) {
printf("text: %s\r\n", (unsigned char*)text->valuestring);
sprintf(chat_msg,"%s",text->valuestring);
os_sem_set(&disconnet_sem,0);
os_sem_post(&disconnet_sem);
os_sem_set(&chat_sem,0);
os_sem_post(&chat_sem);
}
}
}
}
}
cJSON_Delete(json);
}
if(req!=NULL)
free(req);
}
}
static void stt_websocket_client_thread_create(void) static void stt_websocket_client_thread_create(void)
{ {
thread_fork("websockets_stt_client_main_thread", 20, 1024 * 6, 256, 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)
{
thread_fork("websockets_stt_client_request_handle",20,1024 * 2, 512, 0,websockets_stt_client_request_handle,NULL);
} }
static void stt_http_websocket_start(void *priv) static void stt_http_websocket_start(void *priv)
@ -640,6 +677,7 @@ static void stt_http_websocket_start(void *priv)
} }
stt_websocket_client_thread_create(); stt_websocket_client_thread_create();
websockets_stt_client_request_handle_create();
} }
//应用程序入口,需要运行在STA模式下 //应用程序入口,需要运行在STA模式下

View File

@ -14,6 +14,7 @@
#include "spiflash.h" #include "spiflash.h"
#include "event/device_event.h" #include "event/device_event.h"
#define tts #define tts
#ifdef tts #ifdef tts
@ -80,6 +81,9 @@ static void websockets_callback(u8 *buf, u32 len, u8 type)
extern char* tts_parse_response(uint8_t *res,int *len); extern char* tts_parse_response(uint8_t *res,int *len);
tts_req = calloc(1,sizeof(struct tts_response)); tts_req = calloc(1,sizeof(struct tts_response));
if(!tts_req){
perror("Failed to allocate memory");
}
tts_req->msg = tts_parse_response(buf,&req_len); tts_req->msg = tts_parse_response(buf,&req_len);
tts_req->len = req_len; tts_req->len = req_len;
@ -354,7 +358,7 @@ static void generate_uuid(char *uuid_out)
static void websockets_tts_client_main_thread(void *priv) static void websockets_tts_client_main_thread(void *priv)
{ {
int err; int err;
char mode = WEBSOCKET_MODE; char mode = WEBSOCKETS_MODE;
u8 url[256] = OBJ_URL; u8 url[256] = OBJ_URL;
const char *origin_str = "openspeech.bytedance.com"; const char *origin_str = "openspeech.bytedance.com";
const char *user_agent_str = "Authorization: Bearer; BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL"; const char *user_agent_str = "Authorization: Bearer; BNA-XBIrEisvMczcmc-Sm4B3H-PmfqlL";
@ -530,7 +534,7 @@ exit_ws:
static void tts_websocket_client_thread_create(void) static void tts_websocket_client_thread_create(void)
{ {
thread_fork("websockets_tts_client_main_thread", 20, 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) static void tts_http_websocket_start(void *priv)

File diff suppressed because it is too large Load Diff

View File

@ -139,7 +139,7 @@ typedef struct _httpc_connection {
httpc_headers_done_fn headers_done_fn; httpc_headers_done_fn headers_done_fn;
u8_t use_post; u8_t use_post;
u8_t arglen; u32_t arglen;
u8_t* args; u8_t* args;
u8_t* authorization; u8_t* authorization;
} httpc_connection_t; } httpc_connection_t;