Видеоплеер для велодорожки
Видеоплеер создан для оборудования велосипедной 3D дорожки.
Основной задачей видеоплеера является проигрывание заранее записаннного видеофайла
велодорожки с привязкой кадров видеофайла к конкретному виртуальному положению
велосипеда на дорожке. Кроме того платформа велодорожки управляется в 3D пространстве
(тангаж, наклоны). Видеоплеер учитывая положение велосипеда на виртуальной дороге
способно отдавать команды по сети 3D платформе, для выставления ее в актуальное положение.
Входным сигналом для плеера является датчик скорости, через который вычисляется текущее
положение спортсмена на дорожке.
В функции видеоплеера входят:
- Плавное проигрывание видеофайла с произвольной скоростью.
- Контроль за частотой кадров и управление кадровой частотой в зависисмости от
скорости проигрывания файла и возможностей аппаратуры.
- Возможность проигрывания каталогов, содержащих последовательности кадров.
- Считывание по протоколу Modbus, иным протоколам на последовательных портах, задаваемым вручную,
присылаемым по сети текущей скорости с датчика скорости.
- Вычисление текущего положения спортсмена и считывания данных для 3D платформы.
- Управление 3D платформой непосредственно через последовательный порт или управление удаленной 3D
платформой по сети.
- Мониторинг всех состояний системы.
- Настройка в файлах конфигурации и при помощи интерфейса. Интерфейс сохраняет конфигурационный файлы.
Для запуска программы в тестовом режиме управления скоростью проигрывания требуется либо использовать нуль-модемный кабель между двумя
имеющимися COM портами, либо заранее установить эмулятор нуль-модемного кабеля com0com.
После успешной установки эмулятора нуль-модема запустите процесс настройки:
Используйте настройки, как показано на рисунке:
Для удобства я выбрал в качестве названия COM портов COM10 и COM11.
Программа сканирует порты существующие с названиями COM* поэтому порты с другими названиями будут не видны программой.
Остальные настройки оставьте как на рисунке.
Запустите плеер. Кнопка '>>' открывает дополнительное поле, в котором виден лог текущийх событий. Angle - диалог управления углами поворота, Speed - диалог управления скоростью. Нажмите Speed.
Чекбоксы: Active - использовать COM порт или эмулятор. Используется для отключения посылок данных, если это не требуется.
View: Показывать лог в боковой панели. Используется для отключения лога, если не нужен.
Dump: сохранять обмен в специальном dump файле для последующего анализа.
Группа Speed control: управляемая часть прграммы. Данная часть считывает скорость и сохраняет ее в переменной, которая используется для задания скорости проигрывания. Скорости на данный момент относительны нормального проигрывания видео, которе считаеся единичным.
Слайдер в этой панели непосредственно устанавливает скорость проигрывания, автоматом двигая нижний слайдер.
Save: сохраняет текущие установки для использования по умолчанию при новом старте программы.
COM порт - порт для чтения команды установки скорости. Про нажатии на кнопку Open октрвается порт и посылаются регулярные посылки
опроса по протоколу MODBUS RTU.
Группа Speed emulator: эмулятор устройства на шине MODBUS RTU подключенный через нуль-модем или эмулятор нуль-модема.
COM порт и Emul COM port - порты на концах нуль-модема. Про подключении Emul COM port происходит ответ на регулярные запросы от COM порт с указанием текущей скрости. Слайдер задает предаваемую скорость, которая должна быть установлена.
Устновите ранее заданные порты COM10 и COM11 или те, к которым подключен нуль-модем
Используйте чекбоксы Show для наблюдения за происходящим.
Нажмите кнопку Open для эмулятора (нижная кнопка). Порт откроется и перейдет состояние ожидания команды.
Используйте чекбоксы dump, если хотите почитать лог обмена. Нажмите кнопку Open для читения скорости (верхняя кнопка).
регулятные запросы будут проходить через нуль-модем и будет видна деятельность в обоих окошках. При проигрывании файла не
нужно специально нажимать верхнюю кнопку Open. Если настроенный вариант вы сохраните кнопкой Save (автоматом сохранится в конфиг),
то при проигрывании файла порт откроется автоматически.
Во время процесса опроса двигайте нижний слайдер. Данные по скорости будут меняться, предаваться через нуль-модем
и устанавливать значение верхнего слайдера.
Вы можете использовать 2 копии программы, запущенные одновременно на одном или разных компьютерах
(при использовании физического нуль-модема между ними.) Используйте верхнюю программу как управляемую, а нижнюю как
управляющий эмулятор устройства MODBUS, который сообщает текущую скрость.
Двигайте нижний слайдер скорости на нижный программе, верхний слайдер будет устанавливаться сам в нужное положение
согласно текущей скрости. Обмен будет виден как на рисунке.
Примечания:
- Используемая скорость: 9600
- количество бит: 8
- стоп битов: 1
- четность: EVEN
Предаваемая команда протокола MODBUS RTU: READ HOLDING REGISTERS.