This commit is contained in:
parent
383301cede
commit
10623a5dd8
|
@ -773,7 +773,7 @@
|
||||||
"address": "0x08000000",
|
"address": "0x08000000",
|
||||||
"target_path": "obj\\JT-DT-YD4N02A_RTT_MRS-4G.hex",
|
"target_path": "obj\\JT-DT-YD4N02A_RTT_MRS-4G.hex",
|
||||||
"clkSpeed": "High",
|
"clkSpeed": "High",
|
||||||
"debug_interface_mode": "1-wire serial",
|
"debug_interface_mode": "",
|
||||||
"erase": true,
|
"erase": true,
|
||||||
"program": true,
|
"program": true,
|
||||||
"verify": true,
|
"verify": true,
|
||||||
|
|
|
@ -65,11 +65,12 @@ rt_sem_t nt26k_recv_msg_sem; // 用于接收信号
|
||||||
rt_sem_t nt26k_disconnect_sem;
|
rt_sem_t nt26k_disconnect_sem;
|
||||||
static rt_timer_t nt26k_timer; // 上报心跳
|
static rt_timer_t nt26k_timer; // 上报心跳
|
||||||
static rt_timer_t nt26k_upload_timer; // 更新本地时间定时器
|
static rt_timer_t nt26k_upload_timer; // 更新本地时间定时器
|
||||||
static rt_timer_t nt26k_power_error_timer; // 上电失败情况下启动定时器
|
static rt_timer_t nt26k_error_timer; // 上电失败情况下启动定时器
|
||||||
|
|
||||||
rt_uint8_t device_power_down_flag;
|
rt_uint8_t device_power_down_flag;
|
||||||
rt_uint8_t nt26k_power_down_flag;
|
rt_uint8_t nt26k_power_down_flag;
|
||||||
rt_uint8_t nt26k_connect_sever_flag;
|
rt_uint8_t nt26k_connect_sever_flag;
|
||||||
|
rt_uint8_t nt26k_send_error_flag;
|
||||||
rt_uint8_t nt26k_conncet_tcp_flag;
|
rt_uint8_t nt26k_conncet_tcp_flag;
|
||||||
rt_uint8_t nt26k_disconnect_pdp_flag; // PDP断开连接标志
|
rt_uint8_t nt26k_disconnect_pdp_flag; // PDP断开连接标志
|
||||||
rt_uint8_t nt26k_disconnect_retry_flag = 0; // 用于判断是否已经启动了重连,如果启动,不需要每次都进入
|
rt_uint8_t nt26k_disconnect_retry_flag = 0; // 用于判断是否已经启动了重连,如果启动,不需要每次都进入
|
||||||
|
@ -198,14 +199,20 @@ static void Nt26k_Ht_Timer_Cb(void *parameter)
|
||||||
// 定时器回调函数,当1分钟内没有数据交互时,关闭tcp连接
|
// 定时器回调函数,当1分钟内没有数据交互时,关闭tcp连接
|
||||||
static void Nt26k_Error_Timer_Cb(void *parameter)
|
static void Nt26k_Error_Timer_Cb(void *parameter)
|
||||||
{
|
{
|
||||||
|
if((nt26k_send_error_flag == 1) && power_on_send_flag == 1)
|
||||||
|
{
|
||||||
|
nt26k_send_error_flag = 0;
|
||||||
|
Nt26k_Send_Event(nt26k_event_index.current_event);
|
||||||
|
}
|
||||||
if (power_on_send_flag) // 上电成功时,停止定时器
|
if (power_on_send_flag) // 上电成功时,停止定时器
|
||||||
{
|
{
|
||||||
rt_timer_stop(nt26k_power_error_timer);
|
rt_timer_stop(nt26k_error_timer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Nt26k_Send_Event(kNt26kPowerOnEvent);
|
Nt26k_Send_Event(kNt26kPowerOnEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int _Pack_Send(struct Nt26k_Ops *ops, char *buf)
|
int _Pack_Send(struct Nt26k_Ops *ops, char *buf)
|
||||||
|
@ -811,7 +818,7 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device,
|
||||||
if (result != RT_EOK)
|
if (result != RT_EOK)
|
||||||
{
|
{
|
||||||
LOG_E("nt26k send failed\n");
|
LOG_E("nt26k send failed\n");
|
||||||
ret = RT_ERROR;
|
ret = RT_ERROR;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -827,7 +834,12 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device,
|
||||||
{
|
{
|
||||||
// 收不到说明在平台未注册,此时nt26k_connect_sever_flag 为0,但nt26k_conncet_tcp_flag = 1;此时不发起重连,等待事件触发就行
|
// 收不到说明在平台未注册,此时nt26k_connect_sever_flag 为0,但nt26k_conncet_tcp_flag = 1;此时不发起重连,等待事件触发就行
|
||||||
nt26k_connect_sever_flag = 0;
|
nt26k_connect_sever_flag = 0;
|
||||||
ret = RT_ERROR;
|
if(rt_strcmp(event->event_name, "上电心跳事件") != RT_EOK)//不是上电事件下的失败
|
||||||
|
{
|
||||||
|
nt26k_send_error_flag = 1;
|
||||||
|
rt_timer_start(nt26k_error_timer);
|
||||||
|
}
|
||||||
|
ret = RT_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -840,7 +852,7 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device,
|
||||||
rt_sem_release(nt26k_disconnect_sem);
|
rt_sem_release(nt26k_disconnect_sem);
|
||||||
}
|
}
|
||||||
LOG_D("断网,等待连接中......\n");
|
LOG_D("断网,等待连接中......\n");
|
||||||
ret = RT_ERROR;
|
ret = RT_ERROR;
|
||||||
}
|
}
|
||||||
rt_thread_mdelay(3000);
|
rt_thread_mdelay(3000);
|
||||||
}
|
}
|
||||||
|
@ -1293,7 +1305,7 @@ static void Nt26k_Send_Thread_Entry(void *param)
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
power_on_send_flag = 0;
|
power_on_send_flag = 0;
|
||||||
rt_timer_start(nt26k_power_error_timer); // 启动重连定时器, 3min一次,直到发送成功
|
rt_timer_start(nt26k_error_timer); // 启动重连定时器, 3min一次,直到发送成功
|
||||||
LOG_E("nt26k send data failed result = [%d]\n", result);
|
LOG_E("nt26k send data failed result = [%d]\n", result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1560,7 +1572,7 @@ int BSP_Nt26k_Thread_Init(void)
|
||||||
rt_err_t ret;
|
rt_err_t ret;
|
||||||
|
|
||||||
Nt26k_Event_Init();
|
Nt26k_Event_Init();
|
||||||
rt_uint32_t iot_upload_time = (uint16_t)Flash_Get_SysCfg(kIotUploadCycleId);
|
rt_uint32_t iot_upload_time = (uint32_t)Flash_Get_SysCfg(kIotUploadCycleId);
|
||||||
rt_uint32_t timeout = 0;
|
rt_uint32_t timeout = 0;
|
||||||
|
|
||||||
if (iot_upload_time > 24 * 60 * 60 * RT_TICK_PER_SECOND)
|
if (iot_upload_time > 24 * 60 * 60 * RT_TICK_PER_SECOND)
|
||||||
|
@ -1606,7 +1618,7 @@ int BSP_Nt26k_Thread_Init(void)
|
||||||
rt_kprintf("创建定时器失败\n");
|
rt_kprintf("创建定时器失败\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
nt26k_power_error_timer = rt_timer_create("nt26k_error_timer",
|
nt26k_error_timer = rt_timer_create("nt26k_error_timer",
|
||||||
Nt26k_Error_Timer_Cb,
|
Nt26k_Error_Timer_Cb,
|
||||||
RT_NULL,
|
RT_NULL,
|
||||||
3 * 60 * RT_TICK_PER_SECOND, // (3分钟)
|
3 * 60 * RT_TICK_PER_SECOND, // (3分钟)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author : stark1898y 1658608470@qq.com
|
* @Author : stark1898y 1658608470@qq.com
|
||||||
* @Date : 2024-07-19 13:49:43
|
* @Date : 2024-07-19 13:49:43
|
||||||
* @LastEditors : stark1898y 1658608470@qq.com
|
* @LastEditors : stark1898y 1658608470@qq.com
|
||||||
* @LastEditTime : 2025-01-23 16:55:55
|
* @LastEditTime : 2025-01-24 17:32:48
|
||||||
* @FilePath : \JT-DT-YD4N02A_4G_RTT_MRS\rt-thread\rtconfig.h
|
* @FilePath : \JT-DT-YD4N02A_4G_RTT_MRS\rt-thread\rtconfig.h
|
||||||
* @Description :
|
* @Description :
|
||||||
*
|
*
|
||||||
|
@ -15,8 +15,8 @@
|
||||||
|
|
||||||
/*使用动态日志及密码功能时,需开启宏 FINSH_USING_AUTH ULOG_USING_FILTER ENABLE_LOG_ALL ULOG_OUTPUT_LVL = 7 以及设置ulog.c 1522行 输出等级为0*/
|
/*使用动态日志及密码功能时,需开启宏 FINSH_USING_AUTH ULOG_USING_FILTER ENABLE_LOG_ALL ULOG_OUTPUT_LVL = 7 以及设置ulog.c 1522行 输出等级为0*/
|
||||||
/**/
|
/**/
|
||||||
#define FINSH_USING_AUTH //开启终端密码登录功能
|
// #define FINSH_USING_AUTH //开启终端密码登录功能
|
||||||
#define ULOG_USING_FILTER //开启动态修改日志等级 默认修改在ulog.c 1522行
|
// #define ULOG_USING_FILTER //开启动态修改日志等级 默认修改在ulog.c 1522行
|
||||||
|
|
||||||
#define ENABLE_LOG_ALL
|
#define ENABLE_LOG_ALL
|
||||||
#define TEST_ENABLE //打开所有的终端测试程序
|
#define TEST_ENABLE //打开所有的终端测试程序
|
||||||
|
@ -24,8 +24,8 @@
|
||||||
#define IOT_MODULE_SWITCH 1 //开启物联网功能
|
#define IOT_MODULE_SWITCH 1 //开启物联网功能
|
||||||
|
|
||||||
// #ifdef FINSH_USING_AUTH
|
// #ifdef FINSH_USING_AUTH
|
||||||
// #define AT_USING_CLI
|
#define AT_USING_CLI
|
||||||
// #define AT_PRINT_RAW_CMD
|
#define AT_PRINT_RAW_CMD
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
/* RT-Thread Kernel */
|
/* RT-Thread Kernel */
|
||||||
|
|
Loading…
Reference in New Issue