Обновлённые объекты платформы

Ряд традиционных объектов платформы изменился в WS1102. Ниже кратко описаны изменения и дополнения.

Объект 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).

Важно помнить, что все файлы, хранящиеся в WS1102, должны быть выровнены по границе 4KB. Это значит, что при использовании таких методов, как fd.copyfirmware, при добавлении файлов нужно рассчитывать начало следующего блока в 4KB. Например, если APP0 занимает 126KB, APP1 должно начинаться с блока 128KB.

Объект 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.

В WS1102 у объекта sys. появились два новых метода, три новых свойства и два новых обработчика событий.

Метод sys.reboottoapp однократно перезагружает систему в указанный скомпилированный двоичный файл приложения Tibbo BASIC/C.

Метод sys.sleep "пробуждает" устройство из состояния пониженного энергопотребления в заданные дату и время, которые передаются тремя параметрами: числом дней, минут и секунд, прошедших с 1-JAN-2000 (см. объект rtc.). При неправильной настройке устройство может не проснуться в нужное время. Учтите, что выход из состояния пониженного энергопотребления не "возобновляет" работу, а выполняет полный сброс системы.

Свойство sys.debugmode определяет, какой интерфейс устройство использует для отладки - последовательный или беспроводной. Оно принимает один параметр - перечисление pl_sys_debug_mode. Если установить для свойства значение PL_SYS_DBG_NET, не включив wln.autoconnect, отладка станет невозможной. В этом случае, скорее всего, потребуется сбросить настройки или включить wln.autoconnect через консоль BLE загрузчика Monitor/Loader (M/L) или через приложение-компаньон.

Свойство sys.defaultapp задаёт двоичный файл приложения, который устройство загружает по умолчанию при включении.

Свойство sys.timercountmse, доступное только для чтения, возвращает время (в миллисекундах), прошедшее с момента включения устройства.

Благодаря новой, улучшенной реализации DHCP в WS1102 (см. ниже), обработчики событий on_sys_dhcp_ok и on_sys_dhcp_failure заменяют различные функции обратного вызова, которые использовались в библиотеке DHCP. Новая реализация DHCP - предпочтительный способ автоматического получения IP-адреса в WS1102, но библиотека DHCP остаётся совместимой с платформой.

Объект wln.

WS1102 - первый сервер устройств Tibbo со встроенными беспроводными возможностями, поэтому объект wln. закономерно претерпел существенные изменения. Функции многих свойств и методов остались прежними, но их применение теперь зависит от ситуации.

В WS1102 у объекта wln. пять новых свойств. Самое важное из них - wln.autoconnect, которое значительно упрощает настройку, управление и реализацию подключения устройств по Wi-Fi. Это свойство считывается при загрузке; если оно включено, модуль автоматически пытается подключиться к заранее настроенной сети Wi-Fi, поддерживает соединение и восстанавливает его при разрыве.

Внимание

Для отладки по беспроводной сети необходимо, чтобы wln.autoconnect было включено.

Свойства wln.autoconnectssid и wln.autoconnectpassword задают SSID и пароль нужной сети Wi-Fi соответственно. Чтобы изменения любого из этих свойств вступили в силу, устройство необходимо перезагрузить.

В прежних устройствах Tibbo клиент DHCP реализовывался через библиотеку DHCP. WS1102 позволяет передать операции DHCP внутреннему процессу TiOS, что существенно ускоряет получение IP-адреса. Свойство wln.dhcp включает этот "внутренний DHCP", заменяющий функции библиотеки.

Когда wln.dhcp включено, модуль запускает процесс DHCP до старта вашего приложения, помогая устройству получить действительный IP-адрес и сэкономить ещё несколько миллисекунд ожидания. Благодаря этому ваше приложение будет готово к сетевым задачам ещё раньше!

Если wln.dhcp ещё не включено, оно включится автоматически при вызове wln.autodhcp. Этот метод по-прежнему требует обработки обратных вызовов DHCP и в основном обратно совместим с библиотекой, но точнее определяет параметры. Если wln.autoconnect отключено, wln.dhcp необходимо вызвать до wln.boot, чтобы включить функциональность DHCP в традиционном режиме работы Wi-Fi.

Можно по-прежнему использовать с WS1102 и библиотеку DHCP, но тогда wln.dhcp и wln.autodhcp должны быть отключены.

В WS1102 изменились два метода и два свойства объекта 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.autoconnect

Эти свойства и методы объекта wln. недоступны или не нужны, если включено wln.autoconnect: при попытке вызвать их возвращается REJECTED. Если wln.autoconnect отключено, эти свойства и методы работают точно так же, как в прежних реализациях.

Недоступные свойства и методы

Эти свойства и методы объекта wln. недоступны в WS1102:

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