Opened 6 years ago
Last modified 12 hours ago
#224 reopened дефект
Ложное отображение активности входных сигналов DTR и RTS модуля R232 платы PD-04
Reported by: | alx | Owned by: | anatoly |
---|---|---|---|
Priority: | minor | Component: | MC04-DSL-3U и его платы |
Keywords: | Cc: | san, alx |
Description
Обнаружено, что если в конфигурации модуля R232 платы PD-04 чекбокс "Аппаратное управление" не отмечен, индикаторы DTR и RTS в веб-интерфейсе показывают активность соответствующих сигналов в то время как к плате ничего не подключено, и, следовательно, активными эти сигналы быть не могут. Байт 3 переменной .6.1.1.0 имеет значение 15, то есть плата действительно сообщает об активности сигналов DTR и RTS.
Ожидалось, что индикаторы будут отображаться неактивными, так как к соответствующим входм платы ничего не подключено.
Change History (24)
follow-up: 4 comment:1 by , 6 years ago
comment:2 by , 6 years ago
Resolution: | → готово |
---|---|
Status: | new → closed |
follow-up: 5 comment:3 by , 6 years ago
Уточню немного Толин ответ.
Устно он пояснил что в веб интерфейсе отображаются не сами сигналы DTR и RTS, а то что передаётся в сторону центральной платы в качестве значения этих сигналов. А при отключенном аппаратном управлении в сторону центральной платы принудительно передаются активные уровни.
comment:4 by , 6 years ago
Replying to anatoly:
Если аппаратное управление отключено, то все квитирующие сигналы имеют активный уровень принудительно.
Плата PD-04 не может принудительно ничего установить на DTR и RTS, так как DTS и RTS - это ее входные сигналы. Какой уровень на этих входах, зависит исключительно от внешнего оборудования, но никак не от самой платы PD-04. Например, я могу внешним проводом соединить вход DTR с "землей", и он будет гарантированно неактивным. В веб-интерфейсе при этом должно отображаться неактивное состояние сигнала DTR.
comment:5 by , 6 years ago
Replying to san:
... в веб интерфейсе отображаются не сами сигналы DTR и RTS, а то что передаётся в сторону центральной платы в качестве значения этих сигналов. А при отключенном аппаратном управлении в сторону центральной платы принудительно передаются активные уровни.
Понятно, что сами фзические сигналы DTR и RTS в плату SW-01 не идут. Вместо них плата PD-04 передает информацию о состоянии этих сигналов. Проблема в том, что эта информация не всегда верная: при отключенном аппаратном управлении потоком плата PD-04 отдает (в ответ на запрос переменной .6.1.1.0) информацию о том, что DTR и RTS активны, в то время как на самом деле они неактивны (низкий уровень на входах). Об этом и тикет.
comment:6 by , 6 years ago
Resolution: | готово |
---|---|
Status: | closed → reopened |
И, насколько я понимаю, тикет был закрыт по ошибке - не было выпущено исправления. Переоткрываю.
comment:7 by , 6 years ago
Провел дополнительный эксперимент. В плату PD-04 установил модуль R232, на соответствующем разъеме соединил контакт 7 (DTR) с контактом 4 (SG). Таким образом, я обеспечил на входе DTR напряжение 0, что соответствует неактивному состоянию сигнала. Но в веб-интерфейсе индикатор DTR отображал состояние сигнала как активное, что не соответствует действительности.
follow-ups: 9 12 comment:8 by , 4 years ago
Насколько я понял Толю, он имел в виду что так и задумано.
При снятом чекбоксе "Аппаратное управление" состояние входов DTR и RTS не контролируется, а индикаторы DTR и RTS всегда будут активными.
comment:9 by , 4 years ago
Replying to san:
При снятом чекбоксе "Аппаратное управление" состояние входов DTR и RTS не контролируется, а индикаторы DTR и RTS всегда будут активными.
В таком случае, задуманное противоречит описанному в документации.
comment:11 by , 23 months ago
Component: | PD-04 и ее модули → MC04-DSL-3U и его платы |
---|
comment:12 by , 3 days ago
Cc: | added |
---|
Replying to san:
Насколько я понял Толю, он имел в виду что так и задумано.
При снятом чекбоксе "Аппаратное управление" состояние входов DTR и RTS не контролируется,
а индикаторы DTR и RTS всегда будут активными.
Сейчас в РЭ-74 записано так:
"Если стоит галочка Аппаратное управление, то управляющие сигналы прозрачно передаются на дальний конец (анализа и управления данными в плате не происходит). Состояние входа RTS прозрачно передаётся на дальнюю сторону на выход CTS.
Состояние входа DTR передаётся на дальнюю сторону на выход DSR. Управляющие сигналы и данные передаются через аппаратуру прозрачно от одного пользовательского устройства в другое, анализ и использование управляющих сигналов происходят
в пользовательских устройствах. Если галочка Аппаратное управление не установлена,
то на выходы CTS и DSR всегда выдаётся неактивное состояние.
В следующей редакции РЭ-75 это надо исправить? "
Если надо исправить, то напишите тикет в мой компонент "Инструкция по эксплуатации".
follow-ups: 14 16 comment:13 by , 36 hours ago
Resolution: | → это не баг |
---|---|
Status: | reopened → closed |
Раз уж Vladimir поднял этот тикет из прошлого, думаю пора его закрыть :)
Автором задуманно так:
- При установленном чекбоксе "Аппаратное управление" значения входных сигналы RTS и DTR передаются прозрачно на дальнюю сторону и выдаются на выходы CTS и DSR соответственно.
- Если чекбокс снят, то считается, что входы RTS и DTR и выходы CTS и DSR не используются и их состояние не определено, а индикация не имеет значения.
comment:14 by , 35 hours ago
Replying to san:
пора его закрыть :)
8-() Поясни, пожалуйста, закрытие тикета. Верно ли я понял, что если прошло какое-то (большое) время, то тикет надо закрыть независимо от того, было что-то сделано для устранения проблемы или нет? :)
Ты закрыл тикет с резолюцией "это не баг". Хочется узнать, а что это, в таком случае.
Наконец, в твоем комментарии, сопровождающем закрытие тикета ни слова не говорится об индикаторах в веб-интерфейсе, что наводит на мысль, что ты просто не понял (или понял неправильно) суть проблемы (которая состоит в неверной индикации, а не в неверной передаче каких-либо сигналов на выходы, о которых ты писал в комментарии). Перечитай, пожалуйста, описание тикета.
follow-up: 17 comment:15 by , 35 hours ago
comment:16 by , 35 hours ago
Replying to san:
Раз уж Vladimir поднял этот тикет из прошлого, думаю пора его закрыть :)
Автором задуманно так:
- При установленном чекбоксе "Аппаратное управление" значения входных сигналы RTS и DTR передаются прозрачно на дальнюю сторону и выдаются на выходы CTS и DSR соответственно.
- Если чекбокс снят, то считается, что входы RTS и DTR и выходы CTS и DSR не используются и их состояние не определено, а индикация не имеет значения, т.е. индикаторы не врут :-)
С учётом предложения от san я изменил текст в редактируемом РЭ-75,
но готов изменить сколько угодно раз в лучшую сторону :-)
Влад уже проверил в блоке с платой PD-04 + R232:
если индикаторы DTR, DSR зелёные, то уровни напряжения соответствуют активности.
comment:17 by , 34 hours ago
Replying to san:
Индикация в данном случае показывает ерунду
Об этом я написал в описании тикета еще 6 лет назад, и именно по этой причине я и создал этот тикет. Не понял, в чем смысл твоего комментария...
follow-up: 19 comment:18 by , 33 hours ago
Смысл моего комментария, что автором так и задумано.
При отключённом чекбоксе на индикаторы смотреть не нужно
comment:19 by , 32 hours ago
Replying to san:
Смысл моего комментария, что автором так и задумано. При отключённом чекбоксе на индикаторы смотреть не нужно
Я понял, что автором так задумано, но я не понимаю, какое это имеет отношение к закрытию тобой тикета. Следует ли понимать тебя так, что то, что задумал и сделал автор, нельзя критиковать трогать (изменять, улучшать) ни при каких условиях? :) Думаю что нет, так как ты сам неоднократно создавал тикеты, в которых предлагал авторам самые разные изменения. Не далее как сегодня ты сам создал для меня два тикета. Автор - не господь бог, и он мог в своей задумке ошибиться, задумать плохо, неправильно... Или этот конкретный автор - особенный? :)
Мы имеем факт: работа аппаратуры противоречит документации (с этим вроде бы никто не спорит). В моем понимании - это однозначно баг, поэтому я создаю тикет. Ты закрываешь тикет с противоречивым комментарием (в тексте комментария пишешь, что тикет закрыт потому что пришла пора (???), но резолюцию почему-то выбираешь "это не баг") и не хочешь пояснить причину закрытия (не отвечаешь на вопросы comment:14)... Мне эта ситуация кажется странной, неправильной. Не помню, чтобы когда-либо ранее ты закрывал чей-то (заметь, не свой!) тикет без разумных объяснений...
comment:20 by , 31 hours ago
Resolution: | это не баг |
---|---|
Status: | closed → reopened |
Сегодня эта ситуация с багом 6-летней давности меня немного разозлила. Я залез в eng_progs и обнаружил там исходники ПЛИС платы PD-04. Там я, как мне кажется, нашел место, где индикация DTR/RTS "портится" при выключении "Аппаратного управления". Предлагаю посмотреть следующий патч:
-
module.tdf
old new 450 450 cas_b_rx = VCC; 451 451 ELSE 452 452 IF (module_type[4..0] == RS_232) THEN 453 IF hard_management THEN454 453 cas_a_rx = cas_a_rx_; -- ??????????? 455 454 cas_b_rx = cas_b_rx_; 456 ELSE457 cas_a_rx = GND; -- ???????458 cas_b_rx = GND;459 END IF;460 455 ELSIF (module_type[4..0] == CS_02) THEN 461 456 IF cs_tx_tdm[1] THEN 462 457 cas_a_rx = VCC;
Здесь cas_a_rx
и cas_b_rx
- это сигналы индикации RTS/DTR, которые отдаются процессору платы, cas_a_rx_
и cas_b_rx_
- профильтрованные входные сигналы RTS/DTR.
На выяснение этого у меня ушло приблизительно 30 минут. По моему скромному мнению, вот эта вот фигня не стоила шести лет ожидания исправления и нескольких (!!!) тикетов с предложениями замести эту проблему под ковер в веб-интерфейсе...
Прошу протестировать мой патч в аппаратуре, и если все OK выпустить обновление. Если разработчик ПЛИС PD-04 сильно занят, прошу san поручить это кому-нибудь еще.
follow-ups: 22 24 comment:21 by , 17 hours ago
ситуация с багом 6-летней давности
Формально это не баг, т.к. разработчик задумывал именно такое поведение.
cas_a_rx
иcas_b_rx
- это сигналы индикации RTS/DTR, которые отдаются процессору платы
Подозреваю, что эти же сигналы передаются в TDM, т.е. твой патч изменит не только индикацию...
Вообще у меня было желание просто убрать этот чекбокс из настроек(точнее сделать чтобы он всегда был включен), не вижу смысла для пользователя отключать передачу RTS/DTR. Алексей, что ты думаешь об этом предложении?
comment:22 by , 14 hours ago
Type: | дефект → улучшение |
---|
Replying to san:
Формально это не баг,
А что тогда в твоем понимании баг? Дай свое определение, пожалуйста.
Я думал, что когда поведение устройства не соответствует написанному в документации - это ненормально, так быть не должно. Иными словами, имеет место дефект, баг. А по-твоему противоречие реального поведения описанному в документации - это нормально?
Поставь себя на место потребителя, столкнувшегося с такой ситуацией. В документации он читает, что индикатор отражает состояние входного сигнала, а на практике видит - что нет, не отражает. Что он подумает? По-моему ясно что - что эта функция не работает... Уверен, что ты не хуже меня знаешь, что основой Политики в области качества ООО "АДС" является стремление повысить удовлетворенность потребителя. Ты сам неоднократно повторял, что мы - клиентоориентированная компания. Будет ли потребитель удовлетворен, обнаружив, что заявленная в документации функция не работает?
т.к. разработчик задумывал именно такое поведение.
Если разработчик задумал и реализовал именно так, то почему в РЭ поведение индикаторов описано по-другому, а не так, как задумано (и реально реализовано в ПЛИС) разработчиком? Это вдвойне удивительно, учитывая, что на тот момент разработчиком ПЛИС PD-04 и разработчиком РЭ было одно и то же лицо...
cas_a_rx
иcas_b_rx
- это сигналы индикации RTS/DTR, которые отдаются процессору платы
Подозреваю, что эти же сигналы передаются в TDM, т.е. твой патч изменит не только индикацию...
В comment:13 ты сам написал:
Если чекбокс снят, то считается, что входы RTS и DTR и выходы CTS и DSR не используются и их состояние не определено
Если сигналы не используются, то какая разница, что передавать - 0 или не 0?
Я не утверждаю, что предложенный мной патч безупречен (поэтому и просил о проверке "в железе"). Возможно, он никуда не годится. Но это ИМХО единственная попытка реального решения проблемы за последние 6 лет. Путь в тысячу ли начинается с первого шага... :)
Вообще у меня было желание просто убрать этот чекбокс из настроек(точнее сделать чтобы он всегда был включен), не вижу смысла для пользователя отключать передачу RTS/DTR. Алексей, что ты думаешь об этом предложении?
Я не знаю, из каких соображений была введена эта настройка (ведь была, наверное, какая-то необходимость - вряд ли разработчики ввели настройку от скуки!), а без этого знания я не могу составить мнение о предложении ее убрать...
comment:23 by , 14 hours ago
Type: | улучшение → дефект |
---|
Прошу прощения, поторопился изменить тип тикета на "улучшение". Сначала, узнав, что san противоречие реального поведения документации дефектом не считает, хотел изменить, но потом решил дождаться результата дискуссии по этому вопросу..
comment:24 by , 13 hours ago
Replying to san:
не вижу смысла для пользователя отключать передачу RTS/DTR. Алексей, что ты думаешь об этом предложении?
Могу ответить на твой вопрос так: я тоже для пользователя такого смысла не вижу. Пользователю было бы удобнее без такой настройки (проще - лучше). Но я не знаю, возможно ли исключить эту настройку технически. Насколько я понял из вчерашнего анализа кода ПЛИС, эта настройка не делает ничего кроме зануления/заединичивания входных/выходных управляющих сигналов. Зачем это могло потребоваться разработчикам, для меня непонятно...
Если аппаратное управление отключено, то все квитирующие сигналы имеют активный уровень принудительно.