根据平台建议,将获取接收的等待改为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

@ -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,没有返回错误无所谓 rt_thread_mdelay(RT_TICK_PER_SECOND);//这里如果有TCP连接先关掉TCP,没有返回错误无所谓
device->class->device_ops->control(device, AT_DEVICE_RF_CLOSE, RT_NULL); }
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)
{ {
@ -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);
} }