forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

周巍
2024-04-11 91ef77c00ed797b1048c5187f416e351e646a009
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#ifndef _GPRS_H
#define _GPRS_H
/**************************¶¨Òå˼ÖþÒÔ¼°µÚÈý·½Í¨Ñ¶¹²ÓõÄһЩ²ÎÊý¼°º¯Êý***********************/
#include "sys.h"
 
#define  GPRS_POWER_OFF_TIME  4  //¶Ïµçʱ¼ä£¬Ä£×鹨»úÖ®ºó2Ãë¶Ï¿ªµçÔ´
#define  GPRS_OFF_TIME  (GPRS_POWER_OFF_TIME + 5)  //ͨѶÍ˳öʱ¼ä£¬ÎªÁ˸øÓëÖØÐÂÐîµç£¬·ÀÖ¹Ò»´ÎͨѶ½áÊøÖ®ºó¹ý¿ì½øÈ뵽ϴÎͨѶÖе¼Ö¹ýÁ÷¸´Î»¡£
 
#define  WC_TIME_OUT        120
 
#define    LOG_RAM_BUFFER                            1
#define    LOG_EEPROM_BUFFER                        0   //EEPROMÒ»¶¨µÃÊÇ0£¬ºóÃæÓÐЩÂß¼­ÊÇ»ùÓÚ0×öµÄ
 
 
#define  GPRSOFF                                0
#define  ONPOWERGPRSSEND               1
#define  BATOWERGPRSSEND               2
 
typedef enum
{
  GPRS_POWER_ON_S   = 0 ,
  GPRS_CONNECTION_S = 1    ,
  GPRS_SEND_DATA_S    = 2    ,    
  GPRS_WAIT_OK_S        = 3 ,
  GPRS_TIME_OUT_S        = 4 ,
  GPRS_POWER_OFF_S    = 5    
    
}GPRS_WORK_STATUS_T;
 
 
#define NOMARL_DATA_GPRS          0X01
#define NOMARL_HEART_BEAT          0X02
#define    DEVICE_WARNING                0X03
 
 
 
#pragma pack(1)
 
//ÍøÂçÐÅÏ¢
typedef struct{
    
    unsigned char  NetLinkFlag ;  
    unsigned char  netgrade;      
    unsigned char  netrate ;      
 
    u8                        SIM_Type;
    char                    IMEI[15];    
    char                    ICCID[20];    
    int           SNR;
    
    unsigned char  APN[16];       
 
    unsigned char  ConnectNum ;   
    unsigned char   Net_info; //ÍøÂçÐÅÏ¢    
   
    unsigned char send_finish_ok;
    
    u8            Local_IP[4];
    
 
}VARIABLE ;
 
 
//Éϱ¨¿ØÖÆ
typedef struct
{
    /*¿ØÖÆ·¢ËͲÎÊý*/
    u8            gprs_type;  //ģʽ£¬·ÖΪ¹Ø±Õ¡¢Í⹩µçģʽ¡¢µç³Ø¹©µçģʽ
    
    u16            gprs_save_run_process_times;
    
    u8            gprs_working_state;
    u8            gprs_send_time_out_time;
    u8             new_data_flag;
    u8            new_data_heartbeat_flag;
    
    u8            gprs_send_wait_times;
    u16            gprs_off_wait_times;
    
    u8      ReportingType; //·¢ËÍÀàÐÍ£¬0£º ¶¨Ê±  1£º¼ä¸ô   2£º°´¼ü    3£º¾¯±¨Òì³£  4£ºÉϵçÉϸ棨¸´Î»£©  5£ºÖر¨   6£º²ÎÊýÐÞ¸ÄÉϱ¨
    
    u8            Key_send_data_handle_flag;
    
    u8            gprs_send_data_handle_flag;
    u8            gprs_send_alarm_handle_flag;
    u8      gprs_send_alarm_handle_first_flag;  //±¨¾¯Ê״βúÉú²úÉúʱ×Ô¶¯Éϱ¨£¬Èç¹ûÁ¬Íø²»³É¹¦µ¼Ö±¨¾¯Ã»Éϱ¨£¬²»Öر¨£¬±£Áôµ½Ï´α¨¾¯²úÉúʱÔÙÉϱ¨
    
    u8      gprs_data_store_flag;
 
    /*ÖØ·¢¿ØÖƲÎÊý*/
    u32       RetransmissionIntervalCount;  // ÖØ·¢¼ä¸ô¼ÆÊýµ¥Î»Ãë  £¬Ê×´ÎÉϱ¨Ê§°ÜÐèÒªÖØ±¨£¬Á¬ÐøÉϱ¨Ê§°Ü²»ÐèÒªÖØ±¨£¬Ò²¾ÍÖØ±¨Ê§°Ü²»Ë¢Ð¼ÆÊý
    u8                RetransmissionNumberCount;  //ÖØ·¢´ÎÊý¼ÆÊý
    u8                ReprotingResult;  //Éϱ¨½á¹û£¬00±íʾÉϱ¨»ØÓ¦³É¹¦£¬01±íʾÉϱ¨Á˵«ÊÇûÊÕµ½»ØÓ¦£¬11±íʾÉϱ¨Á˵«Êǽá¹ûΪÉϱ¨Ê§°Ü£¬
    u8                RetransmissionFlag; //ÖØ±¨±êÖ¾£¬ÖÃ1±íʾµ±´ÎÉϱ¨ÎªÖر¨
    /**/
    u8     data_send_in_one_min;
    
}GPRS_SEND_CTRL_T;
 
typedef struct gprs_data_inf
{
    u8            gprs_state;//ÓÃ×÷·¢ËÍ˫ƽ̨µÄ±êÖ¾£¬³õʼ»¯Îª0£¬±íʾ¿ÕÏУ»  Îª1ʱ±íʾ˼ÖþͨѶռÓã»Îª2ʱ±íʾµÚÈý·½Ô¶³ÌͨѶռÓÃ
    
}GPRS_DATA_INF_T;
 
typedef struct{
 
    uint8_t            yearN;
    uint8_t          monthN;
    uint8_t          dateN;
    uint8_t         hourN;
    uint8_t         minN;
    uint8_t         secN;
}NETTIME;
#pragma pack()
 
//˼ÖþºÍµÚÈý·½¹²ÓõIJ¿·Ö²ÎÊý
extern VARIABLE   VariaDlg ;
extern volatile GPRS_DATA_INF_T        gprs_send_inf_g;
extern NETTIME          net_now_time;
 
extern uint16_t CS_addr;  //УÑéËùÔÚµØÖ·
extern u8         GPRS_SEND_BUFF[720];
extern uint8_t         yushu;  //¼ÆËã×ÜÌõÊý/6µÄÓàÊý
 
 
//GPRSÓ²¼þÅäÖÃ
void GPRS_hard_init();//ÅäÖõçÔ´¡¢UART¡¢ÒÔ¼°¿ªµç
void GPRS_hard_sleep();//¹Ø±ÕµçÔ´¡¢UART¡¢ÒÔ¼°¹Øµç
 
//ÓëС°å½»»¥ÐèÒªµÄ·¢ËͽÓÊÕº¯Êý
void     GPRS_UartSendCode(char *code);
void Send_Data_gprs(u8 * datap ,u16 num);
void SendDataToSTM32(void);
void SendDataToCommBoard(uint8_t * buff_in,uint16_t data_length);
 
void    gprs_rx_data_check(void);
int    check_gprs_data_vaild(u8 rec_buffer_cnt, u8 *rec_buffer);
 
u8 AutoTimeCorrect(u8 * BCD_time_in);
 
 
 
 
#endif