Jump to content
Wit

Импровизированный MCP на Arduino за пару вечеров.

Recommended Posts

Вообщем я разобрался, необходимо во вкладке "COMPARE" для 7 сегментника VERT/SPEED задать условие (если ЗНАЧЕНИЕ= -16960 ТО "проставить 5 пробелов")

Когда вертикал спид не используется , на модуль приходит значение (-16960), а мы его заменяем на 5 пробелов,т.е. индикатор не горит. 

Отлично! А как со скоростью в режиме VNAV быть, есть решение?

  • Downvote 2

Share this post


Link to post
Share on other sites

Отлично! А как со скоростью в режиме VNAV быть, есть решение?

К сожалению, пока не нашел решение....(еще как следует не "полетал" с "железным МСР") Вечером попробую.

Share this post


Link to post
Share on other sites

Я вот тоже голову долго ломал, потом забил. В принципе это не напрягает, пускай всегда показывает скорость)

  • Downvote 2

Share this post


Link to post
Share on other sites

На немецком форуме mobiflight есть описание как сделать "реально" со скоростью, почитай...

Я просто на работе сейчас и попробовать не смогу.

Share this post


Link to post
Share on other sites

Нашёл что-то похожее на немецко-говорящем разделе форума, но даже с гугло-переводчиком ничего не понял)

http://www.mobiflight.de/forum/topic/200.html

На англо-язычном не нашёл ничего конкретного.

Share this post


Link to post
Share on other sites

По режиму VNAV и по символу "А" и "В" при превышении скорости и при недостаточной:

Создаем такие строки

post-79716-0-72268900-1484242171.jpg

1)IasMach стандартная скорость, описанная выше, только в Precondition добавим условие: PsBlank=0(AND)

2)PsBlank - offset 0x6528 Int 1, выбираем только ваш модуль и все....

3)Blank offset 0x6528 Int 1 , в Compare добавим if=1 set "4 пробела", в Display ставим так же как и в IasMach галки, в Precondition - PsBlank=1 (AND)

4)Overspeed - offset 0x6529 Int 1, в Compare добавим if=1 set "8" else !=A, в Display ставим галку на первую цифру в speed

5)Underspeed - offset 0x652A int 1,в Compare добавим if=1 set "A" else !=8, в Display ставим галку на первую цифру в speed

 

 

Должно все работать

Share this post


Link to post
Share on other sites

А скорость "описанная выше" это где? Как я понял нужно дублировать строчку которая отвечает за скорость и просто прописать PsBlank=0 в  Precondition? В этом случае у меня происходит конфликт с "Blank". Возможно это происходит из-за того что у меня 2 планки индикаторов подключены последовательно, но по идее не должно...

P.S.:  У меня заработали только "Overspeed" и "Underspeed". 

  • Downvote 1

Share this post


Link to post
Share on other sites

А скорость "описанная выше" это где? Как я понял нужно дублировать строчку которая отвечает за скорость и просто прописать PsBlank=0 в  Precondition? В этом случае у меня происходит конфликт с "Blank". Возможно это происходит из-за того что у меня 2 планки индикаторов подключены последовательно, но по идее не должно...

P.S.:  У меня заработали только "Overspeed" и "Underspeed". 

Так Ваш же пост про скорость ::)

Share this post


Link to post
Share on other sites

А скорость "описанная выше" это где? Как я понял нужно дублировать строчку которая отвечает за скорость и просто прописать PsBlank=0 в  Precondition? В этом случае у меня происходит конфликт с "Blank". Возможно это происходит из-за того что у меня 2 планки индикаторов подключены последовательно, но по идее не должно...

P.S.:  У меня заработали только "Overspeed" и "Underspeed". 

У меня три последовательно соединенных самодельных контроллера для семисегментников работают,все ок. Конфликт происходит, но при этом все работает. При ВНАВ  дисплей гаснет, в других режимах работает.

Share this post


Link to post
Share on other sites

Да, спасибо, разобрался, всё работает, но есть пара косяков. Первый косяк это индикация "8" при превышении скорости,  она мигает хаотчно, в то время как "А" горит нормально. Второй косяк, отображение скорости МАХ после "разблинковки", всегда горит "0", но после одного щелчка энкодера показания стабилизируется и показывает текущее число МАХ-а. 

  • Downvote 1

Share this post


Link to post
Share on other sites

Да, спасибо, разобрался, всё работает, но есть пара косяков. Первый косяк это индикация "8" при превышении скорости,  она мигает хаотчно, в то время как "А" горит нормально. Второй косяк, отображение скорости МАХ после "разблинковки", всегда горит "0", но после одного щелчка энкодера показания стабилизируется и показывает текущее число МАХ-а. 

Индикация "8" должна моргать при меньшей скорости, а символ "А" при превышении должен моргать. Вообще, нужно IAS и MACH делать двумя разными переменными и ставить им предусловие работы одного, если второй не показывает и наоборот, тогда не возникнет "зависаний" при переходе из "blank" режима, но у меня почему-то некорректно работает предусловие переключения между IAS и MACH. Попробуй, может у тебя получится

Share this post


Link to post
Share on other sites

Индикация "8" должна моргать при меньшей скорости, а символ "А" при превышении должен моргать. Вообще, нужно IAS и MACH делать двумя разными переменными и ставить им предусловие работы одного, если второй не показывает и наоборот, тогда не возникнет "зависаний" при переходе из "blank" режима, но у меня почему-то некорректно работает предусловие переключения между IAS и MACH. Попробуй, может у тебя получится

Хорошо, в выходные повожусь ещё.

  • Downvote 1

Share this post


Link to post
Share on other sites

 Собрал МСР 777 все вроде работает. Но есть проблема. Кнопки срабатывают не всегда с первого раза, при повороте энкодера на один щелчок тоже не всегда показания меняется на на одну единицу. Если крутить медленно то вроде лучше.  Такое впечатление как будто маленькая скорость передачи данных.  Кто может подсказать как побороть эту проблему.

Share this post


Link to post
Share on other sites

У меня такая-же история с энкодерами, кнопками и тумблерами. Не сразу срабатывают. Заметил, что это происходит при низком фпс в симе, но ещё грешу на загрузчик ардуино, при работающим девайсе замкнул что-то и он слетел. Пришлось прошивать "левым" программатором (EXTRA-PIC) через PonyProg, прошилось с ошибками, но в целом устройство работает. Позже буду разбираться более тщательно, когда придут посылки с индикаторами и программатором.

  • Downvote 1

Share this post


Link to post
Share on other sites

У меня такая-же история с энкодерами, кнопками и тумблерами. Не сразу срабатывают. Заметил, что это происходит при низком фпс в симе,

 

Если конденсаторы на каждом энкодере, кнопках и тумблерах стоят, но есть задержки в срабатывании, то была похожая проблема. При низком фпс все ядра проца  загружены на 100%, происходит это только на PMDG, следовательно ресурсов на сторонние проги уже не хватает. 

Решил проблему так:

- через диспетчер задач с процесса fsx.exe отключил последнее ядро

- на последнее ядро повесил все сторонние процессы для сима,  MFConnector, погодник, vpilot и тд, сняв с этих процессов остальные ядра

В результате всё заработало идеально даже при просадке фпс,

отключение одного ядра с процесса fsx.exe на фпс не сказалось.

Edited by Wit
  • Upvote 1

Share this post


Link to post
Share on other sites

Решил проблему так:

- через диспетчер задач с процесса fsx.exe отключил последнее ядро

- на последнее ядро повесил все сторонние процессы для сима,  MFConnector, погодник, vpilot и тд, сняв с этих процессов остальные ядра

В результате всё заработало идеально даже при просадке фпс,

отключение одного ядра с процесса fsx.exe на фпс не сказалось.

Кондеи стоят. Остальное, это костыли, при каждом запуске проводить эти манипуляции, можно конечно но это не выход кмк. Я вот давеча, купил оригинальную мегу, с ней побыстрее идёт отклик. Нарисовалась ещё одна проблема (в прочем она была и раньше), это отсутствие реакции на кнопки, энкодеры, светодиоды в самом МСР, причём сами эти девайсы работают и их сигнал обрабатывается ардуиной судя по отклику светодиода на плате. После перезагрузки прибора, некоторые "оживляются". В общем работают через раз. Собственно из-за этого ни как не могу закончить проект и начать другой. Эта проблема была с китайской ардуиной, грешил на неё, но с оригиналом всё повторилось так-же, в пору бросать это дело...

  • Downvote 1

Share this post


Link to post
Share on other sites

в самом МСР....

Блин, тут нельзя редактировать свои сообщения что-ли? Поправка: "в самом МСР 738, в симе".

  • Downvote 1

Share this post


Link to post
Share on other sites

Ну хз, у меня было пару раз так, потом 100мс поставил обновление фсупик и все ок

Share this post


Link to post
Share on other sites

Ну хз, у меня было пару раз так, потом 100мс поставил обновление фсупик и все ок

А какую версию фсупик используете?

Share this post


Link to post
Share on other sites

Кондеи стоят. Остальное, это костыли, при каждом запуске проводить эти манипуляции, можно конечно но это не выход кмк. 

 

выход, не выход,но другого решения я пока не нашёл, и похоже его не найти, разве что перейти на препар. Ибо когда начинает тормозить, то тормозит всё включая EZDOK камеру, FMC на планшет и тд. так что проблема здесь именно в fsx.exe который сжирает все ресурсы проца. я не силён в виндовом shell, может кто напишет батничек для автоматизации этой манипуляции ?  

Хотя потратить 30 секунд перед вылетом, чтоб раскидать процессы по ядрам, труда не составляет.

Share this post


Link to post
Share on other sites

Подскажите, можно ли организовать последовательное соединение двух плат MEGA 2560 ? MCP, EFIS, COMM  используют две платы MEGA 2560, соответственно занимается 2 ЮСБ порта, может можно объединить МЕГИ, допустим по TX,RX ?

Share this post


Link to post
Share on other sites

Подскажите, можно ли организовать последовательное соединение двух плат MEGA 2560 ? MCP, EFIS, COMM  используют две платы MEGA 2560, соответственно занимается 2 ЮСБ порта, может можно объединить МЕГИ, допустим по TX,RX ?

По последовательному соединению 2х ардуинок гугл молчит. В голову приходит только один вариант, это встроить в корпус ЮСБ-хаб на 2 порта. Я себе так буду делать.

  • Downvote 1

Share this post


Link to post
Share on other sites

Нее, места мало в корпусах....надо думать над дуплексным соединением.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...