Pilot27 Опубликовано: 14 января 2021 Опубликовано: 14 января 2021 Коллеги, приветствую! Кто-то уже реализовывал вывод данных из DCS? Хочу собрать себе простой индикатор скорости или курса, или установленной частоты на 7-сегментном экране. Вот на таком Видел видео, где выводится из Тундры, но мне надо из DCS. Ни в MMJOY2, ни в Freejoy это не реализовано. Кто-то что-то подобное уже делал?
vvm13ru Опубликовано: 14 января 2021 Опубликовано: 14 января 2021 DCS BIOS. https://forums.eagle.ru/topic/118289-dcs-bios-overview-and-announcements/?do=getNewComment Но там не через конфигуратор прошивку надо настраивать, а программировать, писать свою на C/C++. Это элементарно - для программиста. (А такие экранчики - https://aliexpress.ru/wholesale?catId=0&initiative_id=SB_20210114063746&SearchText=lcd2004 , мне кажутся лучше, чем семисегментные индикаторы). В отличие от стандартных, универсальных и общепринятых интерфейсов клавиатуры/мыши/джойстика у собственно DCS интерфейс специфический/уникальный и сильно варьирует от модуля к модулю. Общим является то, что DCS запускает скрипт export.lua несколько десятков раз в секунду, этот скрипт обращается к потрохам, а потроха у модулей разные. Далее набор скриптов под названием DCS BIOS пакует полученные данные и отправляет по TCP или UDP. Промежуточная програмулина получает и отправляет на COM-порт. С COM-порта читает Ардуина (желательна Мега256), а на ней крутится ваш скрипт. Возможны отклонения от этой схемы. И ещё один момент. У полноценных модулей модулируется кабина. Это значит, что, к примеру, просто так скорость вы не получите. Вы получите угол отклонения стрелки на приборе. А переводить в скорость будете сами. А зависимость может быть нелинейной. Зато вы можете взять сервомотор и пришпандорить стрелку к нему, а DCS BIOS будет её вертеть.
Pilot27 Опубликовано: 14 января 2021 Автор Опубликовано: 14 января 2021 (изменено) Про dcs-bios я читал. Я не программист - вот в чем проблема. Думаю, максимум, на что я способен - это вставлять параметры в шаблон скетча. Сами параметры, как я понял, в dcs-bios уже известны и рассортированы по модулям. Остается только выбрать нужный и вставить в текст программы. Вот в этом и затык. Я не понял, есть ли готовые шаблоны под какие-то чипы. P. S. Ссылка не рабочая. Мне 7-сегментные дисплеи нравятся своей ламповой олдскульностью и легкой читаемостью)) Изменено 14 января 2021 пользователем Pilot27
vvm13ru Опубликовано: 14 января 2021 Опубликовано: 14 января 2021 (изменено) Почему нерабочая? Это ссылка не на конкретную покупку, а на класс покупок. LCD2004 - это простенький алфавитно-цифровой LCD с 20 столбцами и 4 строками (бывают и другие). Вам проще взять второй монитор и вывести на него кокпит. Например, https://forums.eagle.ru/topic/151407-simpit-software-from-sda/ . Для Горячих Скал так - https://forums.eagle.ru/topic/66465-panel-dlja-vtorogo-monitora-v-stile-su-27sm/ . Монитор можно взять маленький. Изменено 14 января 2021 пользователем vvm13ru
Pilot27 Опубликовано: 14 января 2021 Автор Опубликовано: 14 января 2021 42 минуты назад, vvm13ru сказал: Почему нерабочая? Это ссылка не на конкретную покупку, а на класс покупок. LCD2004 - это простенький алфавитно-цифровой LCD с 20 столбцами и 4 строками (бывают и другие). Вам проще взять второй монитор и вывести на него кокпит. Например, https://forums.eagle.ru/topic/151407-simpit-software-from-sda/ . Для Горячих Скал так - https://forums.eagle.ru/topic/66465-panel-dlja-vtorogo-monitora-v-stile-su-27sm/ . Монитор можно взять маленький. С телефона почему-то открылось приложение с сообщением, что ничего не найдено. Теперь с ноута вижу. Можно и такие дисплейчики, был бы скетч... Я со вторым монитором уже игрался несколько лет назад. И через второй комп (ноут) выводил индикаторы, и на планшет. И "шквал" через второй моник выводил. Мне это не нужно сейчас. Да и места нет под это. Сейчас мне хочется сделать простое, как валенок, маленькое устройство, и ничего лишнего.
vvm13ru Опубликовано: 14 января 2021 Опубликовано: 14 января 2021 Мне было бы не жалко написать скетч и объяснить, что куда, но я нездоров. Может, кто другой...
Pilot27 Опубликовано: 14 января 2021 Автор Опубликовано: 14 января 2021 18 минут назад, vvm13ru сказал: Мне было бы не жалко написать скетч и объяснить, что куда, но я нездоров. Может, кто другой... Спасибо! Я, правда, не надеялся, что кто-то специально под меня напишет. Думал, скорее, может, кто-то поделится своим готовым скетчем, а я уже под это соберу на ардуино или blue pill, или еще на чем, чтобы это работало. Желаю выздороветь!
vvm13ru Опубликовано: 14 января 2021 Опубликовано: 14 января 2021 Скетчи для DCS Bios - это не MMJoy писать. Разница как между букварём и "Войной и миром", наверное. Поэтому программисту какой-то "конфигуратор" для DCS BIOS просто не придёт в голову. С одной стороны, простота, а с другой - бесконечное количество схем и железа.
kreml Опубликовано: 15 января 2021 Опубликовано: 15 января 2021 Еще могу предложить вариант на плате ProMicro (такая же используется в MMJoy ), либо на Teensy2.0. Есть готовая прошивка: оси, кнопки светодиоды. Плюс под это готовые файлы экспорта под DCS Настройка через графический интерфейс f3route. Вчера ради эксперимента попробовал вывести приборную скорость, настройка заняла минут 5, конечно с учетом того что я хорошо знаю эту программу. 3 1
Pilot27 Опубликовано: 15 января 2021 Автор Опубликовано: 15 января 2021 1 час назад, kreml сказал: Еще могу предложить вариант на плате ProMicro (такая же используется в MMJoy ), либо на Teensy2.0. Есть готовая прошивка: оси, кнопки светодиоды. Плюс под это готовые файлы экспорта под DCS Настройка через графический интерфейс f3route. Вчера ради эксперимента попробовал вывести приборную скорость, настройка заняла минут 5, конечно с учетом того что я хорошо знаю эту программу. Вот это то, что нужно, наверно!
kreml Опубликовано: 15 января 2021 Опубликовано: 15 января 2021 1. Для платы ProMicro, скачать архив с прошивкой atmega32u4_16000_v2.7z из директории 2. После прошивки платы, установить конфигуратор, архив из данной директории 3. В конфигураторе, зайти в общие настройки 4. Далее, на вкладку "LED DRIVERS" 5. В первой строчке настроек выбрать тип драйвера (MAX7219 ) и кол-во драйверов. (1 драйвер = 64 точки = 8 цифровых индикаторов) 6. В нижней части окна, нажать кнопку "Записать" 7 Подключить плату индикаторов к контроллеру по такой схеме: (Кол-во индикаторных плат можно увеличивать, подключая их последовательно друг за другом и изменяя параметр кол-во в настройках конфигуратора. (До 4х плат на драйвере MAX7219) Если понадобится, можно дополнительно подключить еще один каскад из 4 таких плат. Для этого нужно задействовать вторую строчку настроек на вкладке "LED DRIVERS" Второй каскад подключается аналогично первому, за исключением линии "CS-LED_DRIVER0", соответственно для подключения на плате активируется еще один пин "LED_DRIVER1" 8. После перезагрузки устройства, в главном окне, на шине SPI появится новое устройство (плата индикации) 9 Кликнув по новому устройству "1(0)", в правой части окна увидим раздел "Индикация" 10 Для проверки правильности подключения и настроек перейти в этот раздел, где можно произвольно пробовать включать сегменты индикаторов На этом первая часть подключения и настройки, которая пока никак не связана с конкретным симулятором закончена. Дальше расскажу как забирать данные из ДКС и передавать их в контроллер. 6
sergeype Опубликовано: 15 января 2021 Опубликовано: 15 января 2021 19 минут назад, kreml сказал: Кол-во индикаторных плат можно увеличивать, подключая их последовательно друг за другом и изменяя параметр кол-во в настройках конфигуратора. Только не забывать на плате с индикаторами замыкать каплей припоя диод, включенный последовательно в цепи питания (защита от неправильного подключения). Иначе на каждой следующей плате в цепочке питание будет на 0,7 В меньше, чем на предыдущей. Или к каждой плате питание подключать отдельно. 1 1
Pilot27 Опубликовано: 15 января 2021 Автор Опубликовано: 15 января 2021 (изменено) Очень круто! Спасибо большое! Жду продолжения инструкции! 51 минуту назад, sergeype сказал: Только не забывать на плате с индикаторами замыкать каплей припоя диод, включенный последовательно в цепи питания (защита от неправильного подключения). Иначе на каждой следующей плате в цепочке питание будет на 0,7 В меньше, чем на предыдущей. Или к каждой плате питание подключать отдельно. Как я понял из рисунка, питание там пин RAW арудино - пин VCC индикатор. А где диод стоит или должен стоять? между VCC-VCC? Изменено 15 января 2021 пользователем Pilot27
sergeype Опубликовано: 15 января 2021 Опубликовано: 15 января 2021 (изменено) 35 минут назад, Pilot27 сказал: А где диод стоит или должен стоять? между VCC-VCC? Да, диод стоИт (обычно) на входе питания индикаторной платы, сразу после входного разъема. То есть 7219 и индикатор запитаны через него, ну, и VСС на выходном разъеме тоже. Он там один такой. У китайцев эта плата- типовая, так что на всех аналогичных, что мне попадались, диод был. Большинство пользователей не в курсе, и напрягаются, что у них длинная цепочка 7219 не работает, и яркость падает от платы к плате... Изменено 15 января 2021 пользователем sergeype
Pilot27 Опубликовано: 15 января 2021 Автор Опубликовано: 15 января 2021 6 минут назад, sergeype сказал: Да, диод стоИт (обычно) на входе питания, сразу после входного разъема. То есть 7219 и индикатор запитаны через него, ну, и VСС на выходном разъеме тоже. Он там один такой. У китайцев эта плата- типовая, так что на всех аналогичных, что мне попадались, диод был. Большинство пользователей не в курсе, и напрягаются, что у них длинная цепочка 7219 не работает, и яркость падает от платы к плате... Этот?
sergeype Опубликовано: 15 января 2021 Опубликовано: 15 января 2021 (изменено) 19 минут назад, Pilot27 сказал: Этот? Он самый. Функционально нужен только для защиты от любителей путать плюс с минусом, так что смело закорачиваем?. Изменено 15 января 2021 пользователем sergeype 1
Pilot27 Опубликовано: 18 января 2021 Автор Опубликовано: 18 января 2021 Первую часть осилил! Только не понял, как шить плату инструментами из архива. Мне предлагались какие-то неизвестные мне чипы из выпадающего меню. Поэтому прошил утилитой mmjoy2. 2
kreml Опубликовано: 19 января 2021 Опубликовано: 19 января 2021 Первый шаг сделан ? А что за архив такой? А так, в принципе можно сделать возможность обновления прошивки платы прямо через конфигуратор. Но для этого нужно ее прошить спец. программой загрузчиком один раз. Но это делается уже с помощью внешнего программатора, либо еще одной такой же платы (ProMicro). Так что если будет желание, и еще одна дополнительная плата, можно и этот момент улучшить. Ну и сегодня продолжим по основному вопросу, дополню инструкцию второй частью. 1
kreml Опубликовано: 19 января 2021 Опубликовано: 19 января 2021 Итак, теперь установим файлы экспорта данных из ДКС. Сначала находим у себя в системе каталог "Сохраненные игры", там ДКС держит все пользовательские настройки и прочие файлы... Далее, в этом каталоге находим нужный нам раздел, в зависимости от типа установки симулятора: - каталог "DCS" для релизной версии, либо - каталог "DCS.openbeta" для бета-версии. В искомом каталоге ищем подкаталог "Scripts", если такого не обнаруживаем, то просто создаем его вручную. Затем с данного ресурса копируем в этот каталог следующее: Подкаталог "F3" файл "Config.lua" файл "Export.lua" файл "DataTable.xls" Должно получится так: Из этого всего, для дальнейшей настройки, нам понадобится таблица "DataTable.xls", в которой представлены все экспортируемые из симулятора параметры. На заключительном этапе, нам нужно будет связать экспортируемые из ДКС данные, с элементами вывода нашего контроллера (с индикаторами) Для этого понадобится модуль f3route. Скачиваем архив "2_1_27899.zip" из директории и распаковываем содержимое в каталог "f3route".
Pilot27 Опубликовано: 19 января 2021 Автор Опубликовано: 19 января 2021 (изменено) 1 час назад, kreml сказал: Скрытый текст Итак, теперь установим файлы экспорта данных из ДКС. Сначала находим у себя в системе каталог "Сохраненные игры", там ДКС держит все пользовательские настройки и прочие файлы... Далее, в этом каталоге находим нужный нам раздел, в зависимости от типа установки симулятора: - каталог "DCS" для релизной версии, либо - каталог "DCS.openbeta" для бета-версии. В искомом каталоге ищем подкаталог "Scripts", если такого не обнаруживаем, то просто создаем его вручную. Затем с данного ресурса копируем в этот каталог следующее: Подкаталог "F3" файл "Config.lua" файл "Export.lua" файл "DataTable.xls" Должно получится так: Из этого всего, для дальнейшей настройки, нам понадобится таблица "DataTable.xls", в которой представлены все экспортируемые из симулятора параметры. На заключительном этапе, нам нужно будет связать экспортируемые из ДКС данные, с элементами вывода нашего контроллера (с индикаторами) Для этого понадобится модуль f3route. Скачиваем архив "2_1_27899.zip" из директории и распаковываем содержимое в каталог "f3route". Настало время глупых вопросов: 1) Где размещать каталог f3route? 2) Что делать дальше? 2 часа назад, kreml сказал: Первый шаг сделан ? А что за архив такой? А так, в принципе можно сделать возможность обновления прошивки платы прямо через конфигуратор. Но для этого нужно ее прошить спец. программой загрузчиком один раз. Но это делается уже с помощью внешнего программатора, либо еще одной такой же платы (ProMicro). Так что если будет желание, и еще одна дополнительная плата, можно и этот момент улучшить. Ну и сегодня продолжим по основному вопросу, дополню инструкцию второй частью. Я скачал папки со всем содержимым mainboard.zip и cfg.zip. Думал, прошивальщик внутри имеется. Начал читать инструкцию. Написано, что можно прошить конфигуратором с помощью модуля ATMEL-FLIP. Запустил модуль, там выпадающий список предлагает два чипа: AT90USB... Ну, а в Pro Micro стоит 32U4. Читаю другой документ - нужен внешний программатор. Короче, я побоялся шить модулем ATMEL-FLIP, мало ли запорю плату. Подумал, что раз утилита mmjoy setup заливает прошивку в mmjoy2 в pro micro, она с тем же успехом может залить в плату и другую прошивку. Ну и так и прошил. Изменено 19 января 2021 пользователем Pilot27
kreml Опубликовано: 19 января 2021 Опубликовано: 19 января 2021 Размещать где удобнее, для работы разницы нет. По дальнейшим действиям позже, отлучиться пришлось.
kreml Опубликовано: 19 января 2021 Опубликовано: 19 января 2021 !!!Нашел ошибку в f3route, нужно скачать новый архив 2_1_27947.zip, и распаковать содержимое в тот же каталог!!! Продолжаем. Для примера сделаем вывод на индикаторы приборной скорости. !!!Все описанные тут шаги можно пропустить, просто загрузив готовый файл настроек. См. в самом конце!!! Сначала найдем нужный нам параметр в файле DataTable.xls, он находится на вкладке "Общие". Нам нужно запомнить номер переменной (20), в которой передается скорость, и размерность значения (0.1 км/ч). Т.е., если например значение равно 342, то это означает скорость = 34.2 км/ч. Выводить на индикаторы дробную часть скорости не будем, поэтому нулевой разряд значения использовать не будем. Для вывода скорости, нам понадобятся 4 цифровых индикатора на плате. Подключаем контроллер и в запускаем f3route.exe. Отображается наша новая конфигурация, в которой присутствует наш контроллер, у которого далее идут подключения: 0 - тут можно настраивать работу непосредственно с пинами самого контроллера 1 - первый каскад светодиодных плат (кроме контроллера ProMicro, в списке могут также отображаться подключенные джойстики. Нас они пока не интересуют.) Сейчас сразу настроим нашу светодиодную плату, для этого двойным щелчком откроем окно настроек. Тут видим 64 элемента вывода (это если в настройках конфигуратора был выбран один драйвер MAX7219, если кол-во было больше, то и число элементов вывода увеличится кратно кол-ву драйверов), каждый элемент соответствует одному из сегментов какого то индикатора на плате. Для проверки, по каждому элементу можно щелкать ПКМ, на плате будет включаться соответствующий ему сегмент индикатора. Так можно понять, какой именно индикатор настраивать. Начнем с самого первого элемента, в верхнем левом углу. Он должен соответствовать крайнему индикатору на плате. Откроем его настройки щелчком ЛКМ. В поле "Передача", выбираем передачу из "Локального сервера" "Переменная" - указываем номер переменной (20) из таблицы. Поле "Название" произвольное, для памяти можем туда что-то написать."Разрядность", позволяет объединить несколько отдельных сегментов, в один общий элемент. Тут ставим значение "8", таким образом, все 8 сегментов одного индикатора, будут работать совместно, и управлять ими можно будет также совместно, а не каждым в отдельности. Блок "Предварительная обработка", тут мы можем привязать к индикатору нужный разряд из значения скорости. Для этого выбираем параметр "Десятичный разряд", также в появившемся справа поле, указываем номер нужного нам разряда, в данном случае ставим "1". "Постобработка по шаблону", тут мы создадим нужный нам знакогенератор, так чтобы передавая на индикатор числа от 0 до 9, они отображались на нем в нормальном виде. Выбираем "Создать шаблон" и нажимаем появившуюся справа кнопку "Создать". Откроется редактор шаблона. Тут мы создаем наш знакогенератор. Так как все индикаторы на плате однотипные, то знакогенератор будет общим для всех, соответственно создать его надо только один раз. Если лень создавать в ручную, можно просто загрузить уже готовый. Для этого в верхней части щелкаем пиктограмму загрузить из файла, и загрузить содержимое архива MAX7219_DIG.zip Но для понимания логики работы, желательно начать с ручного создания. Для этого начинаем редактировать новую строку, включая методом подбора нужные сегменты индикатора, так что бы на индикаторе отображался знак "0". И так добавляем строки для всех нужных нам знаков "0...9" Во время редактирования, на индикаторах сразу будет отображаться получаемый результат, например как у меня: По окончанию нажимаем "Ок", и возвращаемся в окно настройки элемента вывода, должно получится так: Заканчиваем редактирование первого индикатора нажатием "Ок", и возвратом в предыдущее окно. В результате видим как объединись несколько отдельных сегментов. Далее начинаем настраивать следующий индикатор, ставим точно такие же настройки, только меняем номер десятичного разряда на "2" Шаблон создавать уже не нужно, просто выбираем уже готовый из списка. И так повторяем для все оставшихся индикаторов. (всего для отображения скорости мы используем 4 индикатора) Вот так будут выглядеть настройки оставшихся разрядов Итоговое окно настроенной платы индикации Просто закрываем. Теперь как все это не делать самому, а просто загрузить уже готовый файл конфигурации: Открываем контекстное меню, щелкнув по плате индикации ПКМ. Выбираем пункт "Загрузить", и выбираем в качестве файла, содержимое архива MAX7219_SPEED.zip. Для сохранения результатов нашей работы, неважно, сделанной в ручную, или загруженной из файла, нам нужно сохранить нашу конфигурацию, чтобы потом каждый раз не производить настройки заново. Для этого, открываем контекстное меню всей конфигурации, щелкнув ПКМ по названию конфы (NewConfig), и выбрав пункт "Записать" Выбираем название конфигурации и сохраняем файл. Теперь можно запустить ДКС, и проверить, что на индикаторы выводится показание скорости. В дальнейшем, загрузить сохраненную конфигурацию можно через то же контекстное меню, выбрав загрузить. Либо, чтобы конфигурация загружалась автоматически при запуске роутера, можно в "Параметрах" на вкладке "Файлы", выбрать сохраненный файл в качестве автозагрузки. 2 1
Pilot27 Опубликовано: 20 января 2021 Автор Опубликовано: 20 января 2021 17 часов назад, kreml сказал: !!!Нашел ошибку в f3route, нужно скачать новый архив 2_1_27947.zip, и распаковать содержимое в тот же каталог!!! Продолжаем. Для примера сделаем вывод на индикаторы приборной скорости. !!!Все описанные тут шаги можно пропустить, просто загрузив готовый файл настроек. См. в самом конце!!! Сначала найдем нужный нам параметр в файле DataTable.xls, он находится на вкладке "Общие". Нам нужно запомнить номер переменной (20), в которой передается скорость, и размерность значения (0.1 км/ч). Т.е., если например значение равно 342, то это означает скорость = 34.2 км/ч. Выводить на индикаторы дробную часть скорости не будем, поэтому нулевой разряд значения использовать не будем. Для вывода скорости, нам понадобятся 4 цифровых индикатора на плате. Подключаем контроллер и в запускаем f3route.exe. Отображается наша новая конфигурация, в которой присутствует наш контроллер, у которого далее идут подключения: 0 - тут можно настраивать работу непосредственно с пинами самого контроллера 1 - первый каскад светодиодных плат (кроме контроллера ProMicro, в списке могут также отображаться подключенные джойстики. Нас они пока не интересуют.) Сейчас сразу настроим нашу светодиодную плату, для этого двойным щелчком откроем окно настроек. Тут видим 64 элемента вывода (это если в настройках конфигуратора был выбран один драйвер MAX7219, если кол-во было больше, то и число элементов вывода увеличится кратно кол-ву драйверов), каждый элемент соответствует одному из сегментов какого то индикатора на плате. Для проверки, по каждому элементу можно щелкать ПКМ, на плате будет включаться соответствующий ему сегмент индикатора. Так можно понять, какой именно индикатор настраивать. Начнем с самого первого элемента, в верхнем левом углу. Он должен соответствовать крайнему индикатору на плате. Откроем его настройки щелчком ЛКМ. В поле "Передача", выбираем передачу из "Локального сервера" "Переменная" - указываем номер переменной (20) из таблицы. Поле "Название" произвольное, для памяти можем туда что-то написать."Разрядность", позволяет объединить несколько отдельных сегментов, в один общий элемент. Тут ставим значение "8", таким образом, все 8 сегментов одного индикатора, будут работать совместно, и управлять ими можно будет также совместно, а не каждым в отдельности. Блок "Предварительная обработка", тут мы можем привязать к индикатору нужный разряд из значения скорости. Для этого выбираем параметр "Десятичный разряд", также в появившемся справа поле, указываем номер нужного нам разряда, в данном случае ставим "1". "Постобработка по шаблону", тут мы создадим нужный нам знакогенератор, так чтобы передавая на индикатор числа от 0 до 9, они отображались на нем в нормальном виде. Выбираем "Создать шаблон" и нажимаем появившуюся справа кнопку "Создать". Откроется редактор шаблона. Тут мы создаем наш знакогенератор. Так как все индикаторы на плате однотипные, то знакогенератор будет общим для всех, соответственно создать его надо только один раз. Если лень создавать в ручную, можно просто загрузить уже готовый. Для этого в верхней части щелкаем пиктограмму загрузить из файла, и загрузить содержимое архива MAX7219_DIG.zip Но для понимания логики работы, желательно начать с ручного создания. Для этого начинаем редактировать новую строку, включая методом подбора нужные сегменты индикатора, так что бы на индикаторе отображался знак "0". И так добавляем строки для всех нужных нам знаков "0...9" Во время редактирования, на индикаторах сразу будет отображаться получаемый результат, например как у меня: По окончанию нажимаем "Ок", и возвращаемся в окно настройки элемента вывода, должно получится так: Заканчиваем редактирование первого индикатора нажатием "Ок", и возвратом в предыдущее окно. В результате видим как объединись несколько отдельных сегментов. Далее начинаем настраивать следующий индикатор, ставим точно такие же настройки, только меняем номер десятичного разряда на "2" Шаблон создавать уже не нужно, просто выбираем уже готовый из списка. И так повторяем для все оставшихся индикаторов. (всего для отображения скорости мы используем 4 индикатора) Вот так будут выглядеть настройки оставшихся разрядов Итоговое окно настроенной платы индикации Просто закрываем. Теперь как все это не делать самому, а просто загрузить уже готовый файл конфигурации: Открываем контекстное меню, щелкнув по плате индикации ПКМ. Выбираем пункт "Загрузить", и выбираем в качестве файла, содержимое архива MAX7219_SPEED.zip. Для сохранения результатов нашей работы, неважно, сделанной в ручную, или загруженной из файла, нам нужно сохранить нашу конфигурацию, чтобы потом каждый раз не производить настройки заново. Для этого, открываем контекстное меню всей конфигурации, щелкнув ПКМ по названию конфы (NewConfig), и выбрав пункт "Записать" Выбираем название конфигурации и сохраняем файл. Теперь можно запустить ДКС, и проверить, что на индикаторы выводится показание скорости. В дальнейшем, загрузить сохраненную конфигурацию можно через то же контекстное меню, выбрав загрузить. Либо, чтобы конфигурация загружалась автоматически при запуске роутера, можно в "Параметрах" на вкладке "Файлы", выбрать сохраненный файл в качестве автозагрузки. Kreml, спасибо большое! Это просто супер! Радости нет предела!
Pilot27 Опубликовано: 24 января 2021 Автор Опубликовано: 24 января 2021 (изменено) Всем, добрый день! Я подключил последовательно 4 драйвера к usb-порту ноутбука. Как-то нестабильно себя ведёт эта сборка. Не пойму, почему. То некорректно отображаются цифры при проверке, то наблюдаю слабое мерцание индикаторов. При отображении всех или почти сегментов слышен писк. Пробовал менять их местами. Подобрал, вроде как, комбинацию, когда все отображается правильно. Но осадочек, что называется, остался. Может ли быть дело в питании? Может, нужно индикаторы отдельно записывать от usb-хаба или блока питания? Или дело в том, что два индикатора на зелёной плате со съёмными головками, а два на синей несьемные... Диоды я удалил со всех четырёх и поставил перемычку. Изменено 24 января 2021 пользователем Pilot27
kreml Опубликовано: 24 января 2021 Опубликовано: 24 января 2021 Кстати, а питание с какого пина контроллера идет, RAW или VCC ?
Pilot27 Опубликовано: 24 января 2021 Автор Опубликовано: 24 января 2021 (изменено) Померил питание - 4,4 вольта. Пойду покупать блок питания, а то работает через раз на пятый раз. Скрытый текст Изменено 24 января 2021 пользователем Pilot27
Pilot27 Опубликовано: 30 января 2021 Автор Опубликовано: 30 января 2021 Добрый вечер! Протестировал сборку на модуле Ми-8. Настройки прилагаю. При медленном изменении значений, (например, стоя на стоянке), или их отсутствии, устройство работает. Когда начинаются активные изменения, то минут через 5-10 после взлета вылетает ошибка "Платформа NET Framework". При этом цифры на индикаторах замирают, данные больше не меняются. Вот текст ошибки: Скрытый текст Подробная информация об использовании оперативной (JIT) отладки вместо данного диалогового окна содержится в конце этого сообщения. ************** Текст исключения ************** System.ArgumentException: Длина результирующего массива недостаточна. Проверьте значения destIndex и length, а также нижние границы массива. в System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) в System.Collections.Generic.List`1.CopyTo(T[] array, Int32 arrayIndex) в System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) в f3route2.LocalDataServer.EndOfReceive() в f3route2.cConfig.cControllerConfig.in_data_refresh() в f3route2.MainForm.f3_in_data_refresh() в f3route2.MainForm.timer1_Tick(Object sender, EventArgs e) в System.Windows.Forms.Timer.OnTick(EventArgs e) в System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Загруженные сборки ************** mscorlib Версия сборки: 4.0.0.0 Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ---------------------------------------- f3route Версия сборки: 2.1.7689.42873 Версия Win32: 1.0.0.0 CodeBase: file:///D:/Google%20%D0%94%D0%B8%D1%81%D0%BA/DCS%20%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B/LED%20Indicators/f3route/f3route.exe ---------------------------------------- System.Windows.Forms Версия сборки: 4.0.0.0 Версия Win32: 4.8.4270.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Версия сборки: 4.0.0.0 Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Версия сборки: 4.0.0.0 Версия Win32: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Configuration Версия сборки: 4.0.0.0 Версия Win32: 4.8.4190.0 built by: NET48REL1LAST_B CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Core Версия сборки: 4.0.0.0 Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- System.Xml Версия сборки: 4.0.0.0 Версия Win32: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- f3route.resources Версия сборки: 2.1.7689.42873 Версия Win32: 1.0.0.0 CodeBase: file:///D:/Google%20%D0%94%D0%B8%D1%81%D0%BA/DCS%20%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B/LED%20Indicators/f3route/ru-RU/f3route.resources.DLL ---------------------------------------- WindowsBase Версия сборки: 4.0.0.0 Версия Win32: 4.8.4300.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll ---------------------------------------- System.Windows.Forms.resources Версия сборки: 4.0.0.0 Версия Win32: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll ---------------------------------------- Microsoft.DirectX.DirectInput Версия сборки: 1.0.2902.0 Версия Win32: 5.04.00.2904 CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.DirectInput/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectInput.dll ---------------------------------------- Microsoft.DirectX Версия сборки: 1.0.2902.0 Версия Win32: 5.04.00.2904 CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll ---------------------------------------- Microsoft.VisualC Версия сборки: 10.0.0.0 Версия Win32: 12.00.52519.0 built by: VSWINSERVICING CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualC/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualC.dll ---------------------------------------- NLua Версия сборки: 1.3.2.0 Версия Win32: 1.3.2 CodeBase: file:///D:/Google%20%D0%94%D0%B8%D1%81%D0%BA/DCS%20%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B/LED%20Indicators/f3route/NLua.DLL ---------------------------------------- KeraLua Версия сборки: 1.3.2.0 Версия Win32: 1.3.2.0 CodeBase: file:///D:/Google%20%D0%94%D0%B8%D1%81%D0%BA/DCS%20%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B/LED%20Indicators/f3route/KeraLua.DLL ---------------------------------------- mscorlib.resources Версия сборки: 4.0.0.0 Версия Win32: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll ---------------------------------------- System.Xml.Linq Версия сборки: 4.0.0.0 Версия Win32: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll ---------------------------------------- ************** Оперативная отладка (JIT) ************** Для подключения оперативной (JIT) отладки файл .config данного приложения или компьютера (machine.config) должен иметь значение jitDebugging, установленное в секции system.windows.forms. Приложение также должно быть скомпилировано с включенной отладкой. Например: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> При включенной отладке JIT любое необрабатываемое исключение пересылается отладчику JIT, зарегистрированному на данном компьютере, вместо того чтобы обрабатываться данным диалоговым окном. Как с этим бороться? Test mi8.zip
Lev724 Опубликовано: 12 февраля 2023 Опубликовано: 12 февраля 2023 (изменено) 15.01.2021 в 09:05, kreml сказал: Еще могу предложить вариант на плате ProMicro (такая же используется в MMJoy ), либо на Teensy2.0. Есть готовая прошивка: оси, кнопки светодиоды. Плюс под это готовые файлы экспорта под DCS Настройка через графический интерфейс f3route. Вчера ради эксперимента попробовал вывести приборную скорость, настройка заняла минут 5, конечно с учетом того что я хорошо знаю эту программу. Здравствуйте ,а прошивок для других плат у вас нет случайно? Изменено 12 февраля 2023 пользователем Lev724
kreml Опубликовано: 14 февраля 2023 Опубликовано: 14 февраля 2023 13.02.2023 в 03:44, Lev724 сказал: Здравствуйте ,а прошивок для других плат у вас нет случайно? Нет, только для 2х чипов делал, какие под рукой были)
Krysnic Опубликовано: 14 февраля 2023 Опубликовано: 14 февраля 2023 15.01.2021 в 16:43, kreml сказал: 1. Для платы ProMicro, скачать архив с прошивкой atmega32u4_16000_v2.7z из директории 2. После прошивки платы, установить конфигуратор, архив из данной директории 3. В конфигураторе, зайти в общие настройки Приветствую, у меня почему то нет общих настроек.
kreml Опубликовано: 15 февраля 2023 Опубликовано: 15 февраля 2023 19 часов назад, Krysnic сказал: Приветствую, у меня почему то нет общих настроек. Обновите прошивку https://www.dropbox.com/sh/omeoga4dyykyw07/AACHLhNZuRR4sSkqBCYenMyAa?dl=0
Krysnic Опубликовано: 15 февраля 2023 Опубликовано: 15 февраля 2023 2 минуты назад, kreml сказал: Обновите прошивку https://www.dropbox.com/sh/omeoga4dyykyw07/AACHLhNZuRR4sSkqBCYenMyAa?dl=0 Благодарю, появились настройки. Надо разбираться дальше
Krysnic Опубликовано: 17 февраля 2023 Опубликовано: 17 февраля 2023 Собрал индикатор для теста. Не знаю на сколько правильны мои настройки, но индикация работает. Проблема тут в том что это для старой ка-50, а для третьей версии к сожалению фала с параметрами нет. Этот бы софт для stm32 и модулей больше, было бы конечно интересно поковыряться. А напрямую светодиоды подключать можно или только через драйвер?
Pilot27 Опубликовано: 17 февраля 2023 Автор Опубликовано: 17 февраля 2023 4 часа назад, Krysnic сказал: Собрал индикатор для теста. Не знаю на сколько правильны мои настройки, но индикация работает. Проблема тут в том что это для старой ка-50, а для третьей версии к сожалению фала с параметрами нет. Этот бы софт для stm32 и модулей больше, было бы конечно интересно поковыряться. А напрямую светодиоды подключать можно или только через драйвер? Со всем уважением и благодарностью к Станиславу, который создал такой инструмент, я перешёл от его использования на Dcs-bios Flightpanel fork. Дело в том, что dcs-bios имеет большое сообщество, и поддержка новых модулей появляется достаточно быстро. Кроме того, это не проприетарный продукт, а открытая платформа, где ты сам должен разбираться в том, как работают подключённые устройства, как использовать написанные для них библиотеки. Тем не менее, благодаря примерам - это вполне себе доступно даже для лингвиста и доступно для масштабирования. И даже если какой-то индикатор не реализован в конкретном модуле, потратив 2-3 часа ты сам сможешь создать сущность и заставить работать сегментный дисплей, или стрелочный, или жидкокристаллический - все что есть под рукой. 1
Krysnic Опубликовано: 18 февраля 2023 Опубликовано: 18 февраля 2023 11 часов назад, Pilot27 сказал: Со всем уважением и благодарностью к Станиславу, который создал такой инструмент, я перешёл от его использования на Dcs-bios Flightpanel fork. Дело в том, что dcs-bios имеет большое сообщество, и поддержка новых модулей появляется достаточно быстро. Кроме того, это не проприетарный продукт, а открытая платформа, где ты сам должен разбираться в том, как работают подключённые устройства, как использовать написанные для них библиотеки. Тем не менее, благодаря примерам - это вполне себе доступно даже для лингвиста и доступно для масштабирования. И даже если какой-то индикатор не реализован в конкретном модуле, потратив 2-3 часа ты сам сможешь создать сущность и заставить работать сегментный дисплей, или стрелочный, или жидкокристаллический - все что есть под рукой. dcs-bios хорош для кокпитостроения и для постройки приборных панелей для конкретных модулей. Опять же одно дело вывести цифровые значения на семи сегментный индикатор, или подключить светодиоды это по сути простейшее . А вот если попробуете вывести тип вооружения у ка-50 как на моем видео, то уже ничего не выйдет, потому что выводятся другие символы и уже нужно писать какой то код что бы на индикаторе отображалось то что надо. А дальше еще сложнее и результат будет зависеть от знаний и умения правильно написать код. Для подключения кнопок через диодную матрицу опять нужно написать код. Подключение кнопок через сдвиговые регистры я вообще даже не представляю как реализовать. И опять же это будет работать с дкс биосом, а вот можно ли сделать так что бы контроллер отображался как plug&play устройство и работала индикация через дкс биос я сомневаюсь. У меня реализован УВ-26 для ка-50, но кнопки и индикация работают только с dcs-bios. А данный софт как и ммджой, хорош тем что у меня полноценный plug&play контроллер. Я могу подключить кнопки посредством сдвиговых регистров или диодной матрицы, датчики осей и просто настроить в софте. При подключение к компу это будет просто игровой контроллер. Настроив вывод данных получаем индикацию. Для постройки универсальных панелей с индикацией или отдельных устройств, данного рода софт более удобен. Я делаю пульт UFC для A-10C, для примера в данном софте я подключаю кнопки по средствам диодной матрицы и настраиваю их в нем. Все у меня простой игровой контроллер, кнопки которого можно назначить для любого модуля и в любой игре. Для индикации кнопки master caution 3 настраиваем вывод данных и все. Не нужно писать какой то код, устройство можно использовать в любой игре(кроме индикации). 1
Pilot27 Опубликовано: 18 февраля 2023 Автор Опубликовано: 18 февраля 2023 14 минут назад, Krysnic сказал: dcs-bios хорош для кокпитостроения и для постройки приборных панелей для конкретных модулей. Опять же одно дело вывести цифровые значения на семи сегментный индикатор, или подключить светодиоды это по сути простейшее . А вот если попробуете вывести тип вооружения у ка-50 как на моем видео, то уже ничего не выйдет, потому что выводятся другие символы и уже нужно писать какой то код что бы на индикаторе отображалось то что надо. А дальше еще сложнее и результат будет зависеть от знаний и умения правильно написать код. Для подключения кнопок через диодную матрицу опять нужно написать код. Подключение кнопок через сдвиговые регистры я вообще даже не представляю как реализовать. И опять же это будет работать с дкс биосом, а вот можно ли сделать так что бы контроллер отображался как plug&play устройство и работала индикация через дкс биос я сомневаюсь. У меня реализован УВ-26 для ка-50, но кнопки и индикация работают только с dcs-bios. А данный софт как и ммджой, хорош тем что у меня полноценный plug&play контроллер. Я могу подключить кнопки посредством сдвиговых регистров или диодной матрицы, датчики осей и просто настроить в софте. При подключение к компу это будет просто игровой контроллер. Настроив вывод данных получаем индикацию. Для постройки универсальных панелей с индикацией или отдельных устройств, данного рода софт более удобен. Я делаю пульт UFC для A-10C, для примера в данном софте я подключаю кнопки по средствам диодной матрицы и настраиваю их в нем. Все у меня простой игровой контроллер, кнопки которого можно назначить для любого модуля и в любой игре. Для индикации кнопки master caution 3 настраиваем вывод данных и все. Не нужно писать какой то код, устройство можно использовать в любой игре(кроме индикации). В последних библиотеках реализованы матрицы кнопок в разных режимах, и матрицы энкодеров и энкодеров с ускорением. Конечно это будет не plug-in-play, а ком-порт. Ну да, сдвиговый регистр в dcs-bios я ещё не осилил, но в принципе люди это делают. Но я пока ограничивался матрицами. Про инпут осей ничего сказать не могу - не делал. А вот активировать любую комбинацию диодов на сегментном дисплее - возможно. Да, придётся самому прописывать адреса сегментов. Здесь за нас это сделал Станислав в своей программе. Нам остаётся натыкать желаемые радио-кнопки. Но Вы же сами говорите, что поддержки Ка-50 пока нет, если я правильно понял. Я вот Станислава наверно уже замучал с просьбами сделать табличку для ми-24)))
Lev724 Опубликовано: 22 февраля 2023 Опубликовано: 22 февраля 2023 18.02.2023 в 00:48, Pilot27 сказал: Со всем уважением и благодарностью к Станиславу, который создал такой инструмент, я перешёл от его использования на Dcs-bios Flightpanel fork. Дело в том, что dcs-bios имеет большое сообщество, и поддержка новых модулей появляется достаточно быстро. Кроме того, это не проприетарный продукт, а открытая платформа, где ты сам должен разбираться в том, как работают подключённые устройства, как использовать написанные для них библиотеки. Тем не менее, благодаря примерам - это вполне себе доступно даже для лингвиста и доступно для масштабирования. И даже если какой-то индикатор не реализован в конкретном модуле, потратив 2-3 часа ты сам сможешь создать сущность и заставить работать сегментный дисплей, или стрелочный, или жидкокристаллический - все что есть под рукой. Здравствуйте,если вы разобрались с dcs bios,можете подсказать где взять информацию как сней работать.Летаю на су 25 хочу вывести индикацию выпуска шасси ,закрылков итд.Я не могу понять откуда брать эти коды чтобы вставить их в скетч.
Pilot27 Опубликовано: 22 февраля 2023 Автор Опубликовано: 22 февраля 2023 1 час назад, Lev724 сказал: Здравствуйте,если вы разобрались с dcs bios,можете подсказать где взять информацию как сней работать.Летаю на су 25 хочу вывести индикацию выпуска шасси ,закрылков итд.Я не могу понять откуда брать эти коды чтобы вставить их в скетч. Здравствуйте. Если Вы все правильно установили, и проблема только в поиске кода, то... Су-25 входит в пакет Горячие скалы 3 (Flamming Cliffs 3), т.е. искать надо в выпадающем списке модуль FM3. Далее смотрим списки и ищем что-то более-менее похожее. Например, индикация шасси находися под вкладкой Mechanical. Т.е. для активации светодиодов Вам достаточно использовать строку DcsBios::LED fc3Gear(0x601a, 0x0400, PIN); //где PIN - адрес выхода на плате Arduino, если светодиод подключен напрямую Если нужно активировать иные устройства по положению шасси, то нужна конструкция типа void onFc3GearChange(unsigned int newValue) { /* Сюда вписываете свой код для активации устройства */}DcsBios::IntegerBuffer fc3GearBuffer(0x601a, 0x0400, 10, onFc3GearChange); Что касается закрылков, то готового кода для них не вижу...Однако, известны аргументы индикации - 42 и 43 для маневренного, 284 и 285 для посадочного. Т.е. если кода готового нет, то надо изучить структуру аналогичного существующего индикатора и создать свой по аналогии с соответствующими аргументами. В DCS-BIOS все "устройства" сохраняются в lua-файлах модулей. Для FC3 это C:\Users\ваша папка пользователя\Saved Games\DCS\Scripts\DCS-BIOS\lib\FC3.lua 1
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас