|
|
  |
Сообщения об ошибках, складываем здесь. А вдруг исправят? |
|
|
|
Oct 21 2013, 21:02
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 5-06-11
Пользователь №: 65 492

|
Цитата(AVL @ Oct 21 2013, 22:30)  Поскольку Вы говорите, что в ветке lp:kicad эта проблема тоже присутствует, то я бы посоветовал этот баг опубликовать на их ветке. Этим модулем занимается Dick Hollenbeck. Написал им баг. Адресовать Dick Hollenbem - прав не хватает. А так, похоже, придётся долго ждать, пока он прочитает. Там ещё один баг для него 2 недели без ответа висит. Надо как-то самому искать. Поможите кто чем можит!!!
|
|
|
|
|
Oct 22 2013, 01:39
|

Местный
  
Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887

|
Цитата(alex9 @ Oct 22 2013, 04:02)  Поможите кто чем можит!!! В таких ситуациях лучше откатываться до рабочей ревизии, или иметь две сборки, полностью удовлетворяющих в совокупности требованиям ... ИМХО. С наскоку разобраться в таких больших исходниках мне мало представляется возможным.
--------------------
Кто сказал МЯУ?
|
|
|
|
|
Oct 22 2013, 12:52
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 5-06-11
Пользователь №: 65 492

|
Цитата(tema-electric @ Oct 22 2013, 05:39)  В таких ситуациях лучше ... иметь две сборки, полностью удовлетворяющих в совокупности требованиям ... ИМХО. Как раз от этого и хотел уйти ) Цитата(tema-electric @ Oct 22 2013, 05:39)  С наскоку разобраться в таких больших исходниках мне мало представляется возможным. В этом меня уже убедило неожиданно активное обсуждение бага на ланчпаде Там всё оказалось глубже и ширше...
|
|
|
|
|
Oct 22 2013, 17:29
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 5-06-11
Пользователь №: 65 492

|
"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" упёрся в определение класса или что-то там (я ещё тот программист  Может кто поможет?
|
|
|
|
|
Oct 23 2013, 04:15
|

Местный
  
Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887

|
я бы решил эту проблему скриптом ... Код #!/bin/bash file_name=it1.ses replace 'resolution MM' 'resolution mm' 'Net' 'net' -- $file_name Утилита replace не входит в стандартный набор ... и посталяется с mysql-server ... Можно тоже самое решить через sed ..
--------------------
Кто сказал МЯУ?
|
|
|
|
|
Oct 23 2013, 05:03
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(alex9 @ Oct 22 2013, 21:29)  "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. Почему бы его тогда не использовать?
|
|
|
|
|
Oct 23 2013, 16:31
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 5-06-11
Пользователь №: 65 492

|
Цитата(AVL @ Oct 23 2013, 09:03)  ... Ведь есть же уже интеграция с Python... А как скрипты из интерфейса запускать?
|
|
|
|
|
Oct 23 2013, 18:56
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(alex9 @ Oct 23 2013, 20:31)  А как скрипты из интерфейса запускать? Не совсем понимаю, что значит из интерфейса. Я так понимаю есть желание запускать предобработку входного файла с помощью скрипта так, чтобы было незаметно для пользователя. Самое простое это делать через промежуточный файл. Нужно написать простой Python модуль, который преобразует исходный входной файл в промежуточный. Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad.
|
|
|
|
|
Oct 24 2013, 15:06
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 5-06-11
Пользователь №: 65 492

|
Цитата(AVL @ Oct 23 2013, 22:56)  Не совсем понимаю, что значит из интерфейса. Я так понимаю есть желание запускать предобработку входного файла с помощью скрипта так, чтобы было незаметно для пользователя. Самое простое это делать через промежуточный файл. Нужно написать простой Python модуль, который преобразует исходный входной файл в промежуточный. Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad. Именно так и хотел. Мне пока не понятно как "Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad."
|
|
|
|
|
Oct 24 2013, 17:27
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Я кой-чего покопал CODE 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 - Oct 24 2013, 17:35
|
|
|
|
|
Oct 24 2013, 20:11
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(alex9 @ Oct 24 2013, 19:06)  Именно так и хотел. Мне пока не понятно как "Этот Python модуль исполнять встроенным интерпретатором до момента открытия файла в коде KiCad." Как обработчик пункта меню по загрузке файла .ses сработал, сначала выполнить Python код, а затем продолжить выполнение кода по загрузке .ses. Единственное, результат преобразования сохранять в новом файле с добавлением какого-нибудь окончания к файлу .ses, например, *.ses.tmp. В си коде загрузки .ses файла доработать, чтобы файл грузился с именем *.ses.tmp.
|
|
|
|
|
Oct 25 2013, 15:24
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 5-06-11
Пользователь №: 65 492

|
Цитата(AVL @ Oct 25 2013, 00:11)  ... сначала выполнить Python код... Можете дать образец С-кода для выполнения скрипта питона?
|
|
|
|
|
Oct 25 2013, 19:06
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(alex9 @ Oct 25 2013, 19:24)  Можете дать образец С-кода для выполнения скрипта питона? в хранилище lp:~kicad-gost-committers/kicad/kicad: eeschema/GOST-doc-gen/oo_python_uno_iface.cpp
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|