Merged upstream
This commit is contained in:
commit
7d788109fe
|
@ -459,11 +459,6 @@ add_custom_target( uninstall
|
|||
# Installation
|
||||
#================================================
|
||||
|
||||
add_custom_target( install_user_configuration_files
|
||||
"${CMAKE_COMMAND}" -E copy "${PROJECT_SOURCE_DIR}/template/fp-lib-table" ${KICAD_USER_CONFIG_DIR}/
|
||||
COMMENT "Install template fp-lib-table into your home directory."
|
||||
)
|
||||
|
||||
install( FILES INSTALL.txt
|
||||
DESTINATION ${KICAD_DOCS}
|
||||
COMPONENT resources )
|
||||
|
@ -534,10 +529,6 @@ if( UNIX AND NOT APPLE )
|
|||
#set( CPACK_PACKAGE_CONTACT Firstname Lastname <email@company.com> )
|
||||
set( CPACK_PACKAGE_DESCRIPTION_SUMMARY "KiCad built by CMake build system." )
|
||||
|
||||
# Tell debian CPack about all files which are configuration files
|
||||
add_conffiles() # clear file
|
||||
add_conffiles( ${KICAD_USER_CONFIG_DIR}/fp-lib-table ) # append to it
|
||||
|
||||
include( CPack )
|
||||
|
||||
endif()
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||
* Copyright (C) 2007 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||
* Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||
* Copyright (C) 1992-2013 KiCad Developers, see AUTHORS.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
@ -201,9 +202,9 @@ void EDA_LIST_DIALOG::InsertItems( const std::vector< wxArrayString >& itemList,
|
|||
{
|
||||
wxASSERT( (int) itemList[row].GetCount() == m_listBox->GetColumnCount() );
|
||||
|
||||
long itemIndex = 0;
|
||||
for( unsigned col = 0; col < itemList[row].GetCount(); col++ )
|
||||
{
|
||||
long itemIndex = 0;
|
||||
|
||||
if( col == 0 )
|
||||
{
|
||||
|
|
|
@ -265,47 +265,17 @@ void EDA_TEXT::Draw( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
|
|||
{
|
||||
if( m_MultilineAllowed )
|
||||
{
|
||||
std::vector<wxPoint> positions;
|
||||
wxArrayString* list = wxStringSplit( m_Text, '\n' );
|
||||
positions.reserve( list->Count() );
|
||||
|
||||
wxPoint pos = m_Pos; // Position of first line of the
|
||||
// multiline text according to
|
||||
// the center of the multiline text block
|
||||
GetPositionsOfLinesOfMultilineText(positions, list->Count() );
|
||||
|
||||
wxPoint offset; // Offset to next line.
|
||||
|
||||
offset.y = GetInterline();
|
||||
|
||||
#ifdef FIX_MULTILINE_VERT_JUSTIF
|
||||
if( list->Count() > 1 )
|
||||
for( unsigned ii = 0; ii < list->Count(); ii++ )
|
||||
{
|
||||
switch( m_VJustify )
|
||||
{
|
||||
case GR_TEXT_VJUSTIFY_TOP:
|
||||
break;
|
||||
|
||||
case GR_TEXT_VJUSTIFY_CENTER:
|
||||
pos.y -= ( list->Count() - 1 ) * offset.y / 2;
|
||||
break;
|
||||
|
||||
case GR_TEXT_VJUSTIFY_BOTTOM:
|
||||
pos.y -= ( list->Count() - 1 ) * offset.y;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Rotate the position of the first line
|
||||
// around the center of the multiline text block
|
||||
RotatePoint( &pos, m_Pos, m_Orient );
|
||||
#endif
|
||||
// Rotate the offset lines to increase happened in the right direction
|
||||
RotatePoint( &offset, m_Orient );
|
||||
|
||||
for( unsigned i = 0; i<list->Count(); i++ )
|
||||
{
|
||||
wxString txt = list->Item( i );
|
||||
wxString& txt = list->Item( ii );
|
||||
drawOneLineOfText( aClipBox, aDC, aOffset, aColor,
|
||||
aDrawMode, aFillMode, txt, pos );
|
||||
pos += offset;
|
||||
aDrawMode, aFillMode, txt, positions[ii] );
|
||||
}
|
||||
|
||||
delete (list);
|
||||
|
@ -324,6 +294,49 @@ void EDA_TEXT::Draw( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset,
|
|||
}
|
||||
|
||||
|
||||
void EDA_TEXT::GetPositionsOfLinesOfMultilineText(
|
||||
std::vector<wxPoint>& aPositions, int aLineCount )
|
||||
{
|
||||
wxPoint pos = m_Pos; // Position of first line of the
|
||||
// multiline text according to
|
||||
// the center of the multiline text block
|
||||
|
||||
wxPoint offset; // Offset to next line.
|
||||
|
||||
offset.y = GetInterline();
|
||||
|
||||
#ifdef FIX_MULTILINE_VERT_JUSTIF
|
||||
if( aLineCount > 1 )
|
||||
{
|
||||
switch( m_VJustify )
|
||||
{
|
||||
case GR_TEXT_VJUSTIFY_TOP:
|
||||
break;
|
||||
|
||||
case GR_TEXT_VJUSTIFY_CENTER:
|
||||
pos.y -= ( aLineCount - 1 ) * offset.y / 2;
|
||||
break;
|
||||
|
||||
case GR_TEXT_VJUSTIFY_BOTTOM:
|
||||
pos.y -= ( aLineCount - 1 ) * offset.y;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Rotate the position of the first line
|
||||
// around the center of the multiline text block
|
||||
RotatePoint( &pos, m_Pos, m_Orient );
|
||||
#endif
|
||||
// Rotate the offset lines to increase happened in the right direction
|
||||
RotatePoint( &offset, m_Orient );
|
||||
|
||||
for( int ii = 0; ii < aLineCount; ii++ )
|
||||
{
|
||||
aPositions.push_back( pos );
|
||||
pos += offset;
|
||||
}
|
||||
}
|
||||
|
||||
void EDA_TEXT::drawOneLineOfText( EDA_RECT* aClipBox, wxDC* aDC,
|
||||
const wxPoint& aOffset, EDA_COLOR_T aColor,
|
||||
GR_DRAWMODE aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
||||
|
|
|
@ -189,7 +189,7 @@ void GPU_CACHED_MANAGER::uploadToGpu()
|
|||
{
|
||||
#ifdef __WXDEBUG__
|
||||
prof_counter totalTime;
|
||||
prof_start( &totalTime, false );
|
||||
prof_start( &totalTime );
|
||||
#endif /* __WXDEBUG__ */
|
||||
|
||||
if( !m_buffersInitialized )
|
||||
|
@ -214,8 +214,7 @@ void GPU_CACHED_MANAGER::uploadToGpu()
|
|||
#ifdef __WXDEBUG__
|
||||
prof_end( &totalTime );
|
||||
|
||||
wxLogDebug( wxT( "Uploading %d vertices to GPU / %.1f ms" ),
|
||||
bufferSize, (double) totalTime.value / 1000.0 );
|
||||
wxLogDebug( wxT( "Uploading %d vertices to GPU / %.1f ms" ), bufferSize, totalTime.msecs() );
|
||||
#endif /* __WXDEBUG__ */
|
||||
}
|
||||
|
||||
|
|
147
common/profile.h
147
common/profile.h
|
@ -1,147 +0,0 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2013 CERN
|
||||
* @author Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file profile.h:
|
||||
* @brief Simple profiling functions for measuring code execution time.
|
||||
*/
|
||||
|
||||
#ifndef __TPROFILE_H
|
||||
#define __TPROFILE_H
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* Function rdtsc
|
||||
* Returns processor's time-stamp counter. Main purpose is precise time measuring of code
|
||||
* execution time.
|
||||
* @return unsigned long long - Value of time-stamp counter.
|
||||
*/
|
||||
#if defined(__i386__)
|
||||
static __inline__ unsigned long long rdtsc()
|
||||
{
|
||||
unsigned long long int x;
|
||||
__asm__ volatile ( ".byte 0x0f, 0x31" : "=A" ( x ) );
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
|
||||
#elif defined(__x86_64__)
|
||||
static __inline__ unsigned long long rdtsc()
|
||||
{
|
||||
unsigned hi, lo;
|
||||
__asm__ __volatile__ ( "rdtsc" : "=a" ( lo ), "=d" ( hi ) );
|
||||
|
||||
return ( (unsigned long long) lo ) | ( ( (unsigned long long) hi ) << 32 );
|
||||
}
|
||||
|
||||
|
||||
#elif defined(__powerpc__)
|
||||
static __inline__ unsigned long long rdtsc()
|
||||
{
|
||||
unsigned long long int result = 0;
|
||||
unsigned long int upper, lower, tmp;
|
||||
__asm__ volatile (
|
||||
"0: \n"
|
||||
"\tmftbu %0 \n"
|
||||
"\tmftb %1 \n"
|
||||
"\tmftbu %2 \n"
|
||||
"\tcmpw %2,%0 \n"
|
||||
"\tbne 0b \n"
|
||||
: "=r" ( upper ), "=r" ( lower ), "=r" ( tmp )
|
||||
);
|
||||
|
||||
result = upper;
|
||||
result = result << 32;
|
||||
result = result | lower;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#endif /* __powerpc__ */
|
||||
|
||||
// Fixme: OS X version
|
||||
/**
|
||||
* Function get_tics
|
||||
* Returns the number of microseconds that have elapsed since the system was started.
|
||||
* @return uint64_t Number of microseconds.
|
||||
*/
|
||||
static inline uint64_t get_tics()
|
||||
{
|
||||
struct timeval tv;
|
||||
gettimeofday( &tv, NULL );
|
||||
|
||||
return (uint64_t) tv.tv_sec * 1000000ULL + (uint64_t) tv.tv_usec;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Structure for storing data related to profiling counters.
|
||||
*/
|
||||
struct prof_counter
|
||||
{
|
||||
uint64_t value; /// Stored timer value
|
||||
bool use_rdtsc; /// Method of time measuring (rdtsc or tics)
|
||||
};
|
||||
|
||||
/**
|
||||
* Function prof_start
|
||||
* Begins code execution time counting for a given profiling counter.
|
||||
* @param cnt is the counter which should be started.
|
||||
* @param use_rdtsc tells if processor's time-stamp counter should be used for time counting.
|
||||
* Otherwise is system tics method will be used. IMPORTANT: time-stamp counter should not
|
||||
* be used on multicore machines executing threaded code.
|
||||
*/
|
||||
static inline void prof_start( prof_counter* cnt, bool use_rdtsc )
|
||||
{
|
||||
cnt->use_rdtsc = use_rdtsc;
|
||||
|
||||
if( use_rdtsc )
|
||||
{
|
||||
cnt->value = rdtsc();
|
||||
}
|
||||
else
|
||||
{
|
||||
cnt->value = get_tics();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function prof_stop
|
||||
* Ends code execution time counting for a given profiling counter.
|
||||
* @param cnt is the counter which should be stopped.
|
||||
*/
|
||||
static inline void prof_end( prof_counter* cnt )
|
||||
{
|
||||
if( cnt->use_rdtsc )
|
||||
cnt->value = rdtsc() - cnt->value;
|
||||
else
|
||||
cnt->value = get_tics() - cnt->value;
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,3 +1,26 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2004 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file string.cpp
|
||||
* @brief Some useful functions to handle strings.
|
||||
|
@ -5,9 +28,18 @@
|
|||
|
||||
#include <fctsys.h>
|
||||
#include <macros.h>
|
||||
#include <richio.h> // StrPrintf
|
||||
#include <kicad_string.h>
|
||||
|
||||
|
||||
/**
|
||||
* Illegal file name characters used to insure file names will be valid on all supported
|
||||
* platforms. This is the list of illegal file name characters for Windows which includes
|
||||
* the illegal file name characters for Linux and OSX.
|
||||
*/
|
||||
static const char illegalFileNameChars[] = "\\/:\"<>|";
|
||||
|
||||
|
||||
int ReadDelimitedText( wxString* aDest, const char* aSource )
|
||||
{
|
||||
std::string utf8; // utf8 but without escapes and quotes.
|
||||
|
@ -414,3 +446,34 @@ int SplitString( wxString strToSplit,
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
wxString GetIllegalFileNameWxChars()
|
||||
{
|
||||
return FROM_UTF8( illegalFileNameChars );
|
||||
}
|
||||
|
||||
|
||||
bool ReplaceIllegalFileNameChars( std::string* aName )
|
||||
{
|
||||
bool changed = false;
|
||||
std::string result;
|
||||
|
||||
for( std::string::iterator it = aName->begin(); it != aName->end(); ++it )
|
||||
{
|
||||
if( strchr( illegalFileNameChars, *it ) )
|
||||
{
|
||||
StrPrintf( &result, "%%%02x", *it );
|
||||
changed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
result += *it;
|
||||
}
|
||||
}
|
||||
|
||||
if( changed )
|
||||
*aName = result;
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
|
|
@ -33,6 +33,10 @@
|
|||
#include "jump_x86_64_sysv_elf_gas.S"
|
||||
#include "make_x86_64_sysv_elf_gas.S"
|
||||
|
||||
#elif __arm__
|
||||
#include "jump_arm_aapcs_elf_gas.S"
|
||||
#include "make_arm_aapcs_elf_gas.S"
|
||||
|
||||
#else
|
||||
#error "Missing make_fcontext & jump_fcontext routines for this architecture"
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
Copyright Oliver Kowalke 2009.
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
/*******************************************************************
|
||||
* *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| 0x20| 0x24| *
|
||||
* ------------------------------------------------------------- *
|
||||
* | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v8 | sp | lr | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 10 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x28| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | pc | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 11 | 12 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x2c| 0x30| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | sp | size| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x34| 0x38|0x3c| 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | s16 | s17 | s18 | s19 | s20 | s21 | s22 | s23 | s24 | s25 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 23 | 24 | 25 | 26 | 27 | 28 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x5c| 0x60| 0x64| 0x68| 0x6c| 0x70| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | s26 | s27 | s28 | s29 | s30 | s31 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* *
|
||||
* *****************************************************************/
|
||||
|
||||
.text
|
||||
.globl jump_fcontext
|
||||
.align 2
|
||||
.type jump_fcontext,%function
|
||||
jump_fcontext:
|
||||
stmia a1, {v1-v8,sp-lr} @ save V1-V8,SP-LR
|
||||
str lr, [a1,#40] @ save LR as PC
|
||||
|
||||
#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
|
||||
cmp a4, #0 @ test if fpu env should be preserved
|
||||
beq 1f
|
||||
|
||||
mov a4, a1
|
||||
add a4, #52
|
||||
vstmia a4, {d8-d15} @ save S16-S31
|
||||
|
||||
mov a4, a2
|
||||
add a4, #52
|
||||
vldmia a4, {d8-d15} @ restore S16-S31
|
||||
1:
|
||||
#endif
|
||||
|
||||
mov a1, a3 @ use third arg as return value after jump
|
||||
@ and as first arg in context function
|
||||
ldmia a2, {v1-v8,sp-pc} @ restore v1-V8,SP-PC
|
||||
.size jump_fcontext,.-jump_fcontext
|
||||
|
||||
/* Mark that we don't need executable stack. */
|
||||
.section .note.GNU-stack,"",%progbits
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
Copyright Oliver Kowalke 2009.
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
/*******************************************************************
|
||||
* *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| 0x20| 0x24| *
|
||||
* ------------------------------------------------------------- *
|
||||
* | v1 | v2 | v3 | v4 | v5 | v6 | v7 | v8 | sp | lr | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 10 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x28| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | pc | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 11 | 12 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x2c| 0x30| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | sp | size| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x34| 0x38|0x3c| 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | s16 | s17 | s18 | s19 | s20 | s21 | s22 | s23 | s24 | s25 | *
|
||||
* ------------------------------------------------------------- *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 23 | 24 | 25 | 26 | 27 | 28 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | 0x5c| 0x60| 0x64| 0x68| 0x6c| 0x70| | *
|
||||
* ------------------------------------------------------------- *
|
||||
* | s26 | s27 | s28 | s29 | s30 | s31 | | *
|
||||
* ------------------------------------------------------------- *
|
||||
* *
|
||||
* *****************************************************************/
|
||||
|
||||
.text
|
||||
.globl make_fcontext
|
||||
.align 2
|
||||
.type make_fcontext,%function
|
||||
make_fcontext:
|
||||
mov a4, a1 @ save address of context stack (base) A4
|
||||
sub a1, a1, #116 @ reserve space for fcontext_t at top of context stack
|
||||
|
||||
@ shift address in A1 to lower 16 byte boundary
|
||||
@ == pointer to fcontext_t and address of context stack
|
||||
bic a1, a1, #15
|
||||
|
||||
str a4, [a1,#44] @ save address of context stack (base) in fcontext_t
|
||||
str a2, [a1,#48] @ save context stack size in fcontext_t
|
||||
str a3, [a1,#40] @ save address of context function in fcontext_t
|
||||
|
||||
str a1, [a1,#32] @ save address in A4 as stack pointer for context function
|
||||
|
||||
adr a2, finish @ compute abs address of label finish
|
||||
str a2, [a1,#36] @ save address of finish as return address for context function
|
||||
@ entered after context function returns
|
||||
|
||||
bx lr
|
||||
|
||||
finish:
|
||||
@ SP points to same addras SP on entry of context function
|
||||
mov a1, #0 @ exit code is zero
|
||||
bl _exit@PLT @ exit application
|
||||
.size make_fcontext,.-make_fcontext
|
||||
|
||||
/* Mark that we don't need executable stack. */
|
||||
.section .note.GNU-stack,"",%progbits
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2013 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file validators.cpp
|
||||
* @brief Custom text control validator implementations.
|
||||
*/
|
||||
|
||||
#include <kicad_string.h>
|
||||
#include <validators.h>
|
||||
|
||||
|
||||
FOOTPRINT_NAME_VALIDATOR::FOOTPRINT_NAME_VALIDATOR( wxString* aValue ) :
|
||||
wxTextValidator( wxFILTER_EXCLUDE_CHAR_LIST, aValue )
|
||||
{
|
||||
// The Windows (DOS) file system forbidden characters already include the forbidden
|
||||
// file name characters for both Posix and OSX systems. The characters \/*?|"<> are
|
||||
// illegal and filtered by the validator.
|
||||
wxString illegalChars = GetIllegalFileNameWxChars();
|
||||
wxTextValidator nameValidator( wxFILTER_EXCLUDE_CHAR_LIST );
|
||||
wxArrayString illegalCharList;
|
||||
|
||||
for( unsigned i = 0; i < illegalChars.size(); i++ )
|
||||
illegalCharList.Add( wxString( illegalChars[i] ) );
|
||||
|
||||
SetExcludes( illegalCharList );
|
||||
}
|
|
@ -971,7 +971,7 @@ void VIEW::RecacheAllItems( bool aImmediately )
|
|||
|
||||
#ifdef __WXDEBUG__
|
||||
prof_counter totalRealTime;
|
||||
prof_start( &totalRealTime, false );
|
||||
prof_start( &totalRealTime );
|
||||
#endif /* __WXDEBUG__ */
|
||||
|
||||
for( LAYER_MAP_ITER i = m_layers.begin(); i != m_layers.end(); ++i )
|
||||
|
@ -992,7 +992,7 @@ void VIEW::RecacheAllItems( bool aImmediately )
|
|||
prof_end( &totalRealTime );
|
||||
|
||||
wxLogDebug( wxT( "RecacheAllItems::immediately: %u %.1f ms" ),
|
||||
aImmediately, (double) totalRealTime.value / 1000.0 );
|
||||
aImmediately, totalRealTime.msecs() );
|
||||
#endif /* __WXDEBUG__ */
|
||||
}
|
||||
|
||||
|
|
|
@ -673,20 +673,17 @@ void SCH_TEXT::Plot( PLOTTER* aPlotter )
|
|||
|
||||
if( m_MultilineAllowed )
|
||||
{
|
||||
wxPoint pos = textpos;
|
||||
std::vector<wxPoint> positions;
|
||||
wxArrayString* list = wxStringSplit( m_Text, '\n' );
|
||||
wxPoint offset;
|
||||
positions.reserve( list->Count() );
|
||||
|
||||
offset.y = GetInterline();
|
||||
GetPositionsOfLinesOfMultilineText(positions, list->Count() );
|
||||
|
||||
RotatePoint( &offset, m_Orient );
|
||||
|
||||
for( unsigned i = 0; i<list->Count(); i++ )
|
||||
for( unsigned ii = 0; ii < list->Count(); ii++ )
|
||||
{
|
||||
wxString txt = list->Item( i );
|
||||
aPlotter->Text( pos, color, txt, m_Orient, m_Size, m_HJustify,
|
||||
wxString& txt = list->Item( ii );
|
||||
aPlotter->Text( positions[ii], color, txt, m_Orient, m_Size, m_HJustify,
|
||||
m_VJustify, thickness, m_Italic, m_Bold );
|
||||
pos += offset;
|
||||
}
|
||||
|
||||
delete (list);
|
||||
|
|
|
@ -265,6 +265,17 @@ public:
|
|||
void SetHorizJustify( EDA_TEXT_HJUSTIFY_T aType ) { m_HJustify = aType; };
|
||||
void SetVertJustify( EDA_TEXT_VJUSTIFY_T aType ) { m_VJustify = aType; };
|
||||
|
||||
/**
|
||||
* Function GetPositionsOfLinesOfMultilineText
|
||||
* Populates aPositions with the position of each line of
|
||||
* a multiline text, according to the vertical justification and the
|
||||
* rotation of the whole text
|
||||
* @param aPositions is the list to populate by the wxPoint positions
|
||||
* @param aLineCount is the number of lines (not recalculated here
|
||||
* for efficiency reasons
|
||||
*/
|
||||
void GetPositionsOfLinesOfMultilineText(
|
||||
std::vector<wxPoint>& aPositions, int aLineCount );
|
||||
/**
|
||||
* Function Format
|
||||
* outputs the object to \a aFormatter in s-expression form.
|
||||
|
|
|
@ -1,6 +1,27 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2004 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file is part of the common library \n
|
||||
* Custom string manipulation routines.
|
||||
* @file kicad_string.h
|
||||
* @see common.h, string.cpp
|
||||
*/
|
||||
|
@ -10,6 +31,7 @@
|
|||
#define KICAD_STRING_H_
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/filename.h>
|
||||
|
||||
|
||||
/**
|
||||
|
@ -57,7 +79,7 @@ std::string EscapedUTF8( const wxString& aString );
|
|||
char* GetLine( FILE* aFile, char* Line, int* LineNum = NULL, int SizeLine = 255 );
|
||||
|
||||
/**
|
||||
* Funxtion StrPurge
|
||||
* Function StrPurge
|
||||
* removes leading and training spaces, tabs and end of line chars in \a text
|
||||
* return a pointer on the first n char in text
|
||||
*/
|
||||
|
@ -79,7 +101,7 @@ wxString DateAndTime();
|
|||
*
|
||||
* @param aString1 A wxChar pointer to the reference string.
|
||||
* @param aString2 A wxChar pointer to the comparison string.
|
||||
* @param aLength The numbere of characters to compare. Set to -1 to compare
|
||||
* @param aLength The number of characters to compare. Set to -1 to compare
|
||||
* the entire string.
|
||||
* @param aIgnoreCase Use true to make the comparison case insensitive.
|
||||
* @return An integer value of -1 if \a aString1 is less than \a aString2, 0 if
|
||||
|
@ -121,4 +143,25 @@ int SplitString( wxString strToSplit,
|
|||
wxString* strDigits,
|
||||
wxString* strEnd );
|
||||
|
||||
/**
|
||||
* Function GetIllegalFileNameWxChars
|
||||
* @return a wString object containing the illegal file name characters for all platforms.
|
||||
*/
|
||||
wxString GetIllegalFileNameWxChars();
|
||||
|
||||
/**
|
||||
* Function ReplaceIllegalFileNameChars
|
||||
* checks \a aName for illegal file name characters.
|
||||
*
|
||||
* The Windows (DOS) file system forbidden characters already include the forbidden file
|
||||
* name characters for both Posix and OSX systems. The characters \/?*|"\<\> are illegal
|
||||
* and are replaced with %xx where xx the hexadecimal equivalent of the replaced character.
|
||||
* This replacement may not be as elegant as using an underscore ('_') or hyphen ('-') but
|
||||
* it guarentees that there will be no naming conflicts when fixing footprint library names.
|
||||
*
|
||||
* @param aName is a point to a std::string object containing the footprint name to verify.
|
||||
* @return true if any characters have been replaced in \a aName.
|
||||
*/
|
||||
bool ReplaceIllegalFileNameChars( std::string* aName );
|
||||
|
||||
#endif // KICAD_STRING_H_
|
||||
|
|
|
@ -31,60 +31,9 @@
|
|||
#define __TPROFILE_H
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <string>
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* Function rdtsc
|
||||
* Returns processor's time-stamp counter. Main purpose is precise time measuring of code
|
||||
* execution time.
|
||||
* @return unsigned long long - Value of time-stamp counter.
|
||||
*/
|
||||
#if defined(__i386__)
|
||||
static __inline__ unsigned long long rdtsc()
|
||||
{
|
||||
unsigned long long int x;
|
||||
__asm__ volatile ( ".byte 0x0f, 0x31" : "=A" ( x ) );
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
|
||||
#elif defined(__x86_64__)
|
||||
static __inline__ unsigned long long rdtsc()
|
||||
{
|
||||
unsigned hi, lo;
|
||||
__asm__ __volatile__ ( "rdtsc" : "=a" ( lo ), "=d" ( hi ) );
|
||||
|
||||
return ( (unsigned long long) lo ) | ( ( (unsigned long long) hi ) << 32 );
|
||||
}
|
||||
|
||||
|
||||
#elif defined(__powerpc__)
|
||||
static __inline__ unsigned long long rdtsc()
|
||||
{
|
||||
unsigned long long int result = 0;
|
||||
unsigned long int upper, lower, tmp;
|
||||
__asm__ volatile (
|
||||
"0: \n"
|
||||
"\tmftbu %0 \n"
|
||||
"\tmftb %1 \n"
|
||||
"\tmftbu %2 \n"
|
||||
"\tcmpw %2,%0 \n"
|
||||
"\tbne 0b \n"
|
||||
: "=r" ( upper ), "=r" ( lower ), "=r" ( tmp )
|
||||
);
|
||||
|
||||
result = upper;
|
||||
result = result << 32;
|
||||
result = result | lower;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#endif /* __powerpc__ */
|
||||
|
||||
// Fixme: OS X version
|
||||
/**
|
||||
* Function get_tics
|
||||
* Returns the number of microseconds that have elapsed since the system was started.
|
||||
|
@ -98,14 +47,22 @@ static inline uint64_t get_tics()
|
|||
return (uint64_t) tv.tv_sec * 1000000ULL + (uint64_t) tv.tv_usec;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Structure for storing data related to profiling counters.
|
||||
*/
|
||||
struct prof_counter
|
||||
{
|
||||
uint64_t value; /// Stored timer value
|
||||
bool use_rdtsc; /// Method of time measuring (rdtsc or tics)
|
||||
uint64_t start, end; // Stored timer value
|
||||
|
||||
uint64_t usecs() const
|
||||
{
|
||||
return end - start;
|
||||
}
|
||||
|
||||
float msecs() const
|
||||
{
|
||||
return ( end - start ) / 1000.0;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -116,32 +73,19 @@ struct prof_counter
|
|||
* Otherwise is system tics method will be used. IMPORTANT: time-stamp counter should not
|
||||
* be used on multicore machines executing threaded code.
|
||||
*/
|
||||
static inline void prof_start( prof_counter* cnt, bool use_rdtsc )
|
||||
static inline void prof_start( prof_counter* aCnt )
|
||||
{
|
||||
cnt->use_rdtsc = use_rdtsc;
|
||||
|
||||
if( use_rdtsc )
|
||||
{
|
||||
cnt->value = rdtsc();
|
||||
}
|
||||
else
|
||||
{
|
||||
cnt->value = get_tics();
|
||||
}
|
||||
aCnt->start = get_tics();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function prof_stop
|
||||
* Ends code execution time counting for a given profiling counter.
|
||||
* @param cnt is the counter which should be stopped.
|
||||
*/
|
||||
static inline void prof_end( prof_counter* cnt )
|
||||
static inline void prof_end( prof_counter* aCnt )
|
||||
{
|
||||
if( cnt->use_rdtsc )
|
||||
cnt->value = rdtsc() - cnt->value;
|
||||
else
|
||||
cnt->value = get_tics() - cnt->value;
|
||||
aCnt->end = get_tics();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2013 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, you may find one here:
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||
* or you may write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file validators.h
|
||||
* @brief Custom text control validator definitions.
|
||||
*/
|
||||
|
||||
#include <wx/valtext.h>
|
||||
|
||||
/**
|
||||
* Class FOOTPRINT_NAME_VALIDATOR
|
||||
*
|
||||
* This class provides a custom wxValidator object for limiting the allowable characters when
|
||||
* defining footprint names. Since the introduction of the PRETTY footprint library format,
|
||||
* footprint names cannot have any characters that would prevent file creation on any platform.
|
||||
*/
|
||||
class FOOTPRINT_NAME_VALIDATOR : public wxTextValidator
|
||||
{
|
||||
public:
|
||||
FOOTPRINT_NAME_VALIDATOR( wxString* aValue = NULL ) :
|
||||
wxTextValidator( wxFILTER_EXCLUDE_CHAR_LIST, aValue )
|
||||
{
|
||||
// The Windows (DOS) file system forbidden characters already include the forbidden
|
||||
// file name characters for both Posix and OSX systems. The characters \/*?|"<> are
|
||||
// illegal and filtered by the validator.
|
||||
wxString illegalChars = wxFileName::GetForbiddenChars( wxPATH_DOS );
|
||||
wxTextValidator nameValidator( wxFILTER_EXCLUDE_CHAR_LIST );
|
||||
wxArrayString illegalCharList;
|
||||
|
||||
for( unsigned i = 0; i < illegalChars.size(); i++ )
|
||||
illegalCharList.Add( wxString( illegalChars[i] ) );
|
||||
|
||||
SetExcludes( illegalCharList );
|
||||
}
|
||||
};
|
|
@ -608,10 +608,10 @@ void PCB_BASE_FRAME::UseGalCanvas( bool aEnable )
|
|||
{
|
||||
EDA_DRAW_FRAME::UseGalCanvas( aEnable );
|
||||
|
||||
ViewReloadBoard( m_Pcb );
|
||||
|
||||
m_toolManager->SetEnvironment( m_Pcb, m_galCanvas->GetView(),
|
||||
m_galCanvas->GetViewControls(), this );
|
||||
|
||||
ViewReloadBoard( m_Pcb );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -42,6 +42,8 @@
|
|||
#include <wxPcbStruct.h>
|
||||
#include <base_units.h>
|
||||
#include <macros.h>
|
||||
#include <validators.h>
|
||||
#include <kicad_string.h>
|
||||
|
||||
#include <class_module.h>
|
||||
#include <class_text_mod.h>
|
||||
|
@ -62,6 +64,7 @@ DIALOG_MODULE_MODULE_EDITOR::DIALOG_MODULE_MODULE_EDITOR( FOOTPRINT_EDIT_FRAME*
|
|||
icon.CopyFromBitmap( KiBitmap( icon_modedit_xpm ) );
|
||||
SetIcon( icon );
|
||||
|
||||
m_FootprintNameCtrl->SetValidator( FOOTPRINT_NAME_VALIDATOR() );
|
||||
initModeditProperties();
|
||||
m_sdbSizerStdButtonsOK->SetDefault();
|
||||
GetSizer()->SetSizeHints( this );
|
||||
|
@ -100,15 +103,15 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
|||
S3D_MASTER* draw3DCopy = new S3D_MASTER(NULL);
|
||||
draw3DCopy->Copy( draw3D );
|
||||
m_shapes3D_list.push_back( draw3DCopy );
|
||||
m_3D_ShapeNameListBox->Append(draw3DCopy->m_Shape3DName);
|
||||
m_3D_ShapeNameListBox->Append( draw3DCopy->m_Shape3DName );
|
||||
}
|
||||
draw3D = (S3D_MASTER*) draw3D->Next();
|
||||
}
|
||||
|
||||
m_DocCtrl->SetValue( m_currentModule->GetDescription() );
|
||||
m_KeywordCtrl->SetValue( m_currentModule->GetKeywords() );
|
||||
m_referenceCopy = new TEXTE_MODULE(NULL);
|
||||
m_valueCopy = new TEXTE_MODULE(NULL);
|
||||
m_referenceCopy = new TEXTE_MODULE( NULL );
|
||||
m_valueCopy = new TEXTE_MODULE( NULL );
|
||||
m_referenceCopy->Copy( &m_currentModule->Reference() );
|
||||
m_valueCopy->Copy( &m_currentModule->Value() );
|
||||
m_ReferenceCtrl->SetValue( m_referenceCopy->GetText() );
|
||||
|
@ -147,7 +150,6 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
|||
m_AutoPlaceCtrl->SetItemToolTip( 1, _( "Disable hotkey move commands and Auto Placement" ) );
|
||||
|
||||
m_CostRot90Ctrl->SetValue( m_currentModule->GetPlacementCost90() );
|
||||
|
||||
m_CostRot180Ctrl->SetValue( m_currentModule->GetPlacementCost180() );
|
||||
|
||||
// Initialize 3D parameters
|
||||
|
@ -168,7 +170,7 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
|||
PutValueInLocalUnits( *m_SolderPasteMarginCtrl, m_currentModule->GetLocalSolderPasteMargin() );
|
||||
|
||||
if( m_currentModule->GetLocalSolderPasteMargin() == 0 )
|
||||
m_SolderPasteMarginCtrl->SetValue( wxT("-") + m_SolderPasteMarginCtrl->GetValue() );
|
||||
m_SolderPasteMarginCtrl->SetValue( wxT( "-" ) + m_SolderPasteMarginCtrl->GetValue() );
|
||||
|
||||
if( m_currentModule->GetLocalSolderPasteMarginRatio() == 0.0 )
|
||||
msg.Printf( wxT( "-%f" ), m_currentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
||||
|
@ -179,12 +181,11 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
|||
|
||||
// Add solder paste margin ration in per cent
|
||||
// for the usual default value 0.0, display -0.0 (or -0,0 in some countries)
|
||||
msg.Printf( wxT( "%f" ),
|
||||
m_currentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
||||
msg.Printf( wxT( "%f" ), m_currentModule->GetLocalSolderPasteMarginRatio() * 100.0 );
|
||||
|
||||
if( m_currentModule->GetLocalSolderPasteMarginRatio() == 0.0 &&
|
||||
msg[0] == '0') // Sometimes Printf adds a sign if the value is very small (0.0)
|
||||
m_SolderPasteMarginRatioCtrl->SetValue( wxT("-") + msg );
|
||||
m_SolderPasteMarginRatioCtrl->SetValue( wxT( "-" ) + msg );
|
||||
else
|
||||
m_SolderPasteMarginRatioCtrl->SetValue( msg );
|
||||
|
||||
|
@ -208,9 +209,7 @@ void DIALOG_MODULE_MODULE_EDITOR::Transfert3DValuesToDisplay( S3D_MASTER * aStru
|
|||
if( aStruct3DSource )
|
||||
{
|
||||
m_3D_Scale->SetValue( aStruct3DSource->m_MatScale );
|
||||
|
||||
m_3D_Offset->SetValue( aStruct3DSource->m_MatPosition );
|
||||
|
||||
m_3D_Rotation->SetValue( aStruct3DSource->m_MatRotation );
|
||||
}
|
||||
else
|
||||
|
@ -221,6 +220,7 @@ void DIALOG_MODULE_MODULE_EDITOR::Transfert3DValuesToDisplay( S3D_MASTER * aStru
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/** Copy 3D info displayed in dialog box to values in a item in m_shapes3D_list
|
||||
* @param aIndexSelection = item index in m_shapes3D_list
|
||||
*/
|
||||
|
@ -240,6 +240,7 @@ void DIALOG_MODULE_MODULE_EDITOR::On3DShapeNameSelected(wxCommandEvent& event)
|
|||
{
|
||||
if( m_lastSelected3DShapeIndex >= 0 )
|
||||
TransfertDisplayTo3DValues( m_lastSelected3DShapeIndex );
|
||||
|
||||
m_lastSelected3DShapeIndex = m_3D_ShapeNameListBox->GetSelection();
|
||||
|
||||
if( m_lastSelected3DShapeIndex < 0 ) // happens under wxGTK when deleting an item in m_3D_ShapeNameListBox wxListBox
|
||||
|
@ -247,10 +248,11 @@ void DIALOG_MODULE_MODULE_EDITOR::On3DShapeNameSelected(wxCommandEvent& event)
|
|||
|
||||
if( m_lastSelected3DShapeIndex >= (int)m_shapes3D_list.size() )
|
||||
{
|
||||
wxMessageBox(wxT("On3DShapeNameSelected() error"));
|
||||
wxMessageBox( wxT( "On3DShapeNameSelected() error" ) );
|
||||
m_lastSelected3DShapeIndex = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
Transfert3DValuesToDisplay( m_shapes3D_list[m_lastSelected3DShapeIndex] );
|
||||
}
|
||||
|
||||
|
@ -261,18 +263,19 @@ void DIALOG_MODULE_MODULE_EDITOR::Remove3DShape(wxCommandEvent& event)
|
|||
TransfertDisplayTo3DValues( m_lastSelected3DShapeIndex );
|
||||
|
||||
int ii = m_3D_ShapeNameListBox->GetSelection();
|
||||
|
||||
if( ii < 0 )
|
||||
return;
|
||||
|
||||
m_shapes3D_list.erase(m_shapes3D_list.begin() + ii );
|
||||
m_3D_ShapeNameListBox->Delete(ii);
|
||||
m_shapes3D_list.erase( m_shapes3D_list.begin() + ii );
|
||||
m_3D_ShapeNameListBox->Delete( ii );
|
||||
|
||||
if( m_3D_ShapeNameListBox->GetCount() == 0)
|
||||
Transfert3DValuesToDisplay( NULL );
|
||||
else
|
||||
{
|
||||
m_lastSelected3DShapeIndex = 0;
|
||||
m_3D_ShapeNameListBox->SetSelection(m_lastSelected3DShapeIndex);
|
||||
m_3D_ShapeNameListBox->SetSelection( m_lastSelected3DShapeIndex );
|
||||
Transfert3DValuesToDisplay( m_shapes3D_list[m_lastSelected3DShapeIndex] );
|
||||
}
|
||||
}
|
||||
|
@ -284,6 +287,7 @@ void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
|
|||
wxString fullpath;
|
||||
|
||||
fullpath = wxGetApp().ReturnLastVisitedLibraryPath( LIB3D_PATH );
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
fullpath.Replace( wxT( "/" ), wxT( "\\" ) );
|
||||
#endif
|
||||
|
@ -313,6 +317,7 @@ void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
|
|||
shortfilename = wxGetApp().ReturnFilenameWithRelativePathInLibPath( fullfilename );
|
||||
|
||||
wxFileName aux = shortfilename;
|
||||
|
||||
if( aux.IsAbsolute() )
|
||||
{ // Absolute path, ask if the user wants a relative one
|
||||
int diag = wxMessageBox(
|
||||
|
@ -322,12 +327,13 @@ void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
|
|||
|
||||
if( diag == wxYES )
|
||||
{ // Make it relative
|
||||
aux.MakeRelativeTo( wxT(".") );
|
||||
aux.MakeRelativeTo( wxT( "." ) );
|
||||
shortfilename = aux.GetPathWithSep() + aux.GetFullName();
|
||||
}
|
||||
}
|
||||
|
||||
S3D_MASTER* new3DShape = new S3D_MASTER(NULL);
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
// Store filename in Unix notation
|
||||
shortfilename.Replace( wxT( "\\" ), wxT( "/" ) );
|
||||
|
@ -341,7 +347,7 @@ void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
|
|||
TransfertDisplayTo3DValues( m_lastSelected3DShapeIndex );
|
||||
|
||||
m_lastSelected3DShapeIndex = m_3D_ShapeNameListBox->GetCount() - 1;
|
||||
m_3D_ShapeNameListBox->SetSelection(m_lastSelected3DShapeIndex);
|
||||
m_3D_ShapeNameListBox->SetSelection( m_lastSelected3DShapeIndex );
|
||||
Transfert3DValuesToDisplay( m_shapes3D_list[m_lastSelected3DShapeIndex] );
|
||||
|
||||
}
|
||||
|
@ -357,12 +363,13 @@ void DIALOG_MODULE_MODULE_EDITOR::OnOkClick( wxCommandEvent& event )
|
|||
{
|
||||
// First, test for invalid chars in module name
|
||||
wxString footprintName = m_FootprintNameCtrl->GetValue();
|
||||
|
||||
if( ! footprintName.IsEmpty() )
|
||||
{
|
||||
if( ! MODULE::IsLibNameValid( footprintName ) )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _("Error:\none of invalid chars <%s> found\nin <%s>" ),
|
||||
msg.Printf( _( "Error:\none of invalid chars <%s> found\nin <%s>" ),
|
||||
MODULE::ReturnStringLibNameInvalidChars( true ),
|
||||
GetChars( footprintName ) );
|
||||
|
||||
|
@ -404,9 +411,7 @@ void DIALOG_MODULE_MODULE_EDITOR::OnOkClick( wxCommandEvent& event )
|
|||
|
||||
// Initialize masks clearances
|
||||
m_currentModule->SetLocalClearance( ReturnValueFromTextCtrl( *m_NetClearanceValueCtrl ) );
|
||||
|
||||
m_currentModule->SetLocalSolderMaskMargin( ReturnValueFromTextCtrl( *m_SolderMaskMarginCtrl ) );
|
||||
|
||||
m_currentModule->SetLocalSolderPasteMargin( ReturnValueFromTextCtrl( *m_SolderPasteMarginCtrl ) );
|
||||
double dtmp;
|
||||
wxString msg = m_SolderPasteMarginRatioCtrl->GetValue();
|
||||
|
@ -415,6 +420,7 @@ void DIALOG_MODULE_MODULE_EDITOR::OnOkClick( wxCommandEvent& event )
|
|||
// A -50% margin ratio means no paste on a pad, the ratio must be >= -50 %
|
||||
if( dtmp < -50.0 )
|
||||
dtmp = -50.0;
|
||||
|
||||
// A margin ratio is always <= 0
|
||||
if( dtmp > 0.0 )
|
||||
dtmp = 0.0;
|
||||
|
@ -423,14 +429,19 @@ void DIALOG_MODULE_MODULE_EDITOR::OnOkClick( wxCommandEvent& event )
|
|||
|
||||
// Update 3D shape list
|
||||
int ii = m_3D_ShapeNameListBox->GetSelection();
|
||||
|
||||
if ( ii >= 0 )
|
||||
TransfertDisplayTo3DValues( ii );
|
||||
TransfertDisplayTo3DValues( ii );
|
||||
|
||||
S3D_MASTER* draw3D = m_currentModule->Models();
|
||||
|
||||
for( unsigned ii = 0; ii < m_shapes3D_list.size(); ii++ )
|
||||
{
|
||||
S3D_MASTER* draw3DCopy = m_shapes3D_list[ii];
|
||||
|
||||
if( draw3DCopy->m_Shape3DName.IsEmpty() )
|
||||
continue;
|
||||
|
||||
if( draw3D == NULL )
|
||||
{
|
||||
draw3D = new S3D_MASTER( draw3D );
|
||||
|
@ -447,6 +458,7 @@ void DIALOG_MODULE_MODULE_EDITOR::OnOkClick( wxCommandEvent& event )
|
|||
|
||||
// Remove old extra 3D shapes
|
||||
S3D_MASTER* nextdraw3D;
|
||||
|
||||
for( ; draw3D != NULL; draw3D = nextdraw3D )
|
||||
{
|
||||
nextdraw3D = (S3D_MASTER*) draw3D->Next();
|
||||
|
@ -484,4 +496,3 @@ void DIALOG_MODULE_MODULE_EDITOR::OnEditValue(wxCommandEvent& event)
|
|||
m_parent->SetCrossHairPosition( tmp );
|
||||
m_ValueCtrl->SetValue( m_valueCopy->GetText() );
|
||||
}
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ Load() TODO's
|
|||
#include <fctsys.h>
|
||||
#include <trigo.h>
|
||||
#include <macros.h>
|
||||
#include <kicad_string.h>
|
||||
#include <wx/filename.h>
|
||||
|
||||
#include <class_board.h>
|
||||
|
@ -94,34 +95,6 @@ typedef boost::optional<bool> opt_bool;
|
|||
|
||||
const wxChar* traceEaglePlugin = wxT( "KicadEaglePlugin" );
|
||||
|
||||
/// Test footprint name for kicad legality, fix if needed and return true if fixing was required.
|
||||
static bool fix_eagle_package_name( string* aName )
|
||||
{
|
||||
string result;
|
||||
bool changed = false;
|
||||
|
||||
for( string::iterator it = aName->begin(); it != aName->end(); ++it )
|
||||
{
|
||||
switch( *it )
|
||||
{
|
||||
case ':':
|
||||
case '/':
|
||||
// replace *it with %xx, as in URL encoding
|
||||
StrPrintf( &result, "%%%02x", *it );
|
||||
changed = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
result += *it;
|
||||
}
|
||||
}
|
||||
|
||||
if( changed )
|
||||
*aName = result;
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
||||
|
||||
/// segment (element) of our XPATH into the Eagle XML document tree in PTREE form.
|
||||
struct TRIPLET
|
||||
|
@ -939,7 +912,7 @@ EELEMENT::EELEMENT( CPTREE& aElement )
|
|||
value = attribs.get<string>( "value" );
|
||||
|
||||
package = attribs.get<string>( "package" );
|
||||
fix_eagle_package_name( &package );
|
||||
ReplaceIllegalFileNameChars( &package );
|
||||
|
||||
x = attribs.get<double>( "x" );
|
||||
y = attribs.get<double>( "y" );
|
||||
|
@ -1617,7 +1590,7 @@ void EAGLE_PLUGIN::loadLibrary( CPTREE& aLib, const string* aLibName )
|
|||
|
||||
string pack_name( pack_ref );
|
||||
|
||||
fix_eagle_package_name( &pack_name );
|
||||
ReplaceIllegalFileNameChars( &pack_name );
|
||||
|
||||
#if 0 && defined(DEBUG)
|
||||
if( pack_name == "TO220H" )
|
||||
|
|
|
@ -32,20 +32,28 @@ struct GH_CACHE;
|
|||
|
||||
/**
|
||||
Class GITHUB_PLUGIN
|
||||
implements a portion of pcbnew PLUGIN to provide read only access to a github
|
||||
repo consisting of pretty footprints. It could have used version 3 of the
|
||||
github.com API documented here:
|
||||
implements a portion of pcbnew's PLUGIN interface to provide read only access
|
||||
to a github repo consisting of pretty footprints, and optionally provides "Copy On Write"
|
||||
support of edited footprints.
|
||||
|
||||
<p>It could have used version 3 of the github.com API documented here:
|
||||
|
||||
<pre>
|
||||
http://developer.github.com
|
||||
https://help.github.com/articles/creating-an-access-token-for-command-line-use
|
||||
</pre>
|
||||
|
||||
but it does not. Rather it simply reads in a zip file of the repo and unzips
|
||||
it from RAM as needed. <b>Therefore this "Github" plugin type is read only
|
||||
for accessing remote pretty libraries at https://github.com.</b> The "Library
|
||||
Path" in the fp-lib-table row for a Github library should be set to the full
|
||||
https:// URL. For example:
|
||||
but it does not, since a better technique was discovered. Cleverly this
|
||||
plugin simply reads in a zip file of the repo and unzips it from RAM as
|
||||
needed. Therefore this "Github" plugin is <b>read only for accessing remote
|
||||
pretty libraries at https://github.com.</b>
|
||||
|
||||
<p>The fp-lib-table dialog is entered via menu choice "Preferences | Library
|
||||
Tables". For easy options editing in the current row, click on the "Edit
|
||||
Options" button. The "Library Path" in the fp-lib-table row for a Github
|
||||
library should be set to the full https:// URL.
|
||||
|
||||
<p>For example:
|
||||
|
||||
<pre>
|
||||
https://github.com/liftoff-sr/pretty_footprints
|
||||
|
@ -58,52 +66,79 @@ struct GH_CACHE;
|
|||
</pre>
|
||||
<p>
|
||||
|
||||
This PLUGIN also supports "Copy On Write", a.k.a. "COW". Thus a Github
|
||||
library defined in either fp-lib-table (project or global) will take an
|
||||
optional option called <b>allow_pretty_writing_to_this_dir</b>. This option
|
||||
is essentially the "Library Path" for a local "KiCad" (pretty) type library
|
||||
which is combined to make up the Github library found in the same
|
||||
fp-lib-table row. If the option is missing, then the Github library is read
|
||||
only as always. If the option is present for a Github library, then any
|
||||
writes to this hybrid library will go to the local *.pretty directory. Note
|
||||
that the github.com resident portion of this hybrid COW library is always
|
||||
read only, meaning you cannot delete anything or modify any footprint at
|
||||
github directly. The aggregate library "Type" remains "Github", but it
|
||||
consists of a local R/W portion and a remote R/O portion.
|
||||
The "Plugin Type" should be set to "Github".
|
||||
|
||||
<p>
|
||||
<p>This plugin also supports "Copy On Write", a.k.a. "COW". Thus a Github
|
||||
library may take an optional option called
|
||||
<b>allow_pretty_writing_to_this_dir</b>. This option is essentially the
|
||||
"Library Path" for a local "KiCad" (pretty) type library which is combined to
|
||||
make up the Github library found in the same fp-lib-table row. If the option
|
||||
is missing, then the Github library is read only as always. If the option is
|
||||
present for a Github library, then any writes to this hybrid library will go
|
||||
to the local *.pretty directory. Note that the github.com resident portion of
|
||||
this hybrid COW library is always read only, meaning you cannot delete
|
||||
anything or modify any footprint at github directly. The aggregate library
|
||||
type remains "Github" in your discussions, but it consists of a local R/W
|
||||
portion and a remote R/O portion.
|
||||
|
||||
Any footprint loads will always give precedence to the local footprints found
|
||||
in the pretty dir given by option <b>allow_pretty_writing_to_this_dir</b>. So
|
||||
once you have written to the COW library's local directory by doing a
|
||||
footprint save, no github updates will be seen when loading a footprint by
|
||||
the same name as one for which you've written locally.
|
||||
<p>Below is an fp-lib-table entry for the case without option
|
||||
<b>allow_pretty_writing_to_this_dir</b>:
|
||||
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Nickname</th><th>Library Path</th><th>Plugin Type</th><th>Options</th><th>Description</th>
|
||||
</tr>
|
||||
|
||||
Always keep a separate local *.pretty directory for each Github library,
|
||||
<tr>
|
||||
<td>github</td><td>https://github.com/liftoff-sr/pretty_footprints</td><td>Github</td>
|
||||
<td></td><td>Liftoff's GH footprints</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Below is an fp-lib-table entry with the COW option given. Note the use of the environment variable
|
||||
${HOME}, as an example only. The github.pretty directory is based in ${HOME}/pretty/. Anytime you
|
||||
use option allow_pretty_writing_to_this_dir, you will create that directory manually and it must
|
||||
end in extension <b>.pretty</b>.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Nickname</th><th>Library Path</th><th>Plugin Type</th><th>Options</th><th>Description</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>github</td><td>https://github.com/liftoff-sr/pretty_footprints</td><td>Github</td>
|
||||
<td>allow_pretty_writing_to_this_dir=${HOME}/pretty/github.pretty</td>
|
||||
<td>Liftoff's GH footprints</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>Any footprint loads will always give precedence to the local footprints
|
||||
found in the pretty dir given by option
|
||||
<b>allow_pretty_writing_to_this_dir</b>. So once you have written to the COW
|
||||
library's local directory by doing a footprint save, no github updates will
|
||||
be seen when loading a footprint by the same name as one for which you've
|
||||
written locally.
|
||||
|
||||
<p>Always keep a separate local *.pretty directory for each Github library,
|
||||
never combine them by referring to the same directory more than once. Also,
|
||||
do not also use the same COW (*.pretty) directory in a "Kicad" fp-lib-table
|
||||
do not also use the same COW (*.pretty) directory in a "KiCad" fp-lib-table
|
||||
entry. This would likely create a mess. The COW directory should be manually
|
||||
created in advance, and the directory name must end with ".pretty". The value
|
||||
of the option <b>allow_pretty_writing_to_this_dir</b> will be path
|
||||
substituted with any environment variable strings embedded, just like the
|
||||
"Library Path" is.
|
||||
|
||||
<p>
|
||||
|
||||
What's the point of COW? It is to turbo-charge the sharing of footprints. If
|
||||
you periodically email your COW pretty footprint modifications to the Github
|
||||
repo maintainer, you can help update the Github copy. Simply email the
|
||||
individual *.kicad_mod file you find in your COW directories. After you've
|
||||
<p>What's the point of COW? It is to turbo-charge the sharing of footprints.
|
||||
If you periodically email your COW pretty footprint modifications to the
|
||||
Github repo maintainer, you can help update the Github copy. Simply email the
|
||||
individual *.kicad_mod files you find in your COW directories. After you've
|
||||
received confirmation that your changes have been committed up at github.com,
|
||||
you can safely delete your COW file(s) and those from github.com will flow
|
||||
down. Your goal should be to keep the COW file set as small as possible by
|
||||
contributing frequently to the shared master copies at https://github.com.
|
||||
|
||||
<p>
|
||||
|
||||
Note that if you use the module editor to delete a footprint and it is
|
||||
<p>Note that if you use the module editor to delete a footprint and it is
|
||||
present in the COW local dir, it will get deleted from there. However, it may
|
||||
not be deleted from the library as a whole if the footprint of the same name
|
||||
also exists in the github repo. In this case deleting the local copy will
|
||||
|
@ -112,6 +147,14 @@ struct GH_CACHE;
|
|||
remember you cannot modify the github copy except by emailing a COW
|
||||
modification to the repo maintainer.
|
||||
|
||||
<p>If you happen to be the repo maintainer, then the obvious solution for you
|
||||
is to make your COW directory <b>be</b> your working copy directory. From
|
||||
there you can push to github. And you can receive *.kicad_mod files by email
|
||||
and put them into your local working copy directory also and do diffs,
|
||||
reverting or denying when appropriate, editing when appropriate before
|
||||
pushing or denying the change. Ultimately you would owe the sender either a
|
||||
note of acceptance or denial by email.
|
||||
|
||||
@author Dick Hollenbeck
|
||||
@date Original date: 10-Sep-2013
|
||||
|
||||
|
|
|
@ -286,11 +286,11 @@ public:
|
|||
* Function FootprintEnumerate
|
||||
* returns a list of footprint names contained within the library at @a aLibraryPath.
|
||||
*
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory
|
||||
* or file containing several footprints.
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory, file,
|
||||
* or URL containing several footprints.
|
||||
*
|
||||
* @param aProperties is an associative array that can be used to tell the
|
||||
* plugin how to access the library.
|
||||
* plugin anything needed about how to perform with respect to @a aLibraryPath.
|
||||
* The caller continues to own this object (plugin may not delete it), and
|
||||
* plugins should expect it to be optionally NULL.
|
||||
*
|
||||
|
@ -307,8 +307,8 @@ public:
|
|||
* loads a footprint having @a aFootprintName from the @a aLibraryPath containing
|
||||
* a library format that this PLUGIN knows about.
|
||||
*
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory
|
||||
* or file containing several footprints.
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory, file,
|
||||
* or URL containing several footprints.
|
||||
*
|
||||
* @param aFootprintName is the name of the footprint to load.
|
||||
*
|
||||
|
@ -331,9 +331,8 @@ public:
|
|||
* will write @a aModule to an existing library located at @a aLibraryPath.
|
||||
* If a footprint by the same name already exists, it is replaced.
|
||||
*
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory
|
||||
* or file containing several footprints. This is where the footprint is
|
||||
* to be stored.
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory, file,
|
||||
* or URL containing several footprints.
|
||||
*
|
||||
* @param aFootprint is what to store in the library. The caller continues
|
||||
* to own the footprint after this call.
|
||||
|
@ -351,15 +350,15 @@ public:
|
|||
|
||||
/**
|
||||
* Function FootprintDelete
|
||||
* deletes the @a aFootprintName from the library at @a aLibraryPath.
|
||||
* deletes @a aFootprintName from the library at @a aLibraryPath.
|
||||
*
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory
|
||||
* or file containing several footprints.
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory, file,
|
||||
* or URL containing several footprints.
|
||||
*
|
||||
* @param aFootprintName is the name of a footprint to delete from the specified library.
|
||||
*
|
||||
* @param aProperties is an associative array that can be used to tell the
|
||||
* library create function anything special, because it can take any number of
|
||||
* library delete function anything special, because it can take any number of
|
||||
* additional named tuning arguments that the plugin is known to support.
|
||||
* The caller continues to own this object (plugin may not delete it), and
|
||||
* plugins should expect it to be optionally NULL.
|
||||
|
@ -375,8 +374,8 @@ public:
|
|||
* error to attempt to create an existing library or to attempt to create
|
||||
* on a "read only" location.
|
||||
*
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory
|
||||
* or file which will contain footprints.
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory, file,
|
||||
* or URL containing several footprints.
|
||||
*
|
||||
* @param aProperties is an associative array that can be used to tell the
|
||||
* library create function anything special, because it can take any number of
|
||||
|
@ -414,6 +413,9 @@ public:
|
|||
* returns true iff the library at @a aLibraryPath is writable. (Often
|
||||
* system libraries are read only because of where they are installed.)
|
||||
*
|
||||
* @param aLibraryPath is a locator for the "library", usually a directory, file,
|
||||
* or URL containing several footprints.
|
||||
*
|
||||
* @throw IO_ERROR if no library at aLibraryPath exists.
|
||||
*/
|
||||
virtual bool IsFootprintLibWritable( const wxString& aLibraryPath );
|
||||
|
|
|
@ -970,12 +970,15 @@ void PCB_IO::format( MODULE* aModule, int aNestLevel ) const
|
|||
else
|
||||
m_out->Print( 0, "\n" );
|
||||
|
||||
m_out->Print( aNestLevel+1, "(at %s", FMT_IU( aModule->GetPosition() ).c_str() );
|
||||
if( !( m_ctl & CTL_OMIT_AT ) )
|
||||
{
|
||||
m_out->Print( aNestLevel+1, "(at %s", FMT_IU( aModule->GetPosition() ).c_str() );
|
||||
|
||||
if( aModule->GetOrientation() != 0.0 )
|
||||
m_out->Print( 0, " %s", FMT_ANGLE( aModule->GetOrientation() ).c_str() );
|
||||
if( aModule->GetOrientation() != 0.0 )
|
||||
m_out->Print( 0, " %s", FMT_ANGLE( aModule->GetOrientation() ).c_str() );
|
||||
|
||||
m_out->Print( 0, ")\n" );
|
||||
m_out->Print( 0, ")\n" );
|
||||
}
|
||||
|
||||
if( !aModule->GetDescription().IsEmpty() )
|
||||
m_out->Print( aNestLevel+1, "(descr %s)\n",
|
||||
|
|
|
@ -43,6 +43,8 @@ class PCB_PARSER;
|
|||
#define CTL_OMIT_TSTAMPS (1 << 2)
|
||||
#define CTL_OMIT_INITIAL_COMMENTS (1 << 3) ///< omit MODULE initial comments
|
||||
#define CTL_OMIT_PATH (1 << 4)
|
||||
#define CTL_OMIT_AT (1 << 5)
|
||||
|
||||
|
||||
// common combinations of the above:
|
||||
|
||||
|
@ -50,7 +52,7 @@ class PCB_PARSER;
|
|||
#define CTL_FOR_CLIPBOARD (CTL_STD_LAYER_NAMES|CTL_OMIT_NETS)
|
||||
|
||||
/// Format output for a footprint library instead of clipboard or BOARD
|
||||
#define CTL_FOR_LIBRARY (CTL_STD_LAYER_NAMES|CTL_OMIT_NETS|CTL_OMIT_TSTAMPS|CTL_OMIT_PATH)
|
||||
#define CTL_FOR_LIBRARY (CTL_STD_LAYER_NAMES|CTL_OMIT_NETS|CTL_OMIT_TSTAMPS|CTL_OMIT_PATH|CTL_OMIT_AT)
|
||||
|
||||
/// The zero arg constructor when PCB_IO is used for PLUGIN::Load() and PLUGIN::Save()ing
|
||||
/// a BOARD file underneath IO_MGR.
|
||||
|
|
|
@ -281,6 +281,10 @@ void LEGACY_PLUGIN::loadAllSections( bool doAppend )
|
|||
FPID fpid;
|
||||
std::string fpName = StrPurge( line + SZ( "$MODULE" ) );
|
||||
|
||||
// The footprint names in legacy libraries can contain the '/' and ':'
|
||||
// characters which will cause the FPID parser to choke.
|
||||
ReplaceIllegalFileNameChars( &fpName );
|
||||
|
||||
if( !fpName.empty() )
|
||||
fpid = FPID( fpName );
|
||||
|
||||
|
@ -4031,6 +4035,10 @@ void LP_CACHE::LoadModules( LINE_READER* aReader )
|
|||
|
||||
std::string footprintName = StrPurge( line + SZ( "$MODULE" ) );
|
||||
|
||||
// The footprint names in legacy libraries can contain the '/' and ':'
|
||||
// characters which will cause the FPID parser to choke.
|
||||
ReplaceIllegalFileNameChars( &footprintName );
|
||||
|
||||
// set the footprint name first thing, so exceptions can use name.
|
||||
module->SetFPID( FPID( footprintName ) );
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include <pcbcommon.h>
|
||||
#include <macros.h>
|
||||
#include <fp_lib_table.h>
|
||||
#include <validators.h>
|
||||
|
||||
#include <class_board.h>
|
||||
#include <class_module.h>
|
||||
|
@ -377,7 +378,7 @@ wxString FOOTPRINT_EDIT_FRAME::CreateNewLibrary()
|
|||
|
||||
wxString wildcard;
|
||||
|
||||
wildcard << wxGetTranslation( LegacyFootprintLibPathWildcard ) << wxChar('|')
|
||||
wildcard << wxGetTranslation( LegacyFootprintLibPathWildcard ) << wxChar( '|' )
|
||||
<< wxGetTranslation( KiCadFootprintLibPathWildcard );
|
||||
|
||||
// prompt user for libPath and PLUGIN (library) type
|
||||
|
@ -845,6 +846,7 @@ MODULE* PCB_BASE_FRAME::Create_1_Module( const wxString& aModuleName )
|
|||
if( moduleName.IsEmpty() )
|
||||
{
|
||||
wxTextEntryDialog dlg( this, FMT_MOD_REF, FMT_MOD_CREATE, moduleName );
|
||||
dlg.SetTextValidator( FOOTPRINT_NAME_VALIDATOR() );
|
||||
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return NULL; //Aborted by user
|
||||
|
|
|
@ -297,29 +297,29 @@ void FOOTPRINT_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
|||
break;
|
||||
|
||||
case ID_MODEDIT_NEW_MODULE:
|
||||
{
|
||||
Clear_Pcb( true );
|
||||
GetScreen()->ClearUndoRedoList();
|
||||
SetCurItem( NULL );
|
||||
SetCrossHairPosition( wxPoint( 0, 0 ) );
|
||||
|
||||
MODULE* module = Create_1_Module( wxEmptyString );
|
||||
|
||||
if( module ) // i.e. if create module command not aborted
|
||||
{
|
||||
Clear_Pcb( true );
|
||||
GetScreen()->ClearUndoRedoList();
|
||||
SetCurItem( NULL );
|
||||
SetCrossHairPosition( wxPoint( 0, 0 ) );
|
||||
// Initialize data relative to nets and netclasses (for a new
|
||||
// module the defaults are used)
|
||||
// This is mandatory to handle and draw pads
|
||||
GetBoard()->BuildListOfNets();
|
||||
redraw = true;
|
||||
module->SetPosition( wxPoint( 0, 0 ) );
|
||||
|
||||
MODULE* module = Create_1_Module( wxEmptyString );
|
||||
if( GetBoard()->m_Modules )
|
||||
GetBoard()->m_Modules->ClearFlags();
|
||||
|
||||
if( module ) // i.e. if create module command not aborted
|
||||
{
|
||||
// Initialize data relative to nets and netclasses (for a new
|
||||
// module the defaults are used)
|
||||
// This is mandatory to handle and draw pads
|
||||
GetBoard()->BuildListOfNets();
|
||||
redraw = true;
|
||||
module->SetPosition( wxPoint( 0, 0 ) );
|
||||
|
||||
if( GetBoard()->m_Modules )
|
||||
GetBoard()->m_Modules->ClearFlags();
|
||||
|
||||
Zoom_Automatique( false );
|
||||
}
|
||||
Zoom_Automatique( false );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_MODEDIT_NEW_MODULE_FROM_WIZARD:
|
||||
|
|
|
@ -30,10 +30,17 @@ void FOOTPRINT_EDIT_FRAME::SaveCopyInUndoList( BOARD_ITEM* aItem,
|
|||
lastcmd->PushItem( wrapper );
|
||||
|
||||
GetScreen()->PushCommandToUndoList( lastcmd );
|
||||
|
||||
/* Clear current flags (which can be temporary set by a current edit command) */
|
||||
for( item = CopyItem->GraphicalItems(); item != NULL; item = item->Next() )
|
||||
item->ClearFlags();
|
||||
|
||||
for( D_PAD* pad = CopyItem->Pads(); pad; pad = pad->Next() )
|
||||
pad->ClearFlags();
|
||||
|
||||
CopyItem->Reference().ClearFlags();
|
||||
CopyItem->Value().ClearFlags();
|
||||
|
||||
/* Clear redo list, because after new save there is no redo to do */
|
||||
GetScreen()->ClearUndoORRedoList( GetScreen()->m_RedoList );
|
||||
}
|
||||
|
|
|
@ -477,20 +477,18 @@ void BRDITEMS_PLOTTER::PlotTextePcb( TEXTE_PCB* pt_texte )
|
|||
|
||||
if( pt_texte->IsMultilineAllowed() )
|
||||
{
|
||||
std::vector<wxPoint> positions;
|
||||
wxArrayString* list = wxStringSplit( pt_texte->GetText(), '\n' );
|
||||
wxPoint offset;
|
||||
positions.reserve( list->Count() );
|
||||
|
||||
offset.y = pt_texte->GetInterline();
|
||||
pt_texte->GetPositionsOfLinesOfMultilineText( positions, list->Count() );
|
||||
|
||||
RotatePoint( &offset, orient );
|
||||
|
||||
for( unsigned i = 0; i < list->Count(); i++ )
|
||||
for( unsigned ii = 0; ii < list->Count(); ii++ )
|
||||
{
|
||||
wxString txt = list->Item( i );
|
||||
m_plotter->Text( pos, UNSPECIFIED_COLOR, txt, orient, size,
|
||||
wxString& txt = list->Item( ii );
|
||||
m_plotter->Text( positions[ii], UNSPECIFIED_COLOR, txt, orient, size,
|
||||
pt_texte->GetHorizJustify(), pt_texte->GetVertJustify(),
|
||||
thickness, pt_texte->IsItalic(), allow_bold );
|
||||
pos += offset;
|
||||
}
|
||||
|
||||
delete list;
|
||||
|
|
|
@ -343,11 +343,11 @@ PNS_SHOVE::ShoveStatus PNS_SHOVE::ShoveLines( PNS_LINE* aCurrentHead )
|
|||
|
||||
PNS_LINE* currentLine = lineStack.top();
|
||||
|
||||
prof_start( &totalRealTime, false );
|
||||
prof_start( &totalRealTime );
|
||||
nearest = node->NearestObstacle( currentLine, PNS_ITEM::ANY );
|
||||
prof_end( &totalRealTime );
|
||||
|
||||
TRACE( 2, "t-nearestObstacle %lld us", (totalRealTime.value ) );
|
||||
TRACE( 2, "t-nearestObstacle %lld us", totalRealTime.usecs() );
|
||||
|
||||
if( !nearest )
|
||||
{
|
||||
|
@ -362,7 +362,7 @@ PNS_SHOVE::ShoveStatus PNS_SHOVE::ShoveLines( PNS_LINE* aCurrentHead )
|
|||
TRACE( 1, "Iter %d optimize-line [range %d-%d, total %d]",
|
||||
iter % r_start % r_end % original->GetCLine().PointCount() );
|
||||
// lastWalkSolid = NULL;
|
||||
prof_start( &totalRealTime, false );
|
||||
prof_start( &totalRealTime );
|
||||
|
||||
if( optimizer.Optimize( original, &optimized ) )
|
||||
{
|
||||
|
@ -376,7 +376,7 @@ PNS_SHOVE::ShoveStatus PNS_SHOVE::ShoveLines( PNS_LINE* aCurrentHead )
|
|||
|
||||
prof_end( &totalRealTime );
|
||||
|
||||
TRACE( 2, "t-optimizeObstacle %lld us", (totalRealTime.value ) );
|
||||
TRACE( 2, "t-optimizeObstacle %lld us", totalRealTime.usecs() );
|
||||
}
|
||||
|
||||
lineStack.pop();
|
||||
|
@ -393,12 +393,12 @@ PNS_SHOVE::ShoveStatus PNS_SHOVE::ShoveLines( PNS_LINE* aCurrentHead )
|
|||
PNS_LINE* collidingLine = node->AssembleLine( pseg );
|
||||
PNS_LINE* shovedLine = collidingLine->CloneProperties();
|
||||
|
||||
prof_start( &totalRealTime, false );
|
||||
prof_start( &totalRealTime );
|
||||
ShoveStatus st = shoveSingleLine( node, currentLine, collidingLine,
|
||||
*pseg, shovedLine );
|
||||
prof_end( &totalRealTime );
|
||||
|
||||
TRACE( 2, "t-shoveSingle %lld us", (totalRealTime.value ) );
|
||||
TRACE( 2, "t-shoveSingle %lld us", totalRealTime.usecs() );
|
||||
|
||||
if( st == SH_OK )
|
||||
{
|
||||
|
@ -441,11 +441,11 @@ PNS_SHOVE::ShoveStatus PNS_SHOVE::ShoveLines( PNS_LINE* aCurrentHead )
|
|||
walkaround.SetSolidsOnly( true );
|
||||
walkaround.SetSingleDirection( true );
|
||||
|
||||
prof_start( &totalRealTime, false );
|
||||
prof_start( &totalRealTime );
|
||||
walkaround.Route( *currentLine, *walkaroundLine, false );
|
||||
prof_end( &totalRealTime );
|
||||
|
||||
TRACE( 2, "t-walkSolid %lld us", (totalRealTime.value ) );
|
||||
TRACE( 2, "t-walkSolid %lld us", totalRealTime.usecs() );
|
||||
|
||||
|
||||
node->Replace( currentLine, walkaroundLine );
|
||||
|
|
|
@ -66,9 +66,6 @@ SELECTION_TOOL::~SELECTION_TOOL()
|
|||
|
||||
void SELECTION_TOOL::Reset()
|
||||
{
|
||||
m_selection.group->Clear();
|
||||
m_selection.items.clear();
|
||||
|
||||
// Reinsert the VIEW_GROUP, in case it was removed from the VIEW
|
||||
getView()->Remove( m_selection.group );
|
||||
getView()->Add( m_selection.group );
|
||||
|
|
|
@ -4,8 +4,25 @@
|
|||
# -> a Red Hat
|
||||
# compatible linux system.
|
||||
#
|
||||
# The "install_prerequisites" step is the only "distro dependent" one. Could modify
|
||||
# that step for other linux distros.
|
||||
# The "install_prerequisites" step is the only "distro dependent" one. That step could be modified
|
||||
# for other linux distros.
|
||||
#
|
||||
# There are 3 package groups in a KiCad install:
|
||||
# 1) Compiled source code in the form of executable programs.
|
||||
# 2) User manuals and other documentation typically as *.pdf files.
|
||||
# 3) a) Schematic parts, b) layout footprints, and c) 3D models for footprints.
|
||||
#
|
||||
# To achieve 1) source is checked out from its repo and compiled by this script then executables
|
||||
# are installed using CMake.
|
||||
# To achieve 2) documentation is checked out from its repo and installed using CMake.
|
||||
# TO achieve 3a) and 3c) they are checked out from their repos and installed using CMake.
|
||||
# To achieve 3b) a global fp-lib-table is put into your home directory which points to
|
||||
# http://github.com/KiCad. No actual footprints are installed locally, internet access is used
|
||||
# during program operation to fetch footprints from github as if it was a remote drive in the cloud.
|
||||
# If you want to install those same KiCad footprints locally, you may run a separate script
|
||||
# named library-repos-install.sh found in this same directory. That script requires that "git" be on
|
||||
# your system whereas this script does not. The footprints require some means to download them and
|
||||
# bzr-git seems not up to the task. wget or curl would also work.
|
||||
|
||||
|
||||
# Set where the 3 source trees will go, use a full path
|
||||
|
@ -19,6 +36,8 @@ OPTS="$OPTS -DBUILD_GITHUB_PLUGIN=ON"
|
|||
# Python scripting, uncomment to enable
|
||||
#OPTS="$OPTS -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_MODULES=ON -DKICAD_SCRIPTING_WXPYTHON=ON"
|
||||
|
||||
LIB_REPO=~kicad-testing-committers/kicad/library
|
||||
|
||||
|
||||
usage()
|
||||
{
|
||||
|
@ -27,9 +46,10 @@ usage()
|
|||
echo ""
|
||||
echo "./kicad-install.sh <cmd>"
|
||||
echo " where <cmd> is one of:"
|
||||
echo " --install-or-update (does full installation or update.)"
|
||||
echo " --remove-sources (removes source trees for another attempt.)"
|
||||
echo " --uninstall-libraries (removes KiCad supplied libraries.)"
|
||||
echo " --install-or-update (does full installation or update.)"
|
||||
echo " --remove-sources (removes source trees for another attempt.)"
|
||||
echo " --uninstall-libraries (removes KiCad supplied libraries.)"
|
||||
echo " --uninstall-kicad (uninstalls all of KiCad but leaves source trees.)"
|
||||
echo ""
|
||||
echo "example:"
|
||||
echo ' $ ./kicad-install.sh --install-or-update'
|
||||
|
@ -109,8 +129,6 @@ cmake_uninstall()
|
|||
elif [ ! -e install_manifest.txt ]; then
|
||||
echo
|
||||
echo "Missing file $dir/install_manifest.txt."
|
||||
echo "Libraries may have already been uinstalled, or were not"
|
||||
echo 'originally installed with an "uninstall" knowledgable CMakeLists.txt file.'
|
||||
else
|
||||
echo "uninstalling from $dir"
|
||||
sudo make uninstall
|
||||
|
@ -145,10 +163,8 @@ install_or_update()
|
|||
cd ../
|
||||
fi
|
||||
|
||||
|
||||
echo "step 4) checking out the libraries from launchpad repo..."
|
||||
if [ ! -d "$WORKING_TREES/kicad-lib.bzr" ]; then
|
||||
bzr checkout lp:~kicad-lib-committers/kicad/library kicad-lib.bzr
|
||||
bzr checkout "lp:$LIB_REPO" kicad-lib.bzr
|
||||
echo ' kicad-lib checked out.'
|
||||
else
|
||||
cd kicad-lib.bzr
|
||||
|
@ -176,7 +192,6 @@ install_or_update()
|
|||
cmake $OPTS ../
|
||||
else
|
||||
cd build
|
||||
|
||||
# Although a "make clean" is sometimes needed, more often than not it slows down the update
|
||||
# more than it is worth. Do it manually if you need to in this directory.
|
||||
# make clean
|
||||
|
@ -190,13 +205,7 @@ install_or_update()
|
|||
echo " kicad program files installed."
|
||||
|
||||
|
||||
echo "step 8) as non-root, install user configuration files..."
|
||||
# install ~/fp-lib-table [and friends]
|
||||
make install_user_configuration_files
|
||||
echo " kicad user-configuration files installed."
|
||||
|
||||
|
||||
echo "step 9) installing libraries..."
|
||||
echo "step 8) installing libraries..."
|
||||
cd ../../kicad-lib.bzr
|
||||
rm_build_dir build
|
||||
mkdir build && cd build
|
||||
|
@ -205,6 +214,12 @@ install_or_update()
|
|||
echo " kicad-lib installed."
|
||||
|
||||
|
||||
echo "step 9) as non-root, install user configuration files..."
|
||||
# install ~/fp-lib-table
|
||||
make install_github_fp-lib-table
|
||||
echo " kicad user-configuration files installed."
|
||||
|
||||
|
||||
echo "step 10) installing documentation..."
|
||||
cd ../../kicad-doc.bzr
|
||||
rm_build_dir build
|
||||
|
@ -240,4 +255,20 @@ if [ $# -eq 1 -a "$1" == "--uninstall-libraries" ]; then
|
|||
exit
|
||||
fi
|
||||
|
||||
|
||||
if [ $# -eq 1 -a "$1" == "--uninstall-kicad" ]; then
|
||||
cd "$WORKING_TREES/kicad.bzr/build"
|
||||
cmake_uninstall "$WORKING_TREES/kicad.bzr/build"
|
||||
|
||||
cd "$WORKING_TREES/kicad-lib.bzr/build"
|
||||
cmake_uninstall "$WORKING_TREES/kicad-lib.bzr/build"
|
||||
|
||||
# this may fail since "uninstall" support is a recent feature of this repo:
|
||||
cd "$WORKING_TREES/kicad-doc.bzr/build"
|
||||
cmake_uninstall "$WORKING_TREES/kicad-doc.bzr/build"
|
||||
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
usage
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
#!/bin/bash
|
||||
# Git KiCad library repos:
|
||||
#
|
||||
# The "install_prerequisites" step is the only "distro dependent" one. Could modify
|
||||
# that step for other linux distros.
|
||||
# This script requires "git". The package bzr-git is not up to the task.
|
||||
# The first time you run with option --install-or-update that is the slowest, because
|
||||
# git clone from github.com is slow.
|
||||
# After that updates should run faster.
|
||||
|
||||
# There are two reasons why you might want to run this script:
|
||||
#
|
||||
# 1) You want to contribute to the KiCad library team maintained libraries and have yet to
|
||||
# discover or have chosen not to use the COW feature in the Github "Plugin Type".
|
||||
#
|
||||
# 2) You want to run with local pretty footprint libraries and not those remotely located
|
||||
# on https://github.com using Github plugin. After running this script you should be able to
|
||||
# a) $ cp ~/kicad_sources/library-repos/kicad-library/template/fp-lib-table.for-pretty ~/fp-lib-table
|
||||
# and then
|
||||
# b) set your environment variable KISYSMOD to "~/kicad_sources/library-repos"
|
||||
# before starting pcbnew. This will use the KiCad plugin against the *.pretty dirs in that base dir.
|
||||
|
||||
|
||||
|
||||
# Set where the library repos will go, use a full path
|
||||
WORKING_TREES=~/kicad_sources
|
||||
|
||||
|
||||
usage()
|
||||
{
|
||||
echo ""
|
||||
echo " usage:"
|
||||
echo ""
|
||||
echo "./library-sources-install.sh <cmd>"
|
||||
echo " where <cmd> is one of:"
|
||||
echo " --install-or-update (of the library sources.)"
|
||||
echo " --remove-all-sources (remove all source trees.)"
|
||||
echo " --install-prerequisites (install command tools needed here, run once first.)"
|
||||
# echo " --uninstall-libraries (remove KiCad supplied libraries which have been installed.)"
|
||||
echo ""
|
||||
echo "example:"
|
||||
echo ' $ ./library-sources-install.sh --install-or-update'
|
||||
}
|
||||
|
||||
|
||||
install_prerequisites()
|
||||
{
|
||||
# Find a package manager, PM
|
||||
PM=$( command -v yum || command -v apt-get )
|
||||
|
||||
# assume all these Debian, Mint, Ubuntu systems have same prerequisites
|
||||
if [ "$(expr match "$PM" '.*\(apt-get\)')" == "apt-get" ]; then
|
||||
#echo "debian compatible system"
|
||||
sudo apt-get install \
|
||||
git \
|
||||
curl \
|
||||
sed
|
||||
|
||||
# assume all yum systems have same prerequisites
|
||||
elif [ "$(expr match "$PM" '.*\(yum\)')" == "yum" ]; then
|
||||
#echo "red hat compatible system"
|
||||
# Note: if you find this list not to be accurate, please submit a patch:
|
||||
sudo yum install \
|
||||
git \
|
||||
curl \
|
||||
sed
|
||||
else
|
||||
echo
|
||||
echo "Incompatible System. Neither 'yum' nor 'apt-get' found. Not possible to continue."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
rm_build_dir()
|
||||
{
|
||||
local dir="$1"
|
||||
# this file is often created as root, so remove as root
|
||||
sudo rm "$dir/install_manifest.txt" 2> /dev/null
|
||||
rm -rf "$dir"
|
||||
}
|
||||
|
||||
|
||||
cmake_uninstall()
|
||||
{
|
||||
# assume caller set the CWD, and is only telling us about it in $1
|
||||
local dir="$1"
|
||||
|
||||
cwd=`pwd`
|
||||
if [ "$cwd" != "$dir" ]; then
|
||||
echo "missing dir $dir"
|
||||
elif [ ! -e install_manifest.txt ]; then
|
||||
echo
|
||||
echo "Missing file $dir/install_manifest.txt."
|
||||
else
|
||||
echo "uninstalling from $dir"
|
||||
sudo make uninstall
|
||||
sudo rm install_manifest.txt
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
detect_pretty_repos()
|
||||
{
|
||||
# Use github API to list repos for org KiCad, then subset the JSON reply for only
|
||||
# *.pretty repos
|
||||
PRETTY_REPOS=`curl https://api.github.com/orgs/KiCad/repos?per_page=2000 2> /dev/null \
|
||||
| grep full_name | grep pretty \
|
||||
| sed -r 's:.+ "KiCad/(.+)",:\1:'`
|
||||
|
||||
#echo "PRETTY_REPOS:$PRETTY_REPOS"
|
||||
}
|
||||
|
||||
|
||||
checkout_or_update_libraries()
|
||||
{
|
||||
if [ ! -d "$WORKING_TREES" ]; then
|
||||
sudo mkdir -p "$WORKING_TREES"
|
||||
echo " mark $WORKING_TREES as owned by me"
|
||||
sudo chown -R `whoami` "$WORKING_TREES"
|
||||
fi
|
||||
cd $WORKING_TREES
|
||||
|
||||
detect_pretty_repos
|
||||
|
||||
if [ ! -e "$WORKING_TREES/library-repos" ]; then
|
||||
mkdir -p "$WORKING_TREES/library-repos"
|
||||
fi
|
||||
|
||||
for repo in kicad-library $PRETTY_REPOS; do
|
||||
# echo "repo:$repo"
|
||||
|
||||
if [ ! -e "$WORKING_TREES/library-repos/$repo" ]; then
|
||||
|
||||
# Be _sure_ and preserve the directory name, we want extension .pretty not .pretty.git.
|
||||
# That way those repos can serve as pretty libraries directly if need be.
|
||||
|
||||
echo "installing $WORKING_TREES/library-repos/$repo"
|
||||
git clone "https://github.com/KiCad/$repo" "$WORKING_TREES/library-repos/$repo"
|
||||
else
|
||||
echo "updating $WORKING_TREES/library-repos/$repo"
|
||||
cd "$WORKING_TREES/library-repos/$repo"
|
||||
git pull
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
if [ $# -eq 1 -a "$1" == "--install-or-update" ]; then
|
||||
checkout_or_update_libraries
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
if [ $# -eq 1 -a "$1" == "--remove-all-sources" ]; then
|
||||
rm -rf "$WORKING_TREES/library-repos"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
if [ $# -eq 1 -a "$1" == "--install-prerequisites" ]; then
|
||||
install_prerequisites
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
usage
|
|
@ -1,68 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Generate a footprint library table which can serve as a sensible initial
|
||||
# personal/global table assuming you have all the footprint libraries installed
|
||||
# from the bazaar library repo.
|
||||
# Copyright (C) 2007-2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
|
||||
# License GPLv2
|
||||
|
||||
# This program makes the table either in s-expression or CSV format.
|
||||
# The CSV format can be loaded into a spreadsheet and then from there rows
|
||||
# can be copied into either of the fp_table_dialog's table editors:
|
||||
# a) personal/global or b) project
|
||||
|
||||
|
||||
# Usage:
|
||||
# $ make_global_table.sh [--csv] > outputfile
|
||||
|
||||
# Library Type: Legacy for now, Kicad in future
|
||||
libtype="Legacy"
|
||||
|
||||
|
||||
# Get a list of modules currently in the launchpad repo:
|
||||
mods=`bzr ls -d lp:~kicad-lib-committers/kicad/library modules 2>/dev/null`
|
||||
#echo "$mods"
|
||||
|
||||
mods=`echo "$mods" | egrep '\.mod$' | sort`
|
||||
#echo "$mods"
|
||||
|
||||
csv=0
|
||||
|
||||
if [ $# -gt 0 -a "$1" == "--csv" ]; then
|
||||
csv=1
|
||||
fi
|
||||
|
||||
today=`date --rfc-3339=date`
|
||||
|
||||
if [ $csv -eq 1 ]; then
|
||||
echo "NICKNAME,TYPE,URI,OPTIONS,DESCR,,FP LIB TABLE: made from KiCad's Bazaar 'library' repository on $today"
|
||||
echo
|
||||
|
||||
echo "$mods" | while read mod;
|
||||
do
|
||||
# base filename w/o extension
|
||||
bfn=`basename $mod .mod`
|
||||
|
||||
printf '%s,%s,${KISYSMOD}/%s,"",""\n' \
|
||||
"$bfn" \
|
||||
"$libtype" \
|
||||
"$bfn.mod"
|
||||
done
|
||||
|
||||
else
|
||||
|
||||
echo "# FP LIB TABLE: made from KiCad's Bazaar 'library' repository on $today"
|
||||
echo "(fp_lib_table"
|
||||
|
||||
echo "$mods" | while read mod;
|
||||
do
|
||||
# base filename w/o extension
|
||||
bfn=`basename $mod .mod`
|
||||
|
||||
printf ' (lib (name %s)(type %s)(uri ${KISYSMOD}/%s)(options "")(descr ""))\n' \
|
||||
"$bfn" \
|
||||
"$libtype" \
|
||||
"$bfn.mod"
|
||||
done
|
||||
|
||||
echo ")"
|
||||
fi
|
|
@ -1,9 +1,5 @@
|
|||
install( FILES
|
||||
kicad.pro
|
||||
fp-lib-table
|
||||
fp-lib-table.csv
|
||||
fp-lib-table.for-github
|
||||
fp-lib-table.for-eagle-6.4.0
|
||||
gost_landscape.kicad_wks
|
||||
gost_portrait.kicad_wks
|
||||
pagelayout_default.kicad_wks
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
(fp_lib_table
|
||||
(lib (name Air_Coils_SML_NEOSID)(type Legacy)(uri ${KISYSMOD}/Air_Coils_SML_NEOSID.mod)(options "")(descr HAMxx31A_HDMxx31A))
|
||||
(lib (name Capacitors_Elko_ThroughHole)(type Legacy)(uri ${KISYSMOD}/Capacitors_Elko_ThroughHole.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Capacitors_SMD)(type Legacy)(uri ${KISYSMOD}/Capacitors_SMD.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Capacitors)(type Legacy)(uri ${KISYSMOD}/Capacitors.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Connectors_Serial_MOLEX)(type Legacy)(uri ${KISYSMOD}/Connectors_Serial_MOLEX.mod)(options "")(descr 53047-A123))
|
||||
(lib (name Connect)(type Legacy)(uri ${KISYSMOD}/Connect.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Converters_DCDC_ACDC)(type Legacy)(uri ${KISYSMOD}/Converters_DCDC_ACDC.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Crystals_Oscillators_SMD)(type Legacy)(uri ${KISYSMOD}/Crystals_Oscillators_SMD.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Crystals)(type Legacy)(uri ${KISYSMOD}/Crystals.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Diodes_SMD)(type Legacy)(uri ${KISYSMOD}/Diodes_SMD.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Diodes_ThroughHole)(type Legacy)(uri ${KISYSMOD}/Diodes_ThroughHole.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Discret)(type Legacy)(uri ${KISYSMOD}/Discret.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Display)(type Legacy)(uri ${KISYSMOD}/Display.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Divers)(type Legacy)(uri ${KISYSMOD}/Divers.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name EuroBoard_Outline)(type Legacy)(uri ${KISYSMOD}/EuroBoard_Outline.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Fiducials)(type Legacy)(uri ${KISYSMOD}/Fiducials.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Filters_HF_Coils_NEOSID)(type Legacy)(uri ${KISYSMOD}/Filters_HF_Coils_NEOSID.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Footprint_Symbols)(type Legacy)(uri ${KISYSMOD}/Footprint_Symbols.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Fuse_Holders_and_Fuses)(type Legacy)(uri ${KISYSMOD}/Fuse_Holders_and_Fuses.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Heatsinks)(type Legacy)(uri ${KISYSMOD}/Heatsinks.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Housings_ROHM)(type Legacy)(uri ${KISYSMOD}/Housings_ROHM.mod)(options "")(descr VML0806))
|
||||
(lib (name Housings_SIP9)(type Legacy)(uri ${KISYSMOD}/Housings_SIP9.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Housings_SOT-23_SOT-143_TSOT-6)(type Legacy)(uri ${KISYSMOD}/Housings_SOT-23_SOT-143_TSOT-6.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Housings_SOT-89)(type Legacy)(uri ${KISYSMOD}/Housings_SOT-89.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Housings_SOT)(type Legacy)(uri ${KISYSMOD}/Housings_SOT.mod)(options "")(descr "SOT126, SOT32"))
|
||||
(lib (name Housings_TO-50)(type Legacy)(uri ${KISYSMOD}/Housings_TO-50.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Housings_TO-78)(type Legacy)(uri ${KISYSMOD}/Housings_TO-78.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Housings_TO-92)(type Legacy)(uri ${KISYSMOD}/Housings_TO-92.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Inductors_NEOSID)(type Legacy)(uri ${KISYSMOD}/Inductors_NEOSID.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Inductors)(type Legacy)(uri ${KISYSMOD}/Inductors.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name IR-DirectFETs)(type Legacy)(uri ${KISYSMOD}/IR-DirectFETs.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Iut)(type Legacy)(uri ${KISYSMOD}/Iut.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Labels)(type Legacy)(uri ${KISYSMOD}/Labels.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name LEDs)(type Legacy)(uri ${KISYSMOD}/LEDs.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Measurement_Points)(type Legacy)(uri ${KISYSMOD}/Measurement_Points.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Measurement_Scales)(type Legacy)(uri ${KISYSMOD}/Measurement_Scales.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Mechanical_Sockets)(type Legacy)(uri ${KISYSMOD}/Mechanical_Sockets.mod)(options "")(descr DIN41612))
|
||||
(lib (name Mounting_Holes)(type Legacy)(uri ${KISYSMOD}/Mounting_Holes.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Muonde)(type Legacy)(uri ${KISYSMOD}/Muonde.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name NF-Transformers_ETAL)(type Legacy)(uri ${KISYSMOD}/NF-Transformers_ETAL.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Oddities)(type Legacy)(uri ${KISYSMOD}/Oddities.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Opto-Devices)(type Legacy)(uri ${KISYSMOD}/Opto-Devices.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Oscillator-Modules)(type Legacy)(uri ${KISYSMOD}/Oscillator-Modules.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Oscillators)(type Legacy)(uri ${KISYSMOD}/Oscillators.mod)(options "")(descr "SI570, SI571"))
|
||||
(lib (name Pentawatts)(type Legacy)(uri ${KISYSMOD}/Pentawatts.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name PFF_PSF_PSS_Leadforms)(type Legacy)(uri ${KISYSMOD}/PFF_PSF_PSS_Leadforms.mod)(options "")(descr Allegro_ACS754_ACS755_ACS756_HallCurrentSensor))
|
||||
(lib (name Pin_Arrays)(type Legacy)(uri ${KISYSMOD}/Pin_Arrays.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Potentiometers)(type Legacy)(uri ${KISYSMOD}/Potentiometers.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Power_Integrations)(type Legacy)(uri ${KISYSMOD}/Power_Integrations.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Printtrafo_CHK)(type Legacy)(uri ${KISYSMOD}/Printtrafo_CHK.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Relays_ThroughHole)(type Legacy)(uri ${KISYSMOD}/Relays_ThroughHole.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Resistors_SMD)(type Legacy)(uri ${KISYSMOD}/Resistors_SMD.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Resistors_ThroughHole)(type Legacy)(uri ${KISYSMOD}/Resistors_ThroughHole.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Resistors_Universal)(type Legacy)(uri ${KISYSMOD}/Resistors_Universal.mod)(options "")(descr Experimental))
|
||||
(lib (name SMD_Packages)(type Legacy)(uri ${KISYSMOD}/SMD_Packages.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Sockets_DIP)(type Legacy)(uri ${KISYSMOD}/Sockets_DIP.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Sockets_Mini-Universal)(type Legacy)(uri ${KISYSMOD}/Sockets_Mini-Universal.mod)(options "")(descr Mate-N-Lok))
|
||||
(lib (name Sockets_MOLEX_KK-System)(type Legacy)(uri ${KISYSMOD}/Sockets_MOLEX_KK-System.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Sockets_PGA)(type Legacy)(uri ${KISYSMOD}/Sockets_PGA.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Sockets)(type Legacy)(uri ${KISYSMOD}/Sockets.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Sockets_WAGO734)(type Legacy)(uri ${KISYSMOD}/Sockets_WAGO734.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name SOIC_Packages)(type Legacy)(uri ${KISYSMOD}/SOIC_Packages.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name SSOP_Packages)(type Legacy)(uri ${KISYSMOD}/SSOP_Packages.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Terminal_Blocks)(type Legacy)(uri ${KISYSMOD}/Terminal_Blocks.mod)(options "")(descr WAGO236-RM5mm))
|
||||
(lib (name Transformers_SMPS_ThroughHole)(type Legacy)(uri ${KISYSMOD}/Transformers_SMPS_ThroughHole.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Transistors_SMD)(type Legacy)(uri ${KISYSMOD}/Transistors_SMD.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Transistors_TO-220)(type Legacy)(uri ${KISYSMOD}/Transistors_TO-220.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Transistors_TO-247)(type Legacy)(uri ${KISYSMOD}/Transistors_TO-247.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Valves)(type Legacy)(uri ${KISYSMOD}/Valves.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Wire_Connections_Bridges)(type Legacy)(uri ${KISYSMOD}/Wire_Connections_Bridges.mod)(options "")(descr "The way you like them."))
|
||||
(lib (name Wire_Pads)(type Legacy)(uri ${KISYSMOD}/Wire_Pads.mod)(options "")(descr "The way you like them."))
|
||||
)
|
|
@ -1,75 +0,0 @@
|
|||
NICKNAME,TYPE,URI,OPTIONS,DESCR,,FP LIB TABLE: made from KiCad's Bazaar 'library' repository on 2013-06-25
|
||||
|
||||
Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA,Legacy,${KISYSMOD}/Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA.mod,"",""
|
||||
capacitors,Legacy,${KISYSMOD}/capacitors.mod,"",""
|
||||
Capacitors_SMD_RevA,Legacy,${KISYSMOD}/Capacitors_SMD_RevA.mod,"",""
|
||||
connect,Legacy,${KISYSMOD}/connect.mod,"",""
|
||||
connectors_molex_serial_53047-A123,Legacy,${KISYSMOD}/connectors_molex_serial_53047-A123.mod,"",""
|
||||
Crystals_RevB_20Apr2013,Legacy,${KISYSMOD}/Crystals_RevB_20Apr2013.mod,"",""
|
||||
DCDC-ACDC-Converter_RevC_20Jul2012,Legacy,${KISYSMOD}/DCDC-ACDC-Converter_RevC_20Jul2012.mod,"",""
|
||||
Dioden_SMD_RevA_31May2013,Legacy,${KISYSMOD}/Dioden_SMD_RevA_31May2013.mod,"",""
|
||||
Dioden_ThroughHole_RevC,Legacy,${KISYSMOD}/Dioden_ThroughHole_RevC.mod,"",""
|
||||
dip_sockets,Legacy,${KISYSMOD}/dip_sockets.mod,"",""
|
||||
discret,Legacy,${KISYSMOD}/discret.mod,"",""
|
||||
display,Legacy,${KISYSMOD}/display.mod,"",""
|
||||
divers,Legacy,${KISYSMOD}/divers.mod,"",""
|
||||
Elko_ThroughHole_RevB-3_30Dec2011,Legacy,${KISYSMOD}/Elko_ThroughHole_RevB-3_30Dec2011.mod,"",""
|
||||
EuroBoardoutline_RevC,Legacy,${KISYSMOD}/EuroBoardoutline_RevC.mod,"",""
|
||||
Fiducials_RevC_04Aug2012,Legacy,${KISYSMOD}/Fiducials_RevC_04Aug2012.mod,"",""
|
||||
Footprint-Symbols_RevD_28Aug2012,Legacy,${KISYSMOD}/Footprint-Symbols_RevD_28Aug2012.mod,"",""
|
||||
FuseholderAndFuses_RevD_28Aug2012,Legacy,${KISYSMOD}/FuseholderAndFuses_RevD_28Aug2012.mod,"",""
|
||||
Heatsinks_RevC,Legacy,${KISYSMOD}/Heatsinks_RevC.mod,"",""
|
||||
inductors,Legacy,${KISYSMOD}/inductors.mod,"",""
|
||||
IR-directFET_Packages_RevB,Legacy,${KISYSMOD}/IR-directFET_Packages_RevB.mod,"",""
|
||||
iut,Legacy,${KISYSMOD}/iut.mod,"",""
|
||||
Label_RevA_21Mar2011,Legacy,${KISYSMOD}/Label_RevA_21Mar2011.mod,"",""
|
||||
led,Legacy,${KISYSMOD}/led.mod,"",""
|
||||
libcms,Legacy,${KISYSMOD}/libcms.mod,"",""
|
||||
Measurement_Point_RevA,Legacy,${KISYSMOD}/Measurement_Point_RevA.mod,"",""
|
||||
Measurement-Scala_RevA,Legacy,${KISYSMOD}/Measurement-Scala_RevA.mod,"",""
|
||||
Mechanical_Socket-Plug_DIN41612-Stuff_RevA,Legacy,${KISYSMOD}/Mechanical_Socket-Plug_DIN41612-Stuff_RevA.mod,"",""
|
||||
MiniUniversalMate-N-LokSockets_13Aug2012,Legacy,${KISYSMOD}/MiniUniversalMate-N-LokSockets_13Aug2012.mod,"",""
|
||||
MountingHole_RevA,Legacy,${KISYSMOD}/MountingHole_RevA.mod,"",""
|
||||
muonde,Legacy,${KISYSMOD}/muonde.mod,"",""
|
||||
Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012,Legacy,${KISYSMOD}/Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012.mod,"",""
|
||||
Neosid_Filter_HF-Coil_25Apr2012,Legacy,${KISYSMOD}/Neosid_Filter_HF-Coil_25Apr2012.mod,"",""
|
||||
Neosid_Inductor_21Apr2012,Legacy,${KISYSMOD}/Neosid_Inductor_21Apr2012.mod,"",""
|
||||
NF-Transformer_ETAL_RevA_28Aug2012,Legacy,${KISYSMOD}/NF-Transformer_ETAL_RevA_28Aug2012.mod,"",""
|
||||
Oddities_RevA_10Mar2011,Legacy,${KISYSMOD}/Oddities_RevA_10Mar2011.mod,"",""
|
||||
Opto-Devices_RevC_03Oct2012,Legacy,${KISYSMOD}/Opto-Devices_RevC_03Oct2012.mod,"",""
|
||||
Oscillator-Modul_RevA,Legacy,${KISYSMOD}/Oscillator-Modul_RevA.mod,"",""
|
||||
Pentawatt_RevB_30Apr2011,Legacy,${KISYSMOD}/Pentawatt_RevB_30Apr2011.mod,"",""
|
||||
pga_sockets,Legacy,${KISYSMOD}/pga_sockets.mod,"",""
|
||||
pin_array,Legacy,${KISYSMOD}/pin_array.mod,"",""
|
||||
Potentiometer_RevB_02Aug2010,Legacy,${KISYSMOD}/Potentiometer_RevB_02Aug2010.mod,"",""
|
||||
powerint,Legacy,${KISYSMOD}/powerint.mod,"",""
|
||||
Printtrafo_CHK_RevA_04Aug2010,Legacy,${KISYSMOD}/Printtrafo_CHK_RevA_04Aug2010.mod,"",""
|
||||
Relay_ThroughHole_RevB,Legacy,${KISYSMOD}/Relay_ThroughHole_RevB.mod,"",""
|
||||
Resistor_SMD_RevA,Legacy,${KISYSMOD}/Resistor_SMD_RevA.mod,"",""
|
||||
Resistor_ThroughHole_RevB_22Apr2011,Legacy,${KISYSMOD}/Resistor_ThroughHole_RevB_22Apr2011.mod,"",""
|
||||
Resistor_Universal-Experimental_RevA,Legacy,${KISYSMOD}/Resistor_Universal-Experimental_RevA.mod,"",""
|
||||
SI570_SI571_Oscillator_RevA_11Jun2012,Legacy,${KISYSMOD}/SI570_SI571_Oscillator_RevA_11Jun2012.mod,"",""
|
||||
SIP9_Housing_14Jun2013,Legacy,${KISYSMOD}/SIP9_Housing_14Jun2013.mod,"",""
|
||||
smd_capacitors,Legacy,${KISYSMOD}/smd_capacitors.mod,"",""
|
||||
smd_crystal_and_oscillator,Legacy,${KISYSMOD}/smd_crystal_and_oscillator.mod,"",""
|
||||
smd_resistors,Legacy,${KISYSMOD}/smd_resistors.mod,"",""
|
||||
smd_soic_packages,Legacy,${KISYSMOD}/smd_soic_packages.mod,"",""
|
||||
smd_ssop_packages,Legacy,${KISYSMOD}/smd_ssop_packages.mod,"",""
|
||||
smd_transistors,Legacy,${KISYSMOD}/smd_transistors.mod,"",""
|
||||
Socket_MOLEX-KK-System,Legacy,${KISYSMOD}/Socket_MOLEX-KK-System.mod,"",""
|
||||
sockets,Legacy,${KISYSMOD}/sockets.mod,"",""
|
||||
Socket_WAGO734_RevA,Legacy,${KISYSMOD}/Socket_WAGO734_RevA.mod,"",""
|
||||
SOT126_SOT32_Housings_RevA_22Oct2012,Legacy,${KISYSMOD}/SOT126_SOT32_Housings_RevA_22Oct2012.mod,"",""
|
||||
SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012,Legacy,${KISYSMOD}/SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012.mod,"",""
|
||||
SOT89-3_SOT89-5_Housing_RevA_02Sep2012,Legacy,${KISYSMOD}/SOT89-3_SOT89-5_Housing_RevA_02Sep2012.mod,"",""
|
||||
TerminalBlock_WAGO236-RM5mm_RevA2-cache,Legacy,${KISYSMOD}/TerminalBlock_WAGO236-RM5mm_RevA2-cache.mod,"",""
|
||||
TO-50_Housings_RevA_21Apr2013,Legacy,${KISYSMOD}/TO-50_Housings_RevA_21Apr2013.mod,"",""
|
||||
TO-78_Housing_RevA_04Jun2013,Legacy,${KISYSMOD}/TO-78_Housing_RevA_04Jun2013.mod,"",""
|
||||
TO-92_Housings_06Jun2013,Legacy,${KISYSMOD}/TO-92_Housings_06Jun2013.mod,"",""
|
||||
TransformerSMPS_ThroughHole_RevA,Legacy,${KISYSMOD}/TransformerSMPS_ThroughHole_RevA.mod,"",""
|
||||
Transistor_TO-220_RevB_03Sep2012,Legacy,${KISYSMOD}/Transistor_TO-220_RevB_03Sep2012.mod,"",""
|
||||
Transistor_TO-247_RevC,Legacy,${KISYSMOD}/Transistor_TO-247_RevC.mod,"",""
|
||||
valves,Legacy,${KISYSMOD}/valves.mod,"",""
|
||||
VML0806_Housing_Rohm_RevA_26Oct2012,Legacy,${KISYSMOD}/VML0806_Housing_Rohm_RevA_26Oct2012.mod,"",""
|
||||
WireConnections-Bridges_RevA,Legacy,${KISYSMOD}/WireConnections-Bridges_RevA.mod,"",""
|
||||
WirePads_RevA_15Jun2010,Legacy,${KISYSMOD}/WirePads_RevA_15Jun2010.mod,"",""
|
Can't render this file because it has a wrong number of fields in line 3.
|
|
@ -1,335 +0,0 @@
|
|||
(fp_lib_table
|
||||
(lib (name 19inch.lbr)(type Eagle)(uri ${EGMOD}/19inch.lbr)(options "")(descr "Project Library"))
|
||||
(lib (name 40xx.lbr)(type Eagle)(uri ${EGMOD}/40xx.lbr)(options "")(descr ""))
|
||||
(lib (name 41xx.lbr)(type Eagle)(uri ${EGMOD}/41xx.lbr)(options "")(descr ""))
|
||||
(lib (name 45xx.lbr)(type Eagle)(uri ${EGMOD}/45xx.lbr)(options "")(descr ""))
|
||||
(lib (name 74ac-logic.lbr)(type Eagle)(uri ${EGMOD}/74ac-logic.lbr)(options "")(descr ""))
|
||||
(lib (name 74ttl-din.lbr)(type Eagle)(uri ${EGMOD}/74ttl-din.lbr)(options "")(descr ""))
|
||||
(lib (name 74xx-eu.lbr)(type Eagle)(uri ${EGMOD}/74xx-eu.lbr)(options "")(descr ""))
|
||||
(lib (name 74xx-little-de.lbr)(type Eagle)(uri ${EGMOD}/74xx-little-de.lbr)(options "")(descr ""))
|
||||
(lib (name 74xx-little-us.lbr)(type Eagle)(uri ${EGMOD}/74xx-little-us.lbr)(options "")(descr ""))
|
||||
(lib (name 74xx-us.lbr)(type Eagle)(uri ${EGMOD}/74xx-us.lbr)(options "")(descr ""))
|
||||
(lib (name 751xx.lbr)(type Eagle)(uri ${EGMOD}/751xx.lbr)(options "")(descr ""))
|
||||
(lib (name advanced-test-technologies.lbr)(type Eagle)(uri ${EGMOD}/advanced-test-technologies.lbr)(options "")(descr ""))
|
||||
(lib (name agilent-technologies.lbr)(type Eagle)(uri ${EGMOD}/agilent-technologies.lbr)(options "")(descr ""))
|
||||
(lib (name allegro.lbr)(type Eagle)(uri ${EGMOD}/allegro.lbr)(options "")(descr ""))
|
||||
(lib (name altera.lbr)(type Eagle)(uri ${EGMOD}/altera.lbr)(options "")(descr ""))
|
||||
(lib (name altera-cyclone-II.lbr)(type Eagle)(uri ${EGMOD}/altera-cyclone-II.lbr)(options "")(descr ""))
|
||||
(lib (name altera-cyclone-III.lbr)(type Eagle)(uri ${EGMOD}/altera-cyclone-III.lbr)(options "")(descr ""))
|
||||
(lib (name altera-stratix-iv.lbr)(type Eagle)(uri ${EGMOD}/altera-stratix-iv.lbr)(options "")(descr ""))
|
||||
(lib (name am29-memory.lbr)(type Eagle)(uri ${EGMOD}/am29-memory.lbr)(options "")(descr ""))
|
||||
(lib (name amd.lbr)(type Eagle)(uri ${EGMOD}/amd.lbr)(options "")(descr ""))
|
||||
(lib (name amd-mach.lbr)(type Eagle)(uri ${EGMOD}/amd-mach.lbr)(options "")(descr ""))
|
||||
(lib (name amis.lbr)(type Eagle)(uri ${EGMOD}/amis.lbr)(options "")(descr ""))
|
||||
(lib (name analog-devices.lbr)(type Eagle)(uri ${EGMOD}/analog-devices.lbr)(options "")(descr ""))
|
||||
(lib (name ase.lbr)(type Eagle)(uri ${EGMOD}/ase.lbr)(options "")(descr ""))
|
||||
(lib (name atmel.lbr)(type Eagle)(uri ${EGMOD}/atmel.lbr)(options "")(descr ""))
|
||||
(lib (name austriamicrosystems.lbr)(type Eagle)(uri ${EGMOD}/austriamicrosystems.lbr)(options "")(descr ""))
|
||||
(lib (name avago.lbr)(type Eagle)(uri ${EGMOD}/avago.lbr)(options "")(descr ""))
|
||||
(lib (name axis.lbr)(type Eagle)(uri ${EGMOD}/axis.lbr)(options "")(descr ""))
|
||||
(lib (name battery.lbr)(type Eagle)(uri ${EGMOD}/battery.lbr)(options "")(descr ""))
|
||||
(lib (name belton-engineering.lbr)(type Eagle)(uri ${EGMOD}/belton-engineering.lbr)(options "")(descr ""))
|
||||
(lib (name burr-brown.lbr)(type Eagle)(uri ${EGMOD}/burr-brown.lbr)(options "")(descr ""))
|
||||
(lib (name busbar.lbr)(type Eagle)(uri ${EGMOD}/busbar.lbr)(options "")(descr ""))
|
||||
(lib (name buzzer.lbr)(type Eagle)(uri ${EGMOD}/buzzer.lbr)(options "")(descr ""))
|
||||
(lib (name california-micro-devices.lbr)(type Eagle)(uri ${EGMOD}/california-micro-devices.lbr)(options "")(descr ""))
|
||||
(lib (name capacitor-wima.lbr)(type Eagle)(uri ${EGMOD}/capacitor-wima.lbr)(options "")(descr ""))
|
||||
(lib (name chipcard-siemens.lbr)(type Eagle)(uri ${EGMOD}/chipcard-siemens.lbr)(options "")(descr ""))
|
||||
(lib (name cirrus-logic.lbr)(type Eagle)(uri ${EGMOD}/cirrus-logic.lbr)(options "")(descr ""))
|
||||
(lib (name con-3m.lbr)(type Eagle)(uri ${EGMOD}/con-3m.lbr)(options "")(descr ""))
|
||||
(lib (name con-4ucon.lbr)(type Eagle)(uri ${EGMOD}/con-4ucon.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp.lbr)(type Eagle)(uri ${EGMOD}/con-amp.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp-champ.lbr)(type Eagle)(uri ${EGMOD}/con-amp-champ.lbr)(options "")(descr ""))
|
||||
(lib (name con-amphenol.lbr)(type Eagle)(uri ${EGMOD}/con-amphenol.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp-micromatch.lbr)(type Eagle)(uri ${EGMOD}/con-amp-micromatch.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp-mt.lbr)(type Eagle)(uri ${EGMOD}/con-amp-mt.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp-mt6.lbr)(type Eagle)(uri ${EGMOD}/con-amp-mt6.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp-quick.lbr)(type Eagle)(uri ${EGMOD}/con-amp-quick.lbr)(options "")(descr ""))
|
||||
(lib (name con-amp-te.lbr)(type Eagle)(uri ${EGMOD}/con-amp-te.lbr)(options "")(descr ""))
|
||||
(lib (name con-avx.lbr)(type Eagle)(uri ${EGMOD}/con-avx.lbr)(options "")(descr ""))
|
||||
(lib (name con-berg.lbr)(type Eagle)(uri ${EGMOD}/con-berg.lbr)(options "")(descr ""))
|
||||
(lib (name con-bosch.lbr)(type Eagle)(uri ${EGMOD}/con-bosch.lbr)(options "")(descr ""))
|
||||
(lib (name con-chipcard-iso7816.lbr)(type Eagle)(uri ${EGMOD}/con-chipcard-iso7816.lbr)(options "")(descr ""))
|
||||
(lib (name con-coax.lbr)(type Eagle)(uri ${EGMOD}/con-coax.lbr)(options "")(descr ""))
|
||||
(lib (name con-commcon.lbr)(type Eagle)(uri ${EGMOD}/con-commcon.lbr)(options "")(descr ""))
|
||||
(lib (name con-conrad.lbr)(type Eagle)(uri ${EGMOD}/con-conrad.lbr)(options "")(descr ""))
|
||||
(lib (name con-cpci.lbr)(type Eagle)(uri ${EGMOD}/con-cpci.lbr)(options "")(descr ""))
|
||||
(lib (name con-cui.lbr)(type Eagle)(uri ${EGMOD}/con-cui.lbr)(options "")(descr ""))
|
||||
(lib (name con-cypressindustries.lbr)(type Eagle)(uri ${EGMOD}/con-cypressindustries.lbr)(options "")(descr ""))
|
||||
(lib (name con-deutsch.lbr)(type Eagle)(uri ${EGMOD}/con-deutsch.lbr)(options "")(descr ""))
|
||||
(lib (name con-dil.lbr)(type Eagle)(uri ${EGMOD}/con-dil.lbr)(options "")(descr ""))
|
||||
(lib (name con-ebyelectro.lbr)(type Eagle)(uri ${EGMOD}/con-ebyelectro.lbr)(options "")(descr ""))
|
||||
(lib (name con-elco.lbr)(type Eagle)(uri ${EGMOD}/con-elco.lbr)(options "")(descr ""))
|
||||
(lib (name con-erni.lbr)(type Eagle)(uri ${EGMOD}/con-erni.lbr)(options "")(descr ""))
|
||||
(lib (name con-faston.lbr)(type Eagle)(uri ${EGMOD}/con-faston.lbr)(options "")(descr ""))
|
||||
(lib (name con-fci.lbr)(type Eagle)(uri ${EGMOD}/con-fci.lbr)(options "")(descr ""))
|
||||
(lib (name con-friwo.lbr)(type Eagle)(uri ${EGMOD}/con-friwo.lbr)(options "")(descr ""))
|
||||
(lib (name con-garry.lbr)(type Eagle)(uri ${EGMOD}/con-garry.lbr)(options "")(descr ""))
|
||||
(lib (name con-harting.lbr)(type Eagle)(uri ${EGMOD}/con-harting.lbr)(options "")(descr ""))
|
||||
(lib (name con-harting-h.lbr)(type Eagle)(uri ${EGMOD}/con-harting-h.lbr)(options "")(descr ""))
|
||||
(lib (name con-harting-ml.lbr)(type Eagle)(uri ${EGMOD}/con-harting-ml.lbr)(options "")(descr ""))
|
||||
(lib (name con-harting-v.lbr)(type Eagle)(uri ${EGMOD}/con-harting-v.lbr)(options "")(descr ""))
|
||||
(lib (name con-hirose.lbr)(type Eagle)(uri ${EGMOD}/con-hirose.lbr)(options "")(descr ""))
|
||||
(lib (name con-hirschmann.lbr)(type Eagle)(uri ${EGMOD}/con-hirschmann.lbr)(options "")(descr ""))
|
||||
(lib (name con-jack.lbr)(type Eagle)(uri ${EGMOD}/con-jack.lbr)(options "")(descr ""))
|
||||
(lib (name con-jae.lbr)(type Eagle)(uri ${EGMOD}/con-jae.lbr)(options "")(descr ""))
|
||||
(lib (name con-jst.lbr)(type Eagle)(uri ${EGMOD}/con-jst.lbr)(options "")(descr ""))
|
||||
(lib (name con-kycon.lbr)(type Eagle)(uri ${EGMOD}/con-kycon.lbr)(options "")(descr ""))
|
||||
(lib (name con-kyocera-elco.lbr)(type Eagle)(uri ${EGMOD}/con-kyocera-elco.lbr)(options "")(descr ""))
|
||||
(lib (name con-lemo.lbr)(type Eagle)(uri ${EGMOD}/con-lemo.lbr)(options "")(descr ""))
|
||||
(lib (name con-leotronics.lbr)(type Eagle)(uri ${EGMOD}/con-leotronics.lbr)(options "")(descr ""))
|
||||
(lib (name con-lsta.lbr)(type Eagle)(uri ${EGMOD}/con-lsta.lbr)(options "")(descr ""))
|
||||
(lib (name con-lstb.lbr)(type Eagle)(uri ${EGMOD}/con-lstb.lbr)(options "")(descr ""))
|
||||
(lib (name con-lumberg.lbr)(type Eagle)(uri ${EGMOD}/con-lumberg.lbr)(options "")(descr ""))
|
||||
(lib (name con-ml.lbr)(type Eagle)(uri ${EGMOD}/con-ml.lbr)(options "")(descr ""))
|
||||
(lib (name con-molex.lbr)(type Eagle)(uri ${EGMOD}/con-molex.lbr)(options "")(descr ""))
|
||||
(lib (name con-neutrik_ag.lbr)(type Eagle)(uri ${EGMOD}/con-neutrik_ag.lbr)(options "")(descr ""))
|
||||
(lib (name con-omron.lbr)(type Eagle)(uri ${EGMOD}/con-omron.lbr)(options "")(descr ""))
|
||||
(lib (name con-panasonic.lbr)(type Eagle)(uri ${EGMOD}/con-panasonic.lbr)(options "")(descr ""))
|
||||
(lib (name con-panduit.lbr)(type Eagle)(uri ${EGMOD}/con-panduit.lbr)(options "")(descr ""))
|
||||
(lib (name con-pc.lbr)(type Eagle)(uri ${EGMOD}/con-pc.lbr)(options "")(descr ""))
|
||||
(lib (name con-pc104.lbr)(type Eagle)(uri ${EGMOD}/con-pc104.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-3.81.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-3.81.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-254.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-254.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-350.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-350.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-500.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-500.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-508.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-508.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-762.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-762.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-me_max.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-me_max.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-mkds_5.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-mkds_5.lbr)(options "")(descr ""))
|
||||
(lib (name con-phoenix-smkdsp.lbr)(type Eagle)(uri ${EGMOD}/con-phoenix-smkdsp.lbr)(options "")(descr ""))
|
||||
(lib (name con-ptr500.lbr)(type Eagle)(uri ${EGMOD}/con-ptr500.lbr)(options "")(descr ""))
|
||||
(lib (name con-pulse.lbr)(type Eagle)(uri ${EGMOD}/con-pulse.lbr)(options "")(descr ""))
|
||||
(lib (name con-rib.lbr)(type Eagle)(uri ${EGMOD}/con-rib.lbr)(options "")(descr ""))
|
||||
(lib (name con-samtec.lbr)(type Eagle)(uri ${EGMOD}/con-samtec.lbr)(options "")(descr ""))
|
||||
(lib (name con-shallin.lbr)(type Eagle)(uri ${EGMOD}/con-shallin.lbr)(options "")(descr ""))
|
||||
(lib (name con-shiua-chyuan.lbr)(type Eagle)(uri ${EGMOD}/con-shiua-chyuan.lbr)(options "")(descr ""))
|
||||
(lib (name con-stewart.lbr)(type Eagle)(uri ${EGMOD}/con-stewart.lbr)(options "")(descr ""))
|
||||
(lib (name con-stocko.lbr)(type Eagle)(uri ${EGMOD}/con-stocko.lbr)(options "")(descr ""))
|
||||
(lib (name con-subd.lbr)(type Eagle)(uri ${EGMOD}/con-subd.lbr)(options "")(descr ""))
|
||||
(lib (name con-sullinselectronics.lbr)(type Eagle)(uri ${EGMOD}/con-sullinselectronics.lbr)(options "")(descr ""))
|
||||
(lib (name con-thomas-betts.lbr)(type Eagle)(uri ${EGMOD}/con-thomas-betts.lbr)(options "")(descr ""))
|
||||
(lib (name con-tyco.lbr)(type Eagle)(uri ${EGMOD}/con-tyco.lbr)(options "")(descr ""))
|
||||
(lib (name con-tycoelectronics.lbr)(type Eagle)(uri ${EGMOD}/con-tycoelectronics.lbr)(options "")(descr ""))
|
||||
(lib (name con-vg.lbr)(type Eagle)(uri ${EGMOD}/con-vg.lbr)(options "")(descr ""))
|
||||
(lib (name con-wago.lbr)(type Eagle)(uri ${EGMOD}/con-wago.lbr)(options "")(descr ""))
|
||||
(lib (name con-wago255.lbr)(type Eagle)(uri ${EGMOD}/con-wago255.lbr)(options "")(descr ""))
|
||||
(lib (name con-wago-500.lbr)(type Eagle)(uri ${EGMOD}/con-wago-500.lbr)(options "")(descr ""))
|
||||
(lib (name con-wago-508.lbr)(type Eagle)(uri ${EGMOD}/con-wago-508.lbr)(options "")(descr ""))
|
||||
(lib (name con-weidmueller-sl35.lbr)(type Eagle)(uri ${EGMOD}/con-weidmueller-sl35.lbr)(options "")(descr ""))
|
||||
(lib (name con-wenzhou-yihua.lbr)(type Eagle)(uri ${EGMOD}/con-wenzhou-yihua.lbr)(options "")(descr ""))
|
||||
(lib (name con-xmultiple.lbr)(type Eagle)(uri ${EGMOD}/con-xmultiple.lbr)(options "")(descr ""))
|
||||
(lib (name con-yamaichi.lbr)(type Eagle)(uri ${EGMOD}/con-yamaichi.lbr)(options "")(descr ""))
|
||||
(lib (name crystal.lbr)(type Eagle)(uri ${EGMOD}/crystal.lbr)(options "")(descr ""))
|
||||
(lib (name csr.lbr)(type Eagle)(uri ${EGMOD}/csr.lbr)(options "")(descr ""))
|
||||
(lib (name c-trimm.lbr)(type Eagle)(uri ${EGMOD}/c-trimm.lbr)(options "")(descr ""))
|
||||
(lib (name cypress.lbr)(type Eagle)(uri ${EGMOD}/cypress.lbr)(options "")(descr ""))
|
||||
(lib (name davicom.lbr)(type Eagle)(uri ${EGMOD}/davicom.lbr)(options "")(descr ""))
|
||||
(lib (name dc-dc-converter.lbr)(type Eagle)(uri ${EGMOD}/dc-dc-converter.lbr)(options "")(descr ""))
|
||||
(lib (name dimensions.lbr)(type Eagle)(uri ${EGMOD}/dimensions.lbr)(options "")(descr ""))
|
||||
(lib (name diode.lbr)(type Eagle)(uri ${EGMOD}/diode.lbr)(options "")(descr ""))
|
||||
(lib (name discrete.lbr)(type Eagle)(uri ${EGMOD}/discrete.lbr)(options "")(descr ""))
|
||||
(lib (name display-hp.lbr)(type Eagle)(uri ${EGMOD}/display-hp.lbr)(options "")(descr ""))
|
||||
(lib (name display-kingbright.lbr)(type Eagle)(uri ${EGMOD}/display-kingbright.lbr)(options "")(descr ""))
|
||||
(lib (name display-lcd.lbr)(type Eagle)(uri ${EGMOD}/display-lcd.lbr)(options "")(descr ""))
|
||||
(lib (name docu-dummy.lbr)(type Eagle)(uri ${EGMOD}/docu-dummy.lbr)(options "")(descr ""))
|
||||
(lib (name eagle-ltspice.lbr)(type Eagle)(uri ${EGMOD}/eagle-ltspice.lbr)(options "")(descr ""))
|
||||
(lib (name ecl.lbr)(type Eagle)(uri ${EGMOD}/ecl.lbr)(options "")(descr ""))
|
||||
(lib (name em-microelectronic.lbr)(type Eagle)(uri ${EGMOD}/em-microelectronic.lbr)(options "")(descr ""))
|
||||
(lib (name etx-board.lbr)(type Eagle)(uri ${EGMOD}/etx-board.lbr)(options "")(descr ""))
|
||||
(lib (name exar.lbr)(type Eagle)(uri ${EGMOD}/exar.lbr)(options "")(descr ""))
|
||||
(lib (name fairchild-semic.lbr)(type Eagle)(uri ${EGMOD}/fairchild-semic.lbr)(options "")(descr ""))
|
||||
(lib (name farnell.lbr)(type Eagle)(uri ${EGMOD}/farnell.lbr)(options "")(descr ""))
|
||||
(lib (name fiber-optic-hp.lbr)(type Eagle)(uri ${EGMOD}/fiber-optic-hp.lbr)(options "")(descr ""))
|
||||
(lib (name fiber-optic-siemens.lbr)(type Eagle)(uri ${EGMOD}/fiber-optic-siemens.lbr)(options "")(descr ""))
|
||||
(lib (name fifo.lbr)(type Eagle)(uri ${EGMOD}/fifo.lbr)(options "")(descr ""))
|
||||
(lib (name flexipanel.lbr)(type Eagle)(uri ${EGMOD}/flexipanel.lbr)(options "")(descr ""))
|
||||
(lib (name fox-electronics.lbr)(type Eagle)(uri ${EGMOD}/fox-electronics.lbr)(options "")(descr ""))
|
||||
(lib (name frames.lbr)(type Eagle)(uri ${EGMOD}/frames.lbr)(options "")(descr ""))
|
||||
(lib (name freescale.lbr)(type Eagle)(uri ${EGMOD}/freescale.lbr)(options "")(descr ""))
|
||||
(lib (name ftdichip.lbr)(type Eagle)(uri ${EGMOD}/ftdichip.lbr)(options "")(descr ""))
|
||||
(lib (name fujitsu.lbr)(type Eagle)(uri ${EGMOD}/fujitsu.lbr)(options "")(descr ""))
|
||||
(lib (name fuse.lbr)(type Eagle)(uri ${EGMOD}/fuse.lbr)(options "")(descr ""))
|
||||
(lib (name gennum.lbr)(type Eagle)(uri ${EGMOD}/gennum.lbr)(options "")(descr ""))
|
||||
(lib (name halo-electronics.lbr)(type Eagle)(uri ${EGMOD}/halo-electronics.lbr)(options "")(descr ""))
|
||||
(lib (name heatsink.lbr)(type Eagle)(uri ${EGMOD}/heatsink.lbr)(options "")(descr ""))
|
||||
(lib (name holes.lbr)(type Eagle)(uri ${EGMOD}/holes.lbr)(options "")(descr ""))
|
||||
(lib (name holtek.lbr)(type Eagle)(uri ${EGMOD}/holtek.lbr)(options "")(descr ""))
|
||||
(lib (name ic-package.lbr)(type Eagle)(uri ${EGMOD}/ic-package.lbr)(options "")(descr ""))
|
||||
(lib (name inductor-coilcraft.lbr)(type Eagle)(uri ${EGMOD}/inductor-coilcraft.lbr)(options "")(descr ""))
|
||||
(lib (name inductor-neosid.lbr)(type Eagle)(uri ${EGMOD}/inductor-neosid.lbr)(options "")(descr ""))
|
||||
(lib (name inductor-nkl.lbr)(type Eagle)(uri ${EGMOD}/inductor-nkl.lbr)(options "")(descr ""))
|
||||
(lib (name inductors.lbr)(type Eagle)(uri ${EGMOD}/inductors.lbr)(options "")(descr ""))
|
||||
(lib (name infineon.lbr)(type Eagle)(uri ${EGMOD}/infineon.lbr)(options "")(descr ""))
|
||||
(lib (name infineon-tricore.lbr)(type Eagle)(uri ${EGMOD}/infineon-tricore.lbr)(options "")(descr ""))
|
||||
(lib (name intersil.lbr)(type Eagle)(uri ${EGMOD}/intersil.lbr)(options "")(descr ""))
|
||||
(lib (name intersil-techwell.lbr)(type Eagle)(uri ${EGMOD}/intersil-techwell.lbr)(options "")(descr ""))
|
||||
(lib (name ir.lbr)(type Eagle)(uri ${EGMOD}/ir.lbr)(options "")(descr ""))
|
||||
(lib (name isd.lbr)(type Eagle)(uri ${EGMOD}/isd.lbr)(options "")(descr ""))
|
||||
(lib (name johanson-technology.lbr)(type Eagle)(uri ${EGMOD}/johanson-technology.lbr)(options "")(descr ""))
|
||||
(lib (name jump-0r-smd.lbr)(type Eagle)(uri ${EGMOD}/jump-0r-smd.lbr)(options "")(descr ""))
|
||||
(lib (name jumper.lbr)(type Eagle)(uri ${EGMOD}/jumper.lbr)(options "")(descr ""))
|
||||
(lib (name lantronix.lbr)(type Eagle)(uri ${EGMOD}/lantronix.lbr)(options "")(descr ""))
|
||||
(lib (name lattice.lbr)(type Eagle)(uri ${EGMOD}/lattice.lbr)(options "")(descr ""))
|
||||
(lib (name lc-filter.lbr)(type Eagle)(uri ${EGMOD}/lc-filter.lbr)(options "")(descr ""))
|
||||
(lib (name led.lbr)(type Eagle)(uri ${EGMOD}/led.lbr)(options "")(descr ""))
|
||||
(lib (name led-7-segment.lbr)(type Eagle)(uri ${EGMOD}/led-7-segment.lbr)(options "")(descr ""))
|
||||
(lib (name led-citizen-electronics.lbr)(type Eagle)(uri ${EGMOD}/led-citizen-electronics.lbr)(options "")(descr ""))
|
||||
(lib (name led-lumiled.lbr)(type Eagle)(uri ${EGMOD}/led-lumiled.lbr)(options "")(descr ""))
|
||||
(lib (name lem.lbr)(type Eagle)(uri ${EGMOD}/lem.lbr)(options "")(descr ""))
|
||||
(lib (name linear.lbr)(type Eagle)(uri ${EGMOD}/linear.lbr)(options "")(descr ""))
|
||||
(lib (name linear-technology.lbr)(type Eagle)(uri ${EGMOD}/linear-technology.lbr)(options "")(descr ""))
|
||||
(lib (name linx.lbr)(type Eagle)(uri ${EGMOD}/linx.lbr)(options "")(descr ""))
|
||||
(lib (name logo.lbr)(type Eagle)(uri ${EGMOD}/logo.lbr)(options "")(descr ""))
|
||||
(lib (name lprs.lbr)(type Eagle)(uri ${EGMOD}/lprs.lbr)(options "")(descr ""))
|
||||
(lib (name lsi-computer-systems.lbr)(type Eagle)(uri ${EGMOD}/lsi-computer-systems.lbr)(options "")(descr ""))
|
||||
(lib (name lumiled.lbr)(type Eagle)(uri ${EGMOD}/lumiled.lbr)(options "")(descr ""))
|
||||
(lib (name marks.lbr)(type Eagle)(uri ${EGMOD}/marks.lbr)(options "")(descr ""))
|
||||
(lib (name maxim.lbr)(type Eagle)(uri ${EGMOD}/maxim.lbr)(options "")(descr ""))
|
||||
(lib (name maxstream.lbr)(type Eagle)(uri ${EGMOD}/maxstream.lbr)(options "")(descr ""))
|
||||
(lib (name melexis.lbr)(type Eagle)(uri ${EGMOD}/melexis.lbr)(options "")(descr ""))
|
||||
(lib (name memory.lbr)(type Eagle)(uri ${EGMOD}/memory.lbr)(options "")(descr ""))
|
||||
(lib (name memory-hitachi.lbr)(type Eagle)(uri ${EGMOD}/memory-hitachi.lbr)(options "")(descr ""))
|
||||
(lib (name memory-idt.lbr)(type Eagle)(uri ${EGMOD}/memory-idt.lbr)(options "")(descr ""))
|
||||
(lib (name memory-micron.lbr)(type Eagle)(uri ${EGMOD}/memory-micron.lbr)(options "")(descr ""))
|
||||
(lib (name memory-motorola-dram.lbr)(type Eagle)(uri ${EGMOD}/memory-motorola-dram.lbr)(options "")(descr ""))
|
||||
(lib (name memory-nec.lbr)(type Eagle)(uri ${EGMOD}/memory-nec.lbr)(options "")(descr ""))
|
||||
(lib (name memory-samsung.lbr)(type Eagle)(uri ${EGMOD}/memory-samsung.lbr)(options "")(descr ""))
|
||||
(lib (name memory-sram.lbr)(type Eagle)(uri ${EGMOD}/memory-sram.lbr)(options "")(descr ""))
|
||||
(lib (name mems.lbr)(type Eagle)(uri ${EGMOD}/mems.lbr)(options "")(descr ""))
|
||||
(lib (name micrel.lbr)(type Eagle)(uri ${EGMOD}/micrel.lbr)(options "")(descr ""))
|
||||
(lib (name microchip.lbr)(type Eagle)(uri ${EGMOD}/microchip.lbr)(options "")(descr ""))
|
||||
(lib (name micro-cyrod.lbr)(type Eagle)(uri ${EGMOD}/micro-cyrod.lbr)(options "")(descr ""))
|
||||
(lib (name micro-fujitsu.lbr)(type Eagle)(uri ${EGMOD}/micro-fujitsu.lbr)(options "")(descr ""))
|
||||
(lib (name micro-harris.lbr)(type Eagle)(uri ${EGMOD}/micro-harris.lbr)(options "")(descr ""))
|
||||
(lib (name micro-hitachi.lbr)(type Eagle)(uri ${EGMOD}/micro-hitachi.lbr)(options "")(descr ""))
|
||||
(lib (name micro-infineon.lbr)(type Eagle)(uri ${EGMOD}/micro-infineon.lbr)(options "")(descr ""))
|
||||
(lib (name micro-intel.lbr)(type Eagle)(uri ${EGMOD}/micro-intel.lbr)(options "")(descr ""))
|
||||
(lib (name micro-mc68000.lbr)(type Eagle)(uri ${EGMOD}/micro-mc68000.lbr)(options "")(descr ""))
|
||||
(lib (name micro-motorola.lbr)(type Eagle)(uri ${EGMOD}/micro-motorola.lbr)(options "")(descr ""))
|
||||
(lib (name micron.lbr)(type Eagle)(uri ${EGMOD}/micron.lbr)(options "")(descr ""))
|
||||
(lib (name micronas.lbr)(type Eagle)(uri ${EGMOD}/micronas.lbr)(options "")(descr ""))
|
||||
(lib (name micro-philips.lbr)(type Eagle)(uri ${EGMOD}/micro-philips.lbr)(options "")(descr ""))
|
||||
(lib (name microphon.lbr)(type Eagle)(uri ${EGMOD}/microphon.lbr)(options "")(descr ""))
|
||||
(lib (name micro-renesas.lbr)(type Eagle)(uri ${EGMOD}/micro-renesas.lbr)(options "")(descr ""))
|
||||
(lib (name micro-samsung.lbr)(type Eagle)(uri ${EGMOD}/micro-samsung.lbr)(options "")(descr ""))
|
||||
(lib (name micro-siemens.lbr)(type Eagle)(uri ${EGMOD}/micro-siemens.lbr)(options "")(descr ""))
|
||||
(lib (name microwave.lbr)(type Eagle)(uri ${EGMOD}/microwave.lbr)(options "")(descr ""))
|
||||
(lib (name midori-sensor.lbr)(type Eagle)(uri ${EGMOD}/midori-sensor.lbr)(options "")(descr ""))
|
||||
(lib (name minicircuits.lbr)(type Eagle)(uri ${EGMOD}/minicircuits.lbr)(options "")(descr ""))
|
||||
(lib (name mitsubishi-semiconductor.lbr)(type Eagle)(uri ${EGMOD}/mitsubishi-semiconductor.lbr)(options "")(descr ""))
|
||||
(lib (name motorola-sensor-driver.lbr)(type Eagle)(uri ${EGMOD}/motorola-sensor-driver.lbr)(options "")(descr ""))
|
||||
(lib (name murata-filter.lbr)(type Eagle)(uri ${EGMOD}/murata-filter.lbr)(options "")(descr ""))
|
||||
(lib (name murata-sensor.lbr)(type Eagle)(uri ${EGMOD}/murata-sensor.lbr)(options "")(descr ""))
|
||||
(lib (name nanotec.lbr)(type Eagle)(uri ${EGMOD}/nanotec.lbr)(options "")(descr ""))
|
||||
(lib (name national-instruments.lbr)(type Eagle)(uri ${EGMOD}/national-instruments.lbr)(options "")(descr ""))
|
||||
(lib (name national-semiconductor.lbr)(type Eagle)(uri ${EGMOD}/national-semiconductor.lbr)(options "")(descr ""))
|
||||
(lib (name nec.lbr)(type Eagle)(uri ${EGMOD}/nec.lbr)(options "")(descr ""))
|
||||
(lib (name nec-lqfp100-pack.lbr)(type Eagle)(uri ${EGMOD}/nec-lqfp100-pack.lbr)(options "")(descr ""))
|
||||
(lib (name nrj-semiconductor.lbr)(type Eagle)(uri ${EGMOD}/nrj-semiconductor.lbr)(options "")(descr ""))
|
||||
(lib (name omnivision.lbr)(type Eagle)(uri ${EGMOD}/omnivision.lbr)(options "")(descr ""))
|
||||
(lib (name on-semiconductor.lbr)(type Eagle)(uri ${EGMOD}/on-semiconductor.lbr)(options "")(descr ""))
|
||||
(lib (name optocoupler.lbr)(type Eagle)(uri ${EGMOD}/optocoupler.lbr)(options "")(descr ""))
|
||||
(lib (name opto-honeywell.lbr)(type Eagle)(uri ${EGMOD}/opto-honeywell.lbr)(options "")(descr ""))
|
||||
(lib (name opto-honeywell-3000.lbr)(type Eagle)(uri ${EGMOD}/opto-honeywell-3000.lbr)(options "")(descr ""))
|
||||
(lib (name opto-honeywell-4000.lbr)(type Eagle)(uri ${EGMOD}/opto-honeywell-4000.lbr)(options "")(descr ""))
|
||||
(lib (name opto-micro-linear.lbr)(type Eagle)(uri ${EGMOD}/opto-micro-linear.lbr)(options "")(descr ""))
|
||||
(lib (name opto-transmittter-hp.lbr)(type Eagle)(uri ${EGMOD}/opto-transmittter-hp.lbr)(options "")(descr ""))
|
||||
(lib (name opto-trans-siemens.lbr)(type Eagle)(uri ${EGMOD}/opto-trans-siemens.lbr)(options "")(descr ""))
|
||||
(lib (name opto-vishay.lbr)(type Eagle)(uri ${EGMOD}/opto-vishay.lbr)(options "")(descr ""))
|
||||
(lib (name pal.lbr)(type Eagle)(uri ${EGMOD}/pal.lbr)(options "")(descr ""))
|
||||
(lib (name philips-semiconductors.lbr)(type Eagle)(uri ${EGMOD}/philips-semiconductors.lbr)(options "")(descr ""))
|
||||
(lib (name photo-elements.lbr)(type Eagle)(uri ${EGMOD}/photo-elements.lbr)(options "")(descr ""))
|
||||
(lib (name piher.lbr)(type Eagle)(uri ${EGMOD}/piher.lbr)(options "")(descr ""))
|
||||
(lib (name pinhead.lbr)(type Eagle)(uri ${EGMOD}/pinhead.lbr)(options "")(descr ""))
|
||||
(lib (name plcc-socket.lbr)(type Eagle)(uri ${EGMOD}/plcc-socket.lbr)(options "")(descr ""))
|
||||
(lib (name pld-intel.lbr)(type Eagle)(uri ${EGMOD}/pld-intel.lbr)(options "")(descr ""))
|
||||
(lib (name plxtech.lbr)(type Eagle)(uri ${EGMOD}/plxtech.lbr)(options "")(descr ""))
|
||||
(lib (name pot.lbr)(type Eagle)(uri ${EGMOD}/pot.lbr)(options "")(descr ""))
|
||||
(lib (name pot-vitrohm.lbr)(type Eagle)(uri ${EGMOD}/pot-vitrohm.lbr)(options "")(descr ""))
|
||||
(lib (name pot-xicor.lbr)(type Eagle)(uri ${EGMOD}/pot-xicor.lbr)(options "")(descr ""))
|
||||
(lib (name ptc-ntc.lbr)(type Eagle)(uri ${EGMOD}/ptc-ntc.lbr)(options "")(descr ""))
|
||||
(lib (name quantum-research-group.lbr)(type Eagle)(uri ${EGMOD}/quantum-research-group.lbr)(options "")(descr ""))
|
||||
(lib (name rcl.lbr)(type Eagle)(uri ${EGMOD}/rcl.lbr)(options "")(descr ""))
|
||||
(lib (name recom-international.lbr)(type Eagle)(uri ${EGMOD}/recom-international.lbr)(options "")(descr ""))
|
||||
(lib (name rectifier.lbr)(type Eagle)(uri ${EGMOD}/rectifier.lbr)(options "")(descr ""))
|
||||
(lib (name ref-packages.lbr)(type Eagle)(uri ${EGMOD}/ref-packages.lbr)(options "")(descr ""))
|
||||
(lib (name ref-packages-longpad.lbr)(type Eagle)(uri ${EGMOD}/ref-packages-longpad.lbr)(options "")(descr ""))
|
||||
(lib (name relay.lbr)(type Eagle)(uri ${EGMOD}/relay.lbr)(options "")(descr ""))
|
||||
(lib (name renesas.lbr)(type Eagle)(uri ${EGMOD}/renesas.lbr)(options "")(descr ""))
|
||||
(lib (name resistor.lbr)(type Eagle)(uri ${EGMOD}/resistor.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-bourns.lbr)(type Eagle)(uri ${EGMOD}/resistor-bourns.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-dil.lbr)(type Eagle)(uri ${EGMOD}/resistor-dil.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-net.lbr)(type Eagle)(uri ${EGMOD}/resistor-net.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-power.lbr)(type Eagle)(uri ${EGMOD}/resistor-power.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-ruf.lbr)(type Eagle)(uri ${EGMOD}/resistor-ruf.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-shunt.lbr)(type Eagle)(uri ${EGMOD}/resistor-shunt.lbr)(options "")(descr ""))
|
||||
(lib (name resistor-sil.lbr)(type Eagle)(uri ${EGMOD}/resistor-sil.lbr)(options "")(descr ""))
|
||||
(lib (name rf-micro-devices.lbr)(type Eagle)(uri ${EGMOD}/rf-micro-devices.lbr)(options "")(descr ""))
|
||||
(lib (name rf-solutions.lbr)(type Eagle)(uri ${EGMOD}/rf-solutions.lbr)(options "")(descr ""))
|
||||
(lib (name rohm.lbr)(type Eagle)(uri ${EGMOD}/rohm.lbr)(options "")(descr ""))
|
||||
(lib (name semicon-smd-ipc.lbr)(type Eagle)(uri ${EGMOD}/semicon-smd-ipc.lbr)(options "")(descr ""))
|
||||
(lib (name sensor-comus-group.lbr)(type Eagle)(uri ${EGMOD}/sensor-comus-group.lbr)(options "")(descr ""))
|
||||
(lib (name sensor-heraeus.lbr)(type Eagle)(uri ${EGMOD}/sensor-heraeus.lbr)(options "")(descr ""))
|
||||
(lib (name sensor-infratec.lbr)(type Eagle)(uri ${EGMOD}/sensor-infratec.lbr)(options "")(descr ""))
|
||||
(lib (name sharp.lbr)(type Eagle)(uri ${EGMOD}/sharp.lbr)(options "")(descr ""))
|
||||
(lib (name silabs.lbr)(type Eagle)(uri ${EGMOD}/silabs.lbr)(options "")(descr ""))
|
||||
(lib (name sim-technology.lbr)(type Eagle)(uri ${EGMOD}/sim-technology.lbr)(options "")(descr ""))
|
||||
(lib (name sipex.lbr)(type Eagle)(uri ${EGMOD}/sipex.lbr)(options "")(descr ""))
|
||||
(lib (name smd-ipc.lbr)(type Eagle)(uri ${EGMOD}/smd-ipc.lbr)(options "")(descr ""))
|
||||
(lib (name smd-special.lbr)(type Eagle)(uri ${EGMOD}/smd-special.lbr)(options "")(descr ""))
|
||||
(lib (name solomon-systech.lbr)(type Eagle)(uri ${EGMOD}/solomon-systech.lbr)(options "")(descr ""))
|
||||
(lib (name solpad.lbr)(type Eagle)(uri ${EGMOD}/solpad.lbr)(options "")(descr ""))
|
||||
(lib (name special.lbr)(type Eagle)(uri ${EGMOD}/special.lbr)(options "")(descr ""))
|
||||
(lib (name special-drill.lbr)(type Eagle)(uri ${EGMOD}/special-drill.lbr)(options "")(descr ""))
|
||||
(lib (name st-microelectronics.lbr)(type Eagle)(uri ${EGMOD}/st-microelectronics.lbr)(options "")(descr ""))
|
||||
(lib (name supertex.lbr)(type Eagle)(uri ${EGMOD}/supertex.lbr)(options "")(descr ""))
|
||||
(lib (name supply1.lbr)(type Eagle)(uri ${EGMOD}/supply1.lbr)(options "")(descr ""))
|
||||
(lib (name supply2.lbr)(type Eagle)(uri ${EGMOD}/supply2.lbr)(options "")(descr ""))
|
||||
(lib (name switch.lbr)(type Eagle)(uri ${EGMOD}/switch.lbr)(options "")(descr ""))
|
||||
(lib (name switch-alps.lbr)(type Eagle)(uri ${EGMOD}/switch-alps.lbr)(options "")(descr ""))
|
||||
(lib (name switch-coto.lbr)(type Eagle)(uri ${EGMOD}/switch-coto.lbr)(options "")(descr ""))
|
||||
(lib (name switch-dil.lbr)(type Eagle)(uri ${EGMOD}/switch-dil.lbr)(options "")(descr ""))
|
||||
(lib (name switch-misc.lbr)(type Eagle)(uri ${EGMOD}/switch-misc.lbr)(options "")(descr ""))
|
||||
(lib (name switch-omron.lbr)(type Eagle)(uri ${EGMOD}/switch-omron.lbr)(options "")(descr ""))
|
||||
(lib (name switch-raychem.lbr)(type Eagle)(uri ${EGMOD}/switch-raychem.lbr)(options "")(descr ""))
|
||||
(lib (name switch-reed.lbr)(type Eagle)(uri ${EGMOD}/switch-reed.lbr)(options "")(descr ""))
|
||||
(lib (name telcom.lbr)(type Eagle)(uri ${EGMOD}/telcom.lbr)(options "")(descr ""))
|
||||
(lib (name telecontrolli.lbr)(type Eagle)(uri ${EGMOD}/telecontrolli.lbr)(options "")(descr ""))
|
||||
(lib (name telefunken.lbr)(type Eagle)(uri ${EGMOD}/telefunken.lbr)(options "")(descr ""))
|
||||
(lib (name testpad.lbr)(type Eagle)(uri ${EGMOD}/testpad.lbr)(options "")(descr ""))
|
||||
(lib (name texas.lbr)(type Eagle)(uri ${EGMOD}/texas.lbr)(options "")(descr ""))
|
||||
(lib (name texas-sn55-sn75.lbr)(type Eagle)(uri ${EGMOD}/texas-sn55-sn75.lbr)(options "")(descr ""))
|
||||
(lib (name toshiba.lbr)(type Eagle)(uri ${EGMOD}/toshiba.lbr)(options "")(descr ""))
|
||||
(lib (name traco-electronic.lbr)(type Eagle)(uri ${EGMOD}/traco-electronic.lbr)(options "")(descr ""))
|
||||
(lib (name trafo.lbr)(type Eagle)(uri ${EGMOD}/trafo.lbr)(options "")(descr ""))
|
||||
(lib (name trafo-bei.lbr)(type Eagle)(uri ${EGMOD}/trafo-bei.lbr)(options "")(descr ""))
|
||||
(lib (name trafo-hammondmfg.lbr)(type Eagle)(uri ${EGMOD}/trafo-hammondmfg.lbr)(options "")(descr ""))
|
||||
(lib (name trafo-siemens.lbr)(type Eagle)(uri ${EGMOD}/trafo-siemens.lbr)(options "")(descr ""))
|
||||
(lib (name trafo-xicon.lbr)(type Eagle)(uri ${EGMOD}/trafo-xicon.lbr)(options "")(descr ""))
|
||||
(lib (name transformer-pulse.lbr)(type Eagle)(uri ${EGMOD}/transformer-pulse.lbr)(options "")(descr ""))
|
||||
(lib (name transistor.lbr)(type Eagle)(uri ${EGMOD}/transistor.lbr)(options "")(descr ""))
|
||||
(lib (name transistor-fet.lbr)(type Eagle)(uri ${EGMOD}/transistor-fet.lbr)(options "")(descr ""))
|
||||
(lib (name transistor-neu-to92.lbr)(type Eagle)(uri ${EGMOD}/transistor-neu-to92.lbr)(options "")(descr ""))
|
||||
(lib (name transistor-npn.lbr)(type Eagle)(uri ${EGMOD}/transistor-npn.lbr)(options "")(descr ""))
|
||||
(lib (name transistor-pnp.lbr)(type Eagle)(uri ${EGMOD}/transistor-pnp.lbr)(options "")(descr ""))
|
||||
(lib (name transistor-power.lbr)(type Eagle)(uri ${EGMOD}/transistor-power.lbr)(options "")(descr ""))
|
||||
(lib (name transistor-small-signal.lbr)(type Eagle)(uri ${EGMOD}/transistor-small-signal.lbr)(options "")(descr ""))
|
||||
(lib (name triac.lbr)(type Eagle)(uri ${EGMOD}/triac.lbr)(options "")(descr ""))
|
||||
(lib (name trimble.lbr)(type Eagle)(uri ${EGMOD}/trimble.lbr)(options "")(descr ""))
|
||||
(lib (name tripas.lbr)(type Eagle)(uri ${EGMOD}/tripas.lbr)(options "")(descr ""))
|
||||
(lib (name u-blox.lbr)(type Eagle)(uri ${EGMOD}/u-blox.lbr)(options "")(descr ""))
|
||||
(lib (name uln-udn.lbr)(type Eagle)(uri ${EGMOD}/uln-udn.lbr)(options "")(descr ""))
|
||||
(lib (name varistor.lbr)(type Eagle)(uri ${EGMOD}/varistor.lbr)(options "")(descr ""))
|
||||
(lib (name v-reg.lbr)(type Eagle)(uri ${EGMOD}/v-reg.lbr)(options "")(descr ""))
|
||||
(lib (name v-reg-micrel.lbr)(type Eagle)(uri ${EGMOD}/v-reg-micrel.lbr)(options "")(descr ""))
|
||||
(lib (name wafer-scale-psd.lbr)(type Eagle)(uri ${EGMOD}/wafer-scale-psd.lbr)(options "")(descr ""))
|
||||
(lib (name wirepad.lbr)(type Eagle)(uri ${EGMOD}/wirepad.lbr)(options "")(descr ""))
|
||||
(lib (name xicor.lbr)(type Eagle)(uri ${EGMOD}/xicor.lbr)(options "")(descr ""))
|
||||
(lib (name xilinx-virtex-v5.lbr)(type Eagle)(uri ${EGMOD}/xilinx-virtex-v5.lbr)(options "")(descr ""))
|
||||
(lib (name xilinx-xc9.lbr)(type Eagle)(uri ${EGMOD}/xilinx-xc9.lbr)(options "")(descr ""))
|
||||
(lib (name xilinx-xc18v.lbr)(type Eagle)(uri ${EGMOD}/xilinx-xc18v.lbr)(options "")(descr ""))
|
||||
(lib (name xilinx-xcv.lbr)(type Eagle)(uri ${EGMOD}/xilinx-xcv.lbr)(options "")(descr ""))
|
||||
(lib (name zetex.lbr)(type Eagle)(uri ${EGMOD}/zetex.lbr)(options "")(descr ""))
|
||||
(lib (name zilog.lbr)(type Eagle)(uri ${EGMOD}/zilog.lbr)(options "")(descr ""))
|
||||
)
|
|
@ -1,90 +0,0 @@
|
|||
# Set GH environment variable to "https://github.com/CarlPoirier"
|
||||
# before starting KiCad to use this fp table.
|
||||
|
||||
(fp_lib_table
|
||||
(lib (name 7Segment_16Sep2013)(type Github)(uri ${GH}/7Segment_16Sep2013)(options "")(descr ""))
|
||||
(lib (name Allegro_HallCurrentSensor)(type Github)(uri ${GH}/Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA)(options "")(descr ""))
|
||||
(lib (name BNC-Sockets_RevA)(type Github)(uri ${GH}/BNC-Sockets_RevA)(options "")(descr ""))
|
||||
(lib (name Buzzer_Beeper_RevA_25Oct2010)(type Github)(uri ${GH}/Buzzer_Beeper_RevA_25Oct2010)(options "")(descr ""))
|
||||
(lib (name capacitors)(type Github)(uri ${GH}/capacitors)(options "")(descr ""))
|
||||
(lib (name Capacitors_SMD) (type Github)(uri ${GH}/Capacitors_SMD_RevA)(options "")(descr ""))
|
||||
(lib (name Capacitors_ThroughHole) (type Github)(uri ${GH}/Capacitors_ThroughHole_RevA)(options "")(descr ""))
|
||||
(lib (name Choke_Axial_ThroughHole) (type Github)(uri ${GH}/Choke_Axial_ThroughHole_RevB)(options "")(descr ""))
|
||||
(lib (name Choke_Radial_ThroughHole) (type Github)(uri ${GH}/Choke_Radial_ThroughHole_CD_Bobin_RevA)(options "")(descr ""))
|
||||
(lib (name Choke_SMD_RevB_28Dez2012) (type Github)(uri ${GH}/Choke_SMD_RevB_28Dez2012)(options "")(descr ""))
|
||||
(lib (name Choke_Toroid_ThroughHole)(type Github)(uri ${GH}/Choke_Toroid_ThroughHole_RevC_06Aug2010)(options "")(descr ""))
|
||||
(lib (name CommonModeChoke_Wuerth)(type Github)(uri ${GH}/CommonModeChoke_Wuerth_Type-WE-CMB_RevA_24Oct2010)(options "")(descr ""))
|
||||
(lib (name connect)(type Github)(uri ${GH}/connect)(options "")(descr ""))
|
||||
(lib (name connectors_molex_serial)(type Github)(uri ${GH}/connectors_molex_serial_53047-A123)(options "")(descr ""))
|
||||
(lib (name Crystals)(type Github)(uri ${GH}/Crystals_RevB_20Apr2013)(options "")(descr ""))
|
||||
(lib (name DCDC-ACDC-Converter)(type Github)(uri ${GH}/DCDC-ACDC-Converter_RevC_20Jul2012)(options "")(descr ""))
|
||||
(lib (name Dioden_SMD)(type Github)(uri ${GH}/Dioden_SMD_RevA_31May2013)(options "")(descr ""))
|
||||
(lib (name Dioden_ThroughHole)(type Github)(uri ${GH}/Dioden_ThroughHole_RevC)(options "")(descr ""))
|
||||
(lib (name dip_sockets)(type Github)(uri ${GH}/dip_sockets)(options "")(descr ""))
|
||||
(lib (name discret)(type Github)(uri ${GH}/discret)(options "")(descr ""))
|
||||
(lib (name display)(type Github)(uri ${GH}/display)(options "")(descr ""))
|
||||
(lib (name divers)(type Github)(uri ${GH}/divers)(options "")(descr ""))
|
||||
(lib (name Elko_ThroughHole)(type Github)(uri ${GH}/Elko_ThroughHole_RevB-3_30Dec2011)(options "")(descr ""))
|
||||
(lib (name EuroBoardoutline)(type Github)(uri ${GH}/EuroBoardoutline_RevC)(options "")(descr ""))
|
||||
(lib (name Fiducials)(type Github)(uri ${GH}/Fiducials_RevC_04Aug2012)(options "")(descr ""))
|
||||
(lib (name Footprint-Symbols)(type Github)(uri ${GH}/Footprint-Symbols_RevD_28Aug2012)(options "")(descr ""))
|
||||
(lib (name FuseholderAndFuses)(type Github)(uri ${GH}/FuseholderAndFuses_RevD_28Aug2012)(options "")(descr ""))
|
||||
(lib (name Heatsinks)(type Github)(uri ${GH}/Heatsinks_RevC)(options "")(descr ""))
|
||||
(lib (name inductors)(type Github)(uri ${GH}/inductors)(options "")(descr ""))
|
||||
(lib (name IR-directFET)(type Github)(uri ${GH}/IR-directFET_Packages_RevB)(options "")(descr ""))
|
||||
(lib (name iut)(type Github)(uri ${GH}/iut)(options "")(descr ""))
|
||||
(lib (name Label)(type Github)(uri ${GH}/Label_RevA_21Mar2011)(options "")(descr ""))
|
||||
(lib (name led)(type Github)(uri ${GH}/led)(options "")(descr ""))
|
||||
(lib (name libcms)(type Github)(uri ${GH}/libcms)(options "")(descr ""))
|
||||
(lib (name Measurement_Point)(type Github)(uri ${GH}/Measurement_Point_RevA)(options "")(descr ""))
|
||||
(lib (name Measurement-Scala)(type Github)(uri ${GH}/Measurement-Scala_RevA)(options "")(descr ""))
|
||||
(lib (name Mechanical_Socket-Plug_DIN41612)(type Github)(uri ${GH}/Mechanical_Socket-Plug_DIN41612-Stuff_RevA)(options "")(descr ""))
|
||||
(lib (name MiniUniversalMate-N-LokSockets)(type Github)(uri ${GH}/MiniUniversalMate-N-LokSockets_13Aug2012)(options "")(descr ""))
|
||||
(lib (name MountingHole)(type Github)(uri ${GH}/MountingHole_RevA)(options "")(descr ""))
|
||||
(lib (name muonde)(type Github)(uri ${GH}/muonde)(options "")(descr ""))
|
||||
(lib (name Neosid_Air-Coil)(type Github)(uri ${GH}/Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012)(options "")(descr ""))
|
||||
(lib (name Neosid_Filter_HF-Coil)(type Github)(uri ${GH}/Neosid_Filter_HF-Coil_25Apr2012)(options "")(descr ""))
|
||||
(lib (name Neosid_Inductor)(type Github)(uri ${GH}/Neosid_Inductor_21Apr2012)(options "")(descr ""))
|
||||
(lib (name NF-Transformer_ETAL)(type Github)(uri ${GH}/NF-Transformer_ETAL_RevA_28Aug2012)(options "")(descr ""))
|
||||
(lib (name Oddities)(type Github)(uri ${GH}/Oddities_RevA_10Mar2011)(options "")(descr ""))
|
||||
(lib (name OldSowjetAera_Transistor)(type Github)(uri ${GH}/OldSowjetAera_Transistor_RevA)(options "")(descr ""))
|
||||
(lib (name Opto-Devices)(type Github)(uri ${GH}/Opto-Devices_RevC_03Oct2012)(options "")(descr ""))
|
||||
(lib (name Oscillator)(type Github)(uri ${GH}/Oscillator-Modul_RevA)(options "")(descr ""))
|
||||
(lib (name Pentawatt)(type Github)(uri ${GH}/Pentawatt_RevB_30Apr2011)(options "")(descr ""))
|
||||
(lib (name pga_sockets)(type Github)(uri ${GH}/pga_sockets)(options "")(descr ""))
|
||||
(lib (name pin_array)(type Github)(uri ${GH}/pin_array)(options "")(descr ""))
|
||||
(lib (name Potentiometer)(type Github)(uri ${GH}/Potentiometer_RevB_02Aug2010)(options "")(descr ""))
|
||||
(lib (name powerint)(type Github)(uri ${GH}/powerint)(options "")(descr ""))
|
||||
(lib (name Printtrafo)(type Github)(uri ${GH}/Printtrafo_CHK_RevA_04Aug2010)(options "")(descr ""))
|
||||
(lib (name Relay_ThroughHole)(type Github)(uri ${GH}/Relay_ThroughHole_RevB)(options "")(descr ""))
|
||||
(lib (name Resistor_SMD)(type Github)(uri ${GH}/Resistor_SMD_RevA)(options "")(descr ""))
|
||||
(lib (name Resistor_ThroughHole)(type Github)(uri ${GH}/Resistor_ThroughHole_RevB_22Apr2011)(options "")(descr ""))
|
||||
(lib (name Resistor_Universal)(type Github)(uri ${GH}/Resistor_Universal-Experimental_RevA)(options "")(descr ""))
|
||||
(lib (name SI570_SI571_Oscillator)(type Github)(uri ${GH}/SI570_SI571_Oscillator_RevA_11Jun2012)(options "")(descr ""))
|
||||
(lib (name SIP9_Housing)(type Github)(uri ${GH}/SIP9_Housing_14Jun2013)(options "")(descr ""))
|
||||
(lib (name smd_capacitors)(type Github)(uri ${GH}/smd_capacitors)(options "")(descr ""))
|
||||
(lib (name smd_crystal_and_oscillator)(type Github)(uri ${GH}/smd_crystal_and_oscillator)(options "")(descr ""))
|
||||
(lib (name smd_lqfp)(type Github)(uri ${GH}/smd_lqfp)(options "")(descr ""))
|
||||
(lib (name smd_resistors)(type Github)(uri ${GH}/smd_resistors)(options "")(descr ""))
|
||||
(lib (name smd_soic_packages)(type Github)(uri ${GH}/smd_soic_packages)(options "")(descr ""))
|
||||
(lib (name smd_ssop_packages)(type Github)(uri ${GH}/smd_ssop_packages)(options "")(descr ""))
|
||||
(lib (name smd_transistors)(type Github)(uri ${GH}/smd_transistors)(options "")(descr ""))
|
||||
(lib (name Socket_MOLEX-KK-System)(type Github)(uri ${GH}/Socket_MOLEX-KK-System)(options "")(descr ""))
|
||||
(lib (name sockets)(type Github)(uri ${GH}/sockets)(options "")(descr ""))
|
||||
(lib (name Socket_WAGO734)(type Github)(uri ${GH}/Socket_WAGO734_RevA)(options "")(descr ""))
|
||||
(lib (name SOT126_SOT32)(type Github)(uri ${GH}/SOT126_SOT32_Housings_RevA_22Oct2012)(options "")(descr ""))
|
||||
(lib (name SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70)(type Github)(uri ${GH}/SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012)(options "")(descr ""))
|
||||
(lib (name SOT89-3_SOT89-5)(type Github)(uri ${GH}/SOT89-3_SOT89-5_Housing_RevA_02Sep2012)(options "")(descr ""))
|
||||
(lib (name TantalCapacitors_SMD)(type Github)(uri ${GH}/TantalCapacitors_SMD_RevA_28Aug2012)(options "")(descr ""))
|
||||
(lib (name TerminalBlock_WAGO236-RM5mm)(type Github)(uri ${GH}/TerminalBlock_WAGO236-RM5mm_RevA2)(options "")(descr ""))
|
||||
(lib (name TO-50)(type Github)(uri ${GH}/TO-50_Housings_RevA_21Apr2013)(options "")(descr ""))
|
||||
(lib (name TO-78)(type Github)(uri ${GH}/TO-78_Housing_RevA_04Jun2013)(options "")(descr ""))
|
||||
(lib (name TO-92)(type Github)(uri ${GH}/TO-92_Housings_06Jun2013)(options "")(descr ""))
|
||||
(lib (name TransformerSMPS_ThroughHole)(type Github)(uri ${GH}/TransformerSMPS_ThroughHole_RevA)(options "")(descr ""))
|
||||
(lib (name Transistor_TO-220)(type Github)(uri ${GH}/Transistor_TO-220_RevB_03Sep2012)(options "")(descr ""))
|
||||
(lib (name Transistor_TO-247)(type Github)(uri ${GH}/Transistor_TO-247_RevC)(options "")(descr ""))
|
||||
(lib (name valves)(type Github)(uri ${GH}/valves)(options "")(descr ""))
|
||||
(lib (name VML0806_Housing_Rohm)(type Github)(uri ${GH}/VML0806_Housing_Rohm_RevA_26Oct2012)(options "")(descr ""))
|
||||
(lib (name WireConnections-Bridges)(type Github)(uri ${GH}/WireConnections-Bridges_RevA)(options "")(descr ""))
|
||||
(lib (name WirePads)(type Github)(uri ${GH}/WirePads_RevA_15Jun2010)(options "")(descr ""))
|
||||
)
|
Loading…
Reference in New Issue