Grupo de Desenvolvimento C++ com KiCAD
O e-hal (I Encontro Brasileiro de Hardware Aberto e Livre), que acontecerá em outubro de 2016, terá uma hackatona do KiCAD.
O KiCAD é uma suite de software livre para design de circuitos elétricos e placas de circuito impresso.
Para aumentar o rendimento da hackatona, que terá participação de membros do time do KiCAD vindos da gringa só para isso, o garoa organizou este grupo preparatório para quem quiser (ou não) participar em outubro.
A proposta do grupo é resolver bugs simples ("starter patches") do KiCAD com o objetivo de nos familiarizarmos com o código e, de quebra, praticar um pouco e ganhar experiência em desenvolvimento C++ através de uma ferramenta que pode ser utilizada em projetos de hardware feitos no Garoa.
Não é preciso ter grande experiência com C++, mas é necessário ter alguma familiaridade com alguma outra linguagem. O foco da atividade será programar e aprender programando.
Informações úteis
- Guia de desenvolvedores como obter o código fonte, instalar as dependências e compilar o kicad (TODO: colocar um guia resumido aqui)
- Segundo relato do Juca o KiCAD passou a usar git em todos os seus repositórios, então as informações acima podem estar desatualizadas. Eu fiz o checkout pelo source mirror do github. Acredito que, como, de imediato, ninguém terá acesso de commit, esse checkout já é o suficiente.
- Recomendamos que cada um traga seu notebook, de preferência com uma distribuição GNU/Linux instalada
Referências
- [1] palestra do Wayne Stambaugh (líder do projeto) falando dos "velhos tempos" do KiCAD.
- [2] informações essenciais para novos desenvolvedores
- [3] thread na lista de e-mails sobre o desenvolvimento de suporte a arquivos do Eagle, que será tema da hackatona
- Links para o trabalho do Chris Gammel, citado aos 32:20 da palestra acima [4] [5] [6] [7] [8] [9]
Instalar build system e dependências
TODO
Baixar source
TOOD
Compilar
TODO
Criar e submeter patches
TODO
Starter patches
Os desenvolvedores do KiCAD disponibilizaram uma lista de bugs para iniciantes no projeto.
Caso tenha interesse em trabalhar em algum deles, coloque o seu nome na frente. A lista abaixo não é exaustiva. Você também pode trabalhar em qualquer outro bug que ache interessante.
- Bug #1423515 pcbnew option to export text as editable text when writing DXF/SVG Pitanga
- Bug #1428125 Don't freeze GUI when showing hotkey list.
- Bug #1395442 Hotkeys Editor should have a reset button
- Bug #1412628 pos file ref cut off
- Bug #1448460 Canceling a started tract in GAL.
- Bug #1424003 OpenGL & Cairo Canvas "End Track".
- Bug #1492734 Likely DRAWSEGMENT::computeArcBBox() (pcbnew/class_drawsegment.cpp) is the culprit. The issue should solved in DRAWSEGMENT::ViewBBox(), so perhaps both could be merged.
- Bug #793420 Perhaps it is missing a few OnModify() calls. Wayne proposes a simple solution which may serve as an example.
- Bug #1005383 Minor UI issue.
- Bug #1482866 One needs to get the currently highlighted net number, and preselect it in the zone creation dialog (pcbnew/dialogs/dialog_copper_zones.cpp) through a ZONE_SETTINGS object.
- Bug #1485941 Class CONTEXT_TRACK_WIDTH_MENU (pcbnew/router/router_tool.cpp) lacks an update handler that would update the units whenever the menu is shown. Have a look at CONTEXT_MENU::SetMenuHandler(). It might be also a good introduction to implement #1519973.
- Bug #1503921 It might be just one 'if' statement missing, though I am not sure.
- ...
Horário
Encontros presenciais às quartas-feiras** de setembro, na Biblioteca do Garoa, a partir das 18h00, mas também pode participar remoto via IRC no #garoahc.
Investimento
0
Resumo dos encontros
07/09/16
- Presentes:
- Falado:
- Feito:
14/09/16
- Presentes:
- Falado:
- Feito:
21/09/16
- Presentes:
- Falado:
- Feito:
28/09/16
- Presentes:
- Falado:
- Feito: