1
0
mirror of git://projects.qi-hardware.com/wernermisc.git synced 2024-11-22 08:49:22 +02:00

fisl2012/: editing (more to come)

This commit is contained in:
Werner Almesberger 2012-07-22 01:59:13 -03:00
parent cd80647273
commit 83c08912d8

View File

@ -1,4 +1,4 @@
\documentclass[14pt,trans]{beamer} \documentclass[12pt,trans]{beamer}
\usepackage{color} \usepackage{color}
\usepackage{url} \usepackage{url}
\usepackage{colortbl} \usepackage{colortbl}
@ -8,7 +8,7 @@
\setbeamertemplate{navigation symbols}{} \setbeamertemplate{navigation symbols}{}
\setbeamertemplate{items}[ball] \setbeamertemplate{items}[ball]
%\setbeamersize{sidebar width left=-5mm} %\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}} \author{Werner Almesberger \\\url{werner@almesberger.net}}
\date{July 21, 2012} \date{July 21, 2012}
@ -29,7 +29,7 @@
\item $\dots$ and tools \item $\dots$ and tools
\end{itemize} \end{itemize}
\url{downloads.qi-hardware.com/people/werner/fisl13.pdf} {\small \url{downloads.qi-hardware.com/people/werner/fisl13.pdf}}
\end{frame} \end{frame}
% --- KiCad Introduction ------------------------------------------------------ % --- KiCad Introduction ------------------------------------------------------
@ -37,8 +37,8 @@
\begin{frame}{KiCad} \begin{frame}{KiCad}
\begin{itemize} \begin{itemize}
\item Complete EDA solution \item Complete EDA solution
\item Free Software: GPL, LGPL
\item Text files $\rightarrow$ extensible \item Text files $\rightarrow$ extensible
\item Free Software: GPL, LGPL
\item C++, wxWidgets \item C++, wxWidgets
\item Multi-platform: Linux, Windows, Mac \item Multi-platform: Linux, Windows, Mac
\end{itemize} \end{itemize}
@ -60,26 +60,10 @@ cvpcb + pcbnew + module editor -> gerbers (gerbv)
SCREENSHOTS SCREENSHOTS
\end{frame} \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 ------------------------------------------------------------- % --- Qi-Hardware -------------------------------------------------------------
\begin{frame}{Qi-Hardware} \begin{frame}{Qi-Hardware}
Structure and goals:
\begin{itemize} \begin{itemize}
\item Collection of loosely connected projects \item Collection of loosely connected projects
\item Loose collective of like-minded developers \item Loose collective of like-minded developers
@ -101,7 +85,7 @@ Products:
\begin{frame}{Collaborative Design} \begin{frame}{Collaborative Design}
\begin{itemize} \begin{itemize}
\item Track other people's work \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 design information
\item Shared version control (git) \item Shared version control (git)
\item Shared procedures and rules \item Shared procedures and rules
@ -119,6 +103,7 @@ Products:
\item Component catalog \item Component catalog
\item Module catalog \item Module catalog
\end{itemize} \end{itemize}
\item No scripting (yet)
\item Scattered libraries CHECK \item Scattered libraries CHECK
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -127,7 +112,7 @@ Products:
\begin{frame}{Qi-Hardware Adaptation} \begin{frame}{Qi-Hardware Adaptation}
\begin{itemize} \begin{itemize}
\item Command-line oriented use \item Command-line-oriented use
\item Extend KiCad with patches \item Extend KiCad with patches
\item External scripts/programs \item External scripts/programs
\item Own component and module libraries with common rules \item Own component and module libraries with common rules
@ -156,17 +141,17 @@ Qi-Hardware:
% --- What doesn't ------------------------------------------------------------ % --- What doesn't ------------------------------------------------------------
\begin{frame}{What doesn't} \begin{frame}{What doesn't}
KiCad:
\begin{itemize} \begin{itemize}
\item Netlist: {\tt {\em project}.net} \\ \item Netlist: {\tt {\em project}.net} \\
Generate with eeschema from {\tt *.sch} and {\tt {\em project}.cmp} Generate with eeschema from {\tt *.sch} and {\tt {\em project}.cmp}
\item Caches and backups: {\tt {\em project}.bak}, {\tt {\em project}.000}, \item Caches and backups: {\tt {\em project}.bak}, {\tt {\em project}.000},
{\tt {\em project}-cache.lib} {\tt {\em project}-cache.lib}
\item Postscript: {\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 XX}} \item Gerbers: {\tt {\em project}-{\em layer}.g{\em ??}}
\item BOMs: {\tt {\em project}.lst}, {\tt {\em project}.cvs} \item BOMs: {\tt {\em project}.lst}, {\tt {\em project}.cvs}
\item Fab outputs: {\tt {\em project}.drl}, {\tt {\em project}.pos} \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$ {\tt {\em project}.wrl}, $\ldots$
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -174,7 +159,12 @@ KiCad:
% --- Project File ------------------------------------------------------------ % --- Project File ------------------------------------------------------------
\begin{frame}{Project File} \begin{frame}{Project File}
Project settings. Lists of libraries.
Contains:
\begin{itemize}
\item Project settings
\item Lists of libraries
\end{itemize}
Issues: Issues:
\begin{itemize} \begin{itemize}
@ -186,7 +176,7 @@ Issues:
Solution: Solution:
\begin{itemize} \begin{itemize}
\item Maintain manually \item Maintain manually
\item {\tt purge} script \\ \item {\tt purge} script: \\
\url{wernermisc/bin/purge} \url{wernermisc/bin/purge}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -194,21 +184,23 @@ Solution:
% --- Makefile ---------------------------------------------------------------- % --- Makefile ----------------------------------------------------------------
\begin{frame}[fragile]{Makefile} \begin{frame}[fragile]{Makefile}
Issues: Objectives:
\begin{itemize} \begin{itemize}
\item Shortcuts \item Shortcuts
\item Glue tools together \item Combine tools
\item Avoid mistakes
\item Share common procedures \item Share common procedures
\item Avoid mistakes
\end{itemize} \end{itemize}
Example: {\small
\begin{verbatim} \begin{verbatim}
front: front:
pcbnew --plot=ps --plot-fill-all-zones --layers=Front \ pcbnew --plot=ps --plot-fill-all-zones \
--plot-mirror $(PROJECT).brd --layers=Front --plot-mirror \
$(PROJECT).brd
lpr $(PROJECT)-Front.ps lpr $(PROJECT)-Front.ps
\end{verbatim} \end{verbatim}
}
\end{frame} \end{frame}
% --- KiCad Command-Line Patches ---------------------------------------------- % --- 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{frame}[fragile]{Data Sheet Viewer (dsv)}
\begin{itemize} \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 Download (wget) to local cache
\item Hierarchical lookup by name or alias \item Hierarchical lookup by name or alias
\item Example: \\ \item Example: \\
@ -267,11 +259,11 @@ D: http://www.atmel.com/Images/doc8265.pdf
\item Same data sheet revision \item Same data sheet revision
\end{itemize} \end{itemize}
\item Copyright: can't just check in PDF \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 \item Qi-Hardware: send {\tt BOOKSHELF} around
\end{itemize} \end{itemize}
\url{eda-tools/dsv} {\small \url{projects.qi-hardware.com/index.php/p/eda-tools/source/tree/master/dsv}}
\end{frame} \end{frame}
% --- Schematics Symbol Catalog ---------------------------------------------- % --- Schematics Symbol Catalog ----------------------------------------------
@ -285,20 +277,7 @@ D: http://www.atmel.com/Images/doc8265.pdf
\item TODO: connect to dsv \item TODO: connect to dsv
\end{itemize} \end{itemize}
DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) DRAWING (hierarchy + descr + com libs ---genkicat--> PDF) <-> eeschema
\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}
\end{frame} \end{frame}
% --- Schematics History ------------------------------------------------------ % --- Schematics History ------------------------------------------------------
@ -311,7 +290,7 @@ DRAWING (hierarchy + descr + com libs ---genkicat--> PDF)
EXAMPLE EXAMPLE
\url{http://projects.qi-hardware.com/schhist/} {\small \url{projects.qi-hardware.com/schhist/}}
\end{frame} \end{frame}
% --- Schematics History (cont'd) --------------------------------------------- % --- Schematics History (cont'd) ---------------------------------------------
@ -337,6 +316,36 @@ Issues:
\url{eda-tools/schhist} \url{eda-tools/schhist}
\end{frame} \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 ---------------------------------------------------------- % --- Layout History ----------------------------------------------------------
\begin{frame}{Layout History} \begin{frame}{Layout History}
@ -353,8 +362,9 @@ Issues:
\begin{frame}{Gerber Renderer} \begin{frame}{Gerber Renderer}
\begin{itemize} \begin{itemize}
\item ``Photorealistic'' view of PCB \item ``Photorealistic'' view of PCB
\item Combines Gerber and Excellon \item Combines Gerber (traces, drawings) and Excellon (holes)
\item Easy see issues with solder paste, silk screen, solder mask, $\ldots$ \item Easy to see issues with solder paste, silk screen,
solder mask, $\ldots$
\item Uses gerbv for rendering \item Uses gerbv for rendering
\end{itemize} \end{itemize}
@ -413,7 +423,7 @@ To do:
\item Reviews ! \item Reviews !
\end{itemize} \end{itemize}
\url{kicad-libs/components}, \url{kicad-libs/modueles} \url{kicad-libs/components}, \url{kicad-libs/modules}
\end{frame} \end{frame}
% --- Qi-Hardware Workflow ---------------------------------------------------- % --- Qi-Hardware Workflow ----------------------------------------------------
@ -425,6 +435,7 @@ DIAGRAM
% --- Conclusion -------------------------------------------------------------- % --- Conclusion --------------------------------------------------------------
\begin{frame}{Conclusion} \begin{frame}{Conclusion}
Experience this far:
\begin{itemize} \begin{itemize}
\item KiCad is a good basis for collaborative projects \item KiCad is a good basis for collaborative projects
\item Open design allows extension with scripts \item Open design allows extension with scripts
@ -440,4 +451,5 @@ To do:
\end{itemize} \end{itemize}
\end{frame} \end{frame}
{\small \url{downloads.qi-hardware.com/people/werner/fisl13.pdf}}
\end{document} \end{document}