河北水利局项目
This commit is contained in:
146
shuangjia/load.c
Normal file
146
shuangjia/load.c
Normal file
@@ -0,0 +1,146 @@
|
||||
//#include "stdafx.h"
|
||||
#include "load.h"
|
||||
#include "gprs.h"
|
||||
#include "Cmd.h"
|
||||
#include <math.h>
|
||||
#include "include.h"
|
||||
#include "debug_printf.h"
|
||||
#include "Rtc.h"
|
||||
#include "addr.h"
|
||||
#include "uart.h"
|
||||
#include "storage.h"
|
||||
#include "apl.h"
|
||||
#include "PHY.h"
|
||||
#include "rtc_ext.h"
|
||||
#include "update.h"
|
||||
#include "gprs.h"
|
||||
#include "hearttime.h"
|
||||
|
||||
/*gprs相关*/
|
||||
#define HEART_NO_REV_NUM 3 /*未收到n次主站心跳报文后,通知gprs模块重新连接主站*/
|
||||
#define FIRST_HEART_SPACE 6 //第一次认为是10秒后心跳
|
||||
|
||||
extern CPU_INT08U gprs_loading_flag;
|
||||
extern void concent_load(u8 * val,u16 * len);
|
||||
extern void gprs_send_flag();
|
||||
extern void concent_heart(u8 * val,u16 * len);
|
||||
extern void gprs_close_all();
|
||||
extern u8 * get_uart_send();
|
||||
extern u16 * get_uart_send_plen();
|
||||
extern CPU_INT08U bak_ip_flag;
|
||||
extern u32 time_cur;
|
||||
extern CPU_INT08U port_0_status;
|
||||
|
||||
extern void sj_frame_load(u8 * val,u16 * len);
|
||||
extern void sj_frame_heart(u8 * val,u16 * len);
|
||||
extern void COM_led_off(u8 led);
|
||||
extern void COM_led_on(u8 led);
|
||||
//extern void net_para_save();
|
||||
extern void hb_heart_rp_pro(u8 * val,u16 * len);
|
||||
|
||||
#define HEART_SPACE_TIME (220)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CPU_INT08U gprs0_land :1;
|
||||
CPU_INT08U gprs0_heart :1;
|
||||
CPU_INT08U gprs0_recv :1;
|
||||
CPU_INT08U uip_land :1;
|
||||
CPU_INT08U uip_heart :1;
|
||||
CPU_INT08U uip_recv :1;
|
||||
CPU_INT08U reserved :2;
|
||||
}land_heart_state;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CPU_INT32U gprs0_rev_time;
|
||||
CPU_INT32U gprs0_heart_time;
|
||||
CPU_INT32U uip_rev_time;
|
||||
CPU_INT32U uip_heart_time;
|
||||
}heart_time_tp;
|
||||
|
||||
|
||||
static u32 heart_timespace = 0;
|
||||
static u8 heart_flag = 0;
|
||||
|
||||
|
||||
|
||||
//
|
||||
//time_cur //在task_gprs中被赋值
|
||||
|
||||
|
||||
|
||||
void gprs_setload()
|
||||
{
|
||||
|
||||
//循环心跳间隔时间赋值为0
|
||||
heart_flag = 0;
|
||||
|
||||
|
||||
//循环心跳间隔时间赋值为0
|
||||
heart_flag = 1;
|
||||
heart_timespace = time_cur;
|
||||
}
|
||||
|
||||
|
||||
extern u32 m3761_recv_time;
|
||||
|
||||
void gprs_recv_judge_timeset()
|
||||
{
|
||||
//判断是否超过3个心跳时间?
|
||||
//gprs0_time_socket =time_cur;
|
||||
//心跳时间
|
||||
heart_timespace = time_cur;
|
||||
m3761_recv_time = time_cur;
|
||||
//点灯 在线状态
|
||||
//led_online_status |= LED_GPRSONLINE_YES;
|
||||
//led_run_status |= LED_RUN_GPRSONLINE;
|
||||
|
||||
COM_led_on(3);
|
||||
|
||||
}
|
||||
|
||||
u32 time_save = 0;
|
||||
|
||||
bool is_set_save = false;
|
||||
void set_time_save()
|
||||
{
|
||||
is_set_save = true;
|
||||
time_save = time_cur;
|
||||
}
|
||||
|
||||
|
||||
void gprs_load()
|
||||
{
|
||||
if(PORT_STATUS_CONNECTED == port_0_status)
|
||||
{
|
||||
if(1 == gprs_loading_flag)
|
||||
{
|
||||
printf("GPRS 连接成功 !!!\r\n");
|
||||
gprs_loading_flag = 0;
|
||||
|
||||
gprs_setload();
|
||||
}
|
||||
|
||||
if(1 == heart_flag)
|
||||
{
|
||||
if((time_cur - heart_timespace) >= HEART_SPACE_TIME)
|
||||
{
|
||||
hb_heart_rp_pro(get_uart_send(),get_uart_send_plen());
|
||||
gprs_send_flag();
|
||||
heart_timespace = time_cur;
|
||||
printf("\r\n循环心跳\r\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void heart_send()
|
||||
{
|
||||
concent_heart(get_uart_send(),get_uart_send_plen());
|
||||
|
||||
gprs_send_flag();
|
||||
heart_timespace = time_cur;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user