collapse

* Posts Recentes

Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime. por blabla
[18 de Setembro de 2022, 18:44]


NiMH por 18650 por almamater
[18 de Setembro de 2022, 17:21]


How We Get Down to 0.2nm CPUs and GPUs - TechTechPotato por blabla
[18 de Setembro de 2022, 15:38]


Nova secção de Raspberry Pi Bare Metal em C e em Rust e Systems Programming por blabla
[04 de Setembro de 2022, 08:55]


The code for AGI will be simple - John Carmack and Lex Fridman por blabla
[29 de Agosto de 2022, 07:36]


Wavelets: a mathematical microscope por blabla
[28 de Agosto de 2022, 20:50]


Bom livro - Dive Into Systems por blabla
[28 de Agosto de 2022, 12:19]


graus negativos inclinação por josecarlos
[28 de Agosto de 2022, 11:31]


Super obsolescência super programada? por SerraCabo
[06 de Agosto de 2022, 11:36]


Motor de aspirador por dropes
[02 de Agosto de 2022, 22:18]

Autor Tópico: Interligação Kicad_PCB AutoRoute  (Lida 426 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 996
    • Serra Cabo
Interligação Kicad_PCB AutoRoute
« em: 29 de Outubro de 2021, 16:51 »
[editado]

Olá.

De tempos a tempos uso o Kicad, intensamente durante um par de semanas, intervaladas de 3 ou 4 meses.

Nesses intervalos, ão esqueço a generalidade da funcionalidade da coisa excepto naquilo que se faz mais esporadicamente.

Para parir as pistas e afns dos circuito impresso, uso normalmente o AutoRoute e tenho tido alguma dificuldade em automatizar o processo. Quer dizer que na primeira fase eu tinha que exportar o ficheiro SpectraDsn, importá-lo no AutoRoute, mandar executar o AutoRouting, exportar o ficheiro SpetraSES e importa-lo no PCB do Kicad. Isto era um saco repetitivo até enjoar.

Posteriormente andei à porrada com o processo, altura em que percebi que por qualquer razão esquisitoide, na versão 5 do Kicad desapareceu algo que existia na versão anterior e que permitia fazer esta coisa sem engulhos. Percebi também que se podia invocar (Windows) o AutoRoute a partir de um batch-file (.bat) dando alguns parâmetros. A porra é que apenas atinei com parte do processo. Conseguia abrir o Autoroute de forma que ele abrisse directamente o ficheiro que ele iria comer, mas não conseguia nem automatizar a arranque do processo de AutoRouting nem a exportação do ficheiro daí resultante.

Ontem consegui atinar com a coisa e aqui fica a linha de comando a colocar no batch-file que permite que o Autoroute:
 - abra o ficheiro .DSN exportado do Kicad
 - corra o Aurorouting
 - salve o ficheiro .SES

… sem fazer perguntas.

O FreeRouting que estou agora a usar foi rapado daqui:

https://github.com/freerouting/freerouting/releases

O comando que comecei agora a usar no batch file foi este (NUMA SÓ LINHA):

"C:\Users\o-nome-do-utilizador\AppData\Local\freerouting\freerouting.exe"
-de "h:\proj\TesteDeteccao\Reg_2.5V\Reg_2-5V.dsn"
-do "h:\proj\TesteDeteccao\Reg_2.5V\Reg_2-5V.ses"
-mp 100

Não esquecer que o que está acima é numa só linha.

-de é o ficheiro que o FreeRoute irá abrir para trabalhar sobre ele (exportado no Kicad).
-do é o ficheiro de saída do FreeRoute (a importar no Kicad)

Os ficheiros que aparecem (Reg_2-5V.dsn e Reg_2-5V.ses) são os que correspondem ao meu caso e cada qual terá que alterar para o seu caso.

Reparem que este AutoRouter (freerouting-1.4.5-windows-x64.msi) se instala em .\AppData\Local\freerouting\ , daí a primeira linha incluir o caminho para o executável freerouting.exe. Onde aparece “o-nome-do-utilizador” deve substituir-se pelo login_name de cada um, consoante o que estiver configurado no computador..

-mp 100 refere-se ao nº de ‘mastigadelas’ do processo. Se não estiver lá a coisa não funciona.

Parece que pode ainda dar-se-lhe “-dr MyBoard.rules” para que ele leia as regras de funcionamento que estiverem previamente gravadas no ficheiro MyBoard.rules Eu não estou a usar esta opção.

… … …

Depois de alguns testes reparei que há mais uma possibilidade que resulta numa linha de comando mais curta e mais funcional, novamente NUMA SÒ LINHA.

"C:\Users\hm\AppData\Local\freerouting\freerouting.exe" -di "%cd%" -de "Reg_2-5V.dsn" -do "Reg_2-5V.ses" -mp 100

O comando (ou a flag, como que queiram chamar) –di serve para indicar ao FreeRoute o directoria (ou pasta) onde estiverem a trabalhar e %cd% deve ser algo que faz com que o sistema operativo substitua %cd% pelo path da directoria onde estiver esse ficheiro .bat (digamos, a directoria onde esteja o projecto Kicad). As aspas servem para evitar problemas caso o path contenha espaços.

Vai daí a coisa fica mais simples. Espero não me estar a baralhar algures.

Continua a invocar-se o FreeRoute da mesma forma:
"C:\Users\o-nome-do-utilizador\AppData\Local\freerouting\freerouting.exe"

-di vai dizer-lhe qual a directoria de trabalho e depois basta:
-de "Reg_2-5V.dsn"    … que corresponde ao nome do ficheiro de entrada,
" -do "Reg_2-5V.ses"   … que corresponde ao nome do ficheiro de saída e
-mp 100    … como anteriormente explicado.

Se houver dúvidas, apitem.

Li algures que se pode automatizar ainda mais mas pareceu-me que me iria chatear demais.

Abraço
SC
« Última modificação: 30 de Outubro de 2021, 01:33 por SerraCabo »

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 996
    • Serra Cabo
Re: Interligação Kicad_PCB AutoRoute
« Responder #1 em: 30 de Outubro de 2021, 01:31 »

Uma das coisas interessantes que esta versão 1.4.5 do FreeRoute tem é a de conseguir usar todos os cores do CPU.

Entrertanto na linha de comando deve fazer sentido modificar a flag -di para:
-di "%cd%"

%cd% entre 'aspas' deve permitir evitar engulhos se o path da directoria contiver espaços.

Modifiquei o post acima.

SC