Определение типа модуля Wi-Fi

Объект wln. поддерживает два аппаратных модуля - GA1000 и WA2000, - поэтому приложению нужно знать, с каким модулем оно работает. GA1000 и WA2000 близкородственны, но между ними есть ряд различий (описаны в разделе Краткий справочник: WA2000 и GA1000). Проверить тип модуля позволяет метод wln.getmoduletype.

Внутри объекту wln. достаточно определить тип модуля один раз. Определение занимает около секунды и выполняется при вызове wln.getmoduletype или wln.boot - в зависимости от того, что произойдёт раньше после аппаратного сброса модуля Wi-Fi. Рассмотрим пример:

sub on_sys_init
	...'Configure GPIO lines, reset the Wi-Fi add-on module
	dim module_type as pl_wln_module_types=wln.getmoduletype 'Type determination will happen here. This will take around 1 sec.
	wln.boot(...) 'Executing this method will not involve another test for the module type
end sub

Наконец, если первым выполнен wln.boot, тип модуля определяется прямо в нём:

sub on_sys_init
	...'Confifure GPIO lines, reset the Wi-Fi add-on module
	wln.boot(...) 'Executing this method will also trigger a test for the module type
	dim module_type as pl_wln_module_types=wln.getmoduletype 'Since the module type has already been determined, this will execute very fast
end sub

На практике приложение всегда вызывает wln.getmoduletype первым, потому что тип модуля нужно знать до загрузки оборудования.

Как объясняется в разделе Переходы между состояниями, у wln.getmoduletype есть и побочная задача: с его помощью можно загрузить WA2000 в Monitor/Loader, что необходимо для обновления прошивки.

Исходный материал Tibbo обновлён 16 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке