Оригинал материала: https://3dnews.kz/160138

Утилита программирования Suncom SPI

Автор: huMMer [3DNews]

При всех достоинствах системы программирования контроллеров Suncom она имеет одно серьезное неудобство - невозможность сохранения файлов настроек. Конечно, весомость этого недостатка можно оспорить - при наличии четырех программных банков, каждого из которых, в принципе, хватит, чтобы удовлетворить основным потребностям современных авиасимуляторов, пользователь имеет возможность одновременно хранить настройки для четырех различных игр. В силу того, что авиасимулятор - это серьезная игра, требующая, при основательном подходе, немало времени и сил на ее изучение и прохождение, вряд ли найдется много людей, которые будут одновременно играть более чем в четыре симулятора. Тем не менее, проблема была, и ее надо было решать. Suncom не заставил себя ждать, выпустив утилиту Suncom SPI (Shared Programming Interface) для программирования всех своих программируемых моделей игровых контроллеров. Программа распространяется бесплатно, скачать можно с сайта производителя, весит 4,33 мб.

Описание

Среди общих настроек программы имеется возможность менять цвета элементов интерфейса, а также включать поддержку четырех банков и какой-то странный специальный режим для старых контроллеров, которые якобы не умели генерировать комбинации символов и автоповтор. Согласно написанному, SPI поможет программно эмулировать эти функции. При этом сделана загадочная приписка, что включать эту опцию надо только по рекомендации службы технической поддержки Suncom. Прямо X-Files какие-то.

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

Затем мы переходим к самому трудоемкому, но, к счастью, единовременному этапу подготовки - вы традиционным способом, аппаратно, должны запрограммировать все кнопки на вашем устройстве определенными клавиатурными комбинациями в соответствии с таблицей кодов. Правда, как ни странно, это можно сделать, лишь создав предварительно новый или загрузив существующий файл - но никак не наоборот: такой вот маленький глюк. Как было указано, программа предусматривает возможность использовать либо один, либо все четыре программных банка контроллера, правда, для этого придется запрограммировать таким образом все четыре, причем все четыре разными кодами. То есть вам обеспечено около часа интересного времяпрепровождения.

Именно эти коды впоследствии и буду обрабатываться программой и интерпретироваться в клавиатурные команды согласно файлам настроек.

Теперь все готово, и можно переходить непосредственно к программированию.

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

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

Команде, запрограммированной на определенный орган управления, можно присвоить описательное название, типа "выпуск шасси" и т. д.

Для каждого органа управления возможна запись до пяти символов, для каждого из этих символов можно задать модификаторы (Shift, Control и Alt). Помимо этого, пользователь может указать для каждого из пяти символов значения повтора и задержки.

Повтор - это количество символов, генерируемых программой, от 1 до 99.

Задержка - это время (от 0.01 до 9.99 сек.) задержки между повторами и перед посылкой следующего символа. Можно также объединить все символы в одну макрокоманду и задать параметры повтора и задержки для всей последовательности.

Чтобы убедиться, что вы все сделали правильно, можно воспользоваться тестовым режимом, в котором при нажатии кнопки пишется ее название, название команды, а в текстовом поле показывается генерируемая клавиатурная комбинация (естественно, только то, что может быть отображено - то есть не стрелки, не вспомогательные клавиши и не команды с модификаторами Ctrl и Alt).

Закончив программирование, вы сохраняете файл и активизируете SPI Interpreter - специальный интерпретатор, который минимизируется в панель задач и должен оставаться активным.

Программа перехватывает коды, посылаемые контроллерами через клавиатурный порт, и на выходе выдает команду в соответствии с загруженным файлом настроек. Вот и все.

Выводы

Я бы не назвал Suncom SPI "самой изящной" утилитой программирования. Во-первых, крайне странно сгруппированы команды меню. Так, в "Главном" меню оказались команды "Открыть", "Активизировать", "Тест", "Печать" и "Выход". А вот команды "Создать новый файл", "Редактировать" и "Сохранить" почему-то уехали в раздел меню "Программирование". Во-вторых, если у вас активен интерпретатор, и вы выбираете команду "Закрыть интерпретатор и запустить SPI", то логично было бы предположить, что вы окажетесь в режиме редактирования активного файла. А вот и ничего подобного! Его надо будет еще раз загрузить, что тоже довольно странно. Сам алгоритм работы несколько неуклюж, особенно подготовительная стадия, хотя, возможно, другого способа идентификации кнопок нет. При все при этом программа выполняет свою главную функцию - позволяет создавать и сохранять файлы для тех контроллеров, для которых изначально это было невозможно, к тому же в режиме программирования имеет удобный графический интерфейс. На мой взгляд, самым оптимальным является комбинация аппаратного программирования с использованием SPI, то есть отдав один банк под коды SPI, вы можете пользоваться тремя оставшимися для текущих нужд, и при этом иметь возможность сохранять файлы настроек, и даже обмениваться ими.



Оригинал материала: https://3dnews.kz/160138