You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
4.0 KiB
167 lines
4.0 KiB
#ifndef WH_LTE_7S4_V2_H_
|
|
#define WH_LTE_7S4_V2_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "FreeRTOS.h"
|
|
#include "task.h"
|
|
#include "main.h"
|
|
#include "cmsis_os.h"
|
|
#include "usart.h"
|
|
|
|
#include "elog.h"
|
|
|
|
|
|
#include <string.h>
|
|
#include "bsp_uart.h"
|
|
|
|
#define WH_LTE_USE_MAX485 0
|
|
#define WH_LTE_USE_MAX3160_232 0
|
|
#define WH_LTE_USE_MAX3160_485 1
|
|
|
|
#define WH_LTE_Rcv_Buf_Size (3+244+2)
|
|
// #define WH_LTE_Command_Number 1
|
|
|
|
static void WH_LTE_MAX3160_232(void)
|
|
{
|
|
HAL_GPIO_WritePin(SEL_232_485_GPIO_Port,SEL_232_485_Pin, RESET);
|
|
HAL_GPIO_WritePin(HDPLX_GPIO_Port,HDPLX_Pin, RESET);
|
|
}
|
|
|
|
#define WH_LTE_FLAG_MASK_BUSY ((uint32_t)1<<(uint32_t)0)
|
|
#define WH_LTE_FLAG_MASK_RECVED_SN ((uint32_t)1<<(uint32_t)1)
|
|
#define WH_LTE_FLAG_MASK_RECVED_WL ((uint32_t)1<<(uint32_t)2)
|
|
#define WH_LTE_FLAG_MASK_RECVED_DATA ((uint32_t)1<<(uint32_t)3)
|
|
|
|
typedef enum
|
|
{
|
|
MODULE_WH_LTE_EVENT_READY,
|
|
MODULE_WH_LTE_EVENT_PPP,
|
|
MODULE_WH_LTE_EVENT_A,
|
|
MODULE_WH_LTE_EVENT_WORKMODE,
|
|
MODULE_WH_LTE_EVENT_SOCKASL,
|
|
MODULE_WH_LTE_EVENT_SOCKAEN,
|
|
MODULE_WH_LTE_EVENT_SOCKA,
|
|
MODULE_WH_LTE_EVENT_GET_TIME,
|
|
MODULE_WH_LTE_EVENT_REBOOT,
|
|
MODULE_WH_LTE_EVENT_INIT_OK,
|
|
MODULE_WH_LTE_EVENT_SEND_DATA,
|
|
} MODULE_WH_LTE_EVENT_TypeDef;
|
|
|
|
typedef enum
|
|
{
|
|
MODULE_WH_LTE_7S4_INIT_STATE_WAIT,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_START,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_PPP,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_A,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_SET_WORKMODE,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_SET_SOCKASL,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_SOCKAEN,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_SET_SOCKA,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_GET_TIME,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_REBOOT,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_OK,
|
|
MODULE_WH_LTE_7S4_GET_TIME,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_ERROR,
|
|
MODULE_WH_LTE_7S4_INIT_STATE_STOP
|
|
} MODULE_WH_LTE_WORK_STATE;
|
|
|
|
|
|
enum wh_lte_7s4_cmd_state{
|
|
WH_LTE_7S4_CMD_STATE_OFF=0,
|
|
WH_LTE_7S4_CMD_STATE_ON=1
|
|
};
|
|
enum wh_lte_7s4_cmd_work_mode{
|
|
WH_LTE_7S4_CMD_WORK_MODE_NET=0,
|
|
WH_LTE_7S4_CMD_WORK_MODE_HTTPD=1,
|
|
WH_LTE_7S4_CMD_WORK_MODE_UDC=0,
|
|
};
|
|
enum wh_lte_7s4_cmd_uart_parity{
|
|
WH_LTE_7S4_CMD_UART_PARITY_NONE=0,
|
|
WH_LTE_7S4_CMD_UART_PARITY_ODD=1,
|
|
WH_LTE_7S4_CMD_UART_PARITY_EVEN=2
|
|
};
|
|
enum wh_lte_7s4_cmd_sockasl{
|
|
WH_LTE_7S4_CMD_SOCKASL_SHORT=0,
|
|
WH_LTE_7S4_CMD_SOCKASL_LONG=1
|
|
};
|
|
enum wh_lte_7s4_cmd_protocol{
|
|
WH_LTE_7S4_CMD_PROTOCOL_TCP,
|
|
WH_LTE_7S4_CMD_PROTOCOL_UDP
|
|
};
|
|
|
|
extern UART_HELPER_TypeDef *WH_LTE_uart_helper;
|
|
|
|
typedef struct
|
|
{
|
|
int (*init)(void);
|
|
void (*port)(void);
|
|
int (*test)(void);
|
|
void (*start)(void);
|
|
void (*stop)(void);
|
|
|
|
osMessageQueueId_t transQueue; // 队列可选
|
|
|
|
volatile MODULE_WH_LTE_WORK_STATE state;
|
|
uint8_t data_ok; /* 接收数据完整可以处理 */
|
|
|
|
uint8_t receive_buf[1024];
|
|
uint16_t size_received;
|
|
|
|
uint64_t timebase_ticks;
|
|
uint64_t timeout_ticks;
|
|
|
|
uint8_t event_flag;
|
|
uint8_t wavelength_ok;
|
|
|
|
Record_Trans_Rcv_TypeDef transRecord[3];
|
|
|
|
char receive_para[8][32];
|
|
char send_args_buf[64];
|
|
uint8_t WH_LTE_Data_Buf[3][ WH_LTE_Rcv_Buf_Size ];
|
|
|
|
uint8_t receive_err_code;
|
|
uint8_t receive_ok_flag;
|
|
uint8_t receive_a_flag;
|
|
uint8_t receive_para_num;
|
|
uint32_t receive_size;
|
|
uint8_t error;
|
|
|
|
// 服务器信息
|
|
char server_ip_domain[64];
|
|
uint16_t server_port;
|
|
|
|
|
|
}WH_LTE_TypeDef;
|
|
|
|
extern WH_LTE_TypeDef wh_lte ;
|
|
|
|
int WH_LTE_Init( void );
|
|
void WH_LTE_Task( void);
|
|
void WH_LTE_Port( void);
|
|
int WH_LTE_Test( );
|
|
void WH_LTE_Start( );
|
|
void WH_LTE_Stop( );
|
|
|
|
void WH_LTE_Wavelength( );
|
|
|
|
void WH_LTE_Set_Sendbuf( uint8_t * buf, uint16_t size );
|
|
void WH_LTE_Set_Rcvbuf( uint8_t * buf, uint16_t size );
|
|
void WH_LTE_Set_Timeout_ms( uint64_t ms_ticks );
|
|
int WH_LTE_Validate( );
|
|
|
|
|
|
int WH_LTE_Transmit();
|
|
int WH_LTE_Receive();
|
|
|
|
void WH_LTE_Trans_GPIO(void) ;
|
|
|
|
void WH_LTE_Trans_Cplt_GPIO(void) ;
|
|
|
|
int WH_LTE_CallBack( WH_LTE_TypeDef *pWHLTE , uint8_t *buf, uint16_t size );
|
|
|
|
unsigned wh_lte_convert_u2s(unsigned integer,char *str,unsigned length);
|
|
unsigned wh_let_7s4_get_work_state(void);
|
|
#endif
|
|
|