Настройка проекта АМХ в iRidium GUI Editor

Материал из iRidium Mobile Wiki
Перейти к: навигация, поиск

Основные этапы работы с проектом, настройка графики и лицензирование описаны в статье:

Начать работу с iRidium

Вы сможете подготовить графическую часть проекта (визуализацию) и получить лицензию iRidium. Далее, можно перейти к настройке управления АМХ в проекте.


Варианты создания проекта для АМХ через iRidium GUI Editor:

Доработать дизайн *.TP4
созданный в TPDesign4 проект можно открыть в GUI Editor и доработать на свое усмотрение
Создать проект на основе шаблона
На сайте iRidium Mobile можно купить, или бесплатно скачать готовый графический интерфейс для будущего проекта
Создать собственный проект
Наполнив Галерею GUI Editor собственными изображениями, можно создать уникальный GUI


В чем преимущество GUI Editor перед TPDesign4, зачем это может понадобиться:
# GUI Editor не ограничивает пользователя в выборе разрешения панели. При работе в TPDesign4, вы не можете выбрать разрешение вручную (создать свой виджет или проект для телевизора), редактор АМХ также не позволяет создать проект разрешением более 2000px.
  1. В GUI Editor больше инструментов визуализации. Наиболее востребованный из них - "Static List", который позволяет прокручивать popups вашего проекта, аналогично рабочему столу iPad или iPhone.
    Также есть уникальный компонент "List", динамически заполняемый список, который поддерживает команды от контоллера АМХ (его можно создать и в TPDesign4, но работать список будет только на панелях iRidium).
  2. В GUI Editor можно настроить подключение проекта визуализации сразу к НЕСКОЛЬКИМ контроллерам АМХ одновременно! Проект будет поддерживать сессии связи параллельно друг другу.
  3. Часть кода можно хранить прямо на панели управления, для чего служит встроенный язык iRidium Script (на основе Java Script). С помощью iRidium Script можно вызывать команды контроллеру АМХ, слушать данные, приходящие от контроллера и в соответствии с ними вызывать любые команды контроллеру и интерфейсу GUI.
  4. Кроме управления АМХ, в проект можно добавить управление любым поддерживаемым iRidium оборудованием, в том числе аудио-видео, медиа-серверами и др. Это очень удобно при необходимости параллельного управления несколькими системами.

другие преимущества использования iRidium для AMX и редактора iRidium GUI Editor описаны в обзоре продукта iRidium для AMX.


Параметры драйвера АМХ в iRidium GUI Editor

Итак, если вы планируете доработать готовый проект *.TP4 в редакторе iRdium GUI Editor, изменяя при этом только графическую часть проекта, используйте информацию о графических возможностях редактора:

iRidium GUI Editor

Если вы планируете создать графическую часть проекта с нуля, на основе собственного дизайна, или используя при этом шаблон интерфейса, вам потребуется информация о настройке драйвера АМХ в iRidium GUI Editor, которая представлена далее.


Добавить драйвер для подключения к AMX


Создайте новый проект в iRidium GUI Editor или откройте в редакторе готовый интерфейс, на базе которого будете создавать проект управления АМХ.

Откройте в редакторе панели DEVICE BASE и PROJECT DEVICE PANEL. Первая хранит все поддерживаемые iRidium драйверы, вторая - те драйверы, что будут работать в вашем проекте.

Из базы добавьте драйвер АМХ, сделать это можно перетаскиванием драйвера из базы в окно PROJECT DEVICE PANEL.


AMX inEditor ADDnCONNECTION.png

Сразу настройте параметры подключения к AMX во вкладке PROPERTIES окна PROJECT DEVICE PANEL:

Настройки подключения к АМХ
Host IP-адрес контроллера АМХ
Port TCP порт управления (всегда 1319)
Panel ID Уникальный идентификатор панели (Panel ID), не должен дублироваться на разных панелях. Настраивается на контроллере при создании списка панелей, которые могут подключиться к АМХ
Login Логин при использовании защищенной сессии
Password Пароль при использовании защищенной сессии

Вариант создания драйвера АМХ со списком команд и каналов к нему - импортировать их из готового проекта *.TP4, если вам не нужна его графическая часть. Для импорта откройте меню редактора File > Import > укажите путь к проекту, драйверы из которого нужно импортировать.

В отличие от TPDesign4, команды и каналы для АМХ изначально не привязаны к графическим элементам. Чтобы связать графический элемент проекта с адресом или каналом АМХ, нужно настроить эту связь, перетащив команду АМХ на графический элемент, при этом команду или канал нужно заранее создать в проекте (PROJECT DEVICE PANEL)


Настроить взаимодействие с АМХ



Дерево PROJECT DEVICE PANEL включает несколько вкладок, каждую из которых можно использовать при управлении АМХ или настройке визуализации. Принцип работы с командами и каналами отличается от принятого в редакторе TPDesign4, при настройке драйвера АМХ вы увидите:


Driver tokens (Токены драйвера)

- переменные, возвращающие состояние подключения к АМХ, эти параметры можно только прочитать. Для использования токена перетащите его на графический элемент (значение токена можно вывести в текстовое поле элемента или изменить с его помощью состояние элемента)

GUI Descr Tokens AMX.png
Online состояние подключения к АМХ (Online/Offline = 1/0)
Status статус подключения к АМХ (Offline/Connect/Online/Disconnect = 0...3)
Host доменное имя удаленной системы
HostPort порт на удаленной системе, к которому подключается iRidium
IP IP-адрес управляющей панели
HostIP IP-адрес удаленной системы, к которой подключен iRidium
Port локальный порт iRidium, через который осуществляется связь с АМХ

В AMX TPDesign4 нет аналогов Project Tokens или System Tokens. Через System Tokens можно получить дату, время и другие параметры панели, где запущен iRidium


Commands (Команды) -

служат для отправки данных на определенный порт и код.

AMX inEditor CommandType.png

Команды могут быть нескольких типов:

  1. Command - отправка команды АМХ
  2. String – отправка строки
  3. Channel – активация канала
  4. Level - отправка уровня


Команда может хранить данные для отправки (уровень, строку, команду) внутри себя (Data: Internal) или получать это значение или команду от графического элемента (Data: External).
Значение External указывается при натаскивании команды на графический элемент. Значение Internal хранится в строке Value настроек команды


Feedbacks (Каналы обратной связи) -

служат для получения данных от АМХ

AMX inEditor FeedbackType.png

Команды могут быть нескольких типов:

  1. Address - адресная переменная, передает команды от АМХ. Команды могут влиять на любые параметры графического элемента.
  2. Channel – триггер True/False
  3. Level - значение из диапазона


Канал обратной связи привязывают к графическому элементу - кнопке или уровню. Если канал имеет тип Channel или Level, то он будет передавать элементу число. Через канал с типом Address может прийти команда изменения любого из свойств графического элемента, к которому привязан канал

Управление каналами АМХ

Для того, чтобы активировать канал, отправить Level, строку или команду АМХ, необходимо создать эти команды в дереве проекта iRidium и привязать к графическим элементам. Рассмотрим варианты настройки и отправки команд различного типа.


Send Channel

Channel - это канал АМХ, который может оправлять значение True/False и тем самым сообщает о нажатии/отжатии элемента с соответствующим адресом.

Канал активируется при нажатии (PUSH > True), и сбрасывается при отпускании элемента (RELEASE > False). Такое же поведение нужно настроить в iRidium.


Создадим команду и привяжем ее к кнопке:

  1. Настройте кнопку (Type: Button, Feedback: Momentary)
  2. Настройте команду в PROJECT DEVICE PANEL, команда имеет тип Channel, источник данных External - значение для отправки настраиваем в параметрах связанной кнопки
  3. Перенесите команду из дерева на кнопку, выберите Send Number - отправить число на канал
  4. Активируйте события Press и Release (события, при которых команда должна сработать), в строке Value для событий укажите Press: 1, Release: 0, что соответствует значениям True/False.


AMX Editor SendChannelExternal 1.png


Второй вариант реализации того же события (Channel True/False) - с использованием Data: Internal, когда знанчения 1\0 указываются не в процессе переноса команды на элемент, а сразу указываются в параметрах команды в виде Value:

AMX Editor SendChannelInternal 1.png

При использовании Data: Internal, команды тоже нужно привязать к кнопке, Value: False - к событию Press, Value: True - к событию Release, но в диалоге привязки не нужно указывать значение Value. Работать такая система будет аналогично, но в дереве проекта будет в 2 раза больше команд, что не всегда удобно.

Инструменты разработки iRidium ориентированы на использование External Data (когда значение для отправки указывается непосредственно для графического элемента, а не хранится внутри команды.


Send Level

Level - это канал АМХ, который может отправлять значение в определенном диапазоне (обычно Unsigned 16-bit), в АМХ используется для управления значением с помощью ползунка уровня.

В АМХ значение Level'у отправляется при событиях: PUSH, MOVE, RELEASE. В iRidium вы можете активировать те же события или ограничиться PUSH и RELEASE (по желанию).

При работе с Channel Type: Level обязательно создайте команду для записи значения в Level и канал обратной связи для получения данных с Level. Команда без обратной связи работать не будет.

Настроим Level, укажем для него диапазон регулирования значения и привяжем команду Level:

  1. Настройте уровень (Type: Level, Feedback: Channel)
  2. Настройте команду в PROJECT DEVICE PANEL, команда имеет тип Level, источник данных External - значения для отправки настраиваем в параметрах уровня
  3. Перенесите команду из дерева на уровень, она автоматически выберет тип отправки Send Token - это значит, что отправляемое на Level значение будет зависеть от положения ползунка уровня
  4. Активируйте события отправки Press, Release, Move (события, при которых значение должно быть отправлено АМХ)
  5. Чтобы уровень отображал текущее состояние переменной, ему нужен канал обратной связи. Он настраивается так же как исходная команда и привязывается к уровню [In Value]

AMX Editor SendLevelExternal 1.png


Как и в случае с Channel, для команд типа Level можно использовать Internal Data, но к уровню такую команду привязать не получится. Их можно использовать только с кнопками, для отправки постоянных значений.


Кроме уровня, в iRidium вы можете использовать для управления значением и другие элементы:

  • Trigger Button (триггер) - переключает адрес между двумя константами. Требует обязательного наличия обратной связи о состоянии адреса
  • Up/Down Button (инкремент/декремент) - в зависимости от текущего состояния адреса, увеличивает или уменьшает его текущее значение на фиксированную величину.

Триггер и кнопки инкремент/декремент хранят значения для отправки в своих настройках, команда и канал обратной связи привязываются к ним так же, как к уровню.

Send Command, Sens String

Отправка команды и строки на адрес производится одинаково. Данные для отправки можно указать как внутри команды (Internal Data), так и при перетаскивании команды на кнопку (External Data).

Отправить команду/строку можно по событию PUSH или RELEASE:

  1. Настройте кнопку (Type: Button, Feedback: Momentary)
  2. Настройте команду в PROJECT DEVICE PANEL, команда имеет тип Command (String), источник данных External - значение для отправки настраиваем в параметрах связанной кнопки
  3. Перенесите команду из дерева на кнопку, выберите Send String - отправить строку на адрес
  4. Активируйте событие Press или Release (событие, при котором команда должна сработать), в строке Value для событий укажите строку для отправки

AMX Editor SendStringExternal 1.png


Получение данных от АМХ

Изменить состояние кнопки, уровня, или другого графического элемента в проекте можно командой с контроллера АМХ, осуществляется это несколькими способами:

  1. Address - канал обратной связи, который может передавать команды изменения свойств графического элемента от контроллера. Если привязать такой канал к кнопке, то командами с контроллера можно изменять любое свойство этой кнопки.
  2. Channel - канал обратной связи, возвращающий значения True/False. Используется для перевода кнопки из State 1 в Stae 2 и обратно
  3. Level - канал, возвращающий значение в диапазоне Unsigned 16-bit (другая размерность данных обычно не используется). Применяется для отображения текущего значения переменной в определенном диапазоне (для уровней, триггеров, кнопок инкремент/декремент, ...)


Чтобы менять параметры кнопки с помощью канала Address, создайте канал во вкладке Feedbacks драйвера АМХ, укажите Port и Code канала, и привяжите канал к кнопке:

AMX Editor GetAddress.png

Теперь, отправляя команды на выбранный Port/Code можно изменить любое свойство выбранного графического элемента.


Чтобы использовать каналы Channel и Level, создайте их во вкладке Feedbacks драйвера АМХ, укажите Port и Code каналов, и привяжите каналы к соответсвующим элементам:

AMX Editor GetLevelChannel.png

Канал обратной связи привязывается к графическому элементу с указанием, на какой именно параметр графического элемента будет воздействовать полученное из канала значение. Т.е. такие каналы воздействуют на конкретное свойство элемента (Item.Value, Item.Text или другое). Различают:

  • In Value - значение, полученное из канала обратной связи, будет менять состояние графического элемента, переключая его из неактивного в активное или перемещая ползунок слайдера, также используется при работе с «шаблонами обработки и вывода данных» (см. ниже)
  • In Text - значение, полученное из канала обратной связи, заменит любой текст, который был по умолчанию вписан в текстовое поле графического элемента
  • More... - здесь можно выбрать любой параметр графического элемента, на который должно влиять значение из канала, например, видимость, активность или координаты по осям X и Y


Шаблон

Функция

Шаблон

Функция

$P

процента от максимального значения Уровня

$V

целая часть полученного значения

$L

минимальное значение Уровня

$H

максимальное значение Уровня

$S

номер выбранного состояния

$A

значение за вычетом минимального значения Уровня

$R

размах Уровня (максимальное минус минимальное)

$F1-5

значение с плавающей запятой,
1-5 - число знаков после запятой

$X

текущее значение в формате HEX

$$

символ "доллара"

команда (шаблон) обработки и отображения входящих данных вносится в текстовое поле графического элемента и может быть совмещен с другим текстом и символами (комментариями, единицами измерения)


Работа со скриптами

В проекте iRidium для АМХ вы можете настроить скрипты, которые позволят менять свойства интерфейса, не обращаясь при этом к контроллеру. Так же на скриптах можно создать сценарии, обращения к АМХ и самостоятельные драйверы для управления аудио-видео оборудованием.

В продукты iRidium входит ряд готовых модулей для аудио-видео оборудования и для расширения возможностей интерфейса. Информацию по скриптам и обучению смотрите здесь: