/***************************************************************************** * * File Name : wm_mcast_demo.c * * Description: mcast demo function * * Copyright (c) 2014 Winner Micro Electronic Design Co., Ltd. * All rights reserved. * * Author : wanghaifang * * Date : 2014-6-2 *****************************************************************************/ #include #include "wm_include.h" #if DEMO_WPS static void demo_wps_netif_stataus_callbak(u8 status) { switch (status) { case NETIF_WIFI_JOIN_SUCCESS: printf("WiFi JOIN SUCCESS\r\n"); break; case NETIF_WIFI_JOIN_FAILED: printf("WiFi JOIN FAILED:%d\r\n", tls_wifi_get_errno()); break; case NETIF_WIFI_DISCONNECTED: printf("WiFi DISCONNECT\r\n"); break; case NETIF_IP_NET_UP: { struct tls_ethif *ethif; ethif = tls_netif_get_ethif(); printf("NET UP OK,Local IP:%d.%d.%d.%d\r\n", ip4_addr1(ip_2_ip4(ðif->ip_addr)), ip4_addr2(ip_2_ip4(ðif->ip_addr)), ip4_addr3(ip_2_ip4(ðif->ip_addr)), ip4_addr4(ip_2_ip4(ðif->ip_addr))); } break; default: printf("Not Expected Value:%d\r\n", status); break; } } int demo_wps_pbc(char *buf) { struct tls_param_ip ip_param; int ret = WM_FAILED; tls_param_get(TLS_PARAM_ID_IP, &ip_param, FALSE); ip_param.dhcp_enable = TRUE; tls_param_set(TLS_PARAM_ID_IP, &ip_param, FALSE); #if TLS_CONFIG_WPS tls_wifi_set_oneshot_flag(0); tls_netif_add_status_event(demo_wps_netif_stataus_callbak);/*register net status event*/ ret = tls_wps_start_pbc(); #endif if(ret == WM_SUCCESS) printf("Start WPS pbc mode ... \n"); return WM_SUCCESS; } int demo_wps_pin(char *buf) { int ret = WM_FAILED; struct tls_param_ip ip_param; tls_param_get(TLS_PARAM_ID_IP, &ip_param, FALSE); ip_param.dhcp_enable = TRUE; tls_param_set(TLS_PARAM_ID_IP, &ip_param, FALSE); #if TLS_CONFIG_WPS tls_wifi_set_oneshot_flag(0); tls_netif_add_status_event(demo_wps_netif_stataus_callbak);/*register net status event*/ ret = tls_wps_start_pin(); #endif if(ret == WM_SUCCESS) printf("Start WPS pin mode ... \n"); return WM_SUCCESS; } int demo_wps_get_pin(char *buf) { #if TLS_CONFIG_WPS u8 pin[WPS_PIN_LEN + 1]; if(!tls_wps_get_pin(pin)) printf("Pin code: %s\n", pin); if(!tls_wps_set_pin(pin, WPS_PIN_LEN)) printf("Pin set correctly: %s\n", pin); #endif return WM_SUCCESS; } #endif