Содержание
Виртуальный интерфейс управления
Ключевые особенности интерфейса управления:
- Настраиваемый пользователем интерфейс управления GUI (ручка (knob), ползунок, кнопка или переключатель)
- Сопоставление элементов управления GUI с параметрами алгоритмов в схемном проекте SigmaStudio
- Определение таблиц сопоставления значений данных для преобразования значений элементов управления в значения параметров
- Полная интеграция в среду разработки SigmaStudio
В этом документе описывается Виртуальный интерфейс управления (также известный как «HMI») среды разработки SigmaStudio. Эта функция предоставляет настраиваемый пользователем интерфейс для управления несколькими параметрами в среде разработки SigmaStudio для настройки системы и имитации управления. Примеры, объяснения и любой исходный код, содержащиеся в этом документе, предоставляются вам «КАК ЕСТЬ» без каких-либо гарантий. Подразумеваемые гарантии отсутствия нарушений прав третьих лиц, коммерческой пригодности и пригодности для конкретной цели прямо исключены.
Установка
Для Виртуального интерфейса управления требуется SigmaStudio версии 3.7.7 или более поздней. ALPHA-версия распространяется отдельно от установочного программного обеспечения SigmaStudio.
Требуемые файлы: VirtualInterface.dll
- Для установки скопируйте файл «VirtualInterface.dll» в каталог установки SigmaStudio (обычно C:\Program Files\Analog Devices\SigmaStudio 3.7). Обратите внимание, что для этого шага могут потребоваться права администратора для вашей учетной записи Windows.
- Либо: (a) перезапустите SigmaStudio, ЛИБО (b) выберите меню «Tools | Add-Ins Browser…», нажмите кнопку «Add DLL», выберите файл VirtualInterface.dll, скопированный на первом шаге, и нажмите кнопку «Save».
- Создайте новый проект или откройте существующий файл проекта SigmaStudio.
- Модуль «Control UI» доступен в папке «Processors» панели инструментов «Hardware Configuration».
Начало работы
Перетащите модуль «Control UI» с панели инструментов (Toolbox) на вкладку «Hardware Configuration» проекта SigmaStudio.

Интерфейс управления:
Откройте окно виртуального управления, нажав кнопку «Show…» или щелкнув правой кнопкой мыши по модулю интерфейса управления и выбрав «Control Window» в меню.

Окно управления состоит из 10 ячеек управления. Каждая ячейка может содержать виртуальный пользовательский элемент управления: ручку (knob), ползунок, кнопку или переключатель.

Определение виртуального элемента управления
Для создания и настройки виртуального элемента управления пользовательским интерфейсом необходимо выполнить 3 шага:
- Создайте элемент управления GUI (ручку (Knob), ползунок, кнопку или переключатель)
- Назначьте один или несколько параметров схемы элементу управления GUI
- Определите таблицу сопоставления значений для каждого назначенного параметра
Создание элемента управления:
Чтобы создать элемент управления, нажмите стрелку в ячейке управления или щелкните правой кнопкой мыши по ячейке и выберите тип элемента управления в меню «Insert…».

В ячейке окна управления создается элемент управления выбранного типа.

Определение свойств элемента управления:
Имя: Каждый виртуальный элемент управления имеет метку (Label), которую пользователь может редактировать. Чтобы переименовать элемент управления, дважды щелкните по метке имени под элементом управления и введите новое имя.

Значения: Минимальное и максимальное отображаемое значение элемента управления и разрешение значения («шаг») могут быть изменены. Чтобы изменить значения элемента управления, щелкните правой кнопкой мыши по элементу управления и задайте нужные значения в окне свойств.

Обратите внимание, что сопоставление между значением виртуального элемента управления и назначенным параметром определяется через справочные таблицы (lookup tables), как описано ниже. Настройки min, max и step виртуального элемента управления не имеют прямой связи с таблицами поиска параметров; индекс поиска параметра вычисляется динамически в зависимости от положения между min и max. Это означает, что вы можете установить диапазон GUI в любой произвольный диапазон значений по вашему желанию; внутренне диапазон элемента управления преобразуется в линейную карту индексов справочной таблицы.
Назначение параметров
Один или несколько параметров алгоритма модуля схемы могут быть назначены виртуальному элементу управления. Чтобы назначить параметр для управления, нажмите на стрелку ячейки управления или щелкните правой кнопкой мыши по ячейке управления и выберите «Assign…» в меню. Откроется диалоговое окно назначения параметров.

Диалоговое окно «Assign Parameter Control» перечисляет все параметры в схемном проекте SigmaStudio, доступные для управления. Они организованы в соответствии с иерархией схемы и именем модуля.

Установите флажок рядом с одним или несколькими параметрами, чтобы назначить их элементу управления виртуального интерфейса.

После завершения выбора нажмите кнопку «Assign», чтобы подтвердить операцию назначения параметра элементу управления.

Назначение параметра автоматически откроет окно Редактора таблицы преобразования значений (Value Conversion Table Editor).

Редактор таблицы преобразования значений
Для каждого назначенного параметра должна быть определена таблица преобразования значений. Значение виртуального элемента управления (ручки или ползунка) преобразуется в целочисленный индекс от 0 до количества «Steps» (шагов), определенных для справочной таблицы. Значения параметров схемы устанавливаются в соответствии со значениями, определенными для каждого шага в справочной таблице виртуального элемента управления.
Окно редактора таблицы преобразования значений можно открыть в любое время, нажав стрелку в ячейке управления или щелкнув правой кнопкой мыши и выбрав «Properties…» в меню.

Как определить таблицы преобразования параметров
Шаг 1: Установите количество «Steps» для справочных таблиц параметров (размер таблицы по умолчанию — 16). Размер шага справочной таблицы применяется ко всем параметрам, назначенным виртуальному элементу управления, и для каждого назначенного параметра должна быть определена таблица преобразования.

Шаг 2: Определите значение для каждого параметра на каждом шаге в таблице преобразования. Чтобы отредактировать значение таблицы, дважды щелкните по ячейке в окне таблицы.

Шаг 3: Нажмите «OK», чтобы подтвердить назначение значений таблицы параметров.

Импорт/Экспорт таблицы:
Все значения в окне редактора таблицы преобразования параметров могут быть импортированы из текстового файла или экспортированы в него. Чтобы импортировать данные таблицы, нажмите кнопку «Import…» в окне редактора таблицы, а чтобы экспортировать данные таблицы, нажмите кнопку «Export…».

Формат текстового файла — CSV (значения, разделенные запятыми), где каждый столбец таблицы заключен в фигурные скобки. Например, файл с двумя столбцами параметров:
{0, -5, -7, -9, -12, -15, -18, -24, -28, -30, -32, -36, -40, -44, -50, -60 },
{-60, -50, -44, -40, -36, -32, -30, -28, -24, -18, -15, -12, -9, -7, -5, 0 },
Если файл данных содержит меньше данных, чем определено «Steps» таблицы, для любых неопределенных индексов вставляются нули. Если файл содержит больше данных, чем определено Steps таблицы, импортируются только первые n значений шагов, а избыточные данные игнорируются.
Команды столбцов таблицы:
Щелкните правой кнопкой мыши по столбцу таблицы преобразования значений, чтобы открыть меню команд таблицы.

Каждый столбец в редакторе таблиц представляет сопоставление значений для одного параметра в схемном проекте. Для каждого столбца таблицы параметров поддерживаются следующие команды редактирования:
| Копировать данные столбца (Copy Column Data): | Копирует значения одного столбца таблицы в буфер обмена. Таблица может быть скопирована и вставлена между столбцами в окне редактора. |
| Вставить данные столбца (Paste Column Data): | Вставляет данные столбца из буфера обмена. |
| Импортировать столбец (Import Column): | Импортирует значения таблицы в один столбец из текстового файла. Поддерживаемые форматы: CSV (значения, разделенные запятыми) или значения, разделенные переводами строк. |
| Экспортировать столбец (Export Column): | Экспортирует значения из столбца таблицы в текстовый файл (формат экспорта — одно значение таблицы в каждой строке файла, стандарт для таблиц значений SigmaStudio). |
| Инвертировать (Invert): | Инвертирует значения столбца (т.е. меняет местами значения по индексам 0 и max steps). |
Использование
Виртуальные элементы управления, настройки и сопоставления значений сохраняются в файле проекта SigmaStudio. Виртуальный элемент управления будет одновременно изменять значение назначенных параметров и может использоваться во время настройки проекта. Обратите внимание, что виртуальный элемент управления является только объектом пользовательского интерфейса SigmaStudio и не генерирует никакого дополнительного ассемблерного кода DSP и напрямую не влияет на конечную программу.

Управление и сопоставление значений является однонаправленным: от виртуального элемента управления к назначенному элементу управления параметром. Виртуальный элемент управления установит значение всех назначенных элементов управления схемы при его изменении. Однако установка значения назначенного параметра непосредственно в виде схемы НЕ обновляет значения виртуального элемента управления или других назначенных параметров.
Обход окна захвата (Capture Window Bypass)
Виртуальный интерфейс управления обходит окно захвата (capture window) для повышения эффективности пользовательского интерфейса (при каждом приращении виртуального элемента управления генерируется большое количество операций записи параметров). По этой причине изменения элементов управления из окна виртуального интерфейса управления не отображаются в окне захвата, даже если значения записываются в интерфейс USB.
Известные проблемы
АЛЬФА-версия v1.0
- Изменения имен в виде схемы, будь то платы иерархии или модули алгоритмов, не будут обновлены в элементе управления виртуального интерфейса, и назначение будет потеряно. Все переименованные модули должны быть повторно назначены виртуальному элементу управления вручную. (Будет исправлено в версии 1.1).
- Назначение виртуального интерфейса доступно только для элементов управления GUI модулей (параметры алгоритмов без элемента управления GUI в виде схемы не могут быть назначены). Кроме того, параметры GUI модуля должны поддерживать функцию «settings» пользовательского интерфейса SigmaStudio (некоторые устаревшие и промежуточные пользовательские модули могут не поддерживать эту функцию). Этот вопрос может быть решен в каждом конкретном случае по мере необходимости.
