45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
#ifndef BOARDLINK_IOT_H
|
|
#define BOARDLINK_IOT_H
|
|
#ifndef PLATFORM_CPU
|
|
#define BL_IOT_MSG_TAGS ("BLNLINK")
|
|
#define BL_MAX_MSG (1024)
|
|
#define ETH_ALEN (6)
|
|
|
|
typedef enum
|
|
{
|
|
MSG_IN_DISCOVERY_MODE = 0,
|
|
MSG_OUT_DISCOVERY_MODE,
|
|
MSG_GET_WLAN_INFO,
|
|
MSG_BYPASS_MODE,
|
|
} BL_IOT_MSG_TYPE;
|
|
|
|
#pragma pack (push)
|
|
#pragma pack (1)
|
|
typedef struct
|
|
{
|
|
unsigned char msgTags[8];
|
|
unsigned char dstMac[ETH_ALEN];
|
|
unsigned char msgType;
|
|
unsigned int msglen;
|
|
unsigned char msgData[BL_MAX_MSG];
|
|
} BL_IOT_MSG, *PBL_IOT_MSG;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned char channel;
|
|
unsigned char dev_mac[ETH_ALEN];
|
|
unsigned char bssid[ETH_ALEN];
|
|
unsigned char ssid[32];
|
|
} WL_INFO, *PWL_INFO;
|
|
#pragma pack (pop)
|
|
|
|
#define BL_IOT_MSG_LEN(len) (sizeof(BL_IOT_MSG) - BL_MAX_MSG + len)
|
|
|
|
typedef void (*BlMsgCb)(PBL_IOT_MSG pMsg);
|
|
|
|
int BL_Init(BlMsgCb cbOnMsg);
|
|
int BL_SendBLMsg(BL_IOT_MSG_TYPE msgType, unsigned char* pData, unsigned int len);
|
|
int BL_SendBLMsgTo(BL_IOT_MSG_TYPE msgType, unsigned char* pData, unsigned int len, unsigned char dstMac[ETH_ALEN]);
|
|
#endif
|
|
#endif
|