mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-06 07:53:41 +00:00
941c1c9057
Signed-off-by: deadprogram <ron@hybridgroup.com>
32 lines
562 B
Go
32 lines
562 B
Go
package wifinina
|
|
|
|
import (
|
|
"time"
|
|
|
|
"tinygo.org/x/drivers/net"
|
|
)
|
|
|
|
func (d *Device) ConnectToAccessPoint(ssid, pass string, timeout time.Duration) error {
|
|
if len(ssid) == 0 {
|
|
return net.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 net.ErrWiFiConnectTimeout
|
|
}
|
|
|
|
func (d *Device) GetClientIP() (string, error) {
|
|
ip, _, _, err := d.GetIP()
|
|
return ip.String(), err
|
|
}
|