From 83c08912d8bee4c46797705d94efc4790a9cbccc Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Sun, 22 Jul 2012 01:59:13 -0300 Subject: [PATCH] fisl2012/: editing (more to come) --- fisl2012/talk.tex | 126 +++++++++++++++++++++++++--------------------- 1 file changed, 69 insertions(+), 57 deletions(-) diff --git a/fisl2012/talk.tex b/fisl2012/talk.tex index 0866ca3..736f939 100644 --- a/fisl2012/talk.tex +++ b/fisl2012/talk.tex @@ -1,4 +1,4 @@ -\documentclass[14pt,trans]{beamer} +\documentclass[12pt,trans]{beamer} \usepackage{color} \usepackage{url} \usepackage{colortbl} @@ -8,7 +8,7 @@ \setbeamertemplate{navigation symbols}{} \setbeamertemplate{items}[ball] %\setbeamersize{sidebar width left=-5mm} -\title{\Large Making Hardware with KiCad and Friends} +\title{\Large Making Hardware \\ with KiCad and Friends} \author{Werner Almesberger \\\url{werner@almesberger.net}} \date{July 21, 2012} @@ -29,7 +29,7 @@ \item $\dots$ and tools \end{itemize} -\url{downloads.qi-hardware.com/people/werner/fisl13.pdf} +{\small \url{downloads.qi-hardware.com/people/werner/fisl13.pdf}} \end{frame} % --- KiCad Introduction ------------------------------------------------------ @@ -37,8 +37,8 @@ \begin{frame}{KiCad} \begin{itemize} \item Complete EDA solution - \item Free Software: GPL, LGPL \item Text files $\rightarrow$ extensible + \item Free Software: GPL, LGPL \item C++, wxWidgets \item Multi-platform: Linux, Windows, Mac \end{itemize} @@ -60,26 +60,10 @@ cvpcb + pcbnew + module editor -> gerbers (gerbv) SCREENSHOTS \end{frame} -% --- Fped -------------------------------------------------------------------- - -\begin{frame}{Footprint Editor (fped)} -%\begin{center} -% \includegraphics[height=6cm]{fped.png} -%\end{center} -SCREENSHOT (highlight vector) - -\begin{itemize} - \item Fully parametric - \item Automated repetition (loops, tables, sub-frames) - \item GUI or text-based - \item Automatic measurements - \item Output: KiCad, Postscript, Gnuplot -\end{itemize} -\end{frame} - % --- Qi-Hardware ------------------------------------------------------------- \begin{frame}{Qi-Hardware} +Structure and goals: \begin{itemize} \item Collection of loosely connected projects \item Loose collective of like-minded developers @@ -101,7 +85,7 @@ Products: \begin{frame}{Collaborative Design} \begin{itemize} \item Track other people's work - \item Review other people's work (libraries) + \item Review other people's work (projects and libraries) \item Shared design information \item Shared version control (git) \item Shared procedures and rules @@ -119,6 +103,7 @@ Products: \item Component catalog \item Module catalog \end{itemize} + \item No scripting (yet) \item Scattered libraries CHECK \end{itemize} \end{frame} @@ -127,7 +112,7 @@ Products: \begin{frame}{Qi-Hardware Adaptation} \begin{itemize} - \item Command-line oriented use + \item Command-line-oriented use \item Extend KiCad with patches \item External scripts/programs \item Own component and module libraries with common rules @@ -156,17 +141,17 @@ Qi-Hardware: % --- What doesn't ------------------------------------------------------------ \begin{frame}{What doesn't} -KiCad: \begin{itemize} \item Netlist: {\tt {\em project}.net} \\ Generate with eeschema from {\tt *.sch} and {\tt {\em project}.cmp} \item Caches and backups: {\tt {\em project}.bak}, {\tt {\em project}.000}, {\tt {\em project}-cache.lib} - \item Postscript: {\tt {\em project}-{\em layer}.g{\em XX}} - \item Gerbers: {\tt {\em project}-{\em layer}.g{\em XX}} + \item Postscript: {\tt {\em project}-{\em layer}.ps} + \item Gerbers: {\tt {\em project}-{\em layer}.g{\em ??}} \item BOMs: {\tt {\em project}.lst}, {\tt {\em project}.cvs} \item Fab outputs: {\tt {\em project}.drl}, {\tt {\em project}.pos} - \item And so on: {\tt {\em project}.erc}, {\tt {\em project}.rpt}, + \item And so on: {\tt {\em project}.cad}, {\tt {\em project}.erc}, + {\tt {\em project}.dsn}, {\tt {\em project}.rpt}, {\tt {\em project}.wrl}, $\ldots$ \end{itemize} \end{frame} @@ -174,7 +159,12 @@ KiCad: % --- Project File ------------------------------------------------------------ \begin{frame}{Project File} -Project settings. Lists of libraries. + +Contains: +\begin{itemize} + \item Project settings + \item Lists of libraries +\end{itemize} Issues: \begin{itemize} @@ -186,7 +176,7 @@ Issues: Solution: \begin{itemize} \item Maintain manually - \item {\tt purge} script \\ + \item {\tt purge} script: \\ \url{wernermisc/bin/purge} \end{itemize} \end{frame} @@ -194,21 +184,23 @@ Solution: % --- Makefile ---------------------------------------------------------------- \begin{frame}[fragile]{Makefile} -Issues: +Objectives: \begin{itemize} \item Shortcuts - \item Glue tools together - \item Avoid mistakes + \item Combine tools \item Share common procedures + \item Avoid mistakes \end{itemize} -Example: +{\small \begin{verbatim} front: - pcbnew --plot=ps --plot-fill-all-zones --layers=Front \ - --plot-mirror $(PROJECT).brd - lpr $(PROJECT)-Front.ps + pcbnew --plot=ps --plot-fill-all-zones \ + --layers=Front --plot-mirror \ + $(PROJECT).brd + lpr $(PROJECT)-Front.ps \end{verbatim} +} \end{frame} % --- KiCad Command-Line Patches ---------------------------------------------- @@ -238,7 +230,7 @@ Original hack by Werner Almesberger, clean rewrite by Wolfgang Spraul. \begin{frame}[fragile]{Data Sheet Viewer (dsv)} \begin{itemize} - \item Bookshelf: name and aliases $rightarrow$ PDF or ZIP with PDF + \item Bookshelf: name and aliases $\rightarrow$ PDF or ZIP with PDF \item Download (wget) to local cache \item Hierarchical lookup by name or alias \item Example: \\ @@ -267,11 +259,11 @@ D: http://www.atmel.com/Images/doc8265.pdf \item Same data sheet revision \end{itemize} \item Copyright: can't just check in PDF - \item Industrial pragmatism: mail or ``internal'' repository + \item Industrial pragmatism: private mail or ``internal'' repository \item Qi-Hardware: send {\tt BOOKSHELF} around \end{itemize} -\url{eda-tools/dsv} +{\small \url{projects.qi-hardware.com/index.php/p/eda-tools/source/tree/master/dsv}} \end{frame} % --- Schematics Symbol Catalog ---------------------------------------------- @@ -285,20 +277,7 @@ D: http://www.atmel.com/Images/doc8265.pdf \item TODO: connect to dsv \end{itemize} -DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) -\end{frame} - -% --- Footprint Catalog ------------------------------------------------------ - -\begin{frame}{Footprint Catalog} -\begin{itemize} - \item Likewise, for footprints - \item Added value: measurements, pad types -\end{itemize} - -DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) - -\url{eda-tools/genkicat} +DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) <-> eeschema \end{frame} % --- Schematics History ------------------------------------------------------ @@ -311,7 +290,7 @@ DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) EXAMPLE -\url{http://projects.qi-hardware.com/schhist/} +{\small \url{projects.qi-hardware.com/schhist/}} \end{frame} % --- Schematics History (cont'd) --------------------------------------------- @@ -337,6 +316,36 @@ Issues: \url{eda-tools/schhist} \end{frame} +% --- Footprint Catalog ------------------------------------------------------ + +\begin{frame}{Footprint Catalog} +\begin{itemize} + \item Like schematics symbol catalog, but for footprints + \item Added value: measurements, pad types +\end{itemize} + +DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) <-> fped + +\url{eda-tools/genkicat} +\end{frame} + +% --- Fped -------------------------------------------------------------------- + +\begin{frame}{Footprint Editor (fped)} +%\begin{center} +% \includegraphics[height=6cm]{fped.png} +%\end{center} +SCREENSHOT (highlight vector) + +\begin{itemize} + \item Fully parametric + \item Automated repetition (loops, tables, sub-frames) + \item GUI or text-based + \item Automatic measurements + \item Output: KiCad, Postscript, Gnuplot +\end{itemize} +\end{frame} + % --- Layout History ---------------------------------------------------------- \begin{frame}{Layout History} @@ -353,8 +362,9 @@ Issues: \begin{frame}{Gerber Renderer} \begin{itemize} \item ``Photorealistic'' view of PCB - \item Combines Gerber and Excellon - \item Easy see issues with solder paste, silk screen, solder mask, $\ldots$ + \item Combines Gerber (traces, drawings) and Excellon (holes) + \item Easy to see issues with solder paste, silk screen, + solder mask, $\ldots$ \item Uses gerbv for rendering \end{itemize} @@ -413,7 +423,7 @@ To do: \item Reviews ! \end{itemize} -\url{kicad-libs/components}, \url{kicad-libs/modueles} +\url{kicad-libs/components}, \url{kicad-libs/modules} \end{frame} % --- Qi-Hardware Workflow ---------------------------------------------------- @@ -425,6 +435,7 @@ DIAGRAM % --- Conclusion -------------------------------------------------------------- \begin{frame}{Conclusion} +Experience this far: \begin{itemize} \item KiCad is a good basis for collaborative projects \item Open design allows extension with scripts @@ -440,4 +451,5 @@ To do: \end{itemize} \end{frame} +{\small \url{downloads.qi-hardware.com/people/werner/fisl13.pdf}} \end{document}