Обновлённые объекты платформы
Для WM2000 изменилось несколько традиционных объектов платформы, а также появился совершенно новый объект. Изменения и дополнения перечислены ниже.
Объект beep.
- beep.frequency - это свойство, заменившее beep.divider, задаёт используемую частоту от 30Hz до 20KHz
- beep.play - функциональность осталась прежней, но теперь используемая частота задаётся свойством beep.frequency
Объект bt.
Все свойства и методы объекта bt. работают так же, как в прежних реализациях, кроме bt.mac, которое теперь доступно только для чтения.
Кроме того, если включено wln.autoconnect, вызывать wln.boot для инициализации оборудования Bluetooth больше не нужно.
Единственное добавление - метод bt.disconnect, с помощью которого можно принудительно разорвать соединение Bluetooth.
Объект fd.
Все свойства и методы объекта fd. работают так же, как в прежних реализациях. Однако размер необработанного сектора теперь составляет 528 байт вместо 264 байт, а общий объём хранилища вырос до 4MB (4,096KB).
Важно учитывать, что все файлы, хранящиеся в WM2000, должны быть выровнены по 4KB. Это значит, что при использовании методов вроде fd.copyfirmware при добавлении файлов нужно рассчитывать следующий блок в 4KB. Например, если APP0 занимает 126KB, APP1 должно начинаться с блока 128KB.
Объект pwm. (НОВЫЙ)
WM2000 - первый встраиваемый модуль Tibbo со встроенными возможностями широтно-импульсной модуляции (PWM).
Объект pwm. позволяет отобразить функциональность PWM на конкретные линии GPIO и включить её (pwm.num и pwm.enabled), задать коэффициент заполнения и частоту модуляции для каждого канала (pwm.dutycycle и pwm.frequency) и обновить их состояние (pwm.update и pwm.updateall).
Объект ser.
Все свойства и методы объекта ser. работают так же, как в прежних реализациях. Однако теперь поддерживаются следующие скорости (бод):
- 110
- 300
- 1,200
- 2,400
- 4,800
- 9,600
- 19,200
- 38,400
- 57,600
- 115,200
- 230,400
- 460,800
- 921,600
Если поддерживаемая скорость не указана, используется скорость по умолчанию - 9,600.
Объект sys.
В WM2000 у объекта sys. появились два новых метода, три новых свойства и два новых обработчика событий.
Метод sys.reboottoapp - однократная перезагрузка системы в указанный скомпилированный двоичный файл приложения Tibbo BASIC/C.
Метод sys.sleep «будит» устройство из состояния пониженного энергопотребления в заданные дату и время, которые передаются тремя параметрами: числом дней, минут и секунд, прошедших с 1-JAN-2000 (см. объект rtc.). При неправильной настройке устройство может не проснуться в нужное время. Обратите внимание: выход из состояния пониженного энергопотребления не «возобновляет» работу, а представляет собой полный сброс системы.
Свойство sys.debugmode определяет, какой интерфейс устройство использует для отладки - последовательный или беспроводной. Оно принимает один параметр - перечисление pl_sys_debug_mode. Учтите, что если установить это свойство в PL_SYS_DBG_NET, не включив wln.autoconnect, отладка будет невозможна. В таком случае, скорее всего, придётся сбросить настройки или воспользоваться консолью BLE в Monitor/Loader (M/L) либо приложением Companion App, чтобы включить wln.autoconnect.
Свойство sys.defaultapp задаёт двоичный файл приложения по умолчанию, который устройство должно загружать при старте.
Свойство только для чтения sys.timercountmse возвращает время (в миллисекундах), прошедшее с момента включения устройства.
Благодаря новой, улучшенной реализации DHCP в WM2000 (см. ниже) обработчики событий on_sys_dhcp_ok и on_sys_dhcp_failure заменяют различные обратные вызовы, которые использовала библиотека DHCP. Хотя новая реализация DHCP - предпочтительный способ автоматического получения IP-адреса в WM2000, библиотека DHCP остаётся совместимой с этой платформой.
Объект wln.
Поскольку WM2000 - первый встраиваемый модуль Tibbo со встроенными беспроводными возможностями, объект wln. закономерно претерпел значительные изменения. Назначение многих свойств и методов осталось прежним, но их использование теперь зависит от ситуации.
В WM2000 у объекта wln. появилось пять новых свойств. Самое важное из них - wln.autoconnect, которое заметно упрощает настройку, управление и реализацию подключения устройств по Wi-Fi. Это свойство считывается при загрузке, и, если оно включено, модуль автоматически пытается подключиться к заранее настроенной сети Wi-Fi, поддерживает соединение и восстанавливает его после обрыва.
Для беспроводной отладки должно быть включено wln.autoconnect.
Свойства wln.autoconnectssid и wln.autoconnectpassword задают SSID и пароль нужной сети Wi-Fi соответственно. После изменения любого из этих свойств устройство необходимо перезагрузить, чтобы изменения вступили в силу.
До WM2000 устройства Tibbo реализовывали клиент DHCP через библиотеку DHCP. WM2000 позволяет передать операции DHCP внутреннему процессу TiOS, что заметно ускоряет получение IP-адреса. Свойство wln.dhcp включает этот «внутренний DHCP», заменяя функции библиотеки.
Когда wln.dhcp включено, модуль запускает процесс DHCP до старта вашего приложения, помогая устройству получить действительный IP-адрес и сокращая ожидание на лишние миллисекунды. Это значит, что ваше приложение будет готово выполнять сетевые задачи ещё быстрее!
Если wln.dhcp ещё не включено, оно включится автоматически при вызове wln.autodhcp; для него по-прежнему требуется обработка обратных вызовов DHCP, оно в основном обратно совместимо с библиотекой, но точнее задаёт параметры. Когда wln.autoconnect отключено, wln.dhcp нужно вызывать до wln.boot, чтобы включить функциональность DHCP в традиционном режиме работы Wi-Fi.
Кроме того, библиотеку DHCP по-прежнему можно использовать с WM2000, но wln.dhcp и wln.autodhcp при этом должны быть отключены.
В WM2000 по сравнению с прежними реализациями изменились два метода и два свойства объекта wln.
Методы wln.networkstart и wln.networkstop недоступны, если включено wln.autoconnect. Даже когда wln.autoconnect отключено, wln.networkstart, которое также включает DHCP, доступно только после вызова wln.boot.
Свойство wln.domain теперь является настройкой, и чтобы изменения вступили в силу, требуется перезагрузка. Список значений расширен и охватывает большинство крупных регионов и стран.
Свойство wln.mac теперь доступно только для чтения: оно лишь возвращает MAC-адрес устройства. Изменить MAC-адрес теперь можно только в Device Explorer, как для устройства Ethernet, а значит, необходима отладка по Wi-Fi.
Неизменившиеся свойства и методы
Эти свойства и методы объекта wln. работают в основном так же, как в прежних реализациях:
- wln.associationstate
- wln.enabled
- wln.gatewayip
- wln.getmoduletype - теперь сразу возвращает тип модуля
- wln.ip
- wln.netmask
- wln.rssi
- wln.settxpower
Свойства и методы, ставшие недоступными или ненужными из-за wln.autoconnect
Эти свойства и методы объекта wln. недоступны или не нужны, если включено wln.autoconnect: попытка вызвать их вернёт REJECTED. Если wln.autoconnect отключено, эти свойства и методы работают точно так же, как в прежних реализациях.
- wln.activescan
- wln.associate
- wln.band
- wln.boot
- wln.disable
- wln.disassociate
- wln.scan
- wln.scanfilter
- wln.scanresultbssid
- wln.scanresultbssmode
- wln.scanresultchannel
- wln.scanresultrssi
- wln.scanresultssid
- wln.setwep
- wln.setwpa
- wln.task
Недоступные свойства и методы
Эти свойства и методы объекта wln. в WM2000 недоступны: