Работаем с Iocards

Вопрос к 601. Возможно ли изготовление приборов под заказ?

Вопрос к 601. Возможно ли изготовление приборов под заказ?

Я никогда никаких приборов на заказ не делал. Поговорите с Bird.

View Postfiyrus, on 20 June 2009 — 07:23, said:

ну как сказать …. при номинале 0.01 мкф и 5-ти вольтах , прямой разряд этой емкости на землю не вызывает даже искры… в какойтомомент ток может достигать и 10-ти ампер , только при такой емкости , время импульса стремиться к нулю

Пропустил я сладкую дискуссию по схемотехнике — был в отпуске 🙁
Думаю виснет плата из-за разрядки конденсаторов либо по цепи питания, либо по цепи резета. Для проверки отпилите контроллер от питания и подключите к питанию через резистор ~50ом и диод катодом в сторону ПИК, а прямо паралельно ногам питания ПИК повесьте емкость 1000мкФ и 22нФ. Резет зашунтируйте емкостью 1мкф. Прожгите перемычку CLOCKSAFE PROTECT или как там она зовется. Конденсаторы при разрядке в шину дают ИГОЛКУ, это такой импульс, который длится наносекунды, но ток составляет сотни ампер (зависит от качеста конденсатора) и может даже менять полярность на линии питания. Спектр сигнала из теории тем шире, чем короче импульс, т.е. игла имеет бесконечно широкий спектр и проходит любой РЦ-фильтр. Эти иглы очень тяжело выловить бытовым осцилографом. Короче это проще предотвратить на этапе проектирования чем побороть в готовом изделии. Надеюсь, эта проблема у Вас уже полностью решена.

View PostEvgeny_, on 28 August 2009 — 02:18, said:

Пропустил я сладкую дискуссию по схемотехнике — был в отпуске 🙁
Думаю виснет плата из-за разрядки конденсаторов либо по цепи питания, либо по цепи резета. Для проверки отпилите контроллер от питания и подключите к питанию через резистор ~50ом и диод катодом в сторону ПИК, а прямо паралельно ногам питания ПИК повесьте емкость 1000мкФ и 22нФ. Резет зашунтируйте емкостью 1мкф. Прожгите перемычку CLOCKSAFE PROTECT или как там она зовется. Конденсаторы при разрядке в шину дают ИГОЛКУ, это такой импульс, который длится наносекунды, но ток составляет сотни ампер (зависит от качеста конденсатора) и может даже менять полярность на линии питания. Спектр сигнала из теории тем шире, чем короче импульс, т.е. игла имеет бесконечно широкий спектр и проходит любой РЦ-фильтр. Эти иглы очень тяжело выловить бытовым осцилографом. Короче это проще предотвратить на этапе проектирования чем побороть в готовом изделии. Надеюсь, эта проблема у Вас уже полностью решена.

Именно это я подозревал. Я переделывал плату чтобы понять в чем причина зависания, вешая светодиод на свободную ногу и переделав прошивку чтобы она мигала им по таймеру. Увидел что если не крутить энкодером, то контроллер работает сутками от этого блока питания, значит питание а порядке. В исходной прошивке был установлен таймер делающий ресет контроллера по аварии питания, что меня насторожило. А еще я заметил, что виснет чаще с энкодером, у которого основное положение не 00, а 10, т.е. один контакт замкнут, т.е. один из конденсаторов фильтра полностью заряжен. Но как я уже сказал, перевесив конденсаторы между ногами энкодера, проблема ушла. По крайней мере пока я ее снова выловить не смог — все работает. Причем у меня была задача заставить работать плату с минимальными переделками, т.к. уже есть куча готовых плат, полученных с завода.

«Кто-то» говорил, что мне придется научиться анализировать и чинить этот «программно-аппаратный комплекс» 🙂 Так и вышло 🙂

Так всегда, если хочешь сделать что-то хорошо, приходится разбираться и делать все самому…

View Postwij, on 24 Июль 2009 — 16:46, said:

Респект !
А с ALPS-Dual Encoder ( EC11EBB24C03 ) нет возможности протестировать ?
На пьедестале Boeing потребуются двойные энкодеры, ради них в основном и приобретают плату энкодеров, если есть » родные » 288
и не хочется конструировать из них двойной. А о работе платы с ALPS Dual EC11 информация противоречивая. У одних работает, у других нет,
изменение значения происходит только на каждый второй клик и не помогает изменение скрипта. Кто то утверждает, что
к плате можно подключить только один ( ??? ) dual-encoder …

Слуйчайно на глаза попался сайт http://www.overkills…s.com/id12.html
На нем новая прошивка для платы энкодерс для как раз таких энкодеров. как ALPS Dual EC11
У меня нет такого энкодера, но товарищ отсюда (http://www.hoddo.net/) утверждает, что все работает на ура.

Находка ценнейшая !
Спасибо !

Нужда заставила полностью переписать блок IOCP клиента (изначально был использован код товарища по имени Nico Kaan)
В процессе тестирования я работал с двумя серверами:
— стандарный сервер в SIOC 3.5
— XPLUIPC.xpl версии 2.0.0.0 от 2004 года для Xplane.

К стандартному серверу вопросов нет, хотя он не присылает начальное состояние переменных, если их значение равно нулю. Ну это, в принципе, «можно и так ездить, на скорость не влияет» :sarcastic:
А вот к серверу xpluipc куча претензий!
Во-первых, он постоянно лепит один фрейм IOCP размером от 1 до 5 килобайт, вне зависимости от небольшого количества переменных. Соответственно, в посылках 90% символов «пробел».
Во-вторых, при высокой частоте обновления, что устанавливается в ini файле, он клепает апдейты одной переменной в одну посылку. Таким образом в одной посылке одна переменная к нам придет несколько раз с разными значениями. Что ИМХО полный бред.
А я-то удивлялся, почему у меня проблемы с джиттером при пересылке через IOCP? Конечно, по 4к мусора раз в 10мс парсить.

В общем, понятно, что под X-plane сервер придется или искать новый, или писать новый, что не хочется. Может кто тестил разные сервера под него?

Виталь, снимаю шляпу в очередной раз!

Даже не знаю в какую тему запостить, но раз использован SIOC и IOCP выложу сюда. В общем, доделывая пульты ПН-5 и ПУ-46 задумался чем бы зажигать лампы. Так уж сложилось, что приобрести готовую аппаратно-программную часть не могу, решил делать сам. Основная проблема была в софте который-бы доставал нестандартные переменные PT. Проблему решил Виталий Vitabuch, любезно поделившийся PTMediator-ом, который достает значения переменных и отправляет их IOCP серверу. Собственно решение такое-же как и у Ивана Sly. За исключение того, что IOCARDS у меня тоже нет, вывод сделан через FSBus DO64. В итоге получился так называемый «бюджетный» вариант вывода. Но свою задачу он выполняет на отлично.
Небольшой тест

Установка и подключение пульта.
Прикрепленное изображение

Павел скромно умолчал, что он адаптировал ПТМедиатор под крайнюю версию ТУ154М. На мой взгляд имеет смысл опубликовать полный список нестандарта, уже сейчас доступного через ПТМедиатор (АРК,контрольные табло…)
Ещё раз спасибо Виталию Vitabutch и Павлу Spl за программу. Именно такие работы двигают вперёд кокпитстроительство !

Ну вы меня прямо засмущали 🙂
По большому счету PTMediator был написан на основе клиента IOCP от Niko Kaan. А методику работы с памятью, как поиск процессов и нужных gau, подсказал Михаил (ХочуЛетать) с форума PT. Nico и Михаил, вам тоже большое спасибо! 🙂

Мое ИМХО: все вышеописанное наглядно демонстрирует большую живучесть и реалистичность проектов, которые частично используют часть готовых решений.
Не важно, что сейчас я переписываю модуль IOCP. Код от Нико Каана работает хорошо, просто он не удобен для использования в качестве отдельного потока в большом приложении. А для драйверов и медиаторов, на мой взгляд, он подходит отлично!

P.S. Обновлено — IOCP модуль как отдельный процесс готов и оттестирован на крупные баги. Трейс, дебаг и IOCP консоль встроены в приложение. См скрин.

Прикрепленные изображения

  • Прикрепленное изображение

Вот тебе и Виталик. А кто-то «рядом» с FS Panel Studio разобраться не может…