mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-16 21:03:23 +00:00
wifi/espat, rtl8720dn, wifinina: move towards standard common interface for wifi adaptors
Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
package espat
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"tinygo.org/x/drivers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (d *Device) ConnectToAccessPoint(ssid, pass string, timeout time.Duration) error {
|
||||||
|
if len(ssid) == 0 {
|
||||||
|
return drivers.ErrWiFiMissingSSID
|
||||||
|
}
|
||||||
|
|
||||||
|
return d.ConnectToAP(ssid, pass, 10)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Device) Disconnect() error {
|
||||||
|
return d.DisconnectFromAP()
|
||||||
|
}
|
||||||
@@ -114,7 +114,9 @@ func connectToAP() {
|
|||||||
println("Connecting to wifi network '" + ssid + "'")
|
println("Connecting to wifi network '" + ssid + "'")
|
||||||
|
|
||||||
adaptor.SetWifiMode(espat.WifiModeClient)
|
adaptor.SetWifiMode(espat.WifiModeClient)
|
||||||
adaptor.ConnectToAP(ssid, pass, 10)
|
if err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second); err != nil {
|
||||||
|
failMessage(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
ip, err := adaptor.GetClientIP()
|
ip, err := adaptor.GetClientIP()
|
||||||
|
|||||||
@@ -100,7 +100,9 @@ func connectToAP() {
|
|||||||
println("Connecting to wifi network '" + ssid + "'")
|
println("Connecting to wifi network '" + ssid + "'")
|
||||||
|
|
||||||
adaptor.SetWifiMode(espat.WifiModeClient)
|
adaptor.SetWifiMode(espat.WifiModeClient)
|
||||||
adaptor.ConnectToAP(ssid, pass, 10)
|
if err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second); err != nil {
|
||||||
|
failMessage(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
ip, err := adaptor.GetClientIP()
|
ip, err := adaptor.GetClientIP()
|
||||||
|
|||||||
@@ -89,7 +89,9 @@ func connectToAP() {
|
|||||||
println("Connecting to wifi network '" + ssid + "'")
|
println("Connecting to wifi network '" + ssid + "'")
|
||||||
|
|
||||||
adaptor.SetWifiMode(espat.WifiModeClient)
|
adaptor.SetWifiMode(espat.WifiModeClient)
|
||||||
adaptor.ConnectToAP(ssid, pass, 10)
|
if err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second); err != nil {
|
||||||
|
failMessage(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
ip, err := adaptor.GetClientIP()
|
ip, err := adaptor.GetClientIP()
|
||||||
|
|||||||
@@ -109,7 +109,9 @@ func connectToAP() {
|
|||||||
println("Connecting to wifi network '" + ssid + "'")
|
println("Connecting to wifi network '" + ssid + "'")
|
||||||
|
|
||||||
adaptor.SetWifiMode(espat.WifiModeClient)
|
adaptor.SetWifiMode(espat.WifiModeClient)
|
||||||
adaptor.ConnectToAP(ssid, pass, 10)
|
if err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second); err != nil {
|
||||||
|
failMessage(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
ip, err := adaptor.GetClientIP()
|
ip, err := adaptor.GetClientIP()
|
||||||
|
|||||||
@@ -130,7 +130,9 @@ func connectToAP() {
|
|||||||
println("Connecting to wifi network '" + ssid + "'")
|
println("Connecting to wifi network '" + ssid + "'")
|
||||||
|
|
||||||
adaptor.SetWifiMode(espat.WifiModeClient)
|
adaptor.SetWifiMode(espat.WifiModeClient)
|
||||||
adaptor.ConnectToAP(ssid, pass, 10)
|
if err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second); err != nil {
|
||||||
|
failMessage(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
ip, err := adaptor.GetClientIP()
|
ip, err := adaptor.GetClientIP()
|
||||||
|
|||||||
@@ -92,7 +92,9 @@ func connectToAP() {
|
|||||||
println("Connecting to wifi network '" + ssid + "'")
|
println("Connecting to wifi network '" + ssid + "'")
|
||||||
|
|
||||||
adaptor.SetWifiMode(espat.WifiModeClient)
|
adaptor.SetWifiMode(espat.WifiModeClient)
|
||||||
adaptor.ConnectToAP(ssid, pass, 10)
|
if err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second); err != nil {
|
||||||
|
failMessage(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
ip, err := adaptor.GetClientIP()
|
ip, err := adaptor.GetClientIP()
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ func run() error {
|
|||||||
}
|
}
|
||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ func run() error {
|
|||||||
}
|
}
|
||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ func run() error {
|
|||||||
}
|
}
|
||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ func run() error {
|
|||||||
}
|
}
|
||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ func run() error {
|
|||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
http.SetBuf(buf[:])
|
http.SetBuf(buf[:])
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ func run() error {
|
|||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
http.SetBuf(buf[:])
|
http.SetBuf(buf[:])
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ func run() error {
|
|||||||
http.SetBuf(buf[:])
|
http.SetBuf(buf[:])
|
||||||
|
|
||||||
fmt.Fprintf(terminal, "ConnectToAP()\r\n")
|
fmt.Fprintf(terminal, "ConnectToAP()\r\n")
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ func run() error {
|
|||||||
net.UseDriver(rtl)
|
net.UseDriver(rtl)
|
||||||
http.SetBuf(buf[:])
|
http.SetBuf(buf[:])
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ func run() error {
|
|||||||
}
|
}
|
||||||
http.UseDriver(rtl)
|
http.UseDriver(rtl)
|
||||||
|
|
||||||
err = rtl.ConnectToAP(ssid, password)
|
err = rtl.ConnectToAccessPoint(ssid, password, 10*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,19 +128,15 @@ func waitSerial() {
|
|||||||
|
|
||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
if len(ssid) == 0 || len(pass) == 0 {
|
|
||||||
for {
|
|
||||||
println("Connection failed: Either ssid or password not set")
|
|
||||||
time.Sleep(10 * time.Second)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
println("Connecting to " + ssid)
|
println("Connecting to " + ssid)
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
if err != nil { // error connecting to AP
|
||||||
println("Connection status: " + st.String())
|
for {
|
||||||
time.Sleep(1 * time.Second)
|
println(err)
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
time.Sleep(1 * time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,22 +132,18 @@ func waitSerial() {
|
|||||||
|
|
||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
if len(ssid) == 0 || len(pass) == 0 {
|
time.Sleep(2 * time.Second)
|
||||||
|
println("Connecting to " + ssid)
|
||||||
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
|
if err != nil { // error connecting to AP
|
||||||
for {
|
for {
|
||||||
println("Connection failed: Either ssid or password not set")
|
println(err)
|
||||||
time.Sleep(10 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
message("Connecting to " + ssid)
|
println("Connected.")
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
|
||||||
message("Connection status: " + st.String())
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
|
||||||
}
|
|
||||||
message("Connected.")
|
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
message(err.Error())
|
message(err.Error())
|
||||||
|
|||||||
@@ -104,14 +104,16 @@ func main() {
|
|||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
println("Connecting to " + ssid)
|
println("Connecting to " + ssid)
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
if err != nil { // error connecting to AP
|
||||||
println("Connection status: " + st.String())
|
for {
|
||||||
time.Sleep(1 * time.Second)
|
println(err)
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
time.Sleep(1 * time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
println(err.Error())
|
println(err.Error())
|
||||||
|
|||||||
@@ -116,13 +116,16 @@ func publishing() {
|
|||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
println("Connecting to " + ssid)
|
println("Connecting to " + ssid)
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
if err != nil { // error connecting to AP
|
||||||
println("Connection status: " + st.String())
|
for {
|
||||||
time.Sleep(1 * time.Second)
|
println(err)
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
time.Sleep(1 * time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
println("Connected.")
|
println("Connected.")
|
||||||
|
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
|
|||||||
@@ -151,21 +151,18 @@ func clearBuffer() {
|
|||||||
|
|
||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
if len(ssid) == 0 || len(pass) == 0 {
|
time.Sleep(2 * time.Second)
|
||||||
|
println("Connecting to " + ssid)
|
||||||
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
|
if err != nil { // error connecting to AP
|
||||||
for {
|
for {
|
||||||
println("Connection failed: Either ssid or password not set")
|
println(err)
|
||||||
time.Sleep(10 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
message("Connecting to " + ssid)
|
println("Connected.")
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
|
||||||
message("Connection status: " + st.String())
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
|
||||||
}
|
|
||||||
message("Connected.")
|
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
|
|||||||
@@ -113,14 +113,17 @@ func sendBatch() {
|
|||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
message("Connecting to " + ssid)
|
println("Connecting to " + ssid)
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
if err != nil { // error connecting to AP
|
||||||
message("Connection status: " + st.String())
|
for {
|
||||||
time.Sleep(1 * time.Second)
|
println(err)
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
time.Sleep(1 * time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
message("Connected.")
|
|
||||||
|
println("Connected.")
|
||||||
|
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
|
|||||||
@@ -122,21 +122,18 @@ func makeHTTPSRequest() {
|
|||||||
|
|
||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
if len(ssid) == 0 || len(pass) == 0 {
|
time.Sleep(2 * time.Second)
|
||||||
|
println("Connecting to " + ssid)
|
||||||
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
|
if err != nil { // error connecting to AP
|
||||||
for {
|
for {
|
||||||
println("Connection failed: Either ssid or password not set")
|
println(err)
|
||||||
time.Sleep(10 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
message("Connecting to " + ssid)
|
println("Connected.")
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
|
||||||
message("Connection status: " + st.String())
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
|
||||||
}
|
|
||||||
message("Connected.")
|
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
|
|||||||
@@ -76,15 +76,17 @@ func main() {
|
|||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
message("Connecting to " + ssid)
|
println("Connecting to " + ssid)
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
if err != nil { // error connecting to AP
|
||||||
message("Connection status: " + st.String())
|
for {
|
||||||
time.Sleep(1 * time.Second)
|
println(err)
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
time.Sleep(1 * time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
message("Connected.")
|
|
||||||
time.Sleep(2 * time.Second)
|
println("Connected.")
|
||||||
|
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
message(err.Error())
|
message(err.Error())
|
||||||
|
|||||||
@@ -124,22 +124,18 @@ func makeHTTPRequest() {
|
|||||||
|
|
||||||
// connect to access point
|
// connect to access point
|
||||||
func connectToAP() {
|
func connectToAP() {
|
||||||
if len(ssid) == 0 || len(pass) == 0 {
|
time.Sleep(2 * time.Second)
|
||||||
|
println("Connecting to " + ssid)
|
||||||
|
err := adaptor.ConnectToAccessPoint(ssid, pass, 10*time.Second)
|
||||||
|
if err != nil { // error connecting to AP
|
||||||
for {
|
for {
|
||||||
println("Connection failed: Either ssid or password not set")
|
println(err)
|
||||||
time.Sleep(10 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
message("Connecting to " + ssid)
|
println("Connected.")
|
||||||
adaptor.SetPassphrase(ssid, pass)
|
|
||||||
for st, _ := adaptor.GetConnectionStatus(); st != wifinina.StatusConnected; {
|
|
||||||
message("Connection status: " + st.String())
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
st, _ = adaptor.GetConnectionStatus()
|
|
||||||
}
|
|
||||||
message("Connected.")
|
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
ip, _, _, err := adaptor.GetIP()
|
ip, _, _, err := adaptor.GetIP()
|
||||||
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
for ; err != nil; ip, _, _, err = adaptor.GetIP() {
|
||||||
message(err.Error())
|
message(err.Error())
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package rtl8720dn
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"tinygo.org/x/drivers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (r *RTL8720DN) ConnectToAccessPoint(ssid, pass string, timeout time.Duration) error {
|
||||||
|
if len(ssid) == 0 {
|
||||||
|
return drivers.ErrWiFiMissingSSID
|
||||||
|
}
|
||||||
|
|
||||||
|
return r.ConnectToAP(ssid, pass)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *RTL8720DN) Disconnect() error {
|
||||||
|
_, err := r.Rpc_wifi_disconnect()
|
||||||
|
return err
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package drivers
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
ErrWiFiMissingSSID = errors.New("missing SSID")
|
||||||
|
ErrWiFiConnectTimeout = errors.New("WiFi connect timeout")
|
||||||
|
)
|
||||||
|
|
||||||
|
type WiFiDriver interface {
|
||||||
|
ConnectToAccessPoint(ssid, pass string, timeout time.Duration) error
|
||||||
|
Disconnect() error
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package wifinina
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"tinygo.org/x/drivers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (d *Device) ConnectToAccessPoint(ssid, pass string, timeout time.Duration) error {
|
||||||
|
if len(ssid) == 0 {
|
||||||
|
return drivers.ErrWiFiMissingSSID
|
||||||
|
}
|
||||||
|
|
||||||
|
start := time.Now()
|
||||||
|
d.SetPassphrase(ssid, pass)
|
||||||
|
|
||||||
|
for time.Since(start) < timeout {
|
||||||
|
st, _ := d.GetConnectionStatus()
|
||||||
|
if st == StatusConnected {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
|
}
|
||||||
|
|
||||||
|
return drivers.ErrWiFiConnectTimeout
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user