add *.xsl pluging, fix eeschema/plugins/CMakeLists.txt to install it.
This commit is contained in:
parent
b9eca9454e
commit
c36bc5510d
|
@ -2,8 +2,13 @@ if(UNIX)
|
|||
add_definitions(-D__UNIX__)
|
||||
endif(UNIX)
|
||||
|
||||
add_executable(netlist_form_pads-pcb netlist_form_pads-pcb.cpp)
|
||||
# add_executable(netlist_form_pads-pcb netlist_form_pads-pcb.cpp)
|
||||
# install(TARGETS netlist_form_pads-pcb DESTINATION ${KICAD_PLUGINS} COMPONENT binary)
|
||||
|
||||
install(TARGETS netlist_form_pads-pcb
|
||||
DESTINATION ${KICAD_PLUGINS}
|
||||
COMPONENT binary)
|
||||
# install the *.xsl file(s), user will need to install 'xsltproc' and setup
|
||||
# EESCHEMA's netlist plugins
|
||||
install( FILES
|
||||
netlist_form_pads-pcb.xsl
|
||||
DESTINATION ${KICAD_PLUGINS}
|
||||
COMPONENT binary
|
||||
)
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--XSL style sheet to EESCHEMA Generic Netlist Format to PADS netlist format
|
||||
Copyright (C) 2010, SoftPLC Corporation.
|
||||
GPL v2.
|
||||
-->
|
||||
|
||||
<!DOCTYPE xsl:stylesheet [
|
||||
<!ENTITY nl "
"> <!--new line CR, LF -->
|
||||
]>
|
||||
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
|
||||
|
||||
<xsl:template match="export">
|
||||
<xsl:text>*PADS-PCB*&nl;*PART*&nl;</xsl:text>
|
||||
<xsl:apply-templates select="components/comp"/>
|
||||
<xsl:text>&nl;*NET*&nl;</xsl:text>
|
||||
<xsl:apply-templates select="nets/net"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- for each component -->
|
||||
<xsl:template match="comp">
|
||||
<xsl:value-of select="@ref"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:choose>
|
||||
<xsl:when test = "footprint = ''">
|
||||
<xsl:text>unknown</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="footprint"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<!-- for each net -->
|
||||
<xsl:template match="net">
|
||||
<xsl:text>*SIGNAL* </xsl:text>
|
||||
<xsl:choose>
|
||||
<xsl:when test = "@name != '' ">
|
||||
<xsl:value-of select="@name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>N-</xsl:text>
|
||||
<xsl:value-of select="@code"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
<xsl:apply-templates select="node"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- for each node -->
|
||||
<xsl:template match="node">
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="@ref"/>
|
||||
<xsl:text>.</xsl:text>
|
||||
<xsl:value-of select="@pin"/>
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
Loading…
Reference in New Issue