forked from gary/BCU
2
0
Fork 0
BCU/library/drv_peripheral/drv_qfc41d.h

70 lines
1.9 KiB
C
Raw Normal View History

/******************************************************************************
* @file drv_qfc41d.h
* @brief drv_qfc41d.h
* @version V1.0
* @author Gary
* @copyright
******************************************************************************/
#ifndef DRV_QFC41D_H_
#define DRV_QFC41D_H_
#include <stdio.h>
#include <stdint.h>
#include <stm32f4xx.h>
#include <string.h>
#include "drv_uart.h"
#include "kit_macro.h"
#include "ucos_ii.h"
#include "gpio_manager.h"
#include "kit_time.h"
#include "kit_debug.h"
#define QFC41D_UART_PORT kUartDev_2
#define QFC41D_MAX_SEND_SIZE 2048
#define QFC41D_MAX_RECV_SIZE 200
#define WIFI_TIMEOUT 100
#define QFC41D_RESTART_CMD "AT+QRST"
#define QFC41D_PING_CMD "AT+QPING=<IP>"
#define QFC41D_LOW_POWER_MODE "AT+QLOWPOWER"
#define QFC41D_GET_MACK_ADDR "AT+QWLMAC"
#define QFC41D_GET_WIFISTA_STATUS "AT+QSTAST"
#define QFC41D_SET_DHCP_ENABLE "AT+QSTADHCPDEF=1"
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>:AT+QSETBAND=<baud_rate>[,<save>] <baud_rate> <20><><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ʡ<EFBFBD><save>ʡ<>Ըò<D4B8><C3B2><EFBFBD><EFBFBD>򱣴沨<F2B1A3B4><E6B2A8><EFBFBD>ʡ<EFBFBD>0:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B2A8><EFBFBD><EFBFBD> 1:<3A><><EFBFBD><EFBFBD><E6B2A8><EFBFBD><EFBFBD>
#define QFC41D_SET_BATE "AT+QSETBAND=115200,1"
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Χ<EFBFBD>豸ʱ<E8B1B8><CAB1><EFBFBD><EFBFBD> GATT <20><><EFBFBD><EFBFBD>
* AT+QBLEGATTSNTFY=<UUID>[,<hex_lngth>],<data>
* <UUID> <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> UUID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>2 <EFBFBD>ֽڻ<EFBFBD><EFBFBD><EFBFBD> 16 <EFBFBD>ֽڡ<EFBFBD>
* <hex_length> <EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD>ȡ<EFBFBD>ʹ<EFBFBD>øò<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><data>ת<EFBFBD><EFBFBD>Ϊʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><data>Ϊ 123456<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ϊ 0x123456 <EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD>͡<EFBFBD>
* <data> <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD>GATT <EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
*/
#define QFC41D_BLE_INIT "AT+QBLEINIT=2"
typedef void (*FC41DSendCall)(UartDev dev, uint8_t *buf, uint16_t len);
typedef struct
{
uint8_t dev;
uint16_t buf_pos;
uint16_t buf_size;
uint8_t *buf;
FC41DSendCall sendCall;
}WifiBleItem;
uint8_t drv_qfc41d_init(void);
// MQTT <20><>ʼ<EFBFBD><CABC>
uint8_t drv_mqtt_init();
// <20><><EFBFBD><EFBFBD> MQTT <20><>Ϣ
uint8_t drv_mqtt_publish(char* str,uint16_t length);
#endif //DRV_QFC41D_H_