Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод текстовой документации в KiCAD-ГОСТ
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > KiCAD
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
tema-electric
Тестирую менеджер. Блин, в какой-то недавней ревизии добавлялись пустые поля Type и теперь полный атас ((. В каждый элемент надо заходить и грохать пустое поле, иначе в менеджере поле "Значение" пустое. А по факту - нет. Но это так, мелочи жизни.

Предложение. Можно добавить копирование отдельных элементов, чтобы в буфер копировались все поля разом и потом вставлялись в группу выделеных элементов или один элемент?
AVL
Цитата(tema-electric @ Jul 2 2013, 15:10) *
Тестирую менеджер. Блин, в какой-то недавней ревизии добавлялись пустые поля Type и теперь полный атас ((. В каждый элемент надо заходить и грохать пустое поле, иначе в менеджере поле "Значение" пустое. А по факту - нет. Но это так, мелочи жизни.

Ничего не понял.
Цитата(tema-electric @ Jul 2 2013, 15:10) *
Предложение. Можно добавить копирование отдельных элементов, чтобы в буфер копировались все поля разом и потом вставлялись в группу выделеных элементов или один элемент?

Можно.
tema-electric
Цитата(AVL @ Jul 2 2013, 19:20) *
Ничего не понял.

Просто я попал в неприятную ситуацию.
Разрабатывать схему я начал 2 недели назад. За эти две недели довольно активно собирал KiCAD и инсталировал. Пару раз запускал GOST-Tools, просто, ради интереса. Теперь на схеме большая часть элементов имеет пустое поле Type, в том числе и микросхемы. Исключением являются элементы, добавленнные в последних версиях, в которых менеджер добавляет не просто пустое поле, а копирует туда ChipName, если ChipName == Value. Так вот, если открыть менеджер, там будет пусто, сами знаете почему. Поле Value есть, и оно совпадает с ChipName, а Type пустое. Как хочешь, так и определяй, что в схеме стоит: полн "значение" пустое, хотя по факту и нет. ChipName не отображается. Пришлось вручную заходить во все микросхемы и удалять пустое поле Type, чтобы в 70-й сборке поле type создалось автоматом и корректно.

Такие пироги.
AVL
Цитата(tema-electric @ Jul 2 2013, 19:00) *
Просто я попал в неприятную ситуацию.
Разрабатывать схему я начал 2 недели назад. За эти две недели довольно активно собирал KiCAD и инсталировал. Пару раз запускал GOST-Tools, просто, ради интереса. Теперь на схеме большая часть элементов имеет пустое поле Type, в том числе и микросхемы. Исключением являются элементы, добавленнные в последних версиях, в которых менеджер добавляет не просто пустое поле, а копирует туда ChipName, если ChipName == Value. Так вот, если открыть менеджер, там будет пусто, сами знаете почему. Поле Value есть, и оно совпадает с ChipName, а Type пустое. Как хочешь, так и определяй, что в схеме стоит: полн "значение" пустое, хотя по факту и нет. ChipName не отображается. Пришлось вручную заходить во все микросхемы и удалять пустое поле Type, чтобы в 70-й сборке поле type создалось автоматом и корректно.

Такие пироги.

Не могу понять откуда могли взяться пустые атрибуты Type?
В прежней реализации, если атрибут Type оказывался пустым, то он уничтожался самой EESchema. То есть пустых атрибутов Type не было в схеме при прежней реализации менеджера компонентов.
При текущей реализации менеджера компонентов, если атрибута Type в схеме не было, то атрибут Type создается менеджером компонентов принудительно, и атрибуту Type присваивается значение атрибута ChipName не зависимо от того равен ChipName значению Value или не равен.

Атрибут Type может стать равен "~" (отображаться в поле Тип пустым) только в том случае, если в ручную стереть поле Тип используя текущую реализацию менеджера компонентов (4170).
tema-electric
Цитата(AVL @ Jul 2 2013, 22:45) *
Не могу понять откуда могли взяться пустые атрибуты Type?

Я тоже cranky.gif

Дома 4157, на работе я начал с 62й ревизии и закончил на 70й. У меня есть контрольные ревизии разработки, но их немного, всего 6. Изменения произошли между 4й и 5й. Четвертую ревизию я коммитил 27 числа. Как определить версию сборки, не знаю. Посмотрю завтра на работе даты создания deb пакетов.

Удалять умышленно у всех элементов поле type я бы не стал.

AVL
Цитата(tema-electric @ Jul 2 2013, 20:16) *
Дома 4157, на работе я начал с 62й ревизии и закончил на 70й. У меня есть контрольные ревизии разработки, но их немного, всего 6. Изменения произошли между 4й и 5й. Четвертую ревизию я коммитил 27 числа. Как определить версию сборки, не знаю. Посмотрю завтра на работе даты создания deb пакетов.

Сможете прислать 4-ю и 5-ю ревизии схемы?
Надо посмотреть, может баг где закрался.
AVL
Цитата(tema-electric @ Jul 2 2013, 20:16) *
Цитата
Не могу понять откуда могли взяться пустые атрибуты Type?

Я тоже cranky.gif

В ревизии 4171 расширил проверку атрибута Type. Теперь проверяется не только отсутствие атрибута Type, но также проверка на Type=="".
Задать руками атрибут Type = "" через GUI EESchema не удается, EESchema при попытке задать пустую строку в атрибуте предупреждает, что атрибут будет удален, и удаляет его.
А вот менеджер компонентов в старых ревизиях присваивал пустую строку атрибуту Type, если поле Тип было стерто в менеджере компонентов, и в этом случае все-таки EESchema такой атрибут не удаляла (механизм редактирования атрибутов через GUI EESchema отличается от редактирования атрибутов программным путем, а именно со стороны менеджера компонентов. EESchema удаляет пустой атрибут только, если редактирование идет через GUI EESchema).

Так что в ревизии 4171 такие нештатные ситуации с пустым атрибутом учтены. Теперь все в порядке. Ранее введенные схемы теперь отображаются нормально (поле Тип).
tema-electric
Цитата(AVL @ Jul 3 2013, 03:02) *
Теперь все в порядке.

Вроде да, облегчило мою учесть sm.gif Спасибо.

Ошибка текстовая в менеджере "-NPO-50 В-", вместо нуля стоит буква O, т.е. должно то быть "-NP0-50 В-".

При выводе спецификации в одну строку запихал слишком длинное название и оно не вместилось.

(В спецификации)
Кварцевый резонаторKX-K 16.0 MHz (эта строчка не влезла)
Фирма "Gayer"
корпус HC-49SMD

(В компоненте структура полей)
F 0 "ZQ1"
F 1 "QUARTZ"
F 2 "Quartz-HC-49SM"
F 3 ""
F 4 "Кварцевый резонатор" "Type"
F 5 "Прочее" "Title"
F 6 "KX-K 16.0 MHz" "SType"
F 7 "корпус HC-49SMD" "Note"
F 8 "Gayer" "Manufacturer"

AVL
Цитата(tema-electric @ Jul 3 2013, 06:57) *
Ошибка текстовая в менеджере "-NPO-50 В-", вместо нуля стоит буква O, т.е. должно то быть "-NP0-50 В-".

исправил в ревизии 4172.
Цитата(tema-electric @ Jul 3 2013, 06:57) *
При выводе спецификации в одну строку запихал слишком длинное название и оно не вместилось.

(В спецификации)
Кварцевый резонаторKX-K 16.0 MHz (эта строчка не влезла)
Фирма "Gayer"
корпус HC-49SMD

(В компоненте структура полей)
F 0 "ZQ1"
F 1 "QUARTZ"
F 2 "Quartz-HC-49SM"
F 3 ""
F 4 "Кварцевый резонатор" "Type"
F 5 "Прочее" "Title"
F 6 "KX-K 16.0 MHz" "SType"
F 7 "корпус HC-49SMD" "Note"
F 8 "Gayer" "Manufacturer"

А с чем связано прописывание в поле "Наименование" = "Прочее", а в поле "Тип" = "Кварцевый резонатор"?
По идее должно быть:
"Наименование" = "Кварцевый резонатор"
"Тип" = "KX-K 16.0 MHz" (либо разбивка строки на части и использование полей "Тип", "Подтип", и возможно, "Номинал")
"Подтип" = ""
"Примечание" = "корпус HC-49SMD"
"Производитель" = "Gayer"

Поля "Тип" и "Подтип" пока предполагал, что лучше чтобы не отделялись друг от друга (перенос на новую строку заблокирован) при генерации документов.
tema-electric
Цитата(AVL @ Jul 3 2013, 13:39) *
Поля "Тип" и "Подтип" пока предполагал, что лучше чтобы не отделялись друг от друга (перенос на новую строку заблокирован) при генерации документов.

Хорошо, буду знать wink.gif Я просто думал Вы определяете полную ширину записи и потом разбиваете ее так или иначе.
AVL
Цитата(tema-electric @ Jul 3 2013, 10:49) *
Хорошо, буду знать wink.gif Я просто думал Вы определяете полную ширину записи и потом разбиваете ее так или иначе.

Обработка при разбивке выполняется для всей строки целиком (составленной только из тех полей, которые попадают в требуемую колонку в документе). Но в самой строке с помощью управляющих символов я также указываю какие участки строки нельзя разбивать, какие можно, а какие нужно.
tema-electric
Можно ли как-то автоматизировать работу с многоэлементными компонентами? Это актуально для операционников, цифры, сборок.

Сейчас приходится затирать поле Title у дубликатов, чтобы они не попадали в документацию.
AVL
Цитата(tema-electric @ Jul 4 2013, 13:35) *
Можно ли как-то автоматизировать работу с многоэлементными компонентами? Это актуально для операционников, цифры, сборок.

Сейчас приходится затирать поле Title у дубликатов, чтобы они не попадали в документацию.

По-позже посмотрю что можно сделать. Сейчас дела навалились...
AVL
Цитата(tema-electric @ Jul 4 2013, 13:35) *
Можно ли как-то автоматизировать работу с многоэлементными компонентами? Это актуально для операционников, цифры, сборок.

Сейчас приходится затирать поле Title у дубликатов, чтобы они не попадали в документацию.

Сделал в ревизии 4174.
AVL
Развязал окна менеджера компонентов и EESchema в ревизии 4176.
tema-electric
Александр, попробовать получится только через неделю sm.gif Тоже работа навалилась. Спасибо!
AVL
Цитата(tema-electric @ Jun 22 2013, 09:34) *
Возможна ли синхронная работа GOST-Tools с EESchema? Чтобы при указании конкертного компонента, в EESchema на него перепрыгивал курсор, как это сейчас реализовано в CvPCB и NewPCB. Это было бы удобно при заполнении полей, чтобы не заполнять их во время составления схемы. Последнее время я так и делаю, потому что в GOST-Tools заполнить номиналы теперь можно гораздо быстрее, однако долго ищется сам компонент на схеме для определения его роли.

Цитата(break @ Jun 27 2013, 12:49) *
Ещё есть пожелание: устанавливать курсор в схеме на редактируемый в Менеджере компонентов элемент, как это сделано в CvPcb. Если нет возможности, то хотя бы развязать окна Eeschema и Менеджера, чтобы переключение на Менеджер не поднимало автоматически Eeschema.

Добавил автоматическое перемещение курсора согласно выбранному компоненту в менеджере компонентов в ревизии 4177.
Сделал управление курсором из менеджера компонентов не только в EESchema, но и в Pcbnew (актуально для тех, кто вводит атрибуты компонентов на поздней стадии, либо редактирует существующую плату).
break
AVL
Всё-таки я не понимаю. В выложенной схеме A1 и A2 в полях, кроме содержимого, отличий нет. Но почему-то у A1 при запуске Менеджера компонентов поле "Значение" остаётся, а у A2 стирается. Если в поле "Type" забить одинаковые значения, то у A1 начинается дублирование.
У меня создаётся впечатление, что сказывается содержимое поля "Значение".
Более того, я уверен в этом. Когда я вставил точку перед последней буквой, то содержимое поля не стёрлось и в Менеджере отобразилось.
Сборка 4179 вин.
AVL
Цитата(break @ Jul 15 2013, 18:18) *
AVL
Всё-таки я не понимаю. В выложенной схеме A1 и A2 в полях, кроме содержимого, отличий нет. Но почему-то у A1 при запуске Менеджера компонентов поле "Значение" остаётся, а у A2 стирается. Если в поле "Type" забить одинаковые значения, то у A1 начинается дублирование.
У меня создаётся впечатление, что сказывается содержимое поля "Значение".
Более того, я уверен в этом. Когда я вставил точку перед последней буквой, то содержимое поля не стёрлось и в Менеджере отобразилось.
Сборка 4179 вин.

еще раз дублирую свой ответ:
Цитата(AVL @ Jun 30 2013, 01:24) *
Это не глюк. Так сделано намеренно. Если у компонента атрибуты Chip Name и Value совпадают, то менеджером компонентов поле Value интерпретируется как пустое (см. руководство пользователя).
Данный вопрос уже много раз обсуждали в этой теме. Одни из первых обсуждений по данному вопросу в сообщениях:
1, 2, 3, 4.
И потом многократно обсуждали этот нюанс французского подхода. Для меня это пока главная головная боль.

По Вашему примеру с A2 не понятно почему атрибут Type равен "~". Видимо это было сделано руками (стерто руками в менеджере компонентов автоматически проинициализированное до этого поле Тип). Попробуйте в свойствах компонента удалить атрибут Type. Дальше запустите менеджер компонентов, и Вы увидете, что поле Тип станет равно значению атрибута Chip Name (см. руководство пользователя), и атрибут Type воссоздастся. Данное присвоение происходит однократно, если до этого не существовал атрибут Type. Эти действия привел только наглядный эксперимент. Можно это не делать, а просто задать сразу в менеджере компонентов в поле Тип то, что нужно.
Тип компонента нужно хранить в атрибуте Type. Если тип компонента хранить в атрибуте Value, то порядка не будет.

Вы пишите "В выложенной схеме A1 и A2 в полях, кроме содержимого, отличий нет."
Как раз это и влияет:
A1: ChipName == Value ? Нет, значит отобразить поле "Номинал" равное атрибуту "Value".
A2: ChipName == Value ? Да, значит отобразить поле "Номинал" пустым.

Если Вы пишите, что у Вас поле называется "Значение", попробуйте обновиться из хранилища lp:~kicad-gost-committers/kicad/doc. Там в ревизии 446 исправлен перевод с "Значение" на "Номинал" в менеджере компонентов.
break
AVL
A1: ChipName == Value ? Нет, значит отобразить поле "Номинал" равное атрибуту "Value".
A2: ChipName == Value ? Да, значит отобразить поле "Номинал" пустым.

A1 - "нет", A2 - таки тоже "нет".
Там всё одинаково, кроме содержимого полей "Значение" и "Посадочное место" (названия приведены как они сделаны в Eeschema). В поле "Тип" у каждого элемента стоит тильда.
Более того, добавление или удаление точки в поле "Значение" (в любое место, хоть в середину, хоть в начало, хоть в конец) приводит к тому, что ничего не стирается. И, кроме того, поле "Номинал" ("Значение" в Eeschema) не отображается пустым, оно стирается, точнее становится тильдой (и на схеме тоже!!!).
Правда удаление точки у A1 ничего не меняет.
Ничего не понимаю. (с)

Там в ревизии 446 исправлен перевод с "Значение" на "Номинал" в менеджере компонентов.
В Eeschema одно название, в Менеджере компонентов - другое. Путаница возникает, однако.

P.S. Сейчас ради эксперимента попробовал разные символы. Кроме точки можно в конец добавить пробел, чтобы безобразия прекратились.
AVL
Поскольку поле в EESchema не во всех случаях однозначно соответствует полю в менеджере компонентов (осталась непрозрачность для "Value"), то я в объяснениях использую термин "атрибут", когда речь идет о свойствах компонента в EESchema. А термин "поле" я использую, когда речь идет о полях в менеджере компонентов.
Цитата(break @ Jul 16 2013, 09:46) *
AVL
A1: ChipName == Value ? Нет, значит отобразить поле "Номинал" равное атрибуту "Value".
A2: ChipName == Value ? Да, значит отобразить поле "Номинал" пустым.

A1 - "нет", A2 - таки тоже "нет".

Как же тоже нет? A2: атрибут ChipName (Имя компонента) = AM20CW-4812SZ, атрибут Value (Значение) = AM20CW-4812SZ.
Цитата(break @ Jul 16 2013, 09:46) *
Там всё одинаково, кроме содержимого полей "Значение" и "Посадочное место" (названия приведены как они сделаны в Eeschema).

Атрибут "Значение" (Value) влияет на поведение поля в менеджере компонентов. Атрибут "Посадочное место" (Footprint) ни на что не влияет в менеджере компонентов.
Цитата(break @ Jul 16 2013, 09:46) *
В поле "Тип" у каждого элемента стоит тильда.

Тильда означает, что атрибут пустой. Вам нужно написать тип компонента в атрибуте "Тип" (Type) в свойствах компонента в EESchema, либо через менеджер компонентов в поле "Тип".
Цитата(break @ Jul 16 2013, 09:46) *
Более того, добавление или удаление точки в поле "Значение" (в любое место, хоть в середину, хоть в начало, хоть в конец) приводит к тому, что ничего не стирается.

Так будет в случае компонента A1, поскольку у этого компонента атрибут ChipName != атрибуту Value.
В случае компонента A2 (ChipName == Value), если внесете любую модификацию в значение атрибута Value, то после этого значение атрибута Value отобразится в поле "Номинал" в менеджере компонентов.
Цитата(break @ Jul 16 2013, 09:46) *
И, кроме того, поле "Номинал" ("Значение" в Eeschema) не отображается пустым, оно стирается, точнее становится тильдой (и на схеме тоже!!!).

Это после чего так происходит?
Цитата(break @ Jul 16 2013, 09:46) *
Правда удаление точки у A1 ничего не меняет.

Да, все правильно (см. объяснение выше).
Цитата(break @ Jul 16 2013, 09:46) *
Там в ревизии 446 исправлен перевод с "Значение" на "Номинал" в менеджере компонентов.
В Eeschema одно название, в Менеджере компонентов - другое. Путаница возникает, однако.

Как лучше? "Значение" или "Номинал"? Видимо надо голосование будет устраивать? sm.gif
Цитата(break @ Jul 16 2013, 09:46) *
P.S. Сейчас ради эксперимента попробовал разные символы. Кроме точки можно в конец добавить пробел, чтобы безобразия прекратились.

Это не верный подход. Чтобы "безобразия" реально прекратились, нужно прекратить вписывать тип компонента в атрибут Value ("Значение") / поле "Номинал".

Непрозрачность с полем "Номинал" введена только для того, чтобы не заставлять пользователей в старых схемах стирать значение атрибута Value ("Значение") для таких компонентов как микросхемы и др., поскольку атрибут Value ("Значение") не имеет смысла для них, а его заполненность вызывает путаницу и проблемы.

При правильном использовании должно быть заполнено следующим образом. Я уже не знаю сколько повторять одно и тоже sm.gif

Для компонентов с номиналами (конденсаторы, резисторы, дроссели и некоторые другие):
атрибут Value = номинал, например, 1 кОм
атрибут Type = тип, например, МЛТ-0,125

Для компонентов без номиналов (микросхемы и другие):
атрибут Value = ДОЛЖЕН БЫТЬ ПУСТЫМ!, но так как через EESchema пустым его задать не получится, то нужно вписать "~".
атрибут Type = тип, например, SN74HC00D
tema-electric
Вернулся из командировки, и собрал свежий кикад 4180 )) Хотел добить перечень sm.gif Запуск менеджера выдал мне 4 предупреждения с текстом, мол некоторые компоненты были изменены вне схемы, после чего я попытался ткнуть в первый попавшийся компонент чтобы увидеть данные, после чего менеджер повис наглухо cranky.gif Пойду пересобирать.
AVL
Цитата(tema-electric @ Jul 16 2013, 13:25) *
Вернулся из командировки, и собрал свежий кикад 4180 )) Хотел добить перечень sm.gif Запуск менеджера выдал мне 4 предупреждения с текстом, мол некоторые компоненты были изменены вне схемы, после чего я попытался ткнуть в первый попавшийся компонент чтобы увидеть данные, после чего менеджер повис наглухо cranky.gif Пойду пересобирать.

Этот баг удается повторить?
Предупреждения появлялись и при этом реально компоненты в схеме корректировались в ручную не закрывая менеджер компонентов? Или предупреждения вылезли без всякой причины?
tema-electric
Цитата(AVL @ Jul 17 2013, 00:13) *
Этот баг удается повторить?
Предупреждения появлялись и при этом реально компоненты в схеме корректировались в ручную не закрывая менеджер компонентов? Или предупреждения вылезли без всякой причины?

Повторить проблемы нет. Просто открываю схему и запускаю менеджер и он падает сразу, после 4х предупреждений. Над схемой работал 10 дней назад. Четыре предупреждения, потому что для каждой подсхемы вылазит свое, видимо. Но подсхем там больше четырех. До этого была сборка 4171, и все было хорошо. Сама схема у Вас уже есть (ее первый лист). Я присылал, когда были проблемы с пустым полем Type.

Чтобы сузить круг откатился до 76й ревизии и собрал ее. Она тоже не работает. Вот как-то так.
AVL
Цитата(tema-electric @ Jul 17 2013, 06:12) *
Повторить проблемы нет. Просто открываю схему и запускаю менеджер и он падает сразу, после 4х предупреждений. Над схемой работал 10 дней назад. Четыре предупреждения, потому что для каждой подсхемы вылазит свое, видимо. Но подсхем там больше четырех. До этого была сборка 4171, и все было хорошо. Сама схема у Вас уже есть (ее первый лист). Я присылал, когда были проблемы с пустым полем Type.

Чтобы сузить круг откатился до 76й ревизии и собрал ее. Она тоже не работает. Вот как-то так.

Попробовал открыть схему из директории 4 и 5 (Схемы.zip), при открытии менеджера компонентов не падает. Может у меня не падает из-за того, что у меня только 1-й лист?
tema-electric
Цитата(AVL @ Jul 17 2013, 12:37) *
Может у меня не падает из-за того, что у меня только 1-й лист?

Неа. Я пробовал на другой схеме однолистовой, к которой GOST-Tools вообще никогда не притрагивался. Поведение одно и тоже. Если у Вас есть deb пакет последней сборки, которая якобы рабочая, скиньте, я поставлю. Мне кажется это как-то связано с операционкой Ubuntu 10.04 LTS.
break
AVL
я в объяснениях использую термин "атрибут", когда речь идет о свойствах компонента в EESchema. А термин "поле" я использую, когда речь идет о полях в менеджере компонентов.
Хорошо, пусть будет так.

Понял в чём дело. Я на "имя компонента" даже не смотрел. Считал, что это просто имя, под которым компонент числится в библиотеке и больше ни для чего не нужно. И это было бы правильно, чтобы не плодить кучу лишних элементов (но это уже давний спор, в котором к одному мнению так и не пришли).
С этими переименованиями/стираниями при совпадении/несовпадениями атрибутов у меня происходит стирание имён компонентов при генерации списка цепей, даже без запуска Менеджера компонентов.

Это после чего так происходит?
Если "Имя компонента" совпадает с атрибутом "Значение", то, при вызове Менеджера компонентов, содержимое атрибута "Значение" заменяется на тильду.

Чтобы "безобразия" реально прекратились, нужно прекратить вписывать тип компонента в атрибут Value ("Значение") / поле "Номинал".
Но у меня все библиотеки уже сделаны с использованием атрибута "Значение". Посмотрел старую стороннюю библиотеку от середины 2010 года, так там вообще нет атрибутов "Type". Это значит придётся переделывать все библиотеки?!!

Как лучше? "Значение" или "Номинал"? Видимо надо голосование будет устраивать?
Я бы предпочёл "номинал". Точнее описывает сущность.

P.S. И всё-таки как-то механизм не очень прозрачный. Может сделать по принципу "что вижу, то и имею"? Поставил опцию видимости атрибута - увидел на схеме, не поставил - не увидел. Продублированы атрибуты - в перечень/спецификацию вставляется только один. Но никакой самодеятельности по очищению атрибутов в схеме!
AVL
Цитата(tema-electric @ Jul 17 2013, 11:08) *
Неа. Я пробовал на другой схеме однолистовой, к которой GOST-Tools вообще никогда не притрагивался. Поведение одно и тоже. Если у Вас есть deb пакет последней сборки, которая якобы рабочая, скиньте, я поставлю. Мне кажется это как-то связано с операционкой Ubuntu 10.04 LTS.

tema-electric
AVL, поставил, падает. Особенность. Если просто запустить, то выпадет предупреждение и дальше менеджер можно закрыть корректно. Но если ткнуть в любую строчку компонента в самом менеджере, то менеджер виснет навсегда. По идее в это время должен произойти переход курсора к соответствующему компоненту на схеме.
AVL
Цитата(tema-electric @ Jul 18 2013, 12:08) *
AVL, поставил, падает. Особенность. Если просто запустить, то выпадет предупреждение и дальше менеджер можно закрыть корректно. Но если ткнуть в любую строчку компонента в самом менеджере, то менеджер виснет навсегда. По идее в это время должен произойти переход курсора к соответствующему компоненту на схеме.

На схеме из директорий 4 и 5 (Схемы.zip) у меня даже предупреждений никаких не выпадало при открытии менеджера компонентов. Выпадали предупреждения только при открытии самой схемы в EESchema, ругалось, что нет остальных листов схемы.
AVL
Цитата(break @ Jul 17 2013, 11:28) *
С этими переименованиями/стираниями при совпадении/несовпадениями атрибутов у меня происходит стирание имён компонентов при генерации списка цепей, даже без запуска Менеджера компонентов.

Не пойму о чем речь.
Цитата(break @ Jul 17 2013, 11:28) *
Это после чего так происходит?
Если "Имя компонента" совпадает с атрибутом "Значение", то, при вызове Менеджера компонентов, содержимое атрибута "Значение" заменяется на тильду.

Странно, у меня такого эффекта нет. Вот даже проверил еще раз, в пустую схему добавил элемент 7400 из стандартной библиотеки. Открываю менеджер компонентов, закрываю менеджер компонентов. Смотрю свойства элемента, как был атрибут "Значение" равен "7400" так и остался равен "7400".
Цитата(break @ Jul 17 2013, 11:28) *
Чтобы "безобразия" реально прекратились, нужно прекратить вписывать тип компонента в атрибут Value ("Значение") / поле "Номинал".
Но у меня все библиотеки уже сделаны с использованием атрибута "Значение". Посмотрел старую стороннюю библиотеку от середины 2010 года, так там вообще нет атрибутов "Type". Это значит придётся переделывать все библиотеки?!!

Не обязательно. Можно пользоваться и текущей реализацией менеджера компонентов. А дальше посмотрим.
Цитата(break @ Jul 17 2013, 11:28) *
Как лучше? "Значение" или "Номинал"? Видимо надо голосование будет устраивать?
Я бы предпочёл "номинал". Точнее описывает сущность.

мне тоже больше "Номинал" нравится.
Цитата(break @ Jul 17 2013, 11:28) *
P.S. И всё-таки как-то механизм не очень прозрачный. Может сделать по принципу "что вижу, то и имею"?

Да, хотелось бы поле "Номинал" тоже сделать полностью прозрачным. Вопрос открыт пока как лучше это сделать.
Цитата(break @ Jul 17 2013, 11:28) *
Поставил опцию видимости атрибута - увидел на схеме, не поставил - не увидел. Продублированы атрибуты - в перечень/спецификацию вставляется только один. Но никакой самодеятельности по очищению атрибутов в схеме!

Так сейчас так и сделано. Что именно не так?
tema-electric
Цитата(AVL @ Jul 18 2013, 18:42) *
На схеме из директорий 4 и 5 (Схемы.zip) у меня даже предупреждений никаких не выпадало при открытии менеджера компонентов. Выпадали предупреждения только при открытии самой схемы в EESchema, ругалось, что нет остальных листов схемы.

Ну значит так и буду сидеть на 71-й сборке, пока проблема не возникнет у кого-то еще.
Проблема не в схемах. Создал пустую схему. Пустая схема воспринимается нормально. Кинул один элемент из стандартных либ. Запустил менеджер, выпало предупреждение. Выбрал элемент, завис менеджер.
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
AVL
Цитата(tema-electric @ Jul 19 2013, 07:06) *
Ну значит так и буду сидеть на 71-й сборке, пока проблема не возникнет у кого-то еще.
Проблема не в схемах. Создал пустую схему. Пустая схема воспринимается нормально. Кинул один элемент из стандартных либ. Запустил менеджер, выпало предупреждение. Выбрал элемент, завис менеджер.

Ваш пример с одним элементом проверил в Ubuntu 10.04 и ситуация повторилась как у Вас.
Я вчера собрал пакет для Ubuntu 10.04 и проверил пример с мультивибратором, с ним проблемы не было. Также проблемы нет при любых примерах в Debian.

Буду разбираться.
break
AVL
Не пойму о чем речь.
На примере всё той же многострадальной схемы.
A1 имеет имя компонента "R-785.0-0.5", атрибут "Значение" - "AMSR-783.3Z", атрибут "Type" - "AMSR-783.3Z". На схеме отображается атрибут "Значение".
A2 имеет имя компонента "AM20CW-4812SZ", атрибут "Значение" - "AM20CW-4812SZ", атрибут "Type" - "AM20CW-4812SZ". На схеме отображается атрибут "Значение". При запуске Менеджера компонентов, или при генерации списка цепей, атрибут "Значение" на схеме заменяется тильдой и, соответственно, не отображается. Атрибут "Type" не отображается, потому что он изначально не указан как видимый (в библиотеке такого атрибута вообще нет!).
Происходит при совпадении имени компонента и атрибута "Значение".

Так сейчас так и сделано. Что именно не так?
То, что атрибут стирается в схеме, а не просто добавляется или нет в перечень/спецификацию.

------------
С сортировкой в спецификации не получается?
Ещё одна тонкость: происходит разделение микросхем. Если в схеме есть аналоговые (DA) и цифровые (DD) микросхемы, то они получают отдельные заголовки.

Application: Eeschema
Version: (2013-07-10 BZR 4179 GOST-COMMITTERS)-testing
Build: wxWidgets 2.9.4 (wchar_t,compiler with C++ ABI 1002,GCC 4.7.2,wx containers,compatible with 2.8)
Platform: Windows XP (build 2600, Service Pack 3), 32 bit, Little endian, wxMSW
Boost version: 1.53.0
Options: USE_PCBNEW_NANOMETRES=ON
KICAD_GOST=ON
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=OFF
KICAD_SCRIPTING_MODULES=OFF
KICAD_SCRIPTING_WXPYTHON=OFF
AVL
Цитата(AVL @ Jun 24 2013, 11:51) *
Странный баг какой-то. Если добавляю пользовательский атрибут через GUI EESchema, то опция Visibility работает. Если же атрибут добавляет менеджер компонентов, то опция Visibility через GUI EESchema не реагирует. Надо будет разбираться.

Исправил в ревизии 4184.
AVL
Цитата(tema-electric @ Jul 19 2013, 07:06) *
Ну значит так и буду сидеть на 71-й сборке, пока проблема не возникнет у кого-то еще.
Проблема не в схемах. Создал пустую схему. Пустая схема воспринимается нормально. Кинул один элемент из стандартных либ. Запустил менеджер, выпало предупреждение. Выбрал элемент, завис менеджер.


Цитата(break @ Jul 17 2013, 11:28) *
Это после чего так происходит?
Если "Имя компонента" совпадает с атрибутом "Значение", то, при вызове Менеджера компонентов, содержимое атрибута "Значение" заменяется на тильду.

P.S. И всё-таки как-то механизм не очень прозрачный. Может сделать по принципу "что вижу, то и имею"? Поставил опцию видимости атрибута - увидел на схеме, не поставил - не увидел. Продублированы атрибуты - в перечень/спецификацию вставляется только один. Но никакой самодеятельности по очищению атрибутов в схеме!


Все описанные глюки смог повторить.
Итог:
1) поскольку непрозрачность работы с атрибутом Value стала существенно мешать разработке (часть из последних глюков была в усложнившейся логике по обработке этого атрибута на разных этапах после того как развязал окна), принято решение сделать работу с атрибутом Value прозрачной. Прежняя логика по анализу ChipName==Value теперь выполняется отдельной функцией. Данная функция при открытии менеджера компонентов делает проверку всех компонентов. Если обнаруживается ситуация ChipName==Value, выдается предупреждающее сообщение о том, что будут внесены изменения в атрибуты таких компонентов. Пользователь либо подтверждает, либо отказывается.
2) "Запустил менеджер, выпало предупреждение." Как оказалось, у меня проявляется только в Ubuntu 10.04 (wxWidgets 2.8.10). Выглядит все так, что поведение wxWidgets отличается у разных версий то ли самих wxWidgets, то ли ОС. Исправил.
3) "Выбрал элемент, завис менеджер." тоже самое, что и в п.2. Чтобы побороть эту проблему для Ubuntu 10.04 (wxWidgets 2.8.10), пришлось отказаться от управления менеджером компонентов курсором в Pcbnew (оставил управление курсором только в EESchema). То есть в Ubuntu 10.04 (wxWidgets 2.8.10) зависание происходит из-за того, что отправляю сообщения и в EESchema и сразу в Pcbnew через механизм dde. Похоже, что нужно дорабатывать механизм dde в самом KiCad. Либо это баг wxWidgets, поскольку используется работа с сокетами от wxWidgets.

Актуальная ревизия 4186.

Сейчас в основном могут выпадать 2 типа сообщения, на которые пока не добавлен русский перевод. Привожу перевод пока здесь:
1) "Some components have equal 'Chip Name' and 'Value' attributes!
'Value' attributes will be copied to 'Type' ones including their position, orientation and visibility. After that 'Value' attributes will be cleared.
If some of components do not have 'Type' attribute then such attributes will be created.
Continue?"

"Некоторые компоненты имеют равные значения атрибутов "Chip Name" ("Имя компонента") и "Value" (Номинал / Значение) !
Значения атрибутов "Value" будут скопированы в атрибуты "Type", включая их координаты, ориентацию и флаг видимости. После чего значения атрибутов "Value" будут стерты.
Если некоторые из компонентов не будут иметь атрибут "Type", то такие атрибуты будут созданы.
Продолжить?"

2) "Some components were changed outside of the Component Manager.
The changes have been transferred back to the Component Manager."

"Некоторые компоненты были изменены вне Менеджера Компонентов.
Эти изменения загружены обратно в Менеджер Компонентов."
faa
Цитата(AVL @ Jul 20 2013, 20:28) *
Актуальная ревизия 4186.

Сейчас в основном могут выпадать 2 типа сообщения, на которые пока не добавлен русский перевод. Привожу перевод пока здесь:


Обновил перевод в gost-committers-doc - bzr449.

AVL
Цитата(faa @ Jul 20 2013, 22:09) *
Обновил перевод в gost-committers-doc - bzr449.

Спасибо sm.gif
break
AVL
Цитата
"Некоторые компоненты имеют равные значения атрибутов "Chip Name" ("Имя компонента") и "Value" (Номинал / Значение) !
Значения атрибутов "Value" будут скопированы в атрибуты "Type", включая их координаты, ориентацию и флаг видимости. После чего значения атрибутов "Value" будут стерты.
Если некоторые из компонентов не будут иметь атрибут "Type", то такие атрибуты будут созданы.
Продолжить?"

Не очень удачный вопрос - может ввести в заблуждение. Лучше написать "Выполнить перобразование?".
(По-басурмански тоже соответственно.)

пришлось отказаться от управления менеджером компонентов курсором в Pcbnew
А это нужно? Я считаю, что нет.

оставил управление курсором только в EESchema
Это нормально.

Если некоторые из компонентов не будут иметь атрибут "Type", то такие атрибуты будут созданы.
Всё же остаётся вопрос по библиотекам. Как-то не очень хорошо, что элементы на схеме имеют больше составляющих частей (в данном случае атрибутов), чем в библиотеке. Не могу объяснить чем мне не нравится, но есть какой-то внутренний протест. wink.gif
AVL
Цитата(break @ Jul 22 2013, 10:59) *
Не очень удачный вопрос - может ввести в заблуждение. Лучше написать "Выполнить перобразование?".
(По-басурмански тоже соответственно.)

OK
Цитата(break @ Jul 22 2013, 10:59) *
пришлось отказаться от управления менеджером компонентов курсором в Pcbnew
А это нужно? Я считаю, что нет.

Считаю, это может быть удобно для готовых устройств, в которые нужно внести изменения. Иногда удобнее смотреть на pcb.
Цитата(break @ Jul 22 2013, 10:59) *
Если некоторые из компонентов не будут иметь атрибут "Type", то такие атрибуты будут созданы.
Всё же остаётся вопрос по библиотекам. Как-то не очень хорошо, что элементы на схеме имеют больше составляющих частей (в данном случае атрибутов), чем в библиотеке. Не могу объяснить чем мне не нравится, но есть какой-то внутренний протест. wink.gif

Ну Вам никто не мешает добавить эти атрибуты в библиотеки sm.gif

Пользователь же может добавить какой-то произвольный атрибут компоненту и сделать его видимым, чтобы отобразить какую-нибудь дополнительную информацию на схеме, например. В этом случае же нет ничего плохого, что атрибута не было изначально в библиотечном компоненте.
tema-electric
Собрал сегодня последнюю версию. Все работает rolleyes.gif Большое спасибо )
tema-electric
Баги.

Если в менеджере выбрать строчку, и нажать кнопку вверх или вниз на клаве, то от быстрого перебора строчек он зависает.

Если зажать shift и попытаться выделить группу элементов, менеджер виснет.
AVL
Вчера сделал merge с lp:kicad, а сегодня обнаружил, что eeschema при запуске падает. Так что будем сначала с этим разбираться.
AVL
Цитата(AVL @ Jul 23 2013, 09:39) *
Вчера сделал merge с lp:kicad, а сегодня обнаружил, что eeschema при запуске падает. Так что будем сначала с этим разбираться.

В ревизии 4189 теперь OK.
AVL
Цитата(tema-electric @ Jul 23 2013, 08:07) *
Баги.

Если в менеджере выбрать строчку, и нажать кнопку вверх или вниз на клаве, то от быстрого перебора строчек он зависает.

Если зажать shift и попытаться выделить группу элементов, менеджер виснет.

Удалось повторить только в Ubuntu 10.04. Пока выяснил только, что зависает опять из-за отправки пакетов через dde (управление курсором). Надо разбираться как это исправить.
blmt
QUOTE (AVL @ Jul 24 2013, 11:08) *
Удалось повторить только в Ubuntu 10.04. Пока выяснил только, что зависает опять из-за отправки пакетов через dde (управление курсором). Надо разбираться как это исправить.


Проблема заключается в том, что механизм dde можно использовать только для связи двух разных процессов, но нельзя в одном процессе. Для механизма dde, как для сервера, так и для клиента используется общая очередь сообщений процесса. Могу описать более подробно, но очень много букв.

Патч прилагается.
AVL
Цитата(blmt @ Aug 4 2013, 04:04) *
Проблема заключается в том, что механизм dde можно использовать только для связи двух разных процессов, но нельзя в одном процессе. Для механизма dde, как для сервера, так и для клиента используется общая очередь сообщений процесса. Могу описать более подробно, но очень много букв.

Патч прилагается.

Приветствую, Максим. Спасибо за патч. Патч применен в ревизии 4199 ветки lp:~kicad-gost-committers/kicad/kicad .

По поводу dde Вы похоже говорите о стандартном DDE, который используется как одна из технологий взаимодействия процессов в винде.
В исходниках KiCad используется свой собственный механизм, который, похоже, разработчики KiCad назвали одноименной аббревиатурой dde. Этот механизм в KiCad сделан на основе сокетов фрейморка wxWidgets и является кросс-платформенным (а виндовый DDE только для винды). С учетом того, что KiCad dde отправляет сообщение через сокеты, не вижу проблемы в использовании KiCad dde в том числе пределах одного процесса. В чем там проблема, так и не разбирался пока.

P.S.:
если хотите, можем добавить Вас в команду lp:~kicad-gost-committers, чтобы коммитить изменения в lp:~kicad-gost-committers/kicad/kicad. Для этого нужно зарегистрироваться на https://login.launchpad.net/+login (если еще не зарегистрированы) и далее https://launchpad.net/~kicad-gost-committers/+join
blmt
QUOTE (AVL @ Aug 4 2013, 14:11) *
Приветствую, Максим. Спасибо за патч. Патч применен в ревизии 4199 ветки lp:~kicad-gost-committers/kicad/kicad .

По поводу dde Вы похоже говорите о стандартном DDE, который используется как одна из технологий взаимодействия процессов в винде.
В исходниках KiCad используется свой собственный механизм, который, похоже, разработчики KiCad назвали одноименной аббревиатурой dde. Этот механизм в KiCad сделан на основе сокетов фрейморка wxWidgets и является кросс-платформенным (а виндовый DDE только для винды). С учетом того, что KiCad dde отправляет сообщение через сокеты, не вижу проблемы в использовании KiCad dde в том числе пределах одного процесса. В чем там проблема, так и не разбирался пока.

Я имел ввиду внутренний механизм Kicad, реализованный через wxSocket. Если ипользовать его внутри одного процесса, то возможно зацикливание. Подробнее: При клике мыши в gtk_main() при ходит сообщение, которое через wx вызывает GOST_COMP_MANAGER::OnClickListCtrl(), SendCommand(), wxSocketClient::Connect(),wxSocketClient::WaitConnect(), wxSockeBase::_Wait(),wxApp::Yield() . wxApp::Yield() вызывает gtk_main_iteration(), которая вызывает EDA_DRAW_FRAME::OnSockRequest(), wxSockeBase::Read(), потом wxSockeBase::_Wait(), которая повторно вызывает wxApp::Yield(). wxApp::Yield() анлизирует повторный вход и вызывает wxAppBase::OnAssertFailure(). В Release сборке wxAppBase::OnAssertFailure() выкидывается, и программа уходит в цикл. В Debug версии выкидывает диалог исключения. Подробное описание зацикливания очень многословно, хотя код весьма простой. Проще читать прямо код. Резюме: встроенный dde служит для межпроцессного взаимодействия, применение внутри одного процесса чревато трудноуловимыми глюками.

QUOTE (AVL @ Aug 4 2013, 14:11) *
P.S.:
если хотите, можем добавить Вас в команду lp:~kicad-gost-committers, чтобы коммитить изменения в lp:~kicad-gost-committers/kicad/kicad. Для этого нужно зарегистрироваться на https://login.launchpad.net/+login (если еще не зарегистрированы) и далее https://launchpad.net/~kicad-gost-committers/+join


Я не смогу заниматься этим проектом на постоянной основе. Моё хобби читать код открытых проектов. Здесь я увидел небольшую головоломку и попытался её решить. Сам проект некрасив архитектурно, развивался эволюционно без должного проектирования. Изначально были заложены весьма ограниченные модели данных. Теперь практически невозможно переделать систему без потери совместимости, и значит проект практически обречён на статус поделки. Ситуация с аттрибутом Value == Chip-Name, наглядно это показывает. Поэтому я только читать. sm.gif
AVL
Цитата(blmt @ Aug 5 2013, 01:21) *
Я не смогу заниматься этим проектом на постоянной основе. Моё хобби читать код открытых проектов. Здесь я увидел небольшую головоломку и попытался её решить. Сам проект некрасив архитектурно, развивался эволюционно без должного проектирования. Изначально были заложены весьма ограниченные модели данных. Теперь практически невозможно переделать систему без потери совместимости, и значит проект практически обречён на статус поделки. Ситуация с аттрибутом Value == Chip-Name, наглядно это показывает. Поэтому я только читать. sm.gif

Буду надеяться, что головоломки KiCad, хотя бы и небольшие, будут Вас заинтересовывать и впредь wink.gif
tema-electric
Апробировал 99 сборку. Большое спасибо за патч. Теперь все работает a14.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.