126 lines
3.0 KiB
C
126 lines
3.0 KiB
C
|
#ifndef _ATCMD_H_
|
|||
|
#define _ATCMD_H_
|
|||
|
|
|||
|
#include "b6x.h"
|
|||
|
#include "bledef.h"
|
|||
|
#include "drvs.h"
|
|||
|
#include "gap.h"
|
|||
|
#include "app.h"
|
|||
|
/*
|
|||
|
* DEFINES
|
|||
|
****************************************************************************************
|
|||
|
*/
|
|||
|
#define MAX_UUID_LEN 0x10//
|
|||
|
#define MAX_ADV_DATA_LEN 0x20//
|
|||
|
#define SYS_CONFIG_OFFSET 0x1000
|
|||
|
|
|||
|
// AT Default Congif
|
|||
|
#define AT_DFT_UART_BAUD (115200)
|
|||
|
#define AT_DFT_ADV_DATA_LEN (11)
|
|||
|
#define AT_DFT_ADV_INTV (0x20)
|
|||
|
#define AT_DFT_RSSI (0)
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>Ϣ
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
All_FACTORY_REST = 0, //ȫ<><C8AB><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
PAIR_FACTORY_RESET = 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>൱<EFBFBD><E0B5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>Ϣ
|
|||
|
}PARA_SET_FACTORY;
|
|||
|
|
|||
|
// AT ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
enum err_code
|
|||
|
{
|
|||
|
ERR_HARD_WARE, // <20>豸Ӳ<E8B1B8><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ERR_NO_CONNECT, // û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ERR_OPERATION, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ERR_INVALID, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
|
|||
|
ERR_TIMEOUT, // <20><>ʱ
|
|||
|
ERR_MEMORY, // <20>ڴ<EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
ERR_PROTOCOL, // Э<><D0AD>ʧ<EFBFBD><CAA7>
|
|||
|
};
|
|||
|
|
|||
|
// AT ָ<><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
enum cmd_str
|
|||
|
{
|
|||
|
CMD_NULL, //
|
|||
|
CMD_ECHO, //
|
|||
|
CMD_ALL, //
|
|||
|
CMD_MAC_R, //
|
|||
|
CMD_VER_R, //
|
|||
|
CMD_NAME_R, //
|
|||
|
CMD_NAME_S, //
|
|||
|
CMD_BAUD_R,
|
|||
|
CMD_BAUD_S,
|
|||
|
CMD_DISCON_S,
|
|||
|
CMD_SCAN_S,
|
|||
|
CMD_CON_MAC_R,
|
|||
|
CMD_CON_MAC_S,
|
|||
|
CMD_UUIDS_R,
|
|||
|
CMD_UUIDS_S,
|
|||
|
CMD_UUIDN_R,
|
|||
|
CMD_UUIDN_S,
|
|||
|
CMD_UUIDW_R,
|
|||
|
CMD_UUIDW_S,
|
|||
|
CMD_AINTVL_R,
|
|||
|
CMD_AINTVL_S,
|
|||
|
CMD_AMDATA_R,
|
|||
|
CMD_AMDATA_S,
|
|||
|
CMD_RENEW_S,
|
|||
|
CMD_RESET_S,
|
|||
|
CMD_HELP,
|
|||
|
|
|||
|
CMD_CODE_MAX,
|
|||
|
};
|
|||
|
|
|||
|
typedef struct at_cmd_format
|
|||
|
{
|
|||
|
uint8_t str_len_min;
|
|||
|
uint8_t str_len_max;
|
|||
|
const char *str;
|
|||
|
}AT_CMD_FORMAT_T;
|
|||
|
|
|||
|
///Information about Connected device
|
|||
|
struct connected_result
|
|||
|
{
|
|||
|
struct gap_bdaddr paddr;
|
|||
|
};
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t name_len; // <20>豸<EFBFBD><E8B1B8><EFBFBD>ƣ<EFBFBD><C6A3> 11 λ<><CEBB><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ߺ<EFBFBD><DFBA>»<EFBFBD><C2BB>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|||
|
uint8_t rssi; // RSSI <20>ź<EFBFBD>ֵ
|
|||
|
|
|||
|
uint16_t adv_intv_time; // <20>㲥<EFBFBD><E3B2A5><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
uint32_t baudrate; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
uint8_t uuids[MAX_UUID_LEN];
|
|||
|
uint8_t uuidn[MAX_UUID_LEN];
|
|||
|
uint8_t uuidw[MAX_UUID_LEN];
|
|||
|
|
|||
|
uint8_t uuid_len;
|
|||
|
uint8_t name[DEV_NAME_MAX_LEN];
|
|||
|
|
|||
|
uint8_t adv_data_len;
|
|||
|
uint8_t adv_data[MAX_ADV_DATA_LEN];
|
|||
|
|
|||
|
uint8_t mac_addr[GAP_BD_ADDR_LEN]; //<2F><><EFBFBD><EFBFBD>mac<61><63>ַ <20><><EFBFBD><EFBFBD>12λ <20>ַ<EFBFBD><D6B7><EFBFBD>ʾ
|
|||
|
|
|||
|
uint8_t connect_mac_addr[GAP_BD_ADDR_LEN]; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>mac<61><63>ַ
|
|||
|
|
|||
|
}SYS_CONFIG __attribute__((aligned(4)));
|
|||
|
|
|||
|
extern SYS_CONFIG sys_config;
|
|||
|
extern bool scan_time_out;
|
|||
|
extern bool disconnect_all;
|
|||
|
extern struct connected_result connected_list[];
|
|||
|
|
|||
|
void atConfigFlashRead(void);
|
|||
|
void atSetBleDefault(PARA_SET_FACTORY flag);
|
|||
|
bool atCmdHandle(const uint8_t *buff, uint8_t buff_len);
|
|||
|
bool atProc(const uint8_t *buff, uint8_t buff_len);
|
|||
|
void atBleTx(const uint8_t *buff, uint8_t buff_len);
|
|||
|
|
|||
|
#endif
|
|||
|
|