blob: 29eec9be962542cf30dfd6f18f275421f2d561aa [file] [log] [blame]
#!/usr/bin/env python3.4
#
# Copyright 2018 Google, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from acts import asserts
from acts import signals
from acts import utils
from acts.controllers import attenuator
from acts_contrib.test_utils.wifi import wifi_constants
from acts_contrib.test_utils.tel import tel_defines
from acts_contrib.test_utils.wifi import wifi_test_utils as wutils
ARDUINO = "/root/arduino/arduino-1.8.5/arduino "
CONNECT_WIFI = "/arduino/connect_wifi/connect_wifi.ino"
DISCONNECT_WIFI = "/arduino/disconnect_wifi/disconnect_wifi.ino"
SSID = wutils.WifiEnums.SSID_KEY
PWD = wutils.WifiEnums.PWD_KEY
def connect_wifi(wd, network=None):
"""Connect wifi on arduino wifi dongle
Args:
wd - wifi dongle object
network - wifi network to connect to
"""
wd.log.info("Flashing connect_wifi.ino onto dongle")
cmd = "locate %s" % CONNECT_WIFI
file_path = utils.exe_cmd(cmd).decode("utf-8", "ignore").split()[-1]
write_status = wd.write(ARDUINO, file_path, network)
asserts.assert_true(write_status, "Failed to flash connect wifi")
wd.log.info("Flashing complete")
wifi_status = wd.wifi_status()
asserts.assert_true(wifi_status, "Failed to connect to %s" % network)
ping_status = wd.ping_status()
asserts.assert_true(ping_status, "Failed to connect to internet")
def disconnect_wifi(wd):
"""Disconnect wifi on arduino wifi dongle
Args:
wd - wifi dongle object
Returns:
True - if wifi is disconnected
False - if not
"""
wd.log.info("Flashing disconnect_wifi.ino onto dongle")
cmd = "locate %s" % DISCONNECT_WIFI
file_path = utils.exe_cmd(cmd).decode("utf-8", "ignore").rstrip()
write_status = wd.write(ARDUINO, file_path)
asserts.assert_true(write_status, "Failed to flash disconnect wifi")
wd.log.info("Flashing complete")
wifi_status = wd.wifi_status(False)
asserts.assert_true(not wifi_status, "Failed to disconnect wifi")