Commit f5fac7a1 authored by dnc40085's avatar dnc40085 Committed by Marcel Stör
Browse files

Updated documentation and example for wps.start() (#1933)

parent 572e4235
...@@ -34,6 +34,9 @@ none ...@@ -34,6 +34,9 @@ none
## wps.start() ## wps.start()
Start WiFi WPS function. WPS must be enabled prior calling this function. Start WiFi WPS function. WPS must be enabled prior calling this function.
!!! note
This function only configures the station with the AP's info, it does not connect to AP automatically.
#### Syntax #### Syntax
`wps.start([function(status)])` `wps.start([function(status)])`
...@@ -45,21 +48,95 @@ Start WiFi WPS function. WPS must be enabled prior calling this function. ...@@ -45,21 +48,95 @@ Start WiFi WPS function. WPS must be enabled prior calling this function.
#### Example #### Example
```lua ```lua
wps.enable() --Basic example
wps.start(function(status) wifi.setmode(wifi.STATION)
wps.enable()
wps.start(function(status)
if status == wps.SUCCESS then
wps.disable()
print("WPS: Success, connecting to AP...")
wifi.sta.connect()
return
elseif status == wps.FAILED then
print("WPS: Failed")
elseif status == wps.TIMEOUT then
print("WPS: Timeout")
elseif status == wps.WEP then
print("WPS: WEP not supported")
elseif status == wps.SCAN_ERR then
print("WPS: AP not found")
else
print(status)
end
wps.disable()
end)
--Full example
do
-- Register wifi station event callbacks
wifi.eventmon.register(wifi.eventmon.STA_CONNECTED, function(T)
print("\n\tSTA - CONNECTED".."\n\tSSID: "..T.SSID.."\n\tBSSID: "..
T.BSSID.."\n\tChannel: "..T.channel)
end)
wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)
print("\n\tSTA - GOT IP".."\n\tStation IP: "..T.IP.."\n\tSubnet mask: "..
T.netmask.."\n\tGateway IP: "..T.gateway)
end)
wifi.setmode(wifi.STATION)
wps_retry_func = function()
if wps_retry_count == nil then wps_retry_count = 0 end
if wps_retry_count < 3 then
wps.disable()
wps.enable()
wps_retry_count = wps_retry_count + 1
wps_retry_timer = tmr.create()
wps_retry_timer:alarm(3000, tmr.ALARM_SINGLE, function() wps.start(wps_cb) end)
print("retry #"..wps_retry_count)
else
wps_retry_count = nil
wps_retry_timer = nil
wps_retry_func = nil
wps_cb = nil
end
end
wps_cb = function(status)
if status == wps.SUCCESS then if status == wps.SUCCESS then
print("SUCCESS!") wps.disable()
print("WPS: success, connecting to AP...")
wifi.sta.connect()
wps_retry_count = nil
wps_retry_timer = nil
wps_retry_func = nil
wps_cb = nil
return
elseif status == wps.FAILED then elseif status == wps.FAILED then
print("Failed") print("WPS: Failed")
wps_retry_func()
return
elseif status == wps.TIMEOUT then elseif status == wps.TIMEOUT then
print("Timeout") print("WPS: Timeout")
wps_retry_func()
return
elseif status == wps.WEP then elseif status == wps.WEP then
print("WEP not supported") print("WPS: WEP not supported")
elseif status == wps.SCAN_ERR then elseif status == wps.SCAN_ERR then
print("WPS AP not found") print("WPS: AP not found")
wps_retry_func()
return
else else
print(status) print(status)
end end
wps.disable() wps.disable()
end) wps_retry_count = nil
wps_retry_timer = nil
wps_retry_func = nil
wps_cb = nil
end
wps.enable()
wps.start(wps_cb)
end
``` ```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment