Переходы между состояниями
Оборудование Wi-Fi может находиться в одном из следующих состояний:
- Неинициализировано (wln.enabled = 0 - NO).
- Загружено и простаивает (wln.enabled = 1 - YES и wln.associationstate = 0 - PL_WLN_NOT_ASSOCIATED).
- Загружено и подключено к сети (wln.enabled = 1 - YES и wln.associationstate = 1 - PL_WLN_ASSOCIATED).
- Загружено и работает в собственной сети (wln.enabled = 1 - YES и wln.associationstate = 2 - PL_WLN_OWN_NETWORK).
- Кроме того, WA2000 может находиться в пятом состоянии: загружен и выполняет Monitor/Loader.
Возможные переходы между состояниями показаны на диаграмме:

Из неинициализированного состояния в загруженное можно перейти только через успешную загрузку. Этот процесс описан в разделе Запуск интерфейса Wi-Fi. Ключевой метод здесь - wln.boot.
Чтобы остановить оборудование, выполните wln.disable или переведите модуль Wi-Fi в состояние сброса. Когда оборудование Wi-Fi уходит из сети (из-за аппаратного сброса, вызова wln.disable, отключения или неисправности оборудования), генерируется событие on_wln_event(0 - PL_WLN_EVENT_DISABLED).
Переход между состояниями простоя и подключения происходит в результате успешной ассоциации. Подробности - в разделе Подключение к сети. Ключевой метод здесь - wln.associate.
Метод wln.disassociate позволяет принудительно разорвать ассоциацию. Объект wln. также сам обнаруживает потерю ассоциации (то есть когда соответствующая точка доступа «исчезает» или отключает ваше устройство). В обоих случаях генерируется событие on_wln_event(1 - PL_WLN_EVENT_DISASSOCIATED).
Интерфейс Wi-Fi может также создать собственную сеть; для этого служит метод wln.networkstart. В разделе Завершение работы собственной сети объясняется, как её остановить (коротко: используйте wln.networkstop). Обратите внимание: одновременно быть подключённым к сети и держать собственную сеть нельзя - эти состояния взаимоисключающие.
Пятое состояние возможно только на WA2000: он может загрузиться в Monitor/Loader. Для этого вызовите wln.getmoduletype, пока оборудование находится в неинициализированном состоянии. Вызов этого же метода после выполнения wln.boot не переведёт WA2000 в Monitor/Loader. Загружать WA2000 в Monitor/Loader нужно только при обновлении прошивки.