##### test start #####
adb_steps.connect_device(serial = serial,
                         port = adb_server_port)()

# turn display on, if turned off
ui_steps.wake_up_device(serial = serial)()

# ensure the device is unlocked
ui_steps.unlock_device(serial = serial, pin=wifi_defaults.wifi['pin'])()

# go to home screen
ui_steps.press_home(serial = serial)()

# get connection info from current DHCP connection
content = wifi_utils.get_connection_content(serial = serial)
connection_info = wifi_utils.get_connection_info(content)
net_mask = connection_info["net_mask"]
gateway= connection_info["Gateway"]
# find a free IP address
static_ip = wifi_generic_steps.find_available_ip(serial = serial,ip_range=static_ip_range)()


# clear all saved networks
wifi_generic_steps.clear_saved_networks(serial = serial)()

# add the Wi-Fi network with static IP
wifi_generic_steps.add_network(serial = serial,
                               ssid = ddwrt_ap_name,
                               security = dut_security,
                               password = ddwrt_ap_pass,
                               ip_settings = "Static",
    timeout=10)()

# turn display on, if turned off
ui_steps.wake_up_device(serial=serial)()

# ensure the device is unlocked
ui_steps.unlock_device(serial=serial, pin=wifi_defaults.wifi['pin'])()

# go to home screen
ui_steps.press_home(serial=serial)()

# make sure there are no saved networks
wifi_generic_steps.clear_saved_networks(serial=serial)()

conf = wifi_utils.get_connection_content(serial=serial)
conf_dict = wifi_utils.get_connection_info(conf)

# get the MAC address and check there is no IP Address
wifi_generic_steps.check_connection_info(serial=serial,
                                         MAC=conf_dict['MAC'],
                                         ip_address="None")()

# add the Wi-Fi network
wifi_generic_steps.add_network(ssid=ddwrt_ap_name,
                               security=dut_security,
                               password=ddwrt_ap_pass,
                               serial=serial)()

# wait until the device connects to a wifi network
wifi_generic_steps.wait_until_connected(serial=serial)()