#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
|