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.
68 lines
1.4 KiB
68 lines
1.4 KiB
8 years ago
|
/******************************************************************************
|
||
|
* Copyright 2013-2014 Espressif Systems (Wuxi)
|
||
|
*
|
||
|
* FileName: user_main.c
|
||
|
*
|
||
|
* Description: entry file of user application
|
||
|
*
|
||
|
* Modification history:
|
||
|
* 2015/7/3, v1.0 create this file.
|
||
|
*******************************************************************************/
|
||
|
|
||
|
#include "osapi.h"
|
||
|
#include "user_interface.h"
|
||
|
|
||
|
#include "driver/key.h"
|
||
|
|
||
|
#define WPS_KEY_NUM 1
|
||
|
|
||
|
#define WPS_KEY_IO_MUX PERIPHS_IO_MUX_MTCK_U
|
||
|
#define WPS_KEY_IO_NUM 13
|
||
|
#define WPS_KEY_IO_FUNC FUNC_GPIO13
|
||
|
|
||
|
LOCAL struct keys_param keys;
|
||
|
LOCAL struct single_key_param *single_key;
|
||
|
|
||
|
LOCAL void ICACHE_FLASH_ATTR
|
||
|
user_wps_status_cb(int status)
|
||
|
{
|
||
|
switch (status) {
|
||
|
case WPS_CB_ST_SUCCESS:
|
||
|
wifi_wps_disable();
|
||
|
wifi_station_connect();
|
||
|
break;
|
||
|
case WPS_CB_ST_FAILED:
|
||
|
case WPS_CB_ST_TIMEOUT:
|
||
|
wifi_wps_start();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LOCAL void ICACHE_FLASH_ATTR
|
||
|
user_wps_key_short_press(void)
|
||
|
{
|
||
|
wifi_wps_disable();
|
||
|
wifi_wps_enable(WPS_TYPE_PBC);
|
||
|
wifi_set_wps_cb(user_wps_status_cb);
|
||
|
wifi_wps_start();
|
||
|
}
|
||
|
|
||
|
void ICACHE_FLASH_ATTR
|
||
|
user_rf_pre_init(void)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void ICACHE_FLASH_ATTR
|
||
|
user_init(void)
|
||
|
{
|
||
|
single_key = key_init_single(WPS_KEY_IO_NUM, WPS_KEY_IO_MUX, WPS_KEY_IO_FUNC,
|
||
|
NULL, user_wps_key_short_press);
|
||
|
|
||
|
keys.key_num = WPS_KEY_NUM;
|
||
|
keys.single_key = &single_key;
|
||
|
|
||
|
key_init(&keys);
|
||
|
|
||
|
wifi_set_opmode(STATION_MODE);
|
||
|
}
|