根据平台建议,将获取接收的等待改为15s,重连的初始值改为8s

This commit is contained in:
stark1898y 2025-02-14 19:55:12 +08:00
parent c8757d8f59
commit e9614b7115
3 changed files with 24 additions and 13 deletions

View File

@ -61,5 +61,6 @@
"bsp_vin_detection.h": "c", "bsp_vin_detection.h": "c",
"ulog_def.h": "c" "ulog_def.h": "c"
}, },
"commentTranslate.multiLineMerge": true "commentTranslate.multiLineMerge": true,
"C_Cpp.errorSquiggles": "disabled"
} }

View File

@ -1,12 +1,12 @@
/*** /***
* @Author: mbw * @Author: mbw
* @Date: 2024-11-01 11:03:06 * @Date: 2024-11-01 11:03:06
* @LastEditors: mbw && 1600520629@qq.com * @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2024-12-26 11:18:19 * @LastEditTime: 2024-12-26 11:18:19
* @FilePath: \JT-DT-YD4N02A_RTT_MRS-4G\bsp\inc\bsp_emv.h * @FilePath: \JT-DT-YD4N02A_RTT_MRS-4G\bsp\inc\bsp_emv.h
* @Description: * @Description:
* @ * @
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. * @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
*/ */
/*** /***
* @Author: mbw * @Author: mbw
@ -31,7 +31,12 @@
// 高电平 关闭电磁阀 // 高电平 关闭电磁阀
#define EMV_OFF rt_pin_write(EMV_PIN, PIN_HIGH) #define EMV_OFF rt_pin_write(EMV_PIN, PIN_HIGH)
#define EMV_CLOSE_VALVE do {rt_pin_write(EMV_PIN, PIN_HIGH);rt_thread_mdelay(RT_TICK_PER_SECOND / 2);rt_pin_write(EMV_PIN, PIN_LOW);} while (0) #define EMV_CLOSE_VALVE \
do { \
rt_pin_write(EMV_PIN, PIN_HIGH); \
rt_thread_mdelay(RT_TICK_PER_SECOND / 2); \
rt_pin_write(EMV_PIN, PIN_LOW); \
} while (0)
extern volatile rt_uint16_t emv_state_flag; extern volatile rt_uint16_t emv_state_flag;
int BSP_Set_Emv_Status(rt_bool_t status); int BSP_Set_Emv_Status(rt_bool_t status);

View File

@ -816,7 +816,7 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device,
} }
else else
{ {
if (rt_sem_take(nt26k_recv_msg_sem, 4000) == RT_EOK) if (rt_sem_take(nt26k_recv_msg_sem, 15000) == RT_EOK)
{ {
LOG_D("收到回复\n"); LOG_D("收到回复\n");
nt26k_connect_sever_flag = 1; nt26k_connect_sever_flag = 1;
@ -1462,7 +1462,7 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
rt_err_t result = RT_ETIMEOUT; rt_err_t result = RT_ETIMEOUT;
rt_uint32_t delay_n = 0; rt_uint32_t delay_n = 0;
at_response_t resp = RT_NULL; at_response_t resp = RT_NULL;
rt_uint32_t retry_delay = 4000; rt_uint32_t retry_delay = 8000;
LOG_D("nt26k_life_thread entry\n"); LOG_D("nt26k_life_thread entry\n");
while (1) while (1)
@ -1482,9 +1482,14 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
result = -RT_ETIMEOUT; result = -RT_ETIMEOUT;
goto __exit; goto __exit;
} }
device->class->device_ops->control(device, AT_DEVICE_CTRL_NET_DISCONN, RT_NULL); if(device->class->device_ops->control(device, AT_DEVICE_CTRL_NET_DISCONN, RT_NULL) == RT_EOK)
rt_thread_mdelay(RT_TICK_PER_SECOND);//这里如果有TCP连接先关掉TCP,没有返回错误无所谓 {
device->class->device_ops->control(device, AT_DEVICE_RF_CLOSE, RT_NULL); rt_thread_mdelay(RT_TICK_PER_SECOND);//这里如果有TCP连接先关掉TCP,没有返回错误无所谓
}
if(device->class->device_ops->control(device, AT_DEVICE_RF_CLOSE, RT_NULL) == RT_EOK)
{
rt_thread_mdelay(RT_TICK_PER_SECOND);//这里如果有TCP连接先关掉TCP,没有返回错误无所谓
}
rt_thread_mdelay(RT_TICK_PER_SECOND); rt_thread_mdelay(RT_TICK_PER_SECOND);
if (device->class->device_ops->control(device, AT_DEVICE_CTRL_WAKEUP, RT_NULL) == RT_EOK) if (device->class->device_ops->control(device, AT_DEVICE_CTRL_WAKEUP, RT_NULL) == RT_EOK)
{ {
@ -1552,7 +1557,7 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
if (at_obj_exec_cmd(device->client, resp, "AT+CSQ") == RT_EOK) if (at_obj_exec_cmd(device->client, resp, "AT+CSQ") == RT_EOK)
{ {
int signal_strength = 0, err_rate = 0; int signal_strength = 0, err_rate = 0;
if (at_resp_parse_line_args_by_kw(resp, "+CSQ:", "+CSQ: %d,%d", &signal_strength, &err_rate) > 0) if (at_resp_parse_line_args_by_kw(resp, "+CSQ:", "+CSQ: %d,%d", &signal_strength, &err_rate) > 0)
{ {
if ((signal_strength != 99) && (signal_strength != 0)) if ((signal_strength != 99) && (signal_strength != 0))
@ -1575,7 +1580,7 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
if (at_obj_exec_cmd(device->client, resp, "AT+CEREG?") == RT_EOK) // 60s内注册CS业务 if (at_obj_exec_cmd(device->client, resp, "AT+CEREG?") == RT_EOK) // 60s内注册CS业务
{ {
int link_stat = 0; int link_stat = 0;
if (at_resp_parse_line_args_by_kw(resp, "+CEREG:", "+CEREG: %*d,%d", &link_stat) > 0) if (at_resp_parse_line_args_by_kw(resp, "+CEREG:", "+CEREG: %*d,%d", &link_stat) > 0)
{ {
if ((link_stat == 1) || (link_stat == 5)) if ((link_stat == 1) || (link_stat == 5))
@ -1600,7 +1605,7 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
delay_n = 0; delay_n = 0;
nt26k_disconnect_retry_flag = 0; nt26k_disconnect_retry_flag = 0;
at_delete_resp(resp); at_delete_resp(resp);
retry_delay = 1000; // 重置重连延迟时间 retry_delay = 8000; // 重置重连延迟时间
rt_thread_mdelay(100); rt_thread_mdelay(100);
Nt26k_Send_Event(kNt26kHeartbeatEvent); Nt26k_Send_Event(kNt26kHeartbeatEvent);
} }