1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openLuat-luatos-soc-air101

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
wm_wifi_oneshot.h 6.2 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
Wendal Chen Отправлено 2 лет назад 5d143e3
/**
* @file wm_wifi_oneshot.h
*
* @brief Wi-Fi OneShot
*
* @author winnermicro
*
* Copyright (c) 2015 Winner Microelectronics Co., Ltd.
*/
#ifndef WM_WIFI_ONESHOT_H
#define WM_WIFI_ONESHOT_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wm_type_def.h>
#if (GCC_COMPILE==1)
#include "wm_ieee80211_gcc.h"
#else
#include <wm_ieee80211.h>
#endif
#include "wm_config.h"
#include "wm_bt_config.h"
/** DEBUG USE MAC FILTER START */
#define CONFIG_ONESHOT_MAC_FILTER 0
extern int tls_filter_module_srcmac(u8 *mac);
#define ONESHOT_ON 1
#define ONESHOT_OFF 0
/* ONE SHOT */
/** UDP MULTICAST ONE SHOT */
#define TLS_CONFIG_UDP_ONE_SHOT ONESHOT_ON
/** WinnerMicro ONSHOT */
#define TLS_CONFIG_UDP_LSD_SPECIAL (ONESHOT_OFF&& TLS_CONFIG_UDP_ONE_SHOT)
/** Delay start plcp receive*/
#define TLS_CONFIG_ONESHOT_DELAY_SPECIAL ONESHOT_OFF
/** ESP TOUCH */
#define TLS_CONFIG_ESP (ONESHOT_ON&& TLS_CONFIG_UDP_ONE_SHOT)
/** AP ONESHOT */
#define TLS_CONFIG_AP_MODE_ONESHOT (ONESHOT_OFF && TLS_CONFIG_AP)
#define TLS_CONFIG_WEB_SERVER_MODE (ONESHOT_OFF && TLS_CONFIG_AP_MODE_ONESHOT)
#define TLS_CONFIG_SOCKET_MODE (ONESHOT_OFF && TLS_CONFIG_AP_MODE_ONESHOT)
/** AIRKISS ONESHOT */
#define TLS_CONFIG_AIRKISS_MODE_ONESHOT (ONESHOT_ON && TLS_CONFIG_UDP_ONE_SHOT)
#define AIRKISS_USE_SELF_WRITE 1
/** BLE ONESHOT */
#define TLS_CONFIG_BLE_WIFI_ONESHOT (ONESHOT_ON && (WM_BLE_INCLUDED == CFG_ON || WM_NIMBLE_INCLUDED == CFG_ON))
typedef enum{
ONESHOT_SCAN_START,
ONESHOT_SCAN_FINISHED,
ONESHOT_SWITCH_CHANNEL,
ONESHOT_STOP_TMP_CHAN_SWITCH,
ONESHOT_STOP_CHAN_SWITCH,
ONESHOT_HANDSHAKE_TIMEOUT,
ONESHOT_RECV_TIMEOUT,
ONESHOT_RECV_ERR,
ONESHOT_STOP_DATA_CLEAR,
ONESHOT_NET_UP,
AP_SOCK_S_MSG_SOCKET_RECEIVE_DATA,
AP_WEB_S_MSG_RECEIVE_DATA,
AP_SOCK_S_MSG_SOCKET_CREATE,
AP_SOCK_S_MSG_WJOIN_FAILD,
}ONESHOT_MSG_ENUM;
/**
* @defgroup APP_APIs APP APIs
* @brief APP APIs
*/
/**
* @addtogroup APP_APIs
* @{
*/
/**
* @defgroup Oneshot_APIs Oneshot APIs
* @brief Wi-Fi oneshot APIs
*/
/**
* @addtogroup Oneshot_APIs
* @{
*/
/**
* @brief This function is used to set oneshot flag.
*
* @param[in] flag, 0: one shot closed
* 1: one shot open
* 2: AP+socket
* 3: AP+WEBSERVER
* 4: bt
*
* @param[out] None
*
* @retval 0: success
* -1: failed
*
* @note None
*/
int tls_wifi_set_oneshot_flag(u8 flag);
/**
* @brief This function is used to get oneshot flag.
*
* @param[in] None
*
* @param[out] None
*
* @retval 0: one shot closed
* 1: one shot open
* 2: AP+socket
* 3: AP+WEBSERVER
* 4: bt
*
* @note None
*/
int tls_wifi_get_oneshot_flag(void);
/**
* @}
*/
/**
* @}
*/
/**
* @brief Handle wild packets coming from the air.
*
* @param[in] *hdr point to ieee80211 data header
* @param[in] data_len data len of ieee80211 data
*
* @retval no mean
*
* @note None
*/
u8 tls_wifi_dataframe_recv(struct ieee80211_hdr *hdr, u32 data_len);
#if TLS_CONFIG_AIRKISS_MODE_ONESHOT
/**
* @brief This function is used to acknowledge app when airkiss process is done.
*
* @param[in] None
*
* @return None
*
* @note None
*/
void oneshot_airkiss_send_reply(void);
/**
* @brief This function is used to deal with airkiss's
wild packet
*
* @param[in] *data ieee80211 packet
* @param[in] data_len packet length
*
* @return None
*
* @note None
*/
void tls_airkiss_recv(u8 *data, u16 data_len);
/**
* @brief This function is used to start airkiss
*
* @param[in] None
*
* @return None
*
* @note None
*/
void tls_airkiss_start(void);
/**
* @brief This function is used to stop airkiss
*
* @param[in] None
*
* @return None
*
* @note None
*/
void tls_airkiss_stop(void);
/**
* @brief This function is used to change channel for airkiss
*
* @param[in] None
*
* @return None
*
* @note None
*/
void tls_oneshot_airkiss_change_channel(void);
#endif /*TLS_CONFIG_AIRKISS_MODE_ONESHOT*/
/**
* @brief This function is used to init oneshot task
*
* @param[in] None
*
* @return None
*
* @note Not in use now
*/
int wm_oneshot_task_init(void);
/**
* @brief This function is used to stop oneshot timer
*
* @param[in] None
*
* @return None
*
* @note None
*/
void tls_oneshot_switch_channel_tim_stop(struct ieee80211_hdr *hdr);
/**
* @brief This function is used to stop oneshot temp timer
*
* @param[in] None
*
* @return None
*
* @note None
*/
void tls_oneshot_switch_channel_tim_temp_stop(void);
/**
* @brief handle if use bssid to connect wifi.
*
* @param[in] *ssid : ap name to connect
* @param[in] *ssid_len: ap name's length to connect
* @param[in] *bssid : ap bssid
*
* @retval no mean
*
* @note None
*/
int tls_oneshot_if_use_bssid(u8 *ssid, u8 *ssid_len, u8 *bssid);
/**
* @brief Find channel according to ssid
*
* @param[in] *ssid ssid to be compared
* @param[in] ssid_len ssid length
* @param[out] chlist chlist to be add according to ssid info
*
* @retval None
*
* @note None
*/
void tls_oneshot_find_chlist(u8 *ssid, u8 ssid_len, u16 *chlist);
/**
* @brief This function is to deal with oneshot event according netif status.
*
* @param[in] status:net status
*
* @param[out] None
*
* @retval None
*
* @note None
*/
void wm_oneshot_netif_status_event(u8 status );
#if TLS_CONFIG_WEB_SERVER_MODE
/**
* @brief This function is used to send web config msg to oneshot task.
*
* @param[in] None
*
* @param[out] None
*
* @retval None
*
* @note None
*/
void tls_oneshot_send_web_connect_msg(void);
#endif
#endif /*WM_WIFI_ONESHOT_H*/

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openLuat-luatos-soc-air101.git
git@gitlife.ru:oschina-mirror/openLuat-luatos-soc-air101.git
oschina-mirror
openLuat-luatos-soc-air101
openLuat-luatos-soc-air101
v1023.air101