Wifi module update to new smartconfig API.

Needs testing.
This commit is contained in:
Johny Mattsson 2015-10-01 15:26:20 +10:00
parent 38cc84d2fc
commit 91ee5c088c
1 changed files with 19 additions and 13 deletions

View File

@ -28,12 +28,18 @@ static uint8 prev_wifi_status=0;
#else
static lua_State* smart_L = NULL;
#endif
static void wifi_smart_succeed_cb(void *arg){
static void wifi_smart_succeed_cb(sc_status status, void *pdata){
NODE_DBG("wifi_smart_succeed_cb is called.\n");
if (status == SC_STATUS_LINK_OVER)
{
smartconfig_stop();
return;
}
#if defined( NODE_SMART_OLDSTYLE )
if( !arg )
if (status != SC_STATUS_LINK || !pdata)
return;
if(wifi_smart_succeed == LUA_NOREF)
return;
@ -44,10 +50,10 @@ static void wifi_smart_succeed_cb(void *arg){
#else
if( !arg )
if (status != SC_STATUS_LINK || !pdata)
return;
struct station_config *sta_conf = arg;
struct station_config *sta_conf = pdata;
wifi_station_set_config(sta_conf);
wifi_station_disconnect();
wifi_station_connect();
@ -63,7 +69,6 @@ static void wifi_smart_succeed_cb(void *arg){
luaL_unref(smart_L, LUA_REGISTRYINDEX, wifi_smart_succeed);
wifi_smart_succeed = LUA_NOREF;
}
smartconfig_stop();
#endif // defined( NODE_SMART_OLDSTYLE )
}
@ -195,7 +200,8 @@ static int wifi_start_smart( lua_State* L )
if ( smart_type > 1 )
return luaL_error( L, "wrong arg range" );
smartconfig_start(smart_type, wifi_smart_succeed_cb);
smartconfig_set_type(smart_type);
smartconfig_start(wifi_smart_succeed_cb);
#endif // defined( NODE_SMART_OLDSTYLE )
@ -333,7 +339,7 @@ static int wifi_setmac( lua_State* L, uint8_t mode )
if(len!=17)
return luaL_error( L, "wrong arg type" );
os_str2macaddr(mac, macaddr);
ets_str2macaddr(mac, macaddr);
lua_pushboolean(L,wifi_set_macaddr(mode, (uint8 *)mac));
return 1;
}
@ -591,7 +597,7 @@ static int wifi_station_config( lua_State* L )
if (ml!=17)
return luaL_error( L, "MAC:FF:FF:FF:FF:FF:FF" );
c_memset(sta_conf.bssid, 0, 6);
os_str2macaddr(sta_conf.bssid, macaddr);
ets_str2macaddr(sta_conf.bssid, macaddr);
sta_conf.bssid_set = 1;
}
else
@ -743,7 +749,7 @@ static int wifi_station_listap( lua_State* L )
if(len!=17)
return luaL_error( L, "bssid: FF:FF:FF:FF:FF:FF" );
c_memset(bssid, 0, 6);
os_str2macaddr(bssid, macaddr);
ets_str2macaddr(bssid, macaddr);
scan_cfg.bssid=bssid;
NODE_DBG(MACSTR, MAC2STR(scan_cfg.bssid));
NODE_DBG("\n");
@ -1229,7 +1235,7 @@ static int wifi_ap_dhcp_config( lua_State* L )
if (ip == 0)
return luaL_error( L, "wrong arg type" );
lease.start_ip = ip;
lease.start_ip.addr = ip;
NODE_DBG(IPSTR, IP2STR(&lease.start_ip));
NODE_DBG("\n");
@ -1335,9 +1341,9 @@ const LUA_REG_TYPE wifi_map[] =
{ LSTRKEY( "SOFTAP" ), LNUMVAL( SOFTAP_MODE ) },
{ LSTRKEY( "STATIONAP" ), LNUMVAL( STATIONAP_MODE ) },
{ LSTRKEY( "PHYMODE_B" ), LNUMVAL( PHY_MODE_B ) },
{ LSTRKEY( "PHYMODE_G" ), LNUMVAL( PHY_MODE_G ) },
{ LSTRKEY( "PHYMODE_N" ), LNUMVAL( PHY_MODE_N ) },
{ LSTRKEY( "PHYMODE_B" ), LNUMVAL( PHY_MODE_11B ) },
{ LSTRKEY( "PHYMODE_G" ), LNUMVAL( PHY_MODE_11G ) },
{ LSTRKEY( "PHYMODE_N" ), LNUMVAL( PHY_MODE_11N ) },
{ LSTRKEY( "NONE_SLEEP" ), LNUMVAL( NONE_SLEEP_T ) },
{ LSTRKEY( "LIGHT_SLEEP" ), LNUMVAL( LIGHT_SLEEP_T ) },