Перейти к содержанию
    

Сообщения об ошибках

Я тоже нашёл B)

А вот откуда_ноги_растут - не нашёл :(

Изменено пользователем alex9

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тоже нашёл B)

А вот откуда_ноги_растут - не нашёл :(

Поскольку Вы говорите, что в ветке lp:kicad эта проблема тоже присутствует, то я бы посоветовал этот баг опубликовать на их ветке. Этим модулем занимается Dick Hollenbeck.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку Вы говорите, что в ветке lp:kicad эта проблема тоже присутствует, то я бы посоветовал этот баг опубликовать на их ветке. Этим модулем занимается Dick Hollenbeck.

Написал им баг. Адресовать Dick Hollenbem - прав не хватает. А так, похоже, придётся долго ждать, пока он прочитает. Там ещё один баг для него 2 недели без ответа висит.

Надо как-то самому искать.

 

Поможите кто чем можит!!!

 

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поможите кто чем можит!!!

В таких ситуациях лучше откатываться до рабочей ревизии, или иметь две сборки, полностью удовлетворяющих в совокупности требованиям ... ИМХО.

С наскоку разобраться в таких больших исходниках мне мало представляется возможным.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таких ситуациях лучше ... иметь две сборки, полностью удовлетворяющих в совокупности требованиям ... ИМХО.

Как раз от этого и хотел уйти )

 

С наскоку разобраться в таких больших исходниках мне мало представляется возможным.

В этом меня уже убедило неожиданно активное обсуждение бага на ланчпаде :laughing:

Там всё оказалось глубже и ширше...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"You can run the sed script, patch your own code, or file a bug report with the topor folks."

 

В общем, я вернулся к теме. Надо менять "(resolution MM" на "(resolution mm" и "(Net" на "(net".

Если написать скрипт, то можно будет его встроить в интерфейс?

Если править код. С "MM" там всё просто (хоть и грубо). А вот с "Net" упёрся в определение класса или что-то там (я ещё тот программист :)

 

Может кто поможет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я бы решил эту проблему скриптом ...

 

#!/bin/bash
file_name=it1.ses
replace 'resolution MM' 'resolution mm' 'Net' 'net' -- $file_name

 

Утилита replace не входит в стандартный набор ... и посталяется с mysql-server ...

Можно тоже самое решить через sed ..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"You can run the sed script, patch your own code, or file a bug report with the topor folks."

 

В общем, я вернулся к теме. Надо менять "(resolution MM" на "(resolution mm" и "(Net" на "(net".

Если написать скрипт, то можно будет его встроить в интерфейс?

Если править код. С "MM" там всё просто (хоть и грубо). А вот с "Net" упёрся в определение класса или что-то там (я ещё тот программист :)

 

Может кто поможет?

Странно почему они предлагают sed. Под линукс без вопросов, а для других ОС?

Ведь есть же уже интеграция с Python. Почему бы его тогда не использовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как скрипты из интерфейса запускать?

Не совсем понимаю, что значит из интерфейса. Я так понимаю есть желание запускать предобработку входного файла с помощью скрипта так, чтобы было незаметно для пользователя.

Самое простое это делать через промежуточный файл. Нужно написать простой Python модуль, который преобразует исходный входной файл в промежуточный. Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем понимаю, что значит из интерфейса. Я так понимаю есть желание запускать предобработку входного файла с помощью скрипта так, чтобы было незаметно для пользователя.

Самое простое это делать через промежуточный файл. Нужно написать простой Python модуль, который преобразует исходный входной файл в промежуточный. Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad.

Именно так и хотел.

Мне пока не понятно как "Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я кой-чего покопал

pasha@Nbook248P:~/kicad_sources/kicad.bzr/pcbnew$ grep T_high *.cpp
specctra.cpp:            case T_high:

pasha@Nbook248P:~/kicad_sources/kicad.bzr$ grep -r T_## *
CMakeModules/TokenList2DsnLexer.cmake:#define TOKDEF(x)    { #x, T_##x }
include/dsnlexer.h://#define TOKDEF(x)    { #x, T_##x }

pasha@Nbook248P:~/kicad_sources/kicad.bzr$ grep -r TOKDEF *
CMakeModules/TokenList2DsnLexer.cmake:#define TOKDEF(x)    { #x, T_##x }
CMakeModules/TokenList2DsnLexer.cmake:    file(APPEND "${outCppFile}" "    TOKDEF( ${token} )" )
include/dsnlexer.h://#define TOKDEF(x)    { #x, T_##x }

 

Ответ надо искать в файлах *.keywords i.e. specctra.keywords

---

Накрутили, мало того, что отношения оставили только один к одному в трансляции токенов, так еще и через cmake.

Но даже если исправить буковки там, надо еще править switch-case T_xxx в парсере.

Тьфу на них!

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Именно так и хотел.

Мне пока не понятно как "Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad."

Как обработчик пункта меню по загрузке файла .ses сработал, сначала выполнить Python код, а затем продолжить выполнение кода по загрузке .ses. Единственное, результат преобразования сохранять в новом файле с добавлением какого-нибудь окончания к файлу .ses, например, *.ses.tmp. В си коде загрузки .ses файла доработать, чтобы файл грузился с именем *.ses.tmp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... сначала выполнить Python код...

Можете дать образец С-кода для выполнения скрипта питона?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можете дать образец С-кода для выполнения скрипта питона?

в хранилище lp:~kicad-gost-committers/kicad/kicad:

eeschema/GOST-doc-gen/oo_python_uno_iface.cpp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...