Upstream merge.

This commit is contained in:
Maciej Suminski 2014-01-28 10:43:55 +01:00
commit 7f6bc781aa
156 changed files with 26531 additions and 27846 deletions

View File

@ -59,7 +59,7 @@ void S3D_MATERIAL::SetMaterial()
void S3D_MASTER::Copy( S3D_MASTER* pattern ) void S3D_MASTER::Copy( S3D_MASTER* pattern )
{ {
m_Shape3DName = pattern->m_Shape3DName; SetShape3DName( pattern->GetShape3DName() );
m_MatScale = pattern->m_MatScale; m_MatScale = pattern->m_MatScale;
m_MatRotation = pattern->m_MatRotation; m_MatRotation = pattern->m_MatRotation;
m_MatPosition = pattern->m_MatPosition; m_MatPosition = pattern->m_MatPosition;
@ -74,6 +74,7 @@ S3D_MASTER::S3D_MASTER( EDA_ITEM* aParent ) :
m_MatScale.x = m_MatScale.y = m_MatScale.z = 1.0; m_MatScale.x = m_MatScale.y = m_MatScale.z = 1.0;
m_3D_Drawings = NULL; m_3D_Drawings = NULL;
m_Materials = NULL; m_Materials = NULL;
m_ShapeType = FILE3D_NONE;
} }
@ -96,6 +97,45 @@ S3D_MASTER:: ~S3D_MASTER()
} }
bool S3D_MASTER::Is3DType( enum FILE3D_TYPE aShapeType )
{
// type 'none' is not valid and will always return false
if( aShapeType == FILE3D_NONE )
return false;
// no one is interested if we have no file
if( m_Shape3DName.empty() )
return false;
if( aShapeType == m_ShapeType )
return true;
return false;
}
void S3D_MASTER::SetShape3DName( const wxString& aShapeName )
{
m_ShapeType = FILE3D_NONE;
m_Shape3DName = aShapeName;
if( m_Shape3DName.empty() )
return;
wxFileName fn = m_Shape3DName;
wxString ext = fn.GetExt();
if( ext == wxT( "wrl" ) || ext == wxT( "x3d" ) )
m_ShapeType = FILE3D_VRML;
else if( ext == wxT( "idf" ) )
m_ShapeType = FILE3D_IDF;
else
m_ShapeType = FILE3D_UNKNOWN;
return;
}
STRUCT_3D_SHAPE::STRUCT_3D_SHAPE( EDA_ITEM* aParent ) : STRUCT_3D_SHAPE::STRUCT_3D_SHAPE( EDA_ITEM* aParent ) :
EDA_ITEM( aParent, NOT_USED ) EDA_ITEM( aParent, NOT_USED )
{ {

View File

@ -857,7 +857,7 @@ void MODULE::ReadAndInsert3DComponentShape( EDA_3D_CANVAS* glcanvas )
for( ; struct3D != NULL; struct3D = struct3D->Next() ) for( ; struct3D != NULL; struct3D = struct3D->Next() )
{ {
if( !struct3D->m_Shape3DName.IsEmpty() ) if( struct3D->Is3DType( S3D_MASTER::FILE3D_VRML ) )
struct3D->ReadData(); struct3D->ReadData();
} }

View File

@ -141,8 +141,6 @@ void EDA_3D_FRAME::Exit3DFrame( wxCommandEvent& event )
void EDA_3D_FRAME::OnCloseWindow( wxCloseEvent& Event ) void EDA_3D_FRAME::OnCloseWindow( wxCloseEvent& Event )
{ {
SaveSettings();
if( Parent() ) if( Parent() )
Parent()->m_Draw3DFrame = NULL; Parent()->m_Draw3DFrame = NULL;

View File

@ -92,13 +92,24 @@ public:
class S3D_MASTER : public EDA_ITEM class S3D_MASTER : public EDA_ITEM
{ {
public: public:
wxString m_Shape3DName; /* 3D shape name in 3D library */
S3D_VERTEX m_MatScale; S3D_VERTEX m_MatScale;
S3D_VERTEX m_MatRotation; S3D_VERTEX m_MatRotation;
S3D_VERTEX m_MatPosition; S3D_VERTEX m_MatPosition;
STRUCT_3D_SHAPE* m_3D_Drawings; STRUCT_3D_SHAPE* m_3D_Drawings;
S3D_MATERIAL* m_Materials; S3D_MATERIAL* m_Materials;
enum FILE3D_TYPE
{
FILE3D_NONE = 0,
FILE3D_VRML,
FILE3D_IDF,
FILE3D_UNKNOWN
};
private:
wxString m_Shape3DName; /* 3D shape name in 3D library */
FILE3D_TYPE m_ShapeType;
public: public:
S3D_MASTER( EDA_ITEM* aParent ); S3D_MASTER( EDA_ITEM* aParent );
~S3D_MASTER(); ~S3D_MASTER();
@ -120,6 +131,20 @@ public:
#if defined(DEBUG) #if defined(DEBUG)
void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
#endif #endif
/**
* Function Is3DType
* returns true if the argument matches the type of model referred to
* by m_Shape3DName
*/
bool Is3DType( enum FILE3D_TYPE aShapeType );
const wxString& GetShape3DName( void )
{
return m_Shape3DName;
}
void SetShape3DName( const wxString& aShapeName );
}; };

View File

@ -14,6 +14,9 @@ set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules )
# reports. # reports.
# #
option( USE_KIWAY_DLLS
"Build the major modules as DLLs or DSOs, will soon be the norm." OFF )
#for those who bored with uppercase #for those who bored with uppercase
option( KICAD_KEEPCASE "turn-off automatic component name conversion to uppercase if selected" ) option( KICAD_KEEPCASE "turn-off automatic component name conversion to uppercase if selected" )
@ -109,7 +112,7 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
endif() endif()
set( CMAKE_C_FLAGS_DEBUG "-g3 -ggdb3 -DDEBUG" ) set( CMAKE_C_FLAGS_DEBUG "-g3 -ggdb3 -DDEBUG" )
set( CMAKE_CXX_FLAGS_DEBUG "-g3 -ggdb3 -DDEBUG" ) set( CMAKE_CXX_FLAGS_DEBUG "-g3 -ggdb3 -DDEBUG -Wno-deprecated-declarations" )
set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG" ) set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG" ) set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG" )
@ -146,32 +149,50 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
endif() endif()
else() else()
# We build DLL/DSOs from static libraries, so create position independent code # We build DLL/DSOs from static libraries, so create position independent
# for all cases, since we do not have DLL/DSO specific static libraries. # code for all cases, since we do not have DLL/DSO specific static
# Subdirectories via add_subdirectores() reference this variable, and it is either set or empty, # libraries. Subdirectories via add_subdirectores() reference this
# empty for Windows. # variable, and it is either set or empty, empty for Windows.
set( PIC_FLAG -fPIC ) set( PIC_FLAG -fPIC )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PIC_FLAG}" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PIC_FLAG}" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PIC_FLAG}" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PIC_FLAG}" )
# Thou shalt not link vaporware and tell us it's a valid DSO: if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" ) set( TO_LINKER -XLinker )
set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) # needed by SWIG macros on linux else()
set( TO_LINKER -Wl )
# Set default flags for Release build.
set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" )
endif() endif()
# quiet GCC 4.8.1 while in boost # Thou shalt not link vaporware and tell us it's a valid DSO:
set( CMAKE_SHARED_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" )
endif()
# quiet GCC while in boost
if( GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8 ) if( GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8 )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs" )
endif() endif()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-strict-aliasing" )
if( APPLE ) if( APPLE )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__ASSERTMACROS__ -mmacosx-version-min=10.5" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__ASSERTMACROS__ -mmacosx-version-min=10.5" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__ASSERTMACROS__ -mmacosx-version-min=10.5" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__ASSERTMACROS__ -mmacosx-version-min=10.5" )
# Allows .dylib relocation in the future
set( CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS} -headerpad_max_install_names")
if( NOT CMAKE_CXX_COMPILER )
EXEC_PROGRAM( wx-config ARGS --cc OUTPUT_VARIABLE CMAKE_C_COMPILER )
endif( NOT CMAKE_CXX_COMPILER )
if( NOT CMAKE_CXX_COMPILER )
EXEC_PROGRAM( wx-config ARGS --cxx OUTPUT_VARIABLE CMAKE_CXX_COMPILER )
endif( NOT CMAKE_CXX_COMPILER )
endif() endif()
endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
@ -259,19 +280,6 @@ include( Functions )
include( ExternalProject ) include( ExternalProject )
if ( APPLE )
set( KICAD_BUILD_STATIC ON)
if( NOT CMAKE_CXX_COMPILER )
EXEC_PROGRAM( wx-config ARGS --cc OUTPUT_VARIABLE CMAKE_C_COMPILER )
endif( NOT CMAKE_CXX_COMPILER )
if( NOT CMAKE_CXX_COMPILER )
EXEC_PROGRAM( wx-config ARGS --cxx OUTPUT_VARIABLE CMAKE_CXX_COMPILER )
endif( NOT CMAKE_CXX_COMPILER )
endif( APPLE )
#================================================ #================================================
# Find libraries that are needed to build KiCad. # Find libraries that are needed to build KiCad.
#================================================ #================================================
@ -286,10 +294,36 @@ add_definitions(-DWX_COMPATIBILITY)
find_package( OpenGL QUIET ) find_package( OpenGL QUIET )
check_find_package_result( OPENGL_FOUND "OpenGL" ) check_find_package_result( OPENGL_FOUND "OpenGL" )
if ( KICAD_BUILD_STATIC ) if ( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
#set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so;.dylib;.dll") #set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so;.dylib;.dll")
if( KICAD_BUILD_STATIC AND KICAD_BUILD_DYNAMIC )
message(FATAL_ERROR "You can't build STATIC and DYNAMIC together")
endif()
if( KICAD_BUILD_STATIC )
message(STATUS "KICAD_BUILD_STATIC set")
endif()
if( KICAD_BUILD_DYNAMIC )
message(STATUS "KICAD_BUILD_DYNAMIC set")
# TODO - Library packaging/relocation
endif()
add_custom_target( lib-dependencies
DEPENDS boost cairo glew libpng pixman pkgconfig
)
include( download_libpng )
if( KICAD_SCRIPTING_WXPYTHON )
message(FATAL_ERROR "KICAD_BUILD_* and SCRIPTING Not Implemented Yet!")
else()
include( download_wxwidgets )
add_dependencies( lib-dependencies libwx )
endif( KICAD_SCRIPTING_WXPYTHON )
include( download_pkgconfig ) include( download_pkgconfig )
set( PKG_CONFIG_EXECUTABLE "${PKGCONFIG_ROOT}/bin/pkg-config") set( PKG_CONFIG_EXECUTABLE "${PKGCONFIG_ROOT}/bin/pkg-config")
include( download_glew ) include( download_glew )
@ -297,11 +331,17 @@ if ( KICAD_BUILD_STATIC )
set( GLEW_INCLUDE_DIR "${GLEW_ROOT}/include") set( GLEW_INCLUDE_DIR "${GLEW_ROOT}/include")
include( download_pixman ) include( download_pixman )
set( PIXMAN_LIBRARY "${PIXMAN_ROOT}/lib/libpixman-1.a") set( PIXMAN_LIBRARY "${PIXMAN_ROOT}/lib/libpixman-1.a")
include( download_libpng )
include( download_cairo ) include( download_cairo )
set( CAIRO_INCLUDE_DIR "${CAIRO_ROOT}/include/cairo") set( CAIRO_INCLUDE_DIR "${CAIRO_ROOT}/include/cairo")
set( CAIRO_LIBRARY "${CAIRO_ROOT}/lib/libcairo.a") set( CAIRO_LIBRARY "${CAIRO_ROOT}/lib/libcairo.a")
endif( KICAD_BUILD_STATIC )
if( KICAD_BUILD_DYNAMIC AND APPLE )
add_custom_target( osx_fix_bundles ALL DEPENDS cvpcb eeschema gerbview kicad pcbnew bitmap2component pcb_calculator pl_editor)
add_custom_command(TARGET osx_fix_bundles POST_BUILD COMMAND scripts/osx_fixbundle.sh COMMENT "Migrating dylibs to bundles")
endif()
endif( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC)
##################### #####################
# Find GLEW library # # Find GLEW library #
@ -341,13 +381,16 @@ endif()
# http://www.wxwidgets.org/manuals/2.8/wx_librarieslist.html # http://www.wxwidgets.org/manuals/2.8/wx_librarieslist.html
# On Apple only wxwidgets 2.9 or higher doesn't need to find aui part of base # On Apple only wxwidgets 2.9 or higher doesn't need to find aui part of base
if( APPLE ) # Seems no more needed on wx-3
if( APPLE AND NOT (KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC) )
find_package( wxWidgets COMPONENTS gl adv html core net base xml QUIET ) find_package( wxWidgets COMPONENTS gl adv html core net base xml QUIET )
else() else()
find_package( wxWidgets COMPONENTS gl aui adv html core net base xml QUIET ) find_package( wxWidgets COMPONENTS gl aui adv html core net base xml QUIET )
endif() endif()
check_find_package_result( wxWidgets_FOUND "wxWidgets" )
if( NOT (KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC) )
check_find_package_result( wxWidgets_FOUND "wxWidgets" )
endif( NOT (KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC) )
# Include wxWidgets macros. # Include wxWidgets macros.
include( ${wxWidgets_USE_FILE} ) include( ${wxWidgets_USE_FILE} )
@ -478,6 +521,26 @@ add_dependencies( pl_editor boost )
add_dependencies( pnsrouter boost ) add_dependencies( pnsrouter boost )
if ( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
add_dependencies( pcbnew lib-dependencies )
add_dependencies( eeschema lib-dependencies )
add_dependencies( cvpcb lib-dependencies )
add_dependencies( gal lib-dependencies )
add_dependencies( common lib-dependencies )
add_dependencies( pcbcommon lib-dependencies )
add_dependencies( 3d-viewer lib-dependencies )
add_dependencies( pcad2kicadpcb lib-dependencies )
add_dependencies( polygon lib-dependencies )
add_dependencies( pl_editor lib-dependencies )
add_dependencies( pnsrouter lib-dependencies )
if ( BUILD_GITHUB_PLUGIN )
add_dependencies( github_plugin lib-dependencies )
endif()
endif()
if ( KICAD_BUILD_DYNAMIC )
endif()
############# #############
# Resources # # Resources #
############# #############

View File

@ -144,12 +144,10 @@
# Helper macro to control the debugging output globally. There are # Helper macro to control the debugging output globally. There are
# two versions for controlling how verbose your output should be. # two versions for controlling how verbose your output should be.
MACRO(DBG_MSG _MSG) MACRO(DBG_MSG _MSG)
# MESSAGE(STATUS # MESSAGE(WARNING "${_MSG}")
# "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
ENDMACRO(DBG_MSG) ENDMACRO(DBG_MSG)
MACRO(DBG_MSG_V _MSG) MACRO(DBG_MSG_V _MSG)
# MESSAGE(STATUS # MESSAGE(WARNING "${_MSG}")
# "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
ENDMACRO(DBG_MSG_V) ENDMACRO(DBG_MSG_V)
# Clear return values in case the module is loaded more than once. # Clear return values in case the module is loaded more than once.
@ -201,18 +199,24 @@ ENDIF(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
#===================================================================== #=====================================================================
#===================================================================== #=====================================================================
IF(WIN32 AND NOT CYGWIN AND NOT MSYS)
IF(WIN32 AND NOT CYGWIN AND NOT MSYS AND NOT CMAKE_HOST_UNIX )
DBG_MSG( "setting win32 style" )
SET(wxWidgets_FIND_STYLE "win32") SET(wxWidgets_FIND_STYLE "win32")
ELSE(WIN32 AND NOT CYGWIN AND NOT MSYS) ELSE()
IF(UNIX OR MSYS) IF(CMAKE_HOST_UNIX OR MSYS)
DBG_MSG( "unix style" )
SET(wxWidgets_FIND_STYLE "unix") SET(wxWidgets_FIND_STYLE "unix")
ENDIF(UNIX OR MSYS) ENDIF()
ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS) ENDIF()
#===================================================================== #=====================================================================
# WIN32_FIND_STYLE # WIN32_FIND_STYLE
#===================================================================== #=====================================================================
IF(wxWidgets_FIND_STYLE STREQUAL "win32") IF(wxWidgets_FIND_STYLE STREQUAL "win32")
DBG_MSG("Using win32 path")
# Useful common wx libs needed by almost all components. # Useful common wx libs needed by almost all components.
SET(wxWidgets_COMMON_LIBRARIES png tiff jpeg zlib regex expat) SET(wxWidgets_COMMON_LIBRARIES png tiff jpeg zlib regex expat)
@ -271,9 +275,13 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
MARK_AS_ADVANCED(WX_${LIB}${_DBG}) MARK_AS_ADVANCED(WX_${LIB}${_DBG})
ENDFOREACH(LIB) ENDFOREACH(LIB)
DBG_MSG( "WX_LIB_DIR:${WX_LIB_DIR}" )
# Find wxWidgets multilib base libraries. # Find wxWidgets multilib base libraries.
FIND_LIBRARY(WX_base${_DBG} FIND_LIBRARY(WX_base${_DBG}
NAMES NAMES
wxbase31${_UCD}${_DBG}
wxbase30${_UCD}${_DBG}
wxbase29${_UCD}${_DBG} wxbase29${_UCD}${_DBG}
wxbase28${_UCD}${_DBG} wxbase28${_UCD}${_DBG}
wxbase27${_UCD}${_DBG} wxbase27${_UCD}${_DBG}
@ -286,6 +294,8 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
FOREACH(LIB net odbc xml) FOREACH(LIB net odbc xml)
FIND_LIBRARY(WX_${LIB}${_DBG} FIND_LIBRARY(WX_${LIB}${_DBG}
NAMES NAMES
wxbase31${_UCD}${_DBG}_${LIB}
wxbase30${_UCD}${_DBG}_${LIB}
wxbase29${_UCD}${_DBG}_${LIB} wxbase29${_UCD}${_DBG}_${LIB}
wxbase28${_UCD}${_DBG}_${LIB} wxbase28${_UCD}${_DBG}_${LIB}
wxbase27${_UCD}${_DBG}_${LIB} wxbase27${_UCD}${_DBG}_${LIB}
@ -300,6 +310,8 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
# Find wxWidgets monolithic library. # Find wxWidgets monolithic library.
FIND_LIBRARY(WX_mono${_DBG} FIND_LIBRARY(WX_mono${_DBG}
NAMES NAMES
wxmsw${_UNV}31${_UCD}${_DBG}
wxmsw${_UNV}30${_UCD}${_DBG}
wxmsw${_UNV}29${_UCD}${_DBG} wxmsw${_UNV}29${_UCD}${_DBG}
wxmsw${_UNV}28${_UCD}${_DBG} wxmsw${_UNV}28${_UCD}${_DBG}
wxmsw${_UNV}27${_UCD}${_DBG} wxmsw${_UNV}27${_UCD}${_DBG}
@ -315,6 +327,8 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
stc ribbon propgrid) stc ribbon propgrid)
FIND_LIBRARY(WX_${LIB}${_DBG} FIND_LIBRARY(WX_${LIB}${_DBG}
NAMES NAMES
wxmsw${_UNV}31${_UCD}${_DBG}_${LIB}
wxmsw${_UNV}30${_UCD}${_DBG}_${LIB}
wxmsw${_UNV}29${_UCD}${_DBG}_${LIB} wxmsw${_UNV}29${_UCD}${_DBG}_${LIB}
wxmsw${_UNV}28${_UCD}${_DBG}_${LIB} wxmsw${_UNV}28${_UCD}${_DBG}_${LIB}
wxmsw${_UNV}27${_UCD}${_DBG}_${LIB} wxmsw${_UNV}27${_UCD}${_DBG}_${LIB}
@ -428,6 +442,9 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
D:/ D:/
$ENV{ProgramFiles} $ENV{ProgramFiles}
PATH_SUFFIXES PATH_SUFFIXES
wxWidgets-3.1.0
wxWidgets-3.0.0
wxWidgets-2.9.5
wxWidgets-2.9.4 wxWidgets-2.9.4
wxWidgets-2.9.3 wxWidgets-2.9.3
wxWidgets-2.9.2 wxWidgets-2.9.2
@ -463,6 +480,8 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
# If wxWidgets_ROOT_DIR changed, clear lib dir. # If wxWidgets_ROOT_DIR changed, clear lib dir.
IF(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR) IF(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
DBG_MSG( "WX_ROOT_DIR != wxWidgets_ROOT_DIR" )
SET(WX_ROOT_DIR ${wxWidgets_ROOT_DIR} SET(WX_ROOT_DIR ${wxWidgets_ROOT_DIR}
CACHE INTERNAL "wxWidgets_ROOT_DIR") CACHE INTERNAL "wxWidgets_ROOT_DIR")
SET(wxWidgets_LIB_DIR "wxWidgets_LIB_DIR-NOTFOUND" SET(wxWidgets_LIB_DIR "wxWidgets_LIB_DIR-NOTFOUND"
@ -470,15 +489,19 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
ENDIF(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR) ENDIF(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
IF(WX_ROOT_DIR) IF(WX_ROOT_DIR)
DBG_MSG( "WX_ROOT_DIR == wxWidgets_ROOT_DIR" )
# Select one default tree inside the already determined wx tree. # Select one default tree inside the already determined wx tree.
# Prefer static/shared order usually consistent with build # Prefer static/shared order usually consistent with build
# settings. # settings.
IF(MINGW) IF(MINGW)
DBG_MSG( "MINGW" )
SET(WX_LIB_DIR_PREFIX gcc) SET(WX_LIB_DIR_PREFIX gcc)
ELSE(MINGW) ELSE(MINGW)
SET(WX_LIB_DIR_PREFIX vc) SET(WX_LIB_DIR_PREFIX vc)
ENDIF(MINGW) ENDIF(MINGW)
IF(BUILD_SHARED_LIBS) IF(BUILD_SHARED_LIBS)
DBG_MSG( "BUILD_SHARED_LIBS" )
FIND_PATH(wxWidgets_LIB_DIR FIND_PATH(wxWidgets_LIB_DIR
NAMES NAMES
msw/wx/setup.h msw/wx/setup.h
@ -496,6 +519,7 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
NO_DEFAULT_PATH NO_DEFAULT_PATH
) )
ELSE(BUILD_SHARED_LIBS) ELSE(BUILD_SHARED_LIBS)
DBG_MSG( "!BUILD_SHARED_LIBS WX_LIB_DIR:${WX_LIB_DIR}" )
FIND_PATH(wxWidgets_LIB_DIR FIND_PATH(wxWidgets_LIB_DIR
NAMES NAMES
msw/wx/setup.h msw/wx/setup.h
@ -613,7 +637,11 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
# UNIX_FIND_STYLE # UNIX_FIND_STYLE
#===================================================================== #=====================================================================
ELSE(wxWidgets_FIND_STYLE STREQUAL "win32") ELSE(wxWidgets_FIND_STYLE STREQUAL "win32")
DBG_MSG("NOT win32 path")
IF(wxWidgets_FIND_STYLE STREQUAL "unix") IF(wxWidgets_FIND_STYLE STREQUAL "unix")
DBG_MSG("unix find style")
#----------------------------------------------------------------- #-----------------------------------------------------------------
# UNIX: Helper MACROS # UNIX: Helper MACROS
#----------------------------------------------------------------- #-----------------------------------------------------------------

View File

@ -92,7 +92,7 @@ string( REPLACE "unit_test_framework" "test" boost_libs_list "${BOOST_LIBS_BUILT
# Default Toolset # Default Toolset
set( BOOST_TOOLSET "toolset=gcc" ) set( BOOST_TOOLSET "toolset=gcc" )
if( KICAD_BUILD_STATIC ) if( KICAD_BUILD_STATIC OR APPLE )
set( BOOST_LINKTYPE "link=static" ) set( BOOST_LINKTYPE "link=static" )
else() else()
unset( BOOST_LINKTYPE ) unset( BOOST_LINKTYPE )
@ -170,10 +170,20 @@ endif()
ExternalProject_Add( boost ExternalProject_Add( boost
PREFIX "${PREFIX}" PREFIX "${PREFIX}"
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
INSTALL_DIR "${BOOST_ROOT}"
URL http://downloads.sourceforge.net/project/boost/boost/${BOOST_RELEASE}/boost_${BOOST_VERS}.tar.bz2 URL http://downloads.sourceforge.net/project/boost/boost/${BOOST_RELEASE}/boost_${BOOST_VERS}.tar.bz2
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
TIMEOUT 600 # 10 minutes
URL_MD5 ${BOOST_MD5} URL_MD5 ${BOOST_MD5}
# If download fails, then enable "LOG_DOWNLOAD ON" and try again.
# Upon a second failure with logging enabled, then look at these logs:
# <src>/.downloads-by-cmake$ less /tmp/product/.downloads-by-cmake/boost_1_54_0/src/boost-stamp/boost-download-out.log
# <src>/.downloads-by-cmake$ less /tmp/product/.downloads-by-cmake/boost_1_54_0/src/boost-stamp/boost-download-err.log
# If out.log does not show 100%, then try increasing TIMEOUT even more, or download the URL manually and put it
# into <src>/.downloads-by-cmake/ dir.
# LOG_DOWNLOAD ON
INSTALL_DIR "${BOOST_ROOT}"
# The patch command executes with the working directory set to <SOURCE_DIR> # The patch command executes with the working directory set to <SOURCE_DIR>
# Revert the branch to pristine before applying patch sets as bzr patch # Revert the branch to pristine before applying patch sets as bzr patch

View File

@ -37,11 +37,20 @@ find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/cairo ) set( PREFIX ${DOWNLOAD_DIR}/cairo )
if ( KICAD_BUILD_STATIC )
set( CAIRO_BUILDTYPE --disable-shared )
endif( KICAD_BUILD_STATIC )
if (APPLE) if (APPLE)
if( CMAKE_OSX_ARCHITECTURES )
set( CAIRO_CFLAGS "CFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES}" ) set( CAIRO_CFLAGS "CFLAGS=" )
set( CAIRO_LDFLAGS "LDFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -framework CoreServices -framework Cocoa" ) set( CAIRO_LDFLAGS "LDFLAGS=-framework CoreServices -framework Cocoa" )
set( CAIRO_OPTS --enable-ft=no ) set( CAIRO_OPTS --enable-ft=no )
if( CMAKE_OSX_ARCHITECTURES )
set( CAIRO_CFLAGS "${CAIRO_CFLAGS} -arch ${CMAKE_OSX_ARCHITECTURES}" )
set( CAIRO_LDFLAGS "${CAIRO_LDFLAGS} -arch ${CMAKE_OSX_ARCHITECTURES}" )
endif( CMAKE_OSX_ARCHITECTURES ) endif( CMAKE_OSX_ARCHITECTURES )
if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
@ -72,8 +81,9 @@ ExternalProject_Add( cairo
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
#SOURCE_DIR "${PREFIX}" #SOURCE_DIR "${PREFIX}"
#PATCH_COMMAND "" #PATCH_COMMAND ""
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${CAIRO_ROOT}"
CONFIGURE_COMMAND ./configure --prefix=${CAIRO_ROOT} --enable-static --disable-shared CONFIGURE_COMMAND ./configure --prefix=${CAIRO_ROOT} --enable-static ${CAIRO_BUILDTYPE}
PKG_CONFIG=${PROJECT_SOURCE_DIR}/pkgconfig_root/bin/pkg-config PKG_CONFIG=${PROJECT_SOURCE_DIR}/pkgconfig_root/bin/pkg-config
PKG_CONFIG_PATH=${PROJECT_SOURCE_DIR}/pixman_root/lib/pkgconfig:${PROJECT_SOURCE_DIR}/libpng_root/lib/pkgconfig PKG_CONFIG_PATH=${PROJECT_SOURCE_DIR}/pixman_root/lib/pkgconfig:${PROJECT_SOURCE_DIR}/libpng_root/lib/pkgconfig
--enable-png=yes --enable-svg=yes --enable-png=yes --enable-svg=yes
@ -84,8 +94,8 @@ ExternalProject_Add( cairo
#BINARY_DIR "${PREFIX}" #BINARY_DIR "${PREFIX}"
BUILD_COMMAND make BUILD_COMMAND $(MAKE)
INSTALL_DIR "${CAIRO_ROOT}" INSTALL_DIR "${CAIRO_ROOT}"
INSTALL_COMMAND make install INSTALL_COMMAND $(MAKE) install
) )

View File

@ -60,13 +60,28 @@ ExternalProject_Add( glew
#SOURCE_DIR "${PREFIX}" #SOURCE_DIR "${PREFIX}"
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${GLEW_ROOT}"
#PATCH_COMMAND "true" #PATCH_COMMAND "true"
CONFIGURE_COMMAND "" CONFIGURE_COMMAND ""
#BINARY_DIR "${PREFIX}" #BINARY_DIR "${PREFIX}"
BUILD_COMMAND make ${GLEW_CFLAGS} ${GLEW_LDFLAGS} ${GLEW_STRIP} BUILD_COMMAND $(MAKE) ${GLEW_CFLAGS} ${GLEW_LDFLAGS} ${GLEW_STRIP}
INSTALL_DIR "${GLEW_ROOT}" INSTALL_DIR "${GLEW_ROOT}"
INSTALL_COMMAND make GLEW_DEST="${GLEW_ROOT}" install && ranlib "${GLEW_ROOT}/lib/libGLEW.a" INSTALL_COMMAND $(MAKE) GLEW_DEST="${GLEW_ROOT}" install
) )
#
# Optional Steps
#
if( APPLE )
# On OSX is needed to run ranlib to make .a indexes for all platforms
ExternalProject_Add_Step( glew glew_osx_ranlib
COMMAND ranlib "${GLEW_ROOT}/lib/libGLEW.a"
COMMENT "ranlib ${GLEW_ROOT}/lib/libGLEW.a - Needed on OSX only"
DEPENDEES install
)
endif()

View File

@ -43,6 +43,12 @@ if (APPLE)
endif( CMAKE_OSX_ARCHITECTURES ) endif( CMAKE_OSX_ARCHITECTURES )
endif(APPLE) endif(APPLE)
if (KICAD_BUILD_STATIC)
set(LIBPNG_OPTS --enable-static --disable-shared)
else()
set(LIBPNG_OPTS --enable-static --enable-shared)
endif(KICAD_BUILD_STATIC)
# <SOURCE_DIR> = ${PREFIX}/src/glew # <SOURCE_DIR> = ${PREFIX}/src/glew
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine # There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time # download, the patch is applied. This lets you regenerate a new patch at any time
@ -59,11 +65,12 @@ ExternalProject_Add( libpng
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
#PATCH_COMMAND "true" #PATCH_COMMAND "true"
CONFIGURE_COMMAND ./configure --prefix=${LIBPNG_ROOT} --enable-static --disable-shared ${LIBPNG_CFLAGS} --disable-dependency-tracking CONFIGURE_COMMAND ./configure --prefix=${LIBPNG_ROOT} ${LIBPNG_OPTS} ${LIBPNG_CFLAGS} --disable-dependency-tracking
#BINARY_DIR "${PREFIX}" #BINARY_DIR "${PREFIX}"
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${LIBPNG_ROOT}"
BUILD_COMMAND make BUILD_COMMAND $(MAKE)
INSTALL_DIR "${LIBPNG_ROOT}" INSTALL_DIR "${LIBPNG_ROOT}"
INSTALL_COMMAND make install INSTALL_COMMAND $(MAKE) install
) )

View File

@ -37,14 +37,22 @@ find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/pixman ) set( PREFIX ${DOWNLOAD_DIR}/pixman )
set(PIXMAN_CPPFLAGS "CFLAGS=")
if (APPLE) if (APPLE)
if( CMAKE_OSX_ARCHITECTURES ) if( CMAKE_OSX_ARCHITECTURES )
set(PIXMAN_CPPFLAGS "CFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -fno-common -mmacosx-version-min=10.5") set(PIXMAN_CPPFLAGS "${PIXMAN_CPPFLAGS} -arch ${CMAKE_OSX_ARCHITECTURES} -fno-common -mmacosx-version-min=10.5")
else() else()
set(PIXMAN_CPPFLAGS "CFLAGS=-fno-common -mmacosx-version-min=10.5") set(PIXMAN_CPPFLAGS "${PIXMAN_CPPFLAGS} -fno-common -mmacosx-version-min=10.5")
endif( CMAKE_OSX_ARCHITECTURES ) endif( CMAKE_OSX_ARCHITECTURES )
endif(APPLE) endif(APPLE)
if (KICAD_BUILD_STATIC)
set(PIXMAN_OPTS --enable-static=yes --enable-shared=no)
else()
set(PIXMAN_OPTS --enable-static=yes --enable-shared=yes)
endif(KICAD_BUILD_STATIC)
# <SOURCE_DIR> = ${PREFIX}/src/glew # <SOURCE_DIR> = ${PREFIX}/src/glew
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine # There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time # download, the patch is applied. This lets you regenerate a new patch at any time
@ -60,12 +68,14 @@ ExternalProject_Add( pixman
#SOURCE_DIR "${PREFIX}" #SOURCE_DIR "${PREFIX}"
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${PIXMAN_ROOT}"
#PATCH_COMMAND "true" #PATCH_COMMAND "true"
CONFIGURE_COMMAND ./configure --prefix=${PIXMAN_ROOT} --enable-static=yes --enable-shared=no ${PIXMAN_CPPFLAGS} --disable-dependency-tracking CONFIGURE_COMMAND ./configure --prefix=${PIXMAN_ROOT} ${PIXMAN_OPTS} ${PIXMAN_CPPFLAGS} --disable-dependency-tracking
#BINARY_DIR "${PREFIX}" #BINARY_DIR "${PREFIX}"
BUILD_COMMAND make BUILD_COMMAND $(MAKE)
INSTALL_DIR "${PIXMAN_ROOT}" INSTALL_DIR "${PIXMAN_ROOT}"
INSTALL_COMMAND make install INSTALL_COMMAND $(MAKE) install
) )

View File

@ -37,6 +37,12 @@ find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/pkgconfig ) set( PREFIX ${DOWNLOAD_DIR}/pkgconfig )
if ( KICAD_BUILD_STATIC )
set( PKGCONFIG_BUILDTYPE --enable-shared=no --enable-static=yes )
else()
set( PKGCONFIG_BUILDTYPE --enable-shared=yes --enable-static=yes )
endif( KICAD_BUILD_STATIC )
# <SOURCE_DIR> = ${PREFIX}/src/glew # <SOURCE_DIR> = ${PREFIX}/src/glew
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine # There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time # download, the patch is applied. This lets you regenerate a new patch at any time
@ -53,11 +59,20 @@ ExternalProject_Add( pkgconfig
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
#PATCH_COMMAND "true" #PATCH_COMMAND "true"
CONFIGURE_COMMAND ./configure --prefix=${PKGCONFIG_ROOT} --with-internal-glib --enable-shared=no --enable-static=yes --disable-silent-rules CONFIGURE_COMMAND ./configure --prefix=${PKGCONFIG_ROOT} --with-internal-glib ${PKGCONFIG_BUILDTYPE} --disable-silent-rules
#BINARY_DIR "${PREFIX}" #BINARY_DIR "${PREFIX}"
BUILD_COMMAND make UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${PKGCONFIG_ROOT}"
BUILD_COMMAND $(MAKE)
INSTALL_DIR "${PKGCONFIG_ROOT}" INSTALL_DIR "${PKGCONFIG_ROOT}"
INSTALL_COMMAND make install INSTALL_COMMAND $(MAKE) install
) )
ExternalProject_Add_Step( pkgconfig pkgconfig_cleanup
COMMAND ${CMAKE_COMMAND} -E remove_directory "${PKGCONFIG_ROOT}"
COMMENT "pkgconfig - cleanup destination before proceeding in install"
DEPENDEES build
)

View File

@ -0,0 +1,117 @@
# This program source code file is part of KICAD, a free EDA CAD application.
#
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
# Copyright (C) 2013 Kicad Developers, see AUTHORS.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
# Downloads and builds LIBWX
#-----<configure>----------------------------------------------------------------
set( LIBWX_RELEASE 3.0.0 )
set( LIBWX_MD5 241998efc12205172ed24c18788ea2cd ) # re-calc this on every RELEASE change
# The boost headers [and static libs if built] go here, at the top of KiCad
# source tree in boost_root.
set( LIBWX_ROOT "${PROJECT_SOURCE_DIR}/libwx_root" )
#-----</configure>---------------------------------------------------------------
find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/libwx )
if (APPLE)
if( CMAKE_OSX_ARCHITECTURES )
STRING(REGEX REPLACE " -arch " "," LIBWX_ARCHITECTURES ${CMAKE_OSX_ARCHITECTURES})
SET( LIBWX_ARCHITECTURES --enable-universal_binary=${LIBWX_ARCHITECTURES})
endif( CMAKE_OSX_ARCHITECTURES )
endif(APPLE)
if ( KICAD_BUILD_STATIC )
set( LIBWX_BUILDTYPE "--disable-shared" )
endif( KICAD_BUILD_STATIC )
# <SOURCE_DIR> = ${PREFIX}/src/libwx
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time
# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
ExternalProject_Add( libwx
PREFIX "${PREFIX}"
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
URL http://downloads.sourceforge.net/project/wxwindows/${LIBWX_RELEASE}/wxWidgets-${LIBWX_RELEASE}.tar.bz2
URL_MD5 ${LIBWX_MD5}
STAMP_DIR "${PREFIX}"
BUILD_IN_SOURCE 1
PATCH_COMMAND bzr revert
COMMAND bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/wxwidgets-3.0.0_macosx.patch"
COMMAND bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/wxwidgets-3.0.0_macosx_bug_15908.patch"
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${LIBWX_ROOT}"
CONFIGURE_COMMAND ./configure --prefix=${LIBWX_ROOT} -with-opengl --enable-aui --enable-debug_info -with-expat=builtin --with-regex=builtin --enable-utf8 ${LIBWX_ARCHITECTURES} ${LIBWX_BUILDTYPE}
#BINARY_DIR "${PREFIX}"
BUILD_COMMAND $(MAKE) VERBOSE=1
INSTALL_DIR "${LIBWX_ROOT}"
INSTALL_COMMAND make install
)
#SET directories
set(wxWidgets_BIN_DIR ${LIBWX_ROOT}/bin)
set(wxWidgets_CONFIG_EXECUTABLE ${LIBWX_ROOT}/bin/wx-config)
set(wxWidgets_INCLUDE_DIRS ${LIBWX_ROOT}/include)
set(wxWidgets_LIBRARY_DIRS ${LIBWX_ROOT}/lib)
ExternalProject_Add_Step( libwx bzr_commit_libwx
COMMAND bzr ci -q -m pristine <SOURCE_DIR>
COMMENT "committing pristine libwx files to 'libwx scratch repo'"
DEPENDERS patch
)
ExternalProject_Add_Step( libwx bzr_add_libwx
COMMAND bzr add -q ${PREFIX}/src/libwx
COMMENT "adding pristine libwx files to 'libwx scratch repo'"
DEPENDERS bzr_commit_libwx
)
ExternalProject_Add_Step( libwx bzr_init_libwx
COMMAND bzr init -q <SOURCE_DIR>
COMMENT "creating 'libwx scratch repo' specifically for libwx to track libwx patches"
DEPENDERS bzr_add_libwx
DEPENDEES download
)
######
# Now is time to search what we have built
######
ExternalProject_Add_Step( libwx libwx_recursive_message
COMMAND cmake .
COMMENT "*** RERUN CMAKE - wxWidgets built, now reissue a cmake to build Kicad"
DEPENDEES install
)

View File

@ -281,8 +281,8 @@ void BM2CMP_FRAME::Binarize( double aThreshold )
int w = m_Greyscale_Image.GetWidth(); int w = m_Greyscale_Image.GetWidth();
unsigned int threshold = (int)(aThreshold * 256); unsigned int threshold = (int)(aThreshold * 256);
for( int y = 1; y < h; y++ ) for( int y = 0; y < h; y++ )
for( int x = 1; x < w; x++ ) for( int x = 0; x < w; x++ )
{ {
pixin = m_Greyscale_Image.GetGreen( x, y ); pixin = m_Greyscale_Image.GetGreen( x, y );
@ -303,8 +303,8 @@ void BM2CMP_FRAME::NegateGreyscaleImage( )
int h = m_Greyscale_Image.GetHeight(); int h = m_Greyscale_Image.GetHeight();
int w = m_Greyscale_Image.GetWidth(); int w = m_Greyscale_Image.GetWidth();
for( int y = 1; y < h; y++ ) for( int y = 0; y < h; y++ )
for( int x = 1; x < w; x++ ) for( int x = 0; x < w; x++ )
{ {
pix = m_Greyscale_Image.GetGreen( x, y ); pix = m_Greyscale_Image.GetGreen( x, y );
pix = ~pix; pix = ~pix;

56
bitmaps_png/mk_icn_res.sh Executable file
View File

@ -0,0 +1,56 @@
#!/bin/bash
#
# make icons using Inkscape
# create output directories
cd ../resources/linux/mime/icons/hicolor
rm -r *
mkdir scalable
echo -e '\E[0;34m'"Directory \"scalable\" for .svg icons was created."
# copy sources to the scalable dir
cd ../../../../../bitmaps_png/sources
cp icon_kicad.svg ../../resources/linux/mime/icons/hicolor/scalable/kicad.svg
cp icon_pcbnew.svg ../../resources/linux/mime/icons/hicolor/scalable/pcbnew.svg
cp icon_eeschema.svg ../../resources/linux/mime/icons/hicolor/scalable/eeschema.svg
echo -e '\E[0;34m'"Sources of icons was copied."
# convert .svg files into .png files
cd ../../resources/linux/mime/icons/hicolor/scalable
SIZES="16x16
22x22
24x24
32x32
48x48"
for size in $SIZES
do
sz=${size%x*}
echo -e '\E[0;32m'"\nMaking the mimetypes icons with size $size."
mkdir ../$size
echo -e '\E[0;34m'"Directory $size was created."
mkdir ../$size/mimetypes
echo -e '\E[0;34m'"Subdirectory \"mimetypes\" was created."
tput sgr0
inkscape -f kicad.svg -e ../$size/mimetypes/application-x-kicad-project.png -w $sz -h $sz --export-area-snap
inkscape -f eeschema.svg -e ../$size/mimetypes/application-x-kicad-eeschema.png -w $sz -h $sz --export-area-snap
inkscape -f pcbnew.svg -e ../$size/mimetypes/application-x-kicad-pcbnew.png -w $sz -h $sz --export-area-snap
echo -e '\E[0;34m'"Icons with size $size was created."
if [ $sz -eq 48 ]
then
echo -e '\E[0;32m'"\nMaking the applications icons with size $size."
mkdir ../$size/apps
echo -e '\E[0;34m'"Subdirectory \"apps\" was created."
tput sgr0
inkscape -f kicad.svg -e ../$size/apps/kicad.png -w $sz -h $sz --export-area-snap
inkscape -f eeschema.svg -e ../$size/apps/eeschema.png -w $sz -h $sz --export-area-snap
inkscape -f pcbnew.svg -e ../$size/apps/pcbnew.png -w $sz -h $sz --export-area-snap
echo -e '\E[0;34m'"Icons with size $size was created."
tput sgr0
fi
done

View File

@ -377,3 +377,18 @@ wxString& operator <<( wxString& aString, const wxPoint& aPos )
return aString; return aString;
} }
/**
* Function AngleToStringDegrees
* is a helper to convert the \a double \a aAngle (in internal unit)
* to a string in degrees
*/
wxString AngleToStringDegrees( double aAngle )
{
wxString text;
text.Printf( wxT( "%.3f" ), aAngle/10.0 );
StripTrailingZeros( text, 1 );
return text;
}

View File

@ -51,13 +51,13 @@
#define DEFAULT_AUTO_SAVE_INTERVAL 600 #define DEFAULT_AUTO_SAVE_INTERVAL 600
const wxChar* traceAutoSave = wxT( "KicadAutoSave" ); const wxChar traceAutoSave[] = wxT( "KicadAutoSave" );
/// Configuration file entry name for auto save interval. /// Configuration file entry name for auto save interval.
static const wxChar* entryAutoSaveInterval = wxT( "AutoSaveInterval" ); static const wxChar entryAutoSaveInterval[] = wxT( "AutoSaveInterval" );
/// Configuration file entry for wxAuiManger perspective. /// Configuration file entry for wxAuiManger perspective.
static const wxChar* entryPerspective = wxT( "Perspective" ); static const wxChar entryPerspective[] = wxT( "Perspective" );
@ -141,6 +141,19 @@ bool EDA_BASE_FRAME::ProcessEvent( wxEvent& aEvent )
} }
bool EDA_BASE_FRAME::Show( bool show )
{
if( !show ) // closing
{
SaveSettings(); // virtual, wxFrame specific
}
int ret = wxFrame::Show( show );
return ret;
}
void EDA_BASE_FRAME::onAutoSaveTimer( wxTimerEvent& aEvent ) void EDA_BASE_FRAME::onAutoSaveTimer( wxTimerEvent& aEvent )
{ {
if( !doAutoSave() ) if( !doAutoSave() )
@ -231,7 +244,7 @@ void EDA_BASE_FRAME::SaveSettings()
wxString text; wxString text;
wxConfig* config = wxGetApp().GetSettings(); wxConfig* config = wxGetApp().GetSettings();
if( ( config == NULL ) || IsIconized() ) if( !config || IsIconized() )
return; return;
m_FrameSize = GetSize(); m_FrameSize = GetSize();
@ -258,10 +271,15 @@ void EDA_BASE_FRAME::SaveSettings()
config->Write( text, m_autoSaveInterval ); config->Write( text, m_autoSaveInterval );
} }
// Once this is fully implemented, wxAuiManager will be used to maintain the persistance of // Once this is fully implemented, wxAuiManager will be used to maintain
// the main frame and all it's managed windows and all of the legacy frame persistence // the persistance of the main frame and all it's managed windows and
// position code can be removed. // all of the legacy frame persistence position code can be removed.
config->Write( m_FrameName + entryPerspective, m_auimgr.SavePerspective() ); wxString perspective = m_auimgr.SavePerspective();
// printf( "perspective(%s): %s\n",
// TO_UTF8( m_FrameName + entryPerspective ), TO_UTF8( perspective ) );
config->Write( m_FrameName + entryPerspective, perspective );
} }
@ -270,6 +288,7 @@ void EDA_BASE_FRAME::PrintMsg( const wxString& text )
SetStatusText( text ); SetStatusText( text );
} }
void EDA_BASE_FRAME::UpdateFileHistory( const wxString& FullFileName, void EDA_BASE_FRAME::UpdateFileHistory( const wxString& FullFileName,
wxFileHistory * aFileHistory ) wxFileHistory * aFileHistory )
{ {

View File

@ -6,7 +6,7 @@
#endif #endif
#ifndef KICAD_BUILD_VERSION #ifndef KICAD_BUILD_VERSION
# define KICAD_BUILD_VERSION "(2013-jul-14)" # define KICAD_BUILD_VERSION "(2014-jan-25)"
#endif #endif
/** /**

View File

@ -203,7 +203,7 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
* which should be represented by the same icon. * which should be represented by the same icon.
*/ */
// The developers // The core developers
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Jean-Pierre Charras" ), wxT( "jp.charras@wanadoo.fr" ) ) ); new Contributor( wxT( "Jean-Pierre Charras" ), wxT( "jp.charras@wanadoo.fr" ) ) );
info.AddDeveloper( info.AddDeveloper(
@ -214,6 +214,8 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
// alphabetically by last name after main 3 above: // alphabetically by last name after main 3 above:
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Frank Bennett" ), wxT( "bennett78@lpbroadband.net" ) ) ); new Contributor( wxT( "Frank Bennett" ), wxT( "bennett78@lpbroadband.net" ) ) );
info.AddDeveloper(
new Contributor( wxT( "Cirilo Bernardo" ), wxT( "cirilo_bernardo@yahoo.com" ) ) );
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Jonas Diemer" ), wxT( "diemer@gmx.de" ) ) ); new Contributor( wxT( "Jonas Diemer" ), wxT( "diemer@gmx.de" ) ) );
info.AddDeveloper( info.AddDeveloper(
@ -222,12 +224,6 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
new Contributor( wxT( "Hauptmech" ), wxT( "hauptmech@gmail.com" ) ) ); new Contributor( wxT( "Hauptmech" ), wxT( "hauptmech@gmail.com" ) ) );
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Jerry Jacobs" ), wxT( "xor.gate.engineering@gmail.com" ) ) ); new Contributor( wxT( "Jerry Jacobs" ), wxT( "xor.gate.engineering@gmail.com" ) ) );
/*
info.AddDeveloper(
new Contributor( wxT( "KBool Library" ), wxT( "http://boolean.klaasholwerda.nl/bool.html" ) ) );
*/
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Lorenzo Marcantonio" ), wxT( "lomarcan@tin.it" ) ) ); new Contributor( wxT( "Lorenzo Marcantonio" ), wxT( "lomarcan@tin.it" ) ) );
info.AddDeveloper( info.AddDeveloper(
@ -240,10 +236,14 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
new Contributor( wxT( "Marco Serantoni" ), wxT( "marco.serantoni@gmail.com" ) ) ); new Contributor( wxT( "Marco Serantoni" ), wxT( "marco.serantoni@gmail.com" ) ) );
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Brian Sidebotham" ), wxT( "brian.sidebotham@gmail.com" ) ) ); new Contributor( wxT( "Brian Sidebotham" ), wxT( "brian.sidebotham@gmail.com" ) ) );
info.AddDeveloper(
new Contributor( wxT( "Orson (Maciej Suminski)" ), wxT( "maciej.suminski@cern.ch" ) ) );
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Rafael Sokolowski" ), wxT( "rafael.sokolowski@web.de" ) ) ); new Contributor( wxT( "Rafael Sokolowski" ), wxT( "rafael.sokolowski@web.de" ) ) );
info.AddDeveloper( info.AddDeveloper(
new Contributor( wxT( "Vesa Solonen" ), wxT( "vesa.solonen@hut.fi" ) ) ); new Contributor( wxT( "Vesa Solonen" ), wxT( "vesa.solonen@hut.fi" ) ) );
info.AddDeveloper(
new Contributor( wxT( "Tomasz Wlostowski" ), wxT( "tomasz.wlostowski@cern.ch" ) ) );
// The document writers // The document writers
info.AddDocWriter( info.AddDocWriter(

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -343,7 +343,7 @@ DIALOG_PAGES_SETTINGS_BASE::DIALOG_PAGES_SETTINGS_BASE( wxWindow* parent, wxWind
wxBoxSizer* bSizerFilename; wxBoxSizer* bSizerFilename;
bSizerFilename = new wxBoxSizer( wxVERTICAL ); bSizerFilename = new wxBoxSizer( wxVERTICAL );
m_staticTextfilename = new wxStaticText( this, wxID_ANY, _("Page layout file description"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextfilename = new wxStaticText( this, wxID_ANY, _("Page layout description file"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextfilename->Wrap( -1 ); m_staticTextfilename->Wrap( -1 );
bSizerFilename->Add( m_staticTextfilename, 0, wxRIGHT|wxLEFT, 5 ); bSizerFilename->Add( m_staticTextfilename, 0, wxRIGHT|wxLEFT, 5 );

View File

@ -20,8 +20,10 @@
<property name="path">.</property> <property name="path">.</property>
<property name="precompiled_header"></property> <property name="precompiled_header"></property>
<property name="relative_path">1</property> <property name="relative_path">1</property>
<property name="skip_lua_events">1</property>
<property name="skip_php_events">1</property> <property name="skip_php_events">1</property>
<property name="skip_python_events">1</property> <property name="skip_python_events">1</property>
<property name="ui_table">UI</property>
<property name="use_enum">0</property> <property name="use_enum">0</property>
<property name="use_microsoft_bom">0</property> <property name="use_microsoft_bom">0</property>
<object class="Dialog" expanded="1"> <object class="Dialog" expanded="1">
@ -4173,7 +4175,7 @@
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Page layout file description</property> <property name="label">Page layout description file</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!

View File

@ -118,6 +118,8 @@ EDA_DRAW_FRAME::EDA_DRAW_FRAME( wxWindow* aParent,
m_snapToGrid = true; m_snapToGrid = true;
m_MsgFrameHeight = EDA_MSG_PANEL::GetRequiredHeight(); m_MsgFrameHeight = EDA_MSG_PANEL::GetRequiredHeight();
m_auimgr.SetFlags(wxAUI_MGR_DEFAULT|wxAUI_MGR_LIVE_RESIZE);
CreateStatusBar( 6 ); CreateStatusBar( 6 );
// set the size of the status bar subwindows: // set the size of the status bar subwindows:

View File

@ -57,11 +57,6 @@
static const wxChar* CommonConfigPath = wxT( "kicad_common" ); static const wxChar* CommonConfigPath = wxT( "kicad_common" );
#ifdef __UNIX__
# define TMP_FILE "/tmp/kicad.tmp"
#endif
// some key strings used to store parameters in config // some key strings used to store parameters in config
static const wxChar backgroundColorKey[] = wxT( "BackgroundColor" ); static const wxChar backgroundColorKey[] = wxT( "BackgroundColor" );
static const wxChar showPageLimitsKey[] = wxT( "ShowPageLimits" ); static const wxChar showPageLimitsKey[] = wxT( "ShowPageLimits" );
@ -90,7 +85,7 @@ struct LANGUAGE_DESCR
BITMAP_DEF m_Lang_Icon; BITMAP_DEF m_Lang_Icon;
/// Labels used in menus /// Labels used in menus
const wxChar* m_Lang_Label; wxString m_Lang_Label;
/// Set to true if the m_Lang_Label must not be translated /// Set to true if the m_Lang_Label must not be translated
bool m_DoNotTranslate; bool m_DoNotTranslate;
@ -274,7 +269,7 @@ EDA_APP::EDA_APP()
m_oneInstancePerFileChecker = NULL; m_oneInstancePerFileChecker = NULL;
m_HtmlCtrl = NULL; m_HtmlCtrl = NULL;
m_settings = NULL; m_settings = NULL;
m_LanguageId = wxLANGUAGE_DEFAULT; setLanguageId( wxLANGUAGE_DEFAULT );
m_Locale = NULL; m_Locale = NULL;
m_projectSettings = NULL; m_projectSettings = NULL;
m_commonSettings = NULL; m_commonSettings = NULL;
@ -350,14 +345,15 @@ void EDA_APP::InitEDA_Appl( const wxString& aName, EDA_APP_T aId )
// Internationalization: loading the kicad suitable Dictionary // Internationalization: loading the kicad suitable Dictionary
wxString languageSel; wxString languageSel;
m_commonSettings->Read( languageCfgKey, &languageSel); m_commonSettings->Read( languageCfgKey, &languageSel);
m_LanguageId = wxLANGUAGE_DEFAULT;
setLanguageId( wxLANGUAGE_DEFAULT );
// Search for the current selection // Search for the current selection
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ ) for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
{ {
if( s_Languages[ii].m_Lang_Label == languageSel ) if( s_Languages[ii].m_Lang_Label == languageSel )
{ {
m_LanguageId = s_Languages[ii].m_WX_Lang_Identifier; setLanguageId( s_Languages[ii].m_WX_Lang_Identifier );
break; break;
} }
} }
@ -625,14 +621,14 @@ void EDA_APP::GetSettings( bool aReopenLastUsedDirectory )
wxString languageSel; wxString languageSel;
m_commonSettings->Read( languageCfgKey, &languageSel ); m_commonSettings->Read( languageCfgKey, &languageSel );
m_LanguageId = wxLANGUAGE_DEFAULT; setLanguageId( wxLANGUAGE_DEFAULT );
// Search for the current selection // Search for the current selection
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ ) for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
{ {
if( s_Languages[ii].m_Lang_Label == languageSel ) if( s_Languages[ii].m_Lang_Label == languageSel )
{ {
m_LanguageId = s_Languages[ii].m_WX_Lang_Identifier; setLanguageId( s_Languages[ii].m_WX_Lang_Identifier );
break; break;
} }
} }
@ -704,9 +700,7 @@ bool EDA_APP::SetLanguage( bool first_time )
// dictionary file name without extend (full name is kicad.mo) // dictionary file name without extend (full name is kicad.mo)
wxString DictionaryName( wxT( "kicad" ) ); wxString DictionaryName( wxT( "kicad" ) );
if( m_Locale )
delete m_Locale; delete m_Locale;
m_Locale = new wxLocale; m_Locale = new wxLocale;
#if wxCHECK_VERSION( 2, 9, 0 ) #if wxCHECK_VERSION( 2, 9, 0 )
@ -717,7 +711,7 @@ bool EDA_APP::SetLanguage( bool first_time )
{ {
wxLogDebug( wxT( "This language is not supported by the system." ) ); wxLogDebug( wxT( "This language is not supported by the system." ) );
m_LanguageId = wxLANGUAGE_DEFAULT; setLanguageId( wxLANGUAGE_DEFAULT );
delete m_Locale; delete m_Locale;
m_Locale = new wxLocale; m_Locale = new wxLocale;
@ -786,7 +780,7 @@ void EDA_APP::SetLanguageIdentifier( int menu_id )
{ {
if( menu_id == s_Languages[ii].m_KI_Lang_Identifier ) if( menu_id == s_Languages[ii].m_KI_Lang_Identifier )
{ {
m_LanguageId = s_Languages[ii].m_WX_Lang_Identifier; setLanguageId( s_Languages[ii].m_WX_Lang_Identifier );
break; break;
} }
} }

View File

@ -205,6 +205,16 @@ bool FOOTPRINT_LIST::ReadFootprintFiles( FP_LIB_TABLE* aTable, const wxString* a
#if USE_WORKER_THREADS #if USE_WORKER_THREADS
// Even though the PLUGIN API implementation is the place for the
// locale toggling, in order to keep LOCAL_IO::C_count at 1 or greater
// for the duration of all helper threads, we increment by one here via instantiation.
// Only done here because of the multi-threaded nature of this code.
// Without this C_count skips in and out of "equal to zero" and causes
// needless locale toggling among the threads, based on which of them
// are in a PLUGIN::FootprintLoad() function. And that is occasionally
// none of them.
LOCALE_IO top_most_nesting;
// Something which will not invoke a thread copy constructor, one of many ways obviously: // Something which will not invoke a thread copy constructor, one of many ways obviously:
typedef boost::ptr_vector< boost::thread > MYTHREADS; typedef boost::ptr_vector< boost::thread > MYTHREADS;

View File

@ -626,11 +626,15 @@ const FP_LIB_TABLE::ROW* FP_LIB_TABLE::FindRow( const wxString& aNickname )
if( !row ) if( !row )
{ {
wxString msg = wxString::Format( _( "lib table contains no logical lib '%s'" ), wxString msg = wxString::Format(
_( "fp-lib-table files contain no lib with nickname '%s'" ),
GetChars( aNickname ) ); GetChars( aNickname ) );
THROW_IO_ERROR( msg ); THROW_IO_ERROR( msg );
} }
// We've been 'lazy' up until now, but it cannot be deferred any longer,
// instantiate a PLUGIN of the proper kind if it is not already in this ROW.
if( !row->plugin ) if( !row->plugin )
row->setPlugin( IO_MGR::PluginFind( row->type ) ); row->setPlugin( IO_MGR::PluginFind( row->type ) );

View File

@ -1451,12 +1451,12 @@ EDA_COLOR_T ColorMix( EDA_COLOR_T aColor1, EDA_COLOR_T aColor2 )
} }
EDA_COLOR_T ColorByName( const wxChar *aName ) EDA_COLOR_T ColorByName( const wxString& aName )
{ {
// look for a match in the palette itself // look for a match in the palette itself
for( EDA_COLOR_T trying = BLACK; trying < NBCOLORS; trying = NextColor(trying) ) for( EDA_COLOR_T trying = BLACK; trying < NBCOLORS; trying = NextColor(trying) )
{ {
if( 0 == wxStricmp( aName, g_ColorRefs[trying].m_Name ) ) if( 0 == aName.CmpNoCase( g_ColorRefs[trying].m_Name ) )
return trying; return trying;
} }

View File

@ -430,7 +430,7 @@ const wxPoint WORKSHEET_DATAITEM_POLYPOLYGON::GetCornerPositionUi( unsigned aIdx
return wxPoint( int(pos.x), int(pos.y) ); return wxPoint( int(pos.x), int(pos.y) );
} }
WORKSHEET_DATAITEM_TEXT::WORKSHEET_DATAITEM_TEXT( const wxChar* aTextBase ) : WORKSHEET_DATAITEM_TEXT::WORKSHEET_DATAITEM_TEXT( const wxString& aTextBase ) :
WORKSHEET_DATAITEM( WS_TEXT ) WORKSHEET_DATAITEM( WS_TEXT )
{ {
m_TextBase = aTextBase; m_TextBase = aTextBase;

View File

@ -211,31 +211,33 @@ wxString DateAndTime()
} }
int StrNumCmp( const wxChar* aString1, const wxChar* aString2, int aLength, bool aIgnoreCase ) int StrNumCmp( const wxString& aString1, const wxString& aString2, int aLength, bool aIgnoreCase )
{ {
int i; int i;
int nb1 = 0, nb2 = 0; int nb1 = 0, nb2 = 0;
if( ( aString1 == NULL ) || ( aString2 == NULL ) ) wxString::const_iterator str1 = aString1.begin(), str2 = aString2.begin();
if( ( str1 == aString1.end() ) || ( str2 == aString2.end() ) )
return 0; return 0;
for( i = 0; i < aLength; i++ ) for( i = 0; i < aLength; i++ )
{ {
if( isdigit( *aString1 ) && isdigit( *aString2 ) ) /* digit found */ if( isdigit( *str1 ) && isdigit( *str2 ) ) /* digit found */
{ {
nb1 = 0; nb1 = 0;
nb2 = 0; nb2 = 0;
while( isdigit( *aString1 ) ) while( isdigit( *str1 ) )
{ {
nb1 = nb1 * 10 + *aString1 - '0'; nb1 = nb1 * 10 + (int) *str1 - '0';
aString1++; str1++;
} }
while( isdigit( *aString2 ) ) while( isdigit( *str2 ) )
{ {
nb2 = nb2 * 10 + *aString2 - '0'; nb2 = nb2 * 10 + (int) *str2 - '0';
aString2++; str2++;
} }
if( nb1 < nb2 ) if( nb1 < nb2 )
@ -247,29 +249,29 @@ int StrNumCmp( const wxChar* aString1, const wxChar* aString2, int aLength, bool
if( aIgnoreCase ) if( aIgnoreCase )
{ {
if( toupper( *aString1 ) < toupper( *aString2 ) ) if( toupper( *str1 ) < toupper( *str2 ) )
return -1; return -1;
if( toupper( *aString1 ) > toupper( *aString2 ) ) if( toupper( *str1 ) > toupper( *str2 ) )
return 1; return 1;
if( ( *aString1 == 0 ) && ( *aString2 == 0 ) ) if( ( *str1 == 0 ) && ( *str2 == 0 ) )
return 0; return 0;
} }
else else
{ {
if( *aString1 < *aString2 ) if( *str1 < *str2 )
return -1; return -1;
if( *aString1 > *aString2 ) if( *str1 > *str2 )
return 1; return 1;
if( ( *aString1 == 0 ) && ( *aString2 == 0 ) ) if( ( str1 == aString1.end() ) && ( str2 == aString2.end() ) )
return 0; return 0;
} }
aString1++; str1++;
aString2++; str2++;
} }
return 0; return 0;
@ -477,18 +479,3 @@ bool ReplaceIllegalFileNameChars( std::string* aName )
return changed; return changed;
} }
wxString RemoveTrailingZeros( const wxString& aString )
{
wxString retv = aString;
int i = retv.Length();
while( --i > 0 && retv[i] == wxChar( '0' ) )
retv.RemoveLast();
if( retv[i] == wxChar( '.' ) || retv[i] == wxChar( ',' ) )
retv.RemoveLast();
return retv;
}

View File

@ -97,4 +97,5 @@ const wxString PSFileWildcard( _( "PostScript files (.ps)|*.ps" ) );
const wxString ReportFileWildcard = _( "Report files (*.rpt)|*.rpt" ); const wxString ReportFileWildcard = _( "Report files (*.rpt)|*.rpt" );
const wxString FootprintPlaceFileWildcard = _( "Footprint place files (*.pos)|*.pos" ); const wxString FootprintPlaceFileWildcard = _( "Footprint place files (*.pos)|*.pos" );
const wxString Shapes3DFileWildcard( _( "Vrml and x3d files (*.wrl *.x3d)|*.wrl;*.x3d" ) ); const wxString Shapes3DFileWildcard( _( "Vrml and x3d files (*.wrl *.x3d)|*.wrl;*.x3d" ) );
const wxString IDF3DFileWildcard( _( "IDFv3 component files (*.idf)|*.idf" ) );
const wxString TextWildcard( _( "Text files (*.txt)|*.txt" ) ); const wxString TextWildcard( _( "Text files (*.txt)|*.txt" ) );

View File

@ -158,7 +158,6 @@ void DISPLAY_FOOTPRINTS_FRAME::OnCloseWindow( wxCloseEvent& event )
if( m_Draw3DFrame ) if( m_Draw3DFrame )
m_Draw3DFrame->Close( true ); m_Draw3DFrame->Close( true );
SaveSettings();
Destroy(); Destroy();
} }

View File

@ -337,7 +337,6 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
m_DisplayFootprintFrame->Close( true ); m_DisplayFootprintFrame->Close( true );
m_modified = false; m_modified = false;
SaveSettings();
Destroy(); Destroy();
return; return;
} }
@ -748,11 +747,11 @@ void CVPCB_MAINFRAME::DisplayStatus()
bool CVPCB_MAINFRAME::LoadFootprintFiles() bool CVPCB_MAINFRAME::LoadFootprintFiles()
{ {
// Check if there are footprint libraries in project file. // Check if there are footprint libraries in the footprint library table.
if( m_ModuleLibNames.GetCount() == 0 ) if( m_footprintLibTable == NULL || !m_footprintLibTable->GetLogicalLibs().size() )
{ {
wxMessageBox( _( "No PCB footprint libraries are listed in the current project file." ), wxMessageBox( _( "No PCB footprint libraries are listed in the current footprint "
_( "Project File Error" ), wxOK | wxICON_ERROR ); "library table." ), _( "Configuration Error" ), wxOK | wxICON_ERROR );
return false; return false;
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,13 @@
EESchema-LIBRARY Version 2.3 Date: 21/05/2010 09:45:35 EESchema-LIBRARY Version 2.3
#encoding utf-8
# #
# +12C # +12C
# #
DEF +12C #PWR 0 0 N Y 1 F P DEF +12C #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -30 30 H I C CNN F0 "#PWR" 0 -30 30 H I C CNN
F1 "+12C" 0 110 40 H V C CNN F1 "+12C" 0 110 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X +12C 1 0 0 0 U 30 30 0 0 W N X +12C 1 0 0 0 U 30 30 0 0 W N
C 0 60 20 0 1 0 N C 0 60 20 0 1 0 N
@ -17,6 +20,8 @@ ENDDEF
DEF +12V #PWR 0 0 N Y 1 F P DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X +12V 1 0 0 0 U 20 30 0 0 W N X +12V 1 0 0 0 U 20 30 0 0 W N
C 0 60 20 0 1 0 N C 0 60 20 0 1 0 N
@ -29,6 +34,8 @@ ENDDEF
DEF -VAA #PWR 0 0 Y Y 1 F P DEF -VAA #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 100 20 H I C CNN F0 "#PWR" 0 100 20 H I C CNN
F1 "-VAA" 0 100 30 H V C CNN F1 "-VAA" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X -VAA 1 0 0 0 U 20 20 0 0 W N X -VAA 1 0 0 0 U 20 20 0 0 W N
P 3 0 1 0 0 0 0 50 0 50 N P 3 0 1 0 0 0 0 50 0 50 N
@ -41,6 +48,8 @@ ENDDEF
DEF 7805 U 0 30 N Y 1 F N DEF 7805 U 0 30 N Y 1 F N
F0 "U" 150 -196 60 H V C CNN F0 "U" 150 -196 60 H V C CNN
F1 "7805" 0 200 60 H V C CNN F1 "7805" 0 200 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS LM7805 LM7812 78L05 ALIAS LM7805 LM7812 78L05
DRAW DRAW
S -200 -150 200 150 0 1 0 N S -200 -150 200 150 0 1 0 N
@ -53,16 +62,18 @@ ENDDEF
# C # C
# #
DEF C C 0 10 N Y 1 F N DEF C C 0 10 N Y 1 F N
F0 "C" 50 100 50 H V L CNN F0 "C" 0 100 40 H V L CNN
F1 "C" 50 -100 50 H V L CNN F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 100 30 H V C CNN
$FPLIST $FPLIST
SM* SM*
C? C?
C1-1 C1-1
$ENDFPLIST $ENDFPLIST
DRAW DRAW
P 2 0 1 10 -100 -30 100 -30 N P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 10 -100 30 100 30 N P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW ENDDRAW
@ -73,6 +84,8 @@ ENDDEF
DEF CONN_2 P 0 40 Y N 1 F N DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 150 100 -150 0 1 0 N S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I X P1 1 -350 100 250 R 60 60 1 1 P I
@ -83,15 +96,17 @@ ENDDEF
# CP # CP
# #
DEF CP C 0 10 N N 1 F N DEF CP C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN F0 "C" 50 100 40 H V L CNN
F1 "CP" 50 -100 50 H V L CNN F1 "CP" 50 -100 40 H V L CNN
F2 "" 100 -150 30 H V C CNN
F3 "" 50 100 30 H V C CNN
ALIAS CAPAPOL ALIAS CAPAPOL
$FPLIST $FPLIST
CP* CP*
SM* SM*
$ENDFPLIST $ENDFPLIST
DRAW DRAW
P 4 0 1 8 -100 50 -100 -50 100 -50 100 50 N P 4 0 1 8 -80 50 -80 -50 80 -50 80 50 N
P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F
X ~ 1 0 200 150 D 40 40 1 1 P X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 150 U 40 40 1 1 P X ~ 2 0 -200 150 U 40 40 1 1 P
@ -103,6 +118,8 @@ ENDDEF
DEF DIODE D 0 40 N N 1 F N DEF DIODE D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN F0 "D" 0 100 40 H V C CNN
F1 "DIODE" 0 -100 40 H V C CNN F1 "DIODE" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
D? D?
S* S*
@ -120,6 +137,8 @@ ENDDEF
DEF ~GND #PWR 0 0 Y Y 1 F P DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N X GND 1 0 0 0 U 30 30 1 1 W N
@ -131,6 +150,8 @@ ENDDEF
DEF HT #PWR 0 0 Y Y 1 F P DEF HT #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 120 20 H I C CNN F0 "#PWR" 0 120 20 H I C CNN
F1 "HT" 0 90 30 H V C CNN F1 "HT" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X HT 1 0 0 0 U 20 20 0 0 W N X HT 1 0 0 0 U 20 20 0 0 W N
P 3 0 1 0 0 0 0 40 0 40 N P 3 0 1 0 0 0 0 40 0 40 N
@ -143,6 +164,8 @@ ENDDEF
DEF ICL7660 U 0 40 Y Y 1 F N DEF ICL7660 U 0 40 Y Y 1 F N
F0 "U" 200 400 70 H V L CNN F0 "U" 200 400 70 H V L CNN
F1 "ICL7660" 50 -450 70 H V L CNN F1 "ICL7660" 50 -450 70 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -550 -350 550 350 0 1 0 N S -550 -350 550 350 0 1 0 N
X CAP+ 2 -850 250 300 R 60 60 1 1 I X CAP+ 2 -850 250 300 R 60 60 1 1 I
@ -160,7 +183,9 @@ ENDDEF
DEF LM358 U 0 20 Y Y 2 F N DEF LM358 U 0 20 Y Y 2 F N
F0 "U" -50 200 60 H V L CNN F0 "U" -50 200 60 H V L CNN
F1 "LM358" -50 -250 60 H V L CNN F1 "LM358" -50 -250 60 H V L CNN
ALIAS OP275 LMC6062 LMC6082 MC33178 LM358N TL072 TL082 F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS LMC6062 LMC6082 LM358N TL072 TL082
DRAW DRAW
P 4 0 1 6 -200 200 200 0 -200 -200 -200 200 f P 4 0 1 6 -200 200 200 0 -200 -200 -200 200 f
X V- 4 -100 -400 250 U 40 40 0 1 W X V- 4 -100 -400 250 U 40 40 0 1 W
@ -180,16 +205,17 @@ DEF MPSA42 Q 0 40 Y N 1 F N
F0 "Q" 150 -150 60 H V L CNN F0 "Q" 150 -150 60 H V L CNN
F1 "MPSA42" 150 150 60 H V L CNN F1 "MPSA42" 150 150 60 H V L CNN
F2 "TO92-CBE" 150 0 30 H I C CNN F2 "TO92-CBE" 150 0 30 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
TO92-CBE TO92-CBE
$ENDFPLIST $ENDFPLIST
DRAW DRAW
C 50 0 111 0 1 10 N C 50 0 111 0 1 10 N
P 2 0 1 0 0 0 100 100 N P 2 0 1 0 0 0 100 100 N
P 3 0 1 10 0 75 0 -75 0 -75 F P 3 0 1 10 0 75 0 -75 0 -75 N
P 3 0 1 0 25 -25 0 0 0 0 N P 3 0 1 0 50 -50 0 0 0 0 N
P 3 0 1 0 100 -100 65 -65 65 -65 N P 3 0 1 0 90 -90 100 -100 100 -100 N
P 5 0 1 0 25 -25 50 -75 75 -50 25 -25 25 -25 F P 5 0 1 0 90 -90 70 -30 30 -70 90 -90 90 -90 F
X B B -200 0 200 R 40 40 1 1 I X B B -200 0 200 R 40 40 1 1 I
X C C 100 200 100 D 40 40 1 1 P X C C 100 200 100 D 40 40 1 1 P
X E E 100 -200 100 U 40 40 1 1 P X E E 100 -200 100 U 40 40 1 1 P
@ -202,6 +228,7 @@ DEF MPSA92 Q 0 40 Y N 1 F N
F0 "Q" 150 -150 60 H V L CNN F0 "Q" 150 -150 60 H V L CNN
F1 "MPSA92" 150 150 60 H V L CNN F1 "MPSA92" 150 150 60 H V L CNN
F2 "TO92-CBE" 150 0 30 H I C CNN F2 "TO92-CBE" 150 0 30 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
TO92-CBE TO92-CBE
$ENDFPLIST $ENDFPLIST
@ -223,6 +250,8 @@ ENDDEF
DEF POT RV 0 40 Y N 1 F N DEF POT RV 0 40 Y N 1 F N
F0 "RV" 0 -100 50 H V C CNN F0 "RV" 0 -100 50 H V C CNN
F1 "POT" 0 0 50 H V C CNN F1 "POT" 0 0 50 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -150 50 150 -50 0 1 0 N S -150 50 150 -50 0 1 0 N
P 3 0 1 0 0 50 -20 70 20 70 F P 3 0 1 0 0 50 -20 70 20 70 F
@ -235,20 +264,23 @@ ENDDEF
# PWR_FLAG # PWR_FLAG
# #
DEF PWR_FLAG #FLG 0 0 N N 1 F P DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 270 30 H I C CNN F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 230 30 H V C CNN F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X pwr 1 0 0 0 U 20 20 0 0 w X pwr 1 0 0 0 U 20 20 0 0 w
P 3 0 1 0 0 0 0 100 0 100 N P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
P 5 0 1 0 0 100 -100 150 0 200 100 150 0 100 N
ENDDRAW ENDDRAW
ENDDEF ENDDEF
# #
# R # R
# #
DEF R R 0 0 N Y 1 F N DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN F0 "R" 80 0 40 V V C CNN
F1 "R" 0 0 50 V V C CNN F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST $FPLIST
R? R?
SM0603 SM0603
@ -268,6 +300,8 @@ ENDDEF
DEF VCC #PWR 0 0 Y Y 1 F P DEF VCC #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 100 30 H I C CNN F0 "#PWR" 0 100 30 H I C CNN
F1 "VCC" 0 100 30 H V C CNN F1 "VCC" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X VCC 1 0 0 0 U 20 20 0 0 W N X VCC 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N C 0 50 20 0 1 0 N

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +1,22 @@
update=12/03/2011 18:54:54 update=25/01/2014 08:37:41
version=1 version=1
last_client=pcbnew last_client=kicad
[cvpcb] [cvpcb]
version=1 version=1
NetITyp=0 NetIExt=net
NetIExt=.net
PkgIExt=.pkg
NetDir=
LibDir=
NetType=0
[cvpcb/libraries] [cvpcb/libraries]
EquName1=devcms EquName1=devcms
[general]
version=1
[eeschema] [eeschema]
version=1 version=1
LibDir=F:\\kicad\\share\\library PageLayoutDescrFile=
NetFmt=1 SubpartIdSeparator=0
HPGLSpd=20 SubpartFirstId=65
HPGLDm=15 LibDir=F:/kicad/share/library
HPGLNum=1 NetFmtName=
offX_A4=0
offY_A4=0
offX_A3=0
offY_A3=0
offX_A2=0
offY_A2=0
offX_A1=0
offY_A1=0
offX_A0=0
offY_A0=0
offX_A=0
offY_A=0
offX_B=0
offY_B=0
offX_C=0
offY_C=0
offX_D=0
offY_D=0
offX_E=0
offY_E=0
RptD_X=0 RptD_X=0
RptD_Y=100 RptD_Y=100
RptLab=1 RptLab=1
SimCmd=
UseNetN=0
LabSize=60 LabSize=60
PrintMonochrome=1
ShowSheetReferenceAndTitleBlock=1
[eeschema/libraries] [eeschema/libraries]
LibName1=power LibName1=power
LibName2=device LibName2=device
@ -59,30 +28,25 @@ LibName7=interface
LibName8=special LibName8=special
[pcbnew] [pcbnew]
version=1 version=1
PadDrlX=320 PageLayoutDescrFile=
PadDimH=600
PadDimV=600
BoardThickness=630
TxtPcbV=800
TxtPcbH=600
TxtModV=600
TxtModH=600
TxtModW=120
VEgarde=100
DrawLar=150
EdgeLar=150
TxtLar=120
MSegLar=150
LastNetListRead= LastNetListRead=
UseCmpFile=1
PadDrill=0.8128
PadDrillOvalY=0.8128
PadSizeH=2.286
PadSizeV=2.286
PcbTextSizeV=2
PcbTextSizeH=2
PcbTextThickness=0.3
ModuleTextSizeV=1
ModuleTextSizeH=1
ModuleTextSizeThickness=0.2
SolderMaskClearance=0.254
SolderMaskMinWidth=0
DrawSegmentWidth=0.3
BoardOutlineThickness=0.09999999999999999
ModuleOutlineThickness=0.2
[pcbnew/libraries] [pcbnew/libraries]
LibDir= LibDir=
LibName1=sockets [general]
LibName2=connect version=1
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=libcms
LibName7=display
LibName8=valves
LibName9=led
LibName10=dip_sockets

View File

@ -1,38 +1,17 @@
EESchema Schematic File Version 2 date 01/04/2010 13:24:06 EESchema Schematic File Version 2
LIBS:power LIBS:power
LIBS:device LIBS:device
LIBS:transistors LIBS:transistors
LIBS:conn LIBS:conn
LIBS:linear LIBS:linear
LIBS:regul LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface LIBS:interface
LIBS:digital-audio LIBS:special
LIBS:philips LIBS:complex_hierarchy-cache
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:actionneur_piezo-cache
EELAYER 24 0 EELAYER 24 0
EELAYER END EELAYER END
$Descr A4 11700 8267 $Descr A4 11693 8268
encoding utf-8
Sheet 1 3 Sheet 1 3
Title "" Title ""
Date "1 apr 2010" Date "1 apr 2010"
@ -61,7 +40,7 @@ Connection ~ 2100 1100
Wire Wire Line Wire Wire Line
2100 1150 2100 1050 2100 1150 2100 1050
Wire Wire Line Wire Wire Line
5650 1600 6150 1600 7950 1200 8450 1200
Connection ~ 1850 1100 Connection ~ 1850 1100
Wire Wire Line Wire Wire Line
2100 1100 1700 1100 2100 1100 1700 1100
@ -93,14 +72,14 @@ Wire Wire Line
2400 2300 2400 2250 2400 2300 2400 2250
Connection ~ 2400 2300 Connection ~ 2400 2300
Wire Wire Line Wire Wire Line
4750 1550 4750 1600 7050 1150 7050 1200
Wire Wire Line Wire Wire Line
4750 1600 4850 1600 7050 1200 7150 1200
Wire Wire Line Wire Wire Line
6150 2100 6150 2150 8450 1700 8450 1750
Wire Wire Line Wire Wire Line
6150 1550 6150 1700 8450 1150 8450 1300
Connection ~ 6150 1600 Connection ~ 8450 1200
Wire Wire Line Wire Wire Line
1700 1300 1750 1300 1700 1300 1750 1300
Wire Wire Line Wire Wire Line
@ -123,6 +102,8 @@ U 1 1 4B4B15E7
P 6650 2750 P 6650 2750
F 0 "C10" H 6700 2850 50 0000 L CNN F 0 "C10" H 6700 2850 50 0000 L CNN
F 1 "10uF" H 6750 2650 50 0000 L TNN F 1 "10uF" H 6750 2650 50 0000 L TNN
F 2 "" H 6650 2750 60 0001 C CNN
F 3 "" H 6650 2750 60 0001 C CNN
F 4 "" H 6650 2750 60 0001 C CNN "Field1" F 4 "" H 6650 2750 60 0001 C CNN "Field1"
F 5 "" H 6650 2750 60 0001 C CNN "Field2" F 5 "" H 6650 2750 60 0001 C CNN "Field2"
F 6 "" H 6650 2750 60 0001 C CNN "Field3" F 6 "" H 6650 2750 60 0001 C CNN "Field3"
@ -140,6 +121,8 @@ U 1 1 4B4B15DA
P 9200 3250 P 9200 3250
F 0 "#PWR01" H 9200 3250 30 0001 C CNN F 0 "#PWR01" H 9200 3250 30 0001 C CNN
F 1 "GND" H 9200 3180 30 0001 C CNN F 1 "GND" H 9200 3180 30 0001 C CNN
F 2 "" H 9200 3250 60 0001 C CNN
F 3 "" H 9200 3250 60 0001 C CNN
F 4 "" H 9200 3250 60 0001 C CNN "Field1" F 4 "" H 9200 3250 60 0001 C CNN "Field1"
F 5 "" H 9200 3250 60 0001 C CNN "Field2" F 5 "" H 9200 3250 60 0001 C CNN "Field2"
F 6 "" H 9200 3250 60 0001 C CNN "Field3" F 6 "" H 9200 3250 60 0001 C CNN "Field3"
@ -157,6 +140,8 @@ U 1 1 4B4B15D9
P 9200 3000 P 9200 3000
F 0 "C11" H 9250 3100 50 0000 L CNN F 0 "C11" H 9250 3100 50 0000 L CNN
F 1 "10uF" H 9300 2900 50 0000 L TNN F 1 "10uF" H 9300 2900 50 0000 L TNN
F 2 "" H 9200 3000 60 0001 C CNN
F 3 "" H 9200 3000 60 0001 C CNN
F 4 "" H 9200 3000 60 0001 C CNN "Field1" F 4 "" H 9200 3000 60 0001 C CNN "Field1"
F 5 "" H 9200 3000 60 0001 C CNN "Field2" F 5 "" H 9200 3000 60 0001 C CNN "Field2"
F 6 "" H 9200 3000 60 0001 C CNN "Field3" F 6 "" H 9200 3000 60 0001 C CNN "Field3"
@ -175,16 +160,20 @@ U 1 1 4B4B1578
P 9350 2750 P 9350 2750
F 0 "#PWR02" H 9350 2850 20 0001 C CNN F 0 "#PWR02" H 9350 2850 20 0001 C CNN
F 1 "-VAA" H 9350 2850 30 0000 C CNN F 1 "-VAA" H 9350 2850 30 0000 C CNN
F 2 "" H 9350 2750 60 0001 C CNN
F 3 "" H 9350 2750 60 0001 C CNN
1 9350 2750 1 9350 2750
0 1 1 0 0 1 1 0
$EndComp $EndComp
$Comp $Comp
L 7805 U2 L 7805 U2
U 1 1 4B4B1532 U 1 1 4B4B1532
P 5250 1650 P 7550 1250
F 0 "U2" H 5400 1454 60 0000 C CNN F 0 "U2" H 7700 1054 60 0000 C CNN
F 1 "78L05" H 5250 1850 60 0000 C CNN F 1 "78L05" H 7550 1450 60 0000 C CNN
1 5250 1650 F 2 "" H 7550 1250 60 0001 C CNN
F 3 "" H 7550 1250 60 0001 C CNN
1 7550 1250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
@ -193,16 +182,20 @@ U 1 1 4B4B1253
P 7900 2250 P 7900 2250
F 0 "#PWR03" H 7900 2350 30 0001 C CNN F 0 "#PWR03" H 7900 2350 30 0001 C CNN
F 1 "VCC" H 7900 2350 30 0000 C CNN F 1 "VCC" H 7900 2350 30 0000 C CNN
F 2 "" H 7900 2250 60 0001 C CNN
F 3 "" H 7900 2250 60 0001 C CNN
1 7900 2250 1 7900 2250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L VCC #PWR04 L VCC #PWR04
U 1 1 4B4B124E U 1 1 4B4B124E
P 6150 1550 P 8450 1150
F 0 "#PWR04" H 6150 1650 30 0001 C CNN F 0 "#PWR04" H 8450 1250 30 0001 C CNN
F 1 "VCC" H 6150 1650 30 0000 C CNN F 1 "VCC" H 8450 1250 30 0000 C CNN
1 6150 1550 F 2 "" H 8450 1150 60 0001 C CNN
F 3 "" H 8450 1150 60 0001 C CNN
1 8450 1150
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
@ -211,6 +204,8 @@ U 1 1 4B4B1237
P 7900 3550 P 7900 3550
F 0 "#PWR05" H 7900 3550 30 0001 C CNN F 0 "#PWR05" H 7900 3550 30 0001 C CNN
F 1 "GND" H 7900 3480 30 0001 C CNN F 1 "GND" H 7900 3480 30 0001 C CNN
F 2 "" H 7900 3550 60 0001 C CNN
F 3 "" H 7900 3550 60 0001 C CNN
F 4 "" H 7900 3550 60 0001 C CNN "Field1" F 4 "" H 7900 3550 60 0001 C CNN "Field1"
F 5 "" H 7900 3550 60 0001 C CNN "Field2" F 5 "" H 7900 3550 60 0001 C CNN "Field2"
F 6 "" H 7900 3550 60 0001 C CNN "Field3" F 6 "" H 7900 3550 60 0001 C CNN "Field3"
@ -228,6 +223,8 @@ U 1 1 4B4B1230
P 7950 2900 P 7950 2900
F 0 "U1" H 8150 3300 70 0000 L CNN F 0 "U1" H 8150 3300 70 0000 L CNN
F 1 "ICL7660" H 8000 2450 70 0000 L CNN F 1 "ICL7660" H 8000 2450 70 0000 L CNN
F 2 "" H 7950 2900 60 0001 C CNN
F 3 "" H 7950 2900 60 0001 C CNN
1 7950 2900 1 7950 2900
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -239,6 +236,8 @@ U 1 1 4B3A1558
P 2100 1350 P 2100 1350
F 0 "C9" H 2150 1450 50 0000 L CNN F 0 "C9" H 2150 1450 50 0000 L CNN
F 1 "47uF/63V" H 2200 1250 50 0000 L TNN F 1 "47uF/63V" H 2200 1250 50 0000 L TNN
F 2 "" H 2100 1350 60 0001 C CNN
F 3 "" H 2100 1350 60 0001 C CNN
F 4 "" H 2100 1350 60 0001 C CNN "Field1" F 4 "" H 2100 1350 60 0001 C CNN "Field1"
F 5 "" H 2100 1350 60 0001 C CNN "Field2" F 5 "" H 2100 1350 60 0001 C CNN "Field2"
F 6 "" H 2100 1350 60 0001 C CNN "Field3" F 6 "" H 2100 1350 60 0001 C CNN "Field3"
@ -256,6 +255,8 @@ U 1 1 4B3A1557
P 2100 1600 P 2100 1600
F 0 "#PWR06" H 2100 1600 30 0001 C CNN F 0 "#PWR06" H 2100 1600 30 0001 C CNN
F 1 "GND" H 2100 1530 30 0001 C CNN F 1 "GND" H 2100 1530 30 0001 C CNN
F 2 "" H 2100 1600 60 0001 C CNN
F 3 "" H 2100 1600 60 0001 C CNN
F 4 "" H 2100 1600 60 0001 C CNN "Field1" F 4 "" H 2100 1600 60 0001 C CNN "Field1"
F 5 "" H 2100 1600 60 0001 C CNN "Field2" F 5 "" H 2100 1600 60 0001 C CNN "Field2"
F 6 "" H 2100 1600 60 0001 C CNN "Field3" F 6 "" H 2100 1600 60 0001 C CNN "Field3"
@ -285,6 +286,8 @@ U 1 1 4B3A1302
P 1750 1400 P 1750 1400
F 0 "#PWR07" H 1750 1400 30 0001 C CNN F 0 "#PWR07" H 1750 1400 30 0001 C CNN
F 1 "GND" H 1750 1330 30 0001 C CNN F 1 "GND" H 1750 1330 30 0001 C CNN
F 2 "" H 1750 1400 60 0001 C CNN
F 3 "" H 1750 1400 60 0001 C CNN
F 4 "" H 1750 1400 60 0001 C CNN "Field1" F 4 "" H 1750 1400 60 0001 C CNN "Field1"
F 5 "" H 1750 1400 60 0001 C CNN "Field2" F 5 "" H 1750 1400 60 0001 C CNN "Field2"
F 6 "" H 1750 1400 60 0001 C CNN "Field3" F 6 "" H 1750 1400 60 0001 C CNN "Field3"
@ -302,6 +305,8 @@ U 1 1 4B3A12F4
P 1350 1200 P 1350 1200
F 0 "P1" V 1300 1200 40 0000 C CNN F 0 "P1" V 1300 1200 40 0000 C CNN
F 1 "CONN_2" V 1400 1200 40 0000 C CNN F 1 "CONN_2" V 1400 1200 40 0000 C CNN
F 2 "" H 1350 1200 60 0001 C CNN
F 3 "" H 1350 1200 60 0001 C CNN
F 4 "" H 1350 1200 60 0001 C CNN "Field1" F 4 "" H 1350 1200 60 0001 C CNN "Field1"
F 5 "" H 1350 1200 60 0001 C CNN "Field2" F 5 "" H 1350 1200 60 0001 C CNN "Field2"
F 6 "" H 1350 1200 60 0001 C CNN "Field3" F 6 "" H 1350 1200 60 0001 C CNN "Field3"
@ -319,67 +324,77 @@ U 1 1 4B0FA68B
P 1850 1050 P 1850 1050
F 0 "#PWR08" H 1850 1170 20 0001 C CNN F 0 "#PWR08" H 1850 1170 20 0001 C CNN
F 1 "HT" H 1850 1140 30 0000 C CNN F 1 "HT" H 1850 1140 30 0000 C CNN
F 2 "" H 1850 1050 60 0001 C CNN
F 3 "" H 1850 1050 60 0001 C CNN
1 1850 1050 1 1850 1050
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L CP C1 L CP C1
U 1 1 4B03CEC2 U 1 1 4B03CEC2
P 6150 1900 P 8450 1500
F 0 "C1" H 6200 2000 50 0000 L CNN F 0 "C1" H 8500 1600 50 0000 L CNN
F 1 "47uF" H 6250 1800 50 0000 L TNN F 1 "47uF" H 8550 1400 50 0000 L TNN
F 4 "" H 6150 1900 60 0001 C CNN "Field1" F 2 "" H 8450 1500 60 0001 C CNN
F 5 "" H 6150 1900 60 0001 C CNN "Field2" F 3 "" H 8450 1500 60 0001 C CNN
F 6 "" H 6150 1900 60 0001 C CNN "Field3" F 4 "" H 8450 1500 60 0001 C CNN "Field1"
F 7 "" H 6150 1900 60 0001 C CNN "Field4" F 5 "" H 8450 1500 60 0001 C CNN "Field2"
F 8 "" H 6150 1900 60 0001 C CNN "Field5" F 6 "" H 8450 1500 60 0001 C CNN "Field3"
F 9 "" H 6150 1900 60 0001 C CNN "Field6" F 7 "" H 8450 1500 60 0001 C CNN "Field4"
F 10 "" H 6150 1900 60 0001 C CNN "Field7" F 8 "" H 8450 1500 60 0001 C CNN "Field5"
F 11 "" H 6150 1900 60 0001 C CNN "Field8" F 9 "" H 8450 1500 60 0001 C CNN "Field6"
1 6150 1900 F 10 "" H 8450 1500 60 0001 C CNN "Field7"
F 11 "" H 8450 1500 60 0001 C CNN "Field8"
1 8450 1500
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L GND #PWR09 L GND #PWR09
U 1 1 4B03CEC1 U 1 1 4B03CEC1
P 6150 2150 P 8450 1750
F 0 "#PWR09" H 6150 2150 30 0001 C CNN F 0 "#PWR09" H 8450 1750 30 0001 C CNN
F 1 "GND" H 6150 2080 30 0001 C CNN F 1 "GND" H 8450 1680 30 0001 C CNN
F 4 "" H 6150 2150 60 0001 C CNN "Field1" F 2 "" H 8450 1750 60 0001 C CNN
F 5 "" H 6150 2150 60 0001 C CNN "Field2" F 3 "" H 8450 1750 60 0001 C CNN
F 6 "" H 6150 2150 60 0001 C CNN "Field3" F 4 "" H 8450 1750 60 0001 C CNN "Field1"
F 7 "" H 6150 2150 60 0001 C CNN "Field4" F 5 "" H 8450 1750 60 0001 C CNN "Field2"
F 8 "" H 6150 2150 60 0001 C CNN "Field5" F 6 "" H 8450 1750 60 0001 C CNN "Field3"
F 9 "" H 6150 2150 60 0001 C CNN "Field6" F 7 "" H 8450 1750 60 0001 C CNN "Field4"
F 10 "" H 6150 2150 60 0001 C CNN "Field7" F 8 "" H 8450 1750 60 0001 C CNN "Field5"
F 11 "" H 6150 2150 60 0001 C CNN "Field8" F 9 "" H 8450 1750 60 0001 C CNN "Field6"
1 6150 2150 F 10 "" H 8450 1750 60 0001 C CNN "Field7"
F 11 "" H 8450 1750 60 0001 C CNN "Field8"
1 8450 1750
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L GND #PWR010 L GND #PWR010
U 1 1 4B03CE88 U 1 1 4B03CE88
P 5250 1900 P 7550 1500
F 0 "#PWR010" H 5250 1900 30 0001 C CNN F 0 "#PWR010" H 7550 1500 30 0001 C CNN
F 1 "GND" H 5250 1830 30 0001 C CNN F 1 "GND" H 7550 1430 30 0001 C CNN
F 4 "" H 5250 1900 60 0001 C CNN "Field1" F 2 "" H 7550 1500 60 0001 C CNN
F 5 "" H 5250 1900 60 0001 C CNN "Field2" F 3 "" H 7550 1500 60 0001 C CNN
F 6 "" H 5250 1900 60 0001 C CNN "Field3" F 4 "" H 7550 1500 60 0001 C CNN "Field1"
F 7 "" H 5250 1900 60 0001 C CNN "Field4" F 5 "" H 7550 1500 60 0001 C CNN "Field2"
F 8 "" H 5250 1900 60 0001 C CNN "Field5" F 6 "" H 7550 1500 60 0001 C CNN "Field3"
F 9 "" H 5250 1900 60 0001 C CNN "Field6" F 7 "" H 7550 1500 60 0001 C CNN "Field4"
F 10 "" H 5250 1900 60 0001 C CNN "Field7" F 8 "" H 7550 1500 60 0001 C CNN "Field5"
F 11 "" H 5250 1900 60 0001 C CNN "Field8" F 9 "" H 7550 1500 60 0001 C CNN "Field6"
1 5250 1900 F 10 "" H 7550 1500 60 0001 C CNN "Field7"
F 11 "" H 7550 1500 60 0001 C CNN "Field8"
1 7550 1500
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L +12C #PWR011 L +12C #PWR011
U 1 1 4B03CE6C U 1 1 4B03CE6C
P 4750 1550 P 7050 1150
F 0 "#PWR011" H 4750 1520 30 0001 C CNN F 0 "#PWR011" H 7050 1120 30 0001 C CNN
F 1 "+12C" H 4750 1660 40 0000 C CNN F 1 "+12C" H 7050 1260 40 0000 C CNN
1 4750 1550 F 2 "" H 7050 1150 60 0001 C CNN
F 3 "" H 7050 1150 60 0001 C CNN
1 7050 1150
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
@ -388,6 +403,8 @@ U 1 1 4B03CAA3
P 2100 1050 P 2100 1050
F 0 "#U012" H 2100 1320 30 0001 C CNN F 0 "#U012" H 2100 1320 30 0001 C CNN
F 1 "PWR_FLAG" H 2100 1280 30 0000 C CNN F 1 "PWR_FLAG" H 2100 1280 30 0000 C CNN
F 2 "" H 2100 1050 60 0001 C CNN
F 3 "" H 2100 1050 60 0001 C CNN
F 4 "" H 2100 1050 60 0001 C CNN "Field1" F 4 "" H 2100 1050 60 0001 C CNN "Field1"
F 5 "" H 2100 1050 60 0001 C CNN "Field2" F 5 "" H 2100 1050 60 0001 C CNN "Field2"
F 6 "" H 2100 1050 60 0001 C CNN "Field3" F 6 "" H 2100 1050 60 0001 C CNN "Field3"
@ -405,6 +422,8 @@ U 1 1 4B03C9F9
P 2400 2250 P 2400 2250
F 0 "#U013" H 2400 2520 30 0001 C CNN F 0 "#U013" H 2400 2520 30 0001 C CNN
F 1 "PWR_FLAG" H 2400 2480 30 0000 C CNN F 1 "PWR_FLAG" H 2400 2480 30 0000 C CNN
F 2 "" H 2400 2250 60 0001 C CNN
F 3 "" H 2400 2250 60 0001 C CNN
F 4 "" H 2400 2250 60 0001 C CNN "Field1" F 4 "" H 2400 2250 60 0001 C CNN "Field1"
F 5 "" H 2400 2250 60 0001 C CNN "Field2" F 5 "" H 2400 2250 60 0001 C CNN "Field2"
F 6 "" H 2400 2250 60 0001 C CNN "Field3" F 6 "" H 2400 2250 60 0001 C CNN "Field3"
@ -422,6 +441,8 @@ U 1 1 4B03C68D
P 3300 2250 P 3300 2250
F 0 "#PWR014" H 3300 2220 30 0001 C CNN F 0 "#PWR014" H 3300 2220 30 0001 C CNN
F 1 "+12C" H 3300 2360 40 0000 C CNN F 1 "+12C" H 3300 2360 40 0000 C CNN
F 2 "" H 3300 2250 60 0001 C CNN
F 3 "" H 3300 2250 60 0001 C CNN
1 3300 2250 1 3300 2250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -431,6 +452,8 @@ U 1 1 4AE17C45
P 2200 2750 P 2200 2750
F 0 "#PWR015" H 2200 2750 30 0001 C CNN F 0 "#PWR015" H 2200 2750 30 0001 C CNN
F 1 "GND" H 2200 2680 30 0001 C CNN F 1 "GND" H 2200 2680 30 0001 C CNN
F 2 "" H 2200 2750 60 0001 C CNN
F 3 "" H 2200 2750 60 0001 C CNN
F 4 "" H 2200 2750 60 0001 C CNN "Field1" F 4 "" H 2200 2750 60 0001 C CNN "Field1"
F 5 "" H 2200 2750 60 0001 C CNN "Field2" F 5 "" H 2200 2750 60 0001 C CNN "Field2"
F 6 "" H 2200 2750 60 0001 C CNN "Field3" F 6 "" H 2200 2750 60 0001 C CNN "Field3"
@ -448,6 +471,8 @@ U 1 1 4AE17C31
P 2150 2700 P 2150 2700
F 0 "#U016" H 2150 2970 30 0001 C CNN F 0 "#U016" H 2150 2970 30 0001 C CNN
F 1 "PWR_FLAG" H 2150 2930 30 0000 C CNN F 1 "PWR_FLAG" H 2150 2930 30 0000 C CNN
F 2 "" H 2150 2700 60 0001 C CNN
F 3 "" H 2150 2700 60 0001 C CNN
F 4 "" H 2150 2700 60 0001 C CNN "Field1" F 4 "" H 2150 2700 60 0001 C CNN "Field1"
F 5 "" H 2150 2700 60 0001 C CNN "Field2" F 5 "" H 2150 2700 60 0001 C CNN "Field2"
F 6 "" H 2150 2700 60 0001 C CNN "Field3" F 6 "" H 2150 2700 60 0001 C CNN "Field3"
@ -465,6 +490,8 @@ U 1 1 4AE173EF
P 3050 2250 P 3050 2250
F 0 "#U017" H 3050 2200 20 0001 C CNN F 0 "#U017" H 3050 2200 20 0001 C CNN
F 1 "+12V" H 3050 2350 30 0000 C CNN F 1 "+12V" H 3050 2350 30 0000 C CNN
F 2 "" H 3050 2250 60 0001 C CNN
F 3 "" H 3050 2250 60 0001 C CNN
F 4 "" H 3050 2250 60 0001 C CNN "Field1" F 4 "" H 3050 2250 60 0001 C CNN "Field1"
F 5 "" H 3050 2250 60 0001 C CNN "Field2" F 5 "" H 3050 2250 60 0001 C CNN "Field2"
F 6 "" H 3050 2250 60 0001 C CNN "Field3" F 6 "" H 3050 2250 60 0001 C CNN "Field3"
@ -482,6 +509,8 @@ U 1 1 4AE173D0
P 2750 2800 P 2750 2800
F 0 "#PWR018" H 2750 2800 30 0001 C CNN F 0 "#PWR018" H 2750 2800 30 0001 C CNN
F 1 "GND" H 2750 2730 30 0001 C CNN F 1 "GND" H 2750 2730 30 0001 C CNN
F 2 "" H 2750 2800 60 0001 C CNN
F 3 "" H 2750 2800 60 0001 C CNN
F 4 "" H 2750 2800 60 0001 C CNN "Field1" F 4 "" H 2750 2800 60 0001 C CNN "Field1"
F 5 "" H 2750 2800 60 0001 C CNN "Field2" F 5 "" H 2750 2800 60 0001 C CNN "Field2"
F 6 "" H 2750 2800 60 0001 C CNN "Field3" F 6 "" H 2750 2800 60 0001 C CNN "Field3"
@ -499,6 +528,8 @@ U 1 1 4AE173CF
P 2750 2550 P 2750 2550
F 0 "C2" H 2800 2650 50 0000 L CNN F 0 "C2" H 2800 2650 50 0000 L CNN
F 1 "47uF/20V" H 2850 2450 50 0000 L TNN F 1 "47uF/20V" H 2850 2450 50 0000 L TNN
F 2 "" H 2750 2550 60 0001 C CNN
F 3 "" H 2750 2550 60 0001 C CNN
F 4 "" H 2750 2550 60 0001 C CNN "Field1" F 4 "" H 2750 2550 60 0001 C CNN "Field1"
F 5 "" H 2750 2550 60 0001 C CNN "Field2" F 5 "" H 2750 2550 60 0001 C CNN "Field2"
F 6 "" H 2750 2550 60 0001 C CNN "Field3" F 6 "" H 2750 2550 60 0001 C CNN "Field3"
@ -516,6 +547,8 @@ U 1 1 4AE172F4
P 2150 2300 P 2150 2300
F 0 "D1" H 2150 2400 40 0000 C CNN F 0 "D1" H 2150 2400 40 0000 C CNN
F 1 "1N4007" H 2150 2200 40 0000 C CNN F 1 "1N4007" H 2150 2200 40 0000 C CNN
F 2 "" H 2150 2300 60 0001 C CNN
F 3 "" H 2150 2300 60 0001 C CNN
F 4 "" H 2150 2300 60 0001 C CNN "Field1" F 4 "" H 2150 2300 60 0001 C CNN "Field1"
F 5 "" H 2150 2300 60 0001 C CNN "Field2" F 5 "" H 2150 2300 60 0001 C CNN "Field2"
F 6 "" H 2150 2300 60 0001 C CNN "Field3" F 6 "" H 2150 2300 60 0001 C CNN "Field3"
@ -533,6 +566,8 @@ U 1 1 4AD71B8E
P 1650 2600 P 1650 2600
F 0 "#PWR019" H 1650 2600 30 0001 C CNN F 0 "#PWR019" H 1650 2600 30 0001 C CNN
F 1 "GND" H 1650 2530 30 0001 C CNN F 1 "GND" H 1650 2530 30 0001 C CNN
F 2 "" H 1650 2600 60 0001 C CNN
F 3 "" H 1650 2600 60 0001 C CNN
F 4 "" H 1650 2600 60 0001 C CNN "Field1" F 4 "" H 1650 2600 60 0001 C CNN "Field1"
F 5 "" H 1650 2600 60 0001 C CNN "Field2" F 5 "" H 1650 2600 60 0001 C CNN "Field2"
F 6 "" H 1650 2600 60 0001 C CNN "Field3" F 6 "" H 1650 2600 60 0001 C CNN "Field3"
@ -550,6 +585,8 @@ U 1 1 4AD71B06
P 1250 2400 P 1250 2400
F 0 "P2" V 1200 2400 40 0000 C CNN F 0 "P2" V 1200 2400 40 0000 C CNN
F 1 "CONN_2" V 1300 2400 40 0000 C CNN F 1 "CONN_2" V 1300 2400 40 0000 C CNN
F 2 "" H 1250 2400 60 0001 C CNN
F 3 "" H 1250 2400 60 0001 C CNN
F 4 "" H 1250 2400 60 0001 C CNN "Field1" F 4 "" H 1250 2400 60 0001 C CNN "Field1"
F 5 "" H 1250 2400 60 0001 C CNN "Field2" F 5 "" H 1250 2400 60 0001 C CNN "Field2"
F 6 "" H 1250 2400 60 0001 C CNN "Field3" F 6 "" H 1250 2400 60 0001 C CNN "Field3"

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,13 @@
EESchema-LIBRARY Version 2.3 Date: 27/11/2009 11:46:34 EESchema-LIBRARY Version 2.3
#encoding utf-8
# #
# +3.3V # +3.3V
# #
DEF +3.3V #PWR 0 0 Y Y 1 F P DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS +3,3V ALIAS +3,3V
DRAW DRAW
X +3.3V 1 0 0 0 U 30 30 0 0 W N X +3.3V 1 0 0 0 U 30 30 0 0 W N
@ -16,8 +19,10 @@ ENDDEF
# 74AHC1G14 # 74AHC1G14
# #
DEF 74AHC1G14 U 0 30 Y Y 1 F N DEF 74AHC1G14 U 0 30 Y Y 1 F N
F0 "U" 195 115 60 H V C CNN F0 "U" 145 115 40 H V C CNN
F1 "74AHC1G14" 300 -150 60 H V C CNN F1 "74AHC1G14" 200 -100 40 H V C CNN
F2 "" 95 -135 30 H V C CNN
F3 "" 145 115 60 H V C CNN
DRAW DRAW
P 4 0 0 0 -150 150 -150 -150 150 0 -150 150 N P 4 0 0 0 -150 150 -150 -150 150 0 -150 150 N
X GND 3 -50 -200 100 U 40 20 0 0 W X GND 3 -50 -200 100 U 40 20 0 0 W
@ -34,6 +39,8 @@ ENDDEF
DEF 74LS125 U 0 30 Y Y 4 F N DEF 74LS125 U 0 30 Y Y 4 F N
F0 "U" 0 100 50 H V L BNN F0 "U" 0 100 50 H V L BNN
F1 "74LS125" 50 -150 40 H V L TNN F1 "74LS125" 50 -150 40 H V L TNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X GND 7 -150 -150 0 U 50 30 0 0 W N X GND 7 -150 -150 0 U 50 30 0 0 W N
X VCC 14 -150 150 0 D 50 30 0 0 W N X VCC 14 -150 150 0 D 50 30 0 0 W N
@ -56,16 +63,18 @@ ENDDEF
# C # C
# #
DEF C C 0 10 N Y 1 F N DEF C C 0 10 N Y 1 F N
F0 "C" 50 100 50 H V L CNN F0 "C" 0 100 40 H V L CNN
F1 "C" 50 -100 50 H V L CNN F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 100 30 H V C CNN
$FPLIST $FPLIST
SM* SM*
C? C?
C1-1 C1-1
$ENDFPLIST $ENDFPLIST
DRAW DRAW
P 2 0 1 10 -100 -30 100 -30 N P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 10 -100 30 100 30 N P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW ENDDRAW
@ -76,6 +85,8 @@ ENDDEF
DEF ~CONN_1 P 0 30 N N 1 F N DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
C 0 0 31 0 1 0 N C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N P 2 0 1 0 -30 0 -50 0 N
@ -88,6 +99,8 @@ ENDDEF
DEF CONN_13X2 P 0 10 Y N 1 F N DEF CONN_13X2 P 0 10 Y N 1 F N
F0 "P" 0 700 60 H V C CNN F0 "P" 0 700 60 H V C CNN
F1 "CONN_13X2" 0 0 50 V V C CNN F1 "CONN_13X2" 0 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 650 100 -650 0 1 0 N S -100 650 100 -650 0 1 0 N
X P1 1 -400 600 300 R 40 30 1 1 P I X P1 1 -400 600 300 R 40 30 1 1 P I
@ -124,6 +137,8 @@ ENDDEF
DEF CONN_2 P 0 40 Y N 1 F N DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 150 100 -150 0 1 0 N S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I X P1 1 -350 100 250 R 60 60 1 1 P I
@ -136,6 +151,8 @@ ENDDEF
DEF CONN_20X2 P 0 10 Y N 1 F N DEF CONN_20X2 P 0 10 Y N 1 F N
F0 "P" 0 1050 60 H V C CNN F0 "P" 0 1050 60 H V C CNN
F1 "CONN_20X2" 0 0 50 V V C CNN F1 "CONN_20X2" 0 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 1000 100 -1000 0 1 0 N S -100 1000 100 -1000 0 1 0 N
X P1 1 -400 950 300 R 60 30 1 1 P I X P1 1 -400 950 300 R 60 30 1 1 P I
@ -186,6 +203,8 @@ ENDDEF
DEF CONN_2X2 P 0 40 Y N 1 F N DEF CONN_2X2 P 0 40 Y N 1 F N
F0 "P" 0 150 50 H V C CNN F0 "P" 0 150 50 H V C CNN
F1 "CONN_2X2" 10 -130 40 H V C CNN F1 "CONN_2X2" 10 -130 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 100 100 -100 0 1 0 N S -100 100 100 -100 0 1 0 N
X 1 1 -400 50 300 R 60 60 1 1 P I X 1 1 -400 50 300 R 60 60 1 1 P I
@ -200,6 +219,8 @@ ENDDEF
DEF CONN_3 K 0 40 Y N 1 F N DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 150 100 -150 0 1 0 N S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I X P1 1 -350 100 250 R 60 60 1 1 P I
@ -213,6 +234,8 @@ ENDDEF
DEF CONN_30X2 P 0 10 Y N 1 F N DEF CONN_30X2 P 0 10 Y N 1 F N
F0 "P" 0 1550 60 H V C CNN F0 "P" 0 1550 60 H V C CNN
F1 "CONN_30X2" 0 0 50 V V C CNN F1 "CONN_30X2" 0 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 1500 100 -1500 0 1 0 N S -100 1500 100 -1500 0 1 0 N
X P1 1 -400 1450 300 R 60 30 1 1 P I X P1 1 -400 1450 300 R 60 30 1 1 P I
@ -284,6 +307,8 @@ ENDDEF
DEF CONN_4X2 P 0 40 Y N 1 F N DEF CONN_4X2 P 0 40 Y N 1 F N
F0 "P" 0 250 50 H V C CNN F0 "P" 0 250 50 H V C CNN
F1 "CONN_4X2" 0 0 40 V V C CNN F1 "CONN_4X2" 0 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 200 100 -200 0 1 0 N S -100 200 100 -200 0 1 0 N
X 1 1 -400 150 300 R 60 60 1 1 P I X 1 1 -400 150 300 R 60 60 1 1 P I
@ -302,6 +327,8 @@ ENDDEF
DEF CONN_6 P 0 30 Y N 1 F N DEF CONN_6 P 0 30 Y N 1 F N
F0 "P" -50 0 60 V V C CNN F0 "P" -50 0 60 V V C CNN
F1 "CONN_6" 50 0 60 V V C CNN F1 "CONN_6" 50 0 60 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 300 100 -300 0 1 0 N S -100 300 100 -300 0 1 0 N
X 1 1 -350 250 250 R 60 60 1 1 P I X 1 1 -350 250 250 R 60 60 1 1 P I
@ -316,15 +343,17 @@ ENDDEF
# CP # CP
# #
DEF CP C 0 10 N N 1 F N DEF CP C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN F0 "C" 50 100 40 H V L CNN
F1 "CP" 50 -100 50 H V L CNN F1 "CP" 50 -100 40 H V L CNN
F2 "" 100 -150 30 H V C CNN
F3 "" 50 100 30 H V C CNN
ALIAS CAPAPOL ALIAS CAPAPOL
$FPLIST $FPLIST
CP* CP*
SM* SM*
$ENDFPLIST $ENDFPLIST
DRAW DRAW
P 4 0 1 8 -100 50 -100 -50 100 -50 100 50 N P 4 0 1 8 -80 50 -80 -50 80 -50 80 50 N
P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F
X ~ 1 0 200 150 D 40 40 1 1 P X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 150 U 40 40 1 1 P X ~ 2 0 -200 150 U 40 40 1 1 P
@ -333,9 +362,11 @@ ENDDEF
# #
# CRYSTAL # CRYSTAL
# #
DEF CRYSTAL X 0 40 N N 0 F N DEF CRYSTAL X 0 40 N N 1 F N
F0 "X" 0 150 60 H V C CNN F0 "X" 0 150 60 H V C CNN
F1 "CRYSTAL" 0 -150 60 H V C CNN F1 "CRYSTAL" 0 -150 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 2 0 1 16 -100 100 -100 -100 N P 2 0 1 16 -100 100 -100 -100 N
P 2 0 1 16 100 100 100 -100 N P 2 0 1 16 100 100 100 -100 N
@ -350,6 +381,8 @@ ENDDEF
DEF DB9 J 0 40 Y N 1 F N DEF DB9 J 0 40 Y N 1 F N
F0 "J" 0 550 70 H V C CNN F0 "J" 0 550 70 H V C CNN
F1 "DB9" 0 -550 70 H V C CNN F1 "DB9" 0 -550 70 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
DB9* DB9*
$ENDFPLIST $ENDFPLIST
@ -401,6 +434,8 @@ ENDDEF
DEF DIODE D 0 40 N N 1 F N DEF DIODE D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN F0 "D" 0 100 40 H V C CNN
F1 "DIODE" 0 -100 40 H V C CNN F1 "DIODE" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
D? D?
S* S*
@ -418,6 +453,8 @@ ENDDEF
DEF FUSE F 0 10 Y Y 1 F N DEF FUSE F 0 10 Y Y 1 F N
F0 "F" 100 50 40 H V C CNN F0 "F" 100 50 40 H V C CNN
F1 "FUSE" -100 -50 40 H V C CNN F1 "FUSE" -100 -50 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
A -75 0 75 1 1799 0 1 0 N 0 0 -150 0 A -75 0 75 1 1799 0 1 0 N 0 0 -150 0
A 75 0 75 -1799 -1 0 1 0 N 0 0 150 0 A 75 0 75 -1799 -1 0 1 0 N 0 0 150 0
@ -431,6 +468,8 @@ ENDDEF
DEF ~GND #PWR 0 0 Y Y 1 F P DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N X GND 1 0 0 0 U 30 30 1 1 W N
@ -442,6 +481,8 @@ ENDDEF
DEF GNDA #PWR 0 0 Y Y 1 F P DEF GNDA #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 40 H I C CNN F0 "#PWR" 0 0 40 H I C CNN
F1 "GNDA" 0 -70 40 H V C CNN F1 "GNDA" 0 -70 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GNDA 1 0 0 0 U 40 40 1 1 W N X GNDA 1 0 0 0 U 40 40 1 1 W N
@ -450,9 +491,11 @@ ENDDEF
# #
# INDUCTOR # INDUCTOR
# #
DEF INDUCTOR L 0 40 N N 0 F N DEF INDUCTOR L 0 40 N N 1 F N
F0 "L" -50 0 40 V V C CNN F0 "L" -50 0 40 V V C CNN
F1 "INDUCTOR" 100 0 40 V V C CNN F1 "INDUCTOR" 100 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
A 0 -150 50 -889 889 0 1 0 N 1 -199 1 -100 A 0 -150 50 -889 889 0 1 0 N 1 -199 1 -100
A 0 -49 51 -889 889 0 1 0 N 1 -99 1 2 A 0 -49 51 -889 889 0 1 0 N 1 -99 1 2
@ -468,6 +511,8 @@ ENDDEF
DEF JACK_2P J 0 40 Y Y 1 F N DEF JACK_2P J 0 40 Y Y 1 F N
F0 "J" -350 -200 60 H V C CNN F0 "J" -350 -200 60 H V C CNN
F1 "JACK_2P" -150 250 60 H V C CNN F1 "JACK_2P" -150 250 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -450 150 -400 -100 0 1 0 F S -450 150 -400 -100 0 1 0 F
S 300 -150 -400 200 0 1 0 N S 300 -150 -400 200 0 1 0 N
@ -488,6 +533,8 @@ ENDDEF
DEF JUMPER JP 0 30 Y N 1 F N DEF JUMPER JP 0 30 Y N 1 F N
F0 "JP" 0 150 60 H V C CNN F0 "JP" 0 150 60 H V C CNN
F1 "JUMPER" 0 -80 40 H V C CNN F1 "JUMPER" 0 -80 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
A 0 -26 125 1426 373 0 1 0 N -98 50 99 50 A 0 -26 125 1426 373 0 1 0 N -98 50 99 50
C -100 0 35 0 1 0 N C -100 0 35 0 1 0 N
@ -502,6 +549,8 @@ ENDDEF
DEF LED D 0 40 Y N 1 F N DEF LED D 0 40 Y N 1 F N
F0 "D" 0 100 50 H V C CNN F0 "D" 0 100 50 H V C CNN
F1 "LED" 0 -100 50 H V C CNN F1 "LED" 0 -100 50 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
LED-3MM LED-3MM
LED-5MM LED-5MM
@ -526,6 +575,8 @@ ENDDEF
DEF LT1129_QPACK U 0 30 Y Y 1 F N DEF LT1129_QPACK U 0 30 Y Y 1 F N
F0 "U" 250 450 60 H V C CNN F0 "U" 250 450 60 H V C CNN
F1 "LT1129_QPACK" 500 -495 60 H V C CNN F1 "LT1129_QPACK" 500 -495 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS LT_1129_QP ALIAS LT_1129_QP
DRAW DRAW
S -500 -400 500 400 0 1 0 N S -500 -400 500 400 0 1 0 N
@ -542,6 +593,8 @@ ENDDEF
DEF MAX232 U 0 40 Y Y 1 F N DEF MAX232 U 0 40 Y Y 1 F N
F0 "U" 0 850 70 H V C CNN F0 "U" 0 850 70 H V C CNN
F1 "MAX232" 0 -850 70 H V C CNN F1 "MAX232" 0 -850 70 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS MAX202 ALIAS MAX202
DRAW DRAW
T 900 80 -530 40 0 0 0 RS232 Normal 0 C C T 900 80 -530 40 0 0 0 RS232 Normal 0 C C
@ -573,6 +626,8 @@ ENDDEF
DEF MC34064P U 0 20 Y Y 1 F N DEF MC34064P U 0 20 Y Y 1 F N
F0 "U" 50 200 60 H V C CNN F0 "U" 50 200 60 H V C CNN
F1 "MC34064P" 300 -190 60 H V C CNN F1 "MC34064P" 300 -190 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS MC33064P ALIAS MC33064P
DRAW DRAW
S -200 -150 200 150 0 1 0 N S -200 -150 200 150 0 1 0 N
@ -587,6 +642,8 @@ ENDDEF
DEF MCF5213-LQFP100 U 0 40 Y Y 1 F N DEF MCF5213-LQFP100 U 0 40 Y Y 1 F N
F0 "U" 1150 2700 60 H V L CNN F0 "U" 1150 2700 60 H V L CNN
F1 "MCF5213-LQFP100" 600 -2650 60 H V L CNN F1 "MCF5213-LQFP100" 600 -2650 60 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -1700 2600 1700 -2600 0 1 0 N S -1700 2600 1700 -2600 0 1 0 N
X VCC 1 -250 2850 250 D 30 30 1 1 W X VCC 1 -250 2850 250 D 30 30 1 1 W
@ -697,6 +754,8 @@ ENDDEF
DEF PCA82C251 U 0 0 Y Y 1 F N DEF PCA82C251 U 0 0 Y Y 1 F N
F0 "U" 150 450 60 H V C CNN F0 "U" 150 450 60 H V C CNN
F1 "PCA82C251" 300 -350 60 H V C CNN F1 "PCA82C251" 300 -350 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
T 0 50 300 20 0 0 1 Volt Normal 1 C C T 0 50 300 20 0 0 1 Volt Normal 1 C C
S -200 400 200 -300 0 1 0 N S -200 400 200 -300 0 1 0 N
@ -724,9 +783,11 @@ ENDDEF
# #
# PNP # PNP
# #
DEF PNP Q 0 0 Y Y 0 F N DEF PNP Q 0 0 Y Y 1 F N
F0 "Q" 0 -150 60 H V R CNN F0 "Q" 0 -150 60 H V R CNN
F1 "PNP" 0 150 60 H V R CNN F1 "PNP" 0 150 60 H V R CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
C 50 0 111 0 1 10 N C 50 0 111 0 1 10 N
P 2 0 1 0 0 0 100 100 N P 2 0 1 0 0 0 100 100 N
@ -743,25 +804,29 @@ ENDDEF
# PWR_FLAG # PWR_FLAG
# #
DEF PWR_FLAG #FLG 0 0 N N 1 F P DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 270 30 H I C CNN F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 230 30 H V C CNN F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X pwr 1 0 0 0 U 20 20 0 0 w X pwr 1 0 0 0 U 20 20 0 0 w
P 3 0 1 0 0 0 0 100 0 100 N P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
P 5 0 1 0 0 100 -100 150 0 200 100 150 0 100 N
ENDDRAW ENDDRAW
ENDDEF ENDDEF
# #
# R # R
# #
DEF R R 0 0 N Y 1 F N DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN F0 "R" 80 0 40 V V C CNN
F1 "R" 0 0 50 V V C CNN F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST $FPLIST
R? R?
SM0603 SM0603
SM0805 SM0805
R?-* R?-*
SM1206
$ENDFPLIST $ENDFPLIST
DRAW DRAW
S -40 150 40 -150 0 1 12 N S -40 150 40 -150 0 1 12 N
@ -775,6 +840,8 @@ ENDDEF
DEF SW_PUSH SW 0 40 N N 1 F N DEF SW_PUSH SW 0 40 N N 1 F N
F0 "SW" 150 110 50 H V C CNN F0 "SW" 150 110 50 H V C CNN
F1 "SW_PUSH" 0 -80 50 H V C CNN F1 "SW_PUSH" 0 -80 50 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -170 50 170 60 0 1 0 N S -170 50 170 60 0 1 0 N
P 4 0 1 0 -40 60 -30 90 30 90 40 60 N P 4 0 1 0 -40 60 -30 90 30 90 40 60 N
@ -785,9 +852,11 @@ ENDDEF
# #
# SWITCH_INV # SWITCH_INV
# #
DEF SWITCH_INV SW 0 0 N Y 0 F N DEF SWITCH_INV SW 0 0 N Y 1 F N
F0 "SW" -200 150 50 H V C CNN F0 "SW" -200 150 50 H V C CNN
F1 "SWITCH_INV" -150 -150 50 H V C CNN F1 "SWITCH_INV" -150 -150 50 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
C -150 0 50 0 0 0 N C -150 0 50 0 0 0 N
C 150 -100 50 0 0 0 N C 150 -100 50 0 0 0 N
@ -804,6 +873,8 @@ ENDDEF
DEF VCC #PWR 0 0 Y Y 1 F P DEF VCC #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 100 30 H I C CNN F0 "#PWR" 0 100 30 H I C CNN
F1 "VCC" 0 100 30 H V C CNN F1 "VCC" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X VCC 1 0 0 0 U 20 20 0 0 W N X VCC 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N C 0 50 20 0 1 0 N
@ -816,6 +887,8 @@ ENDDEF
DEF VDD #PWR 0 0 Y Y 1 F P DEF VDD #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 100 30 H I C CNN F0 "#PWR" 0 100 30 H I C CNN
F1 "VDD" 0 110 30 H V C CNN F1 "VDD" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X VDD 1 0 0 0 U 40 40 0 0 W N X VDD 1 0 0 0 U 40 40 0 0 W N
C 0 60 20 0 1 0 N C 0 60 20 0 1 0 N
@ -828,6 +901,8 @@ ENDDEF
DEF XCR3256-TQ144 U 0 20 Y Y 1 F N DEF XCR3256-TQ144 U 0 20 Y Y 1 F N
F0 "U" 0 3500 70 H V C CNN F0 "U" 0 3500 70 H V C CNN
F1 "XCR3256-TQ144" 0 -3600 60 H V C CNN F1 "XCR3256-TQ144" 0 -3600 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -650 3400 650 -3500 0 1 0 N S -650 3400 650 -3500 0 1 0 N
X I1 1 950 -2900 300 L 50 50 1 1 P X I1 1 950 -2900 300 L 50 50 1 1 P
@ -850,7 +925,6 @@ X G2 80 -950 -2500 300 R 50 50 1 1 P
X C14 90 -950 500 300 R 50 50 1 1 P X C14 90 -950 500 300 R 50 50 1 1 P
X J15 11 950 -1600 300 L 50 50 1 1 P X J15 11 950 -1600 300 L 50 50 1 1 P
X N2 21 950 900 300 L 50 50 1 1 P X N2 21 950 900 300 L 50 50 1 1 P
X P14 31 950 3100 300 L 50 50 1 1 P
X P4 31 950 2800 300 L 50 50 1 1 P X P4 31 950 2800 300 L 50 50 1 1 P
X O3 41 950 2000 300 L 50 50 1 1 P X O3 41 950 2000 300 L 50 50 1 1 P
X VCC 51 -450 3400 0 D 30 30 1 1 W N X VCC 51 -450 3400 0 D 30 30 1 1 W N
@ -887,6 +961,7 @@ X E11 84 -950 -1600 300 R 50 50 1 1 P
X C3 94 -950 900 300 R 50 50 1 1 P X C3 94 -950 900 300 R 50 50 1 1 P
X L4 15 950 -400 300 L 50 50 1 1 P X L4 15 950 -400 300 L 50 50 1 1 P
X N11 25 950 1200 300 L 50 50 1 1 P X N11 25 950 1200 300 L 50 50 1 1 P
X P14 35 950 3100 300 L 50 50 1 1 P
X M15 45 950 700 300 L 50 50 1 1 P X M15 45 950 700 300 L 50 50 1 1 P
X F1 55 -950 -1700 300 R 50 50 1 1 P X F1 55 -950 -1700 300 R 50 50 1 1 P
X F15 65 -950 -2300 300 R 50 50 1 1 P X F15 65 -950 -2300 300 R 50 50 1 1 P

View File

@ -1,41 +1,44 @@
update=20/06/2009 21:38:13 update=24/01/2014 13:22:43
last_client=pcbnew last_client=eeschema
[general] [general]
version=1 version=1
RootSch=kit-dev-coldfire_5213.sch [cvpcb]
BoardNm=kit-dev-coldfire_5213.brd version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=
UseCmpFile=1
PadDrill=0
PadDrillOvalY=0
PadSizeH=0.4064
PadSizeV=1.27
PcbTextSizeV=2.032
PcbTextSizeH=1.524
PcbTextThickness=0.3048
ModuleTextSizeV=1.524
ModuleTextSizeH=1.524
ModuleTextSizeThickness=0.3048
SolderMaskClearance=0.2
SolderMaskMinWidth=0
DrawSegmentWidth=0.381
BoardOutlineThickness=0.381
ModuleOutlineThickness=0.1524
[pcbnew/libraries]
LibDir=
[eeschema] [eeschema]
version=1 version=1
PageLayoutDescrFile=
SubpartIdSeparator=0
SubpartFirstId=65
LibDir= LibDir=
NetFmt=1 NetFmtName=
HPGLSpd=20
HPGLDm=15
HPGLNum=1
offX_A4=0
offY_A4=0
offX_A3=0
offY_A3=0
offX_A2=0
offY_A2=0
offX_A1=0
offY_A1=0
offX_A0=0
offY_A0=0
offX_A=0
offY_A=0
offX_B=0
offY_B=0
offX_C=0
offY_C=0
offX_D=0
offY_D=0
offX_E=0
offY_E=0
RptD_X=0 RptD_X=0
RptD_Y=100 RptD_Y=100
RptLab=1 RptLab=1
SimCmd=
UseNetN=0
LabSize=60 LabSize=60
[eeschema/libraries] [eeschema/libraries]
LibName1=power LibName1=power
@ -45,71 +48,9 @@ LibName4=conn
LibName5=linear LibName5=linear
LibName6=regul LibName6=regul
LibName7=74xx LibName7=74xx
LibName8=cmos4000 LibName8=adc-dac
LibName9=adc-dac LibName9=memory
LibName10=memory LibName10=xilinx
LibName11=xilinx LibName11=special
LibName12=special LibName12=microcontrollers
LibName13=microcontrollers LibName13=motorola
LibName14=dsp
LibName15=microchip
LibName16=analog_switches
LibName17=motorola
LibName18=texas
LibName19=intel
LibName20=audio
LibName21=interface
LibName22=digital-audio
LibName23=philips
LibName24=display
LibName25=cypress
LibName26=siliconi
LibName27=contrib
LibName28=valves
[pcbnew]
version=1
PadDrlX=0
PadDimH=160
PadDimV=500
ViaDiam=450
ViaDril=150
ViaAltD=250
MViaDia=200
MViaDrl=80
Isol=60
LayerThickness=630
Countlayer=4
Lpiste=220
RouteTo=15
RouteBo=0
TypeVia=3
Segm45=1
Racc45=1
SgPcb45=1
TxtPcbV=800
TxtPcbH=600
TxtModV=600
TxtModH=600
TxtModW=120
HPGLnum=1
HPGdiam=15
HPGLSpd=20
HPGLrec=2
HPGLorg=0
VEgarde=100
DrawLar=150
EdgeLar=150
TxtLar=120
MSegLar=60
WpenSer=10
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=dip_sockets
LibName3=connect
LibName4=discret
LibName5=pin_array
LibName6=divers
LibName7=libcms
LibName8=display
LibName9=valves

View File

@ -1,4 +1,4 @@
EESchema Schematic File Version 2 date 27/11/2009 11:46:34 EESchema Schematic File Version 2
LIBS:power LIBS:power
LIBS:device LIBS:device
LIBS:transistors LIBS:transistors
@ -6,31 +6,17 @@ LIBS:conn
LIBS:linear LIBS:linear
LIBS:regul LIBS:regul
LIBS:74xx LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac LIBS:adc-dac
LIBS:memory LIBS:memory
LIBS:xilinx LIBS:xilinx
LIBS:special LIBS:special
LIBS:microcontrollers LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:contrib
LIBS:valves
LIBS:kit-dev-coldfire-xilinx_5213-cache LIBS:kit-dev-coldfire-xilinx_5213-cache
EELAYER 23 0 EELAYER 24 0
EELAYER END EELAYER END
$Descr A3 16535 11700 $Descr A3 16535 11693
encoding utf-8
Sheet 1 3 Sheet 1 3
Title "Dev kit coldfire 5213" Title "Dev kit coldfire 5213"
Date "8 feb 2008" Date "8 feb 2008"
@ -676,8 +662,10 @@ $Comp
L MCF5213-LQFP100 U1 L MCF5213-LQFP100 U1
U 1 1 46161C39 U 1 1 46161C39
P 8150 4600 P 8150 4600
F 0 "U1" H 8200 4650 60 0000 L CNN F 0 "U1" H 9100 7300 60 0000 L CNN
F 1 "MCF5213-LQFP100" H 8750 1950 60 0000 L CNN F 1 "MCF5213-LQFP100" H 8750 1950 60 0000 L CNN
F 2 "" H 8150 4600 60 0001 C CNN
F 3 "" H 8150 4600 60 0001 C CNN
1 8150 4600 1 8150 4600
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -687,6 +675,8 @@ U 1 1 462382A4
P 6450 9000 P 6450 9000
F 0 "#PWR01" H 6450 9000 40 0001 C CNN F 0 "#PWR01" H 6450 9000 40 0001 C CNN
F 1 "GNDA" H 6450 8930 40 0000 C CNN F 1 "GNDA" H 6450 8930 40 0000 C CNN
F 2 "" H 6450 9000 60 0001 C CNN
F 3 "" H 6450 9000 60 0001 C CNN
1 6450 9000 1 6450 9000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -696,6 +686,8 @@ U 1 1 46238286
P 6450 8750 P 6450 8750
F 0 "C18" H 6500 8850 50 0000 L CNN F 0 "C18" H 6500 8850 50 0000 L CNN
F 1 "100nF" H 6500 8650 50 0000 L CNN F 1 "100nF" H 6500 8650 50 0000 L CNN
F 2 "" H 6450 8750 60 0001 C CNN
F 3 "" H 6450 8750 60 0001 C CNN
1 6450 8750 1 6450 8750
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -709,6 +701,8 @@ U 1 1 46602ECA
P 5350 6950 P 5350 6950
F 0 "#PWR02" H 5350 6950 40 0001 C CNN F 0 "#PWR02" H 5350 6950 40 0001 C CNN
F 1 "GNDA" H 5350 6880 40 0000 C CNN F 1 "GNDA" H 5350 6880 40 0000 C CNN
F 2 "" H 5350 6950 60 0001 C CNN
F 3 "" H 5350 6950 60 0001 C CNN
1 5350 6950 1 5350 6950
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -718,6 +712,8 @@ U 1 1 465FE6C5
P 10150 10350 P 10150 10350
F 0 "GND1" H 10230 10350 40 0000 L CNN F 0 "GND1" H 10230 10350 40 0000 L CNN
F 1 "CONN_1" H 10150 10405 30 0001 C CNN F 1 "CONN_1" H 10150 10405 30 0001 C CNN
F 2 "" H 10150 10350 60 0001 C CNN
F 3 "" H 10150 10350 60 0001 C CNN
1 10150 10350 1 10150 10350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -727,6 +723,8 @@ U 1 1 46555AB9
P 6100 7100 P 6100 7100
F 0 "#PWR03" H 6100 7100 40 0001 C CNN F 0 "#PWR03" H 6100 7100 40 0001 C CNN
F 1 "GNDA" H 6100 7030 40 0000 C CNN F 1 "GNDA" H 6100 7030 40 0000 C CNN
F 2 "" H 6100 7100 60 0001 C CNN
F 3 "" H 6100 7100 60 0001 C CNN
1 6100 7100 1 6100 7100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -736,6 +734,8 @@ U 1 1 46554FD2
P 13400 1700 P 13400 1700
F 0 "#PWR04" H 13400 1660 30 0001 C CNN F 0 "#PWR04" H 13400 1660 30 0001 C CNN
F 1 "+3.3V" H 13400 1810 30 0000 C CNN F 1 "+3.3V" H 13400 1810 30 0000 C CNN
F 2 "" H 13400 1700 60 0001 C CNN
F 3 "" H 13400 1700 60 0001 C CNN
1 13400 1700 1 13400 1700
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -745,6 +745,8 @@ U 1 1 46554FCD
P 13400 2100 P 13400 2100
F 0 "#PWR05" H 13400 2100 30 0001 C CNN F 0 "#PWR05" H 13400 2100 30 0001 C CNN
F 1 "GND" H 13400 2030 30 0001 C CNN F 1 "GND" H 13400 2030 30 0001 C CNN
F 2 "" H 13400 2100 60 0001 C CNN
F 3 "" H 13400 2100 60 0001 C CNN
1 13400 2100 1 13400 2100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -754,6 +756,8 @@ U 1 1 46554FB5
P 13350 1900 P 13350 1900
F 0 "U2" H 13545 2015 60 0000 C CNN F 0 "U2" H 13545 2015 60 0000 C CNN
F 1 "74AHC1G14" H 13650 1750 60 0000 C CNN F 1 "74AHC1G14" H 13650 1750 60 0000 C CNN
F 2 "" H 13350 1900 60 0001 C CNN
F 3 "" H 13350 1900 60 0001 C CNN
1 13350 1900 1 13350 1900
-1 0 0 -1 -1 0 0 -1
$EndComp $EndComp
@ -763,6 +767,8 @@ U 1 1 46545507
P 14150 4650 P 14150 4650
F 0 "CT1" H 14550 4700 60 0000 C CNN F 0 "CT1" H 14550 4700 60 0000 C CNN
F 1 "JUMPER" H 14150 4570 40 0000 C CNN F 1 "JUMPER" H 14150 4570 40 0000 C CNN
F 2 "" H 14150 4650 60 0001 C CNN
F 3 "" H 14150 4650 60 0001 C CNN
1 14150 4650 1 14150 4650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -772,6 +778,8 @@ U 1 1 465451F6
P 2600 3650 P 2600 3650
F 0 "#PWR06" H 2600 3650 30 0001 C CNN F 0 "#PWR06" H 2600 3650 30 0001 C CNN
F 1 "GND" H 2600 3580 30 0001 C CNN F 1 "GND" H 2600 3580 30 0001 C CNN
F 2 "" H 2600 3650 60 0001 C CNN
F 3 "" H 2600 3650 60 0001 C CNN
1 2600 3650 1 2600 3650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -781,6 +789,8 @@ U 1 1 465451D4
P 2600 3350 P 2600 3350
F 0 "RST_SW1" H 2750 3460 50 0000 C CNN F 0 "RST_SW1" H 2750 3460 50 0000 C CNN
F 1 "SW_PUSH" H 2600 3270 50 0000 C CNN F 1 "SW_PUSH" H 2600 3270 50 0000 C CNN
F 2 "" H 2600 3350 60 0001 C CNN
F 3 "" H 2600 3350 60 0001 C CNN
1 2600 3350 1 2600 3350
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -810,6 +820,8 @@ U 1 1 4652AF7E
P 5500 9800 P 5500 9800
F 0 "#PWR07" H 5500 9900 30 0001 C CNN F 0 "#PWR07" H 5500 9900 30 0001 C CNN
F 1 "VCC" H 5500 9900 30 0000 C CNN F 1 "VCC" H 5500 9900 30 0000 C CNN
F 2 "" H 5500 9800 60 0001 C CNN
F 3 "" H 5500 9800 60 0001 C CNN
1 5500 9800 1 5500 9800
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -819,6 +831,8 @@ U 1 1 4652AF2F
P 6700 9000 P 6700 9000
F 0 "#FLG08" H 6700 9270 30 0001 C CNN F 0 "#FLG08" H 6700 9270 30 0001 C CNN
F 1 "PWR_FLAG" H 6700 9230 30 0000 C CNN F 1 "PWR_FLAG" H 6700 9230 30 0000 C CNN
F 2 "" H 6700 9000 60 0001 C CNN
F 3 "" H 6700 9000 60 0001 C CNN
1 6700 9000 1 6700 9000
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -832,6 +846,8 @@ U 1 1 4652AE72
P 9250 10350 P 9250 10350
F 0 "#FLG09" H 9250 10620 30 0001 C CNN F 0 "#FLG09" H 9250 10620 30 0001 C CNN
F 1 "PWR_FLAG" H 9250 10580 30 0000 C CNN F 1 "PWR_FLAG" H 9250 10580 30 0000 C CNN
F 2 "" H 9250 10350 60 0001 C CNN
F 3 "" H 9250 10350 60 0001 C CNN
1 9250 10350 1 9250 10350
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -958,6 +974,8 @@ U 1 1 46238A4E
P 1700 9450 P 1700 9450
F 0 "#PWR010" H 1700 9450 30 0001 C CNN F 0 "#PWR010" H 1700 9450 30 0001 C CNN
F 1 "GND" H 1700 9380 30 0001 C CNN F 1 "GND" H 1700 9380 30 0001 C CNN
F 2 "" H 1700 9450 60 0001 C CNN
F 3 "" H 1700 9450 60 0001 C CNN
1 1700 9450 1 1700 9450
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -967,6 +985,8 @@ U 1 1 46238A48
P 2500 9400 P 2500 9400
F 0 "#PWR011" H 2500 9400 30 0001 C CNN F 0 "#PWR011" H 2500 9400 30 0001 C CNN
F 1 "GND" H 2500 9330 30 0001 C CNN F 1 "GND" H 2500 9330 30 0001 C CNN
F 2 "" H 2500 9400 60 0001 C CNN
F 3 "" H 2500 9400 60 0001 C CNN
1 2500 9400 1 2500 9400
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -976,6 +996,8 @@ U 1 1 462389C7
P 2100 8850 P 2100 8850
F 0 "Y1" H 2100 9000 60 0000 C CNN F 0 "Y1" H 2100 9000 60 0000 C CNN
F 1 "8MHz" H 2100 8700 60 0000 C CNN F 1 "8MHz" H 2100 8700 60 0000 C CNN
F 2 "" H 2100 8850 60 0001 C CNN
F 3 "" H 2100 8850 60 0001 C CNN
1 2100 8850 1 2100 8850
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -985,6 +1007,8 @@ U 1 1 462389C0
P 2500 9200 P 2500 9200
F 0 "C2" H 2550 9300 50 0000 L CNN F 0 "C2" H 2550 9300 50 0000 L CNN
F 1 "10pF" H 2550 9100 50 0000 L CNN F 1 "10pF" H 2550 9100 50 0000 L CNN
F 2 "" H 2500 9200 60 0001 C CNN
F 3 "" H 2500 9200 60 0001 C CNN
1 2500 9200 1 2500 9200
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -994,6 +1018,8 @@ U 1 1 462389BC
P 1700 9250 P 1700 9250
F 0 "C1" H 1750 9350 50 0000 L CNN F 0 "C1" H 1750 9350 50 0000 L CNN
F 1 "10pF" H 1750 9150 50 0000 L CNN F 1 "10pF" H 1750 9150 50 0000 L CNN
F 2 "" H 1700 9250 60 0001 C CNN
F 3 "" H 1700 9250 60 0001 C CNN
1 1700 9250 1 1700 9250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1003,6 +1029,8 @@ U 1 1 462389B6
P 2150 8450 P 2150 8450
F 0 "R1" V 2230 8450 50 0000 C CNN F 0 "R1" V 2230 8450 50 0000 C CNN
F 1 "1M" V 2150 8450 50 0000 C CNN F 1 "1M" V 2150 8450 50 0000 C CNN
F 2 "" H 2150 8450 60 0001 C CNN
F 3 "" H 2150 8450 60 0001 C CNN
1 2150 8450 1 2150 8450
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1012,6 +1040,8 @@ U 1 1 46238965
P 14450 5600 P 14450 5600
F 0 "ALLPST1" H 14450 5700 40 0000 C CNN F 0 "ALLPST1" H 14450 5700 40 0000 C CNN
F 1 "CONN_1" H 14400 5640 30 0001 C CNN F 1 "CONN_1" H 14400 5640 30 0001 C CNN
F 2 "" H 14450 5600 60 0001 C CNN
F 3 "" H 14450 5600 60 0001 C CNN
1 14450 5600 1 14450 5600
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -1065,6 +1095,8 @@ U 1 1 462385BA
P 1900 4650 P 1900 4650
F 0 "#PWR012" H 1900 4650 30 0001 C CNN F 0 "#PWR012" H 1900 4650 30 0001 C CNN
F 1 "GND" H 1900 4580 30 0001 C CNN F 1 "GND" H 1900 4580 30 0001 C CNN
F 2 "" H 1900 4650 60 0001 C CNN
F 3 "" H 1900 4650 60 0001 C CNN
1 1900 4650 1 1900 4650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1074,6 +1106,8 @@ U 1 1 46238597
P 2150 4600 P 2150 4600
F 0 "RED1" H 2150 4700 50 0000 C CNN F 0 "RED1" H 2150 4700 50 0000 C CNN
F 1 "LED_RESET1" H 2150 4500 50 0000 C CNN F 1 "LED_RESET1" H 2150 4500 50 0000 C CNN
F 2 "" H 2150 4600 60 0001 C CNN
F 3 "" H 2150 4600 60 0001 C CNN
1 2150 4600 1 2150 4600
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -1083,6 +1117,8 @@ U 1 1 4623857F
P 2650 4600 P 2650 4600
F 0 "R22" V 2750 4600 50 0000 C CNN F 0 "R22" V 2750 4600 50 0000 C CNN
F 1 "270" V 2650 4600 50 0000 C CNN F 1 "270" V 2650 4600 50 0000 C CNN
F 2 "" H 2650 4600 60 0001 C CNN
F 3 "" H 2650 4600 60 0001 C CNN
1 2650 4600 1 2650 4600
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1094,6 +1130,8 @@ U 1 1 46238545
P 3500 4300 P 3500 4300
F 0 "R21" V 3600 4300 50 0000 C CNN F 0 "R21" V 3600 4300 50 0000 C CNN
F 1 "4,7K" V 3500 4300 50 0000 C CNN F 1 "4,7K" V 3500 4300 50 0000 C CNN
F 2 "" H 3500 4300 60 0001 C CNN
F 3 "" H 3500 4300 60 0001 C CNN
1 3500 4300 1 3500 4300
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1103,6 +1141,8 @@ U 1 1 46238539
P 2900 4100 P 2900 4100
F 0 "#PWR013" H 2900 4200 30 0001 C CNN F 0 "#PWR013" H 2900 4200 30 0001 C CNN
F 1 "VDD" H 2900 4210 30 0000 C CNN F 1 "VDD" H 2900 4210 30 0000 C CNN
F 2 "" H 2900 4100 60 0001 C CNN
F 3 "" H 2900 4100 60 0001 C CNN
1 2900 4100 1 2900 4100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1112,6 +1152,8 @@ U 1 1 46238531
P 8400 7550 P 8400 7550
F 0 "#PWR014" H 8400 7550 30 0001 C CNN F 0 "#PWR014" H 8400 7550 30 0001 C CNN
F 1 "GND" H 8400 7480 30 0001 C CNN F 1 "GND" H 8400 7480 30 0001 C CNN
F 2 "" H 8400 7550 60 0001 C CNN
F 3 "" H 8400 7550 60 0001 C CNN
1 8400 7550 1 8400 7550
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1121,6 +1163,8 @@ U 1 1 46238519
P 3000 4300 P 3000 4300
F 0 "Q1" H 3150 4300 60 0000 C CNN F 0 "Q1" H 3150 4300 60 0000 C CNN
F 1 "3906" H 2904 4450 60 0000 C CNN F 1 "3906" H 2904 4450 60 0000 C CNN
F 2 "" H 3000 4300 60 0001 C CNN
F 3 "" H 3000 4300 60 0001 C CNN
1 3000 4300 1 3000 4300
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -1132,6 +1176,8 @@ U 1 1 462384A7
P 3250 2400 P 3250 2400
F 0 "#PWR015" H 3250 2360 30 0001 C CNN F 0 "#PWR015" H 3250 2360 30 0001 C CNN
F 1 "+3.3V" H 3250 2510 30 0000 C CNN F 1 "+3.3V" H 3250 2510 30 0000 C CNN
F 2 "" H 3250 2400 60 0001 C CNN
F 3 "" H 3250 2400 60 0001 C CNN
1 3250 2400 1 3250 2400
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1141,6 +1187,8 @@ U 1 1 4623848E
P 2200 3500 P 2200 3500
F 0 "#PWR016" H 2200 3500 30 0001 C CNN F 0 "#PWR016" H 2200 3500 30 0001 C CNN
F 1 "GND" H 2200 3430 30 0001 C CNN F 1 "GND" H 2200 3430 30 0001 C CNN
F 2 "" H 2200 3500 60 0001 C CNN
F 3 "" H 2200 3500 60 0001 C CNN
1 2200 3500 1 2200 3500
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1150,6 +1198,8 @@ U 1 1 4623847B
P 3250 2650 P 3250 2650
F 0 "R15" V 3330 2650 50 0000 C CNN F 0 "R15" V 3330 2650 50 0000 C CNN
F 1 "4,7K" V 3250 2650 50 0000 C CNN F 1 "4,7K" V 3250 2650 50 0000 C CNN
F 2 "" H 3250 2650 60 0001 C CNN
F 3 "" H 3250 2650 60 0001 C CNN
1 3250 2650 1 3250 2650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1159,6 +1209,8 @@ U 1 1 4623846D
P 2850 3000 P 2850 3000
F 0 "D3" H 2850 3100 40 0000 C CNN F 0 "D3" H 2850 3100 40 0000 C CNN
F 1 "BAT54" H 2850 2900 40 0000 C CNN F 1 "BAT54" H 2850 2900 40 0000 C CNN
F 2 "" H 2850 3000 60 0001 C CNN
F 3 "" H 2850 3000 60 0001 C CNN
1 2850 3000 1 2850 3000
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -1168,6 +1220,8 @@ U 1 1 46238468
P 2200 3300 P 2200 3300
F 0 "C3" H 2250 3400 50 0000 L CNN F 0 "C3" H 2250 3400 50 0000 L CNN
F 1 "1nF" H 2250 3200 50 0000 L CNN F 1 "1nF" H 2250 3200 50 0000 L CNN
F 2 "" H 2200 3300 60 0001 C CNN
F 3 "" H 2200 3300 60 0001 C CNN
1 2200 3300 1 2200 3300
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1177,6 +1231,8 @@ U 1 1 4623840E
P 1150 2950 P 1150 2950
F 0 "#PWR017" H 1150 2910 30 0001 C CNN F 0 "#PWR017" H 1150 2910 30 0001 C CNN
F 1 "+3.3V" H 1150 3060 30 0000 C CNN F 1 "+3.3V" H 1150 3060 30 0000 C CNN
F 2 "" H 1150 2950 60 0001 C CNN
F 3 "" H 1150 2950 60 0001 C CNN
1 1150 2950 1 1150 2950
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1186,6 +1242,8 @@ U 1 1 46238409
P 1550 3350 P 1550 3350
F 0 "#PWR018" H 1550 3350 30 0001 C CNN F 0 "#PWR018" H 1550 3350 30 0001 C CNN
F 1 "GND" H 1550 3280 30 0001 C CNN F 1 "GND" H 1550 3280 30 0001 C CNN
F 2 "" H 1550 3350 60 0001 C CNN
F 3 "" H 1550 3350 60 0001 C CNN
1 1550 3350 1 1550 3350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1195,6 +1253,8 @@ U 1 1 462383E5
P 1550 3050 P 1550 3050
F 0 "LV1" H 1600 3250 60 0000 C CNN F 0 "LV1" H 1600 3250 60 0000 C CNN
F 1 "DS1818" H 1850 2860 60 0000 C CNN F 1 "DS1818" H 1850 2860 60 0000 C CNN
F 2 "" H 1550 3050 60 0001 C CNN
F 3 "" H 1550 3050 60 0001 C CNN
1 1550 3050 1 1550 3050
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1218,6 +1278,8 @@ U 1 1 462382CE
P 6150 8750 P 6150 8750
F 0 "C16" H 6200 8850 50 0000 L CNN F 0 "C16" H 6200 8850 50 0000 L CNN
F 1 "10uF" H 6200 8650 50 0000 L CNN F 1 "10uF" H 6200 8650 50 0000 L CNN
F 2 "" H 6150 8750 60 0001 C CNN
F 3 "" H 6150 8750 60 0001 C CNN
1 6150 8750 1 6150 8750
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1227,6 +1289,8 @@ U 1 1 462380EB
P 6150 9000 P 6150 9000
F 0 "#PWR019" H 6150 9000 40 0001 C CNN F 0 "#PWR019" H 6150 9000 40 0001 C CNN
F 1 "GNDA" H 6150 8930 40 0000 C CNN F 1 "GNDA" H 6150 8930 40 0000 C CNN
F 2 "" H 6150 9000 60 0001 C CNN
F 3 "" H 6150 9000 60 0001 C CNN
1 6150 9000 1 6150 9000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1236,6 +1300,8 @@ U 1 1 462380D3
P 5350 9000 P 5350 9000
F 0 "#PWR020" H 5350 9000 30 0001 C CNN F 0 "#PWR020" H 5350 9000 30 0001 C CNN
F 1 "GND" H 5350 8930 30 0001 C CNN F 1 "GND" H 5350 8930 30 0001 C CNN
F 2 "" H 5350 9000 60 0001 C CNN
F 3 "" H 5350 9000 60 0001 C CNN
1 5350 9000 1 5350 9000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1245,6 +1311,8 @@ U 1 1 462380B8
P 5700 8950 P 5700 8950
F 0 "FB1" V 5650 8950 40 0000 C CNN F 0 "FB1" V 5650 8950 40 0000 C CNN
F 1 "BEAD" V 5800 8950 40 0000 C CNN F 1 "BEAD" V 5800 8950 40 0000 C CNN
F 2 "" H 5700 8950 60 0001 C CNN
F 3 "" H 5700 8950 60 0001 C CNN
1 5700 8950 1 5700 8950
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -1254,6 +1322,8 @@ U 1 1 46238092
P 5700 8500 P 5700 8500
F 0 "L1" V 5650 8500 40 0000 C CNN F 0 "L1" V 5650 8500 40 0000 C CNN
F 1 "10uH" V 5800 8500 40 0000 C CNN F 1 "10uH" V 5800 8500 40 0000 C CNN
F 2 "" H 5700 8500 60 0001 C CNN
F 3 "" H 5700 8500 60 0001 C CNN
1 5700 8500 1 5700 8500
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -1263,6 +1333,8 @@ U 1 1 46238079
P 4950 8500 P 4950 8500
F 0 "VDDA1" H 4950 8650 60 0000 C CNN F 0 "VDDA1" H 4950 8650 60 0000 C CNN
F 1 "JUMPER" H 4950 8420 40 0000 C CNN F 1 "JUMPER" H 4950 8420 40 0000 C CNN
F 2 "" H 4950 8500 60 0001 C CNN
F 3 "" H 4950 8500 60 0001 C CNN
1 4950 8500 1 4950 8500
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1272,6 +1344,8 @@ U 1 1 46238078
P 4600 8450 P 4600 8450
F 0 "#PWR021" H 4600 8410 30 0001 C CNN F 0 "#PWR021" H 4600 8410 30 0001 C CNN
F 1 "+3.3V" H 4600 8560 30 0000 C CNN F 1 "+3.3V" H 4600 8560 30 0000 C CNN
F 2 "" H 4600 8450 60 0001 C CNN
F 3 "" H 4600 8450 60 0001 C CNN
1 4600 8450 1 4600 8450
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1293,6 +1367,8 @@ U 1 1 46237F86
P 12500 1900 P 12500 1900
F 0 "D1" H 12500 2000 40 0000 C CNN F 0 "D1" H 12500 2000 40 0000 C CNN
F 1 "BAT54" H 12500 1800 40 0000 C CNN F 1 "BAT54" H 12500 1800 40 0000 C CNN
F 2 "" H 12500 1900 60 0001 C CNN
F 3 "" H 12500 1900 60 0001 C CNN
1 12500 1900 1 12500 1900
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1302,6 +1378,8 @@ U 1 1 46237F59
P 15450 1900 P 15450 1900
F 0 "#PWR022" H 15450 1860 30 0001 C CNN F 0 "#PWR022" H 15450 1860 30 0001 C CNN
F 1 "+3.3V" H 15450 2010 30 0000 C CNN F 1 "+3.3V" H 15450 2010 30 0000 C CNN
F 2 "" H 15450 1900 60 0001 C CNN
F 3 "" H 15450 1900 60 0001 C CNN
1 15450 1900 1 15450 1900
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1311,6 +1389,8 @@ U 1 1 46237F50
P 15050 1900 P 15050 1900
F 0 "ABRT_SW1" H 15050 2050 50 0000 C CNN F 0 "ABRT_SW1" H 15050 2050 50 0000 C CNN
F 1 "SW_PUSH" H 15050 1820 50 0000 C CNN F 1 "SW_PUSH" H 15050 1820 50 0000 C CNN
F 2 "" H 15050 1900 60 0001 C CNN
F 3 "" H 15050 1900 60 0001 C CNN
1 15050 1900 1 15050 1900
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1320,6 +1400,8 @@ U 1 1 46237F11
P 14200 2500 P 14200 2500
F 0 "#PWR023" H 14200 2500 30 0001 C CNN F 0 "#PWR023" H 14200 2500 30 0001 C CNN
F 1 "GND" H 14200 2430 30 0001 C CNN F 1 "GND" H 14200 2430 30 0001 C CNN
F 2 "" H 14200 2500 60 0001 C CNN
F 3 "" H 14200 2500 60 0001 C CNN
1 14200 2500 1 14200 2500
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1329,6 +1411,8 @@ U 1 1 46237F0E
P 13950 2450 P 13950 2450
F 0 "#PWR024" H 13950 2450 30 0001 C CNN F 0 "#PWR024" H 13950 2450 30 0001 C CNN
F 1 "GND" H 13950 2380 30 0001 C CNN F 1 "GND" H 13950 2380 30 0001 C CNN
F 2 "" H 13950 2450 60 0001 C CNN
F 3 "" H 13950 2450 60 0001 C CNN
1 13950 2450 1 13950 2450
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1338,6 +1422,8 @@ U 1 1 46237E86
P 12800 900 P 12800 900
F 0 "#PWR025" H 12800 860 30 0001 C CNN F 0 "#PWR025" H 12800 860 30 0001 C CNN
F 1 "+3.3V" H 12800 1010 30 0000 C CNN F 1 "+3.3V" H 12800 1010 30 0000 C CNN
F 2 "" H 12800 900 60 0001 C CNN
F 3 "" H 12800 900 60 0001 C CNN
1 12800 900 1 12800 900
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1347,6 +1433,8 @@ U 1 1 46237E52
P 12800 1100 P 12800 1100
F 0 "LEDABRT1" H 12800 1200 50 0000 C CNN F 0 "LEDABRT1" H 12800 1200 50 0000 C CNN
F 1 "RED" H 12800 1000 50 0000 C CNN F 1 "RED" H 12800 1000 50 0000 C CNN
F 2 "" H 12800 1100 60 0001 C CNN
F 3 "" H 12800 1100 60 0001 C CNN
1 12800 1100 1 12800 1100
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1356,6 +1444,8 @@ U 1 1 46237E3D
P 12800 1600 P 12800 1600
F 0 "R14" V 12880 1600 50 0000 C CNN F 0 "R14" V 12880 1600 50 0000 C CNN
F 1 "270" V 12800 1600 50 0000 C CNN F 1 "270" V 12800 1600 50 0000 C CNN
F 2 "" H 12800 1600 60 0001 C CNN
F 3 "" H 12800 1600 60 0001 C CNN
1 12800 1600 1 12800 1600
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1365,6 +1455,8 @@ U 1 1 46237E36
P 13950 2250 P 13950 2250
F 0 "C15" H 13700 2350 50 0000 L CNN F 0 "C15" H 13700 2350 50 0000 L CNN
F 1 "100nF" H 13650 2150 50 0000 L CNN F 1 "100nF" H 13650 2150 50 0000 L CNN
F 2 "" H 13950 2250 60 0001 C CNN
F 3 "" H 13950 2250 60 0001 C CNN
1 13950 2250 1 13950 2250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1374,6 +1466,8 @@ U 1 1 46237E2F
P 14200 2250 P 14200 2250
F 0 "R12" V 14280 2250 50 0000 C CNN F 0 "R12" V 14280 2250 50 0000 C CNN
F 1 "20K" V 14200 2250 50 0000 C CNN F 1 "20K" V 14200 2250 50 0000 C CNN
F 2 "" H 14200 2250 60 0001 C CNN
F 3 "" H 14200 2250 60 0001 C CNN
1 14200 2250 1 14200 2250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1383,6 +1477,8 @@ U 1 1 46237E28
P 14450 1900 P 14450 1900
F 0 "R7" V 14530 1900 50 0000 C CNN F 0 "R7" V 14530 1900 50 0000 C CNN
F 1 "1K" V 14450 1900 50 0000 C CNN F 1 "1K" V 14450 1900 50 0000 C CNN
F 2 "" H 14450 1900 60 0001 C CNN
F 3 "" H 14450 1900 60 0001 C CNN
1 14450 1900 1 14450 1900
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1392,6 +1488,8 @@ U 1 1 46237E18
P 13350 1450 P 13350 1450
F 0 "#PWR026" H 13350 1410 30 0001 C CNN F 0 "#PWR026" H 13350 1410 30 0001 C CNN
F 1 "+3.3V" H 13350 1560 30 0000 C CNN F 1 "+3.3V" H 13350 1560 30 0000 C CNN
F 2 "" H 13350 1450 60 0001 C CNN
F 3 "" H 13350 1450 60 0001 C CNN
1 13350 1450 1 13350 1450
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1401,6 +1499,8 @@ U 1 1 46237E07
P 13750 1450 P 13750 1450
F 0 "#PWR027" H 13750 1450 30 0001 C CNN F 0 "#PWR027" H 13750 1450 30 0001 C CNN
F 1 "GND" H 13750 1380 30 0001 C CNN F 1 "GND" H 13750 1380 30 0001 C CNN
F 2 "" H 13750 1450 60 0001 C CNN
F 3 "" H 13750 1450 60 0001 C CNN
1 13750 1450 1 13750 1450
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -1410,6 +1510,8 @@ U 1 1 46237DF9
P 13550 1450 P 13550 1450
F 0 "C14" H 13600 1550 50 0000 L CNN F 0 "C14" H 13600 1550 50 0000 L CNN
F 1 "100nF" V 13350 1450 50 0000 L CNN F 1 "100nF" V 13350 1450 50 0000 L CNN
F 2 "" H 13550 1450 60 0001 C CNN
F 3 "" H 13550 1450 60 0001 C CNN
1 13550 1450 1 13550 1450
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1421,6 +1523,8 @@ U 1 1 461BE524
P 5250 3000 P 5250 3000
F 0 "#PWR028" H 5250 3100 30 0001 C CNN F 0 "#PWR028" H 5250 3100 30 0001 C CNN
F 1 "VDD" H 5250 3110 30 0000 C CNN F 1 "VDD" H 5250 3110 30 0000 C CNN
F 2 "" H 5250 3000 60 0001 C CNN
F 3 "" H 5250 3000 60 0001 C CNN
1 5250 3000 1 5250 3000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1430,6 +1534,8 @@ U 1 1 461BE50C
P 5500 3050 P 5500 3050
F 0 "R45" V 5600 2950 50 0000 C CNN F 0 "R45" V 5600 2950 50 0000 C CNN
F 1 "4,7K" V 5500 3050 50 0000 C CNN F 1 "4,7K" V 5500 3050 50 0000 C CNN
F 2 "" H 5500 3050 60 0001 C CNN
F 3 "" H 5500 3050 60 0001 C CNN
1 5500 3050 1 5500 3050
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1475,6 +1581,8 @@ U 1 1 461BE37E
P 7100 1850 P 7100 1850
F 0 "#PWR029" H 7100 1850 30 0001 C CNN F 0 "#PWR029" H 7100 1850 30 0001 C CNN
F 1 "GND" H 7100 1780 30 0001 C CNN F 1 "GND" H 7100 1780 30 0001 C CNN
F 2 "" H 7100 1850 60 0001 C CNN
F 3 "" H 7100 1850 60 0001 C CNN
1 7100 1850 1 7100 1850
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1484,6 +1592,8 @@ U 1 1 461BE36C
P 6750 1850 P 6750 1850
F 0 "#PWR030" H 6750 1850 30 0001 C CNN F 0 "#PWR030" H 6750 1850 30 0001 C CNN
F 1 "GND" H 6750 1780 30 0001 C CNN F 1 "GND" H 6750 1780 30 0001 C CNN
F 2 "" H 6750 1850 60 0001 C CNN
F 3 "" H 6750 1850 60 0001 C CNN
1 6750 1850 1 6750 1850
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1493,6 +1603,8 @@ U 1 1 461BE364
P 6750 1650 P 6750 1650
F 0 "C20" H 6800 1750 50 0000 L CNN F 0 "C20" H 6800 1750 50 0000 L CNN
F 1 "1nF" H 6800 1550 50 0000 L CNN F 1 "1nF" H 6800 1550 50 0000 L CNN
F 2 "" H 6750 1650 60 0001 C CNN
F 3 "" H 6750 1650 60 0001 C CNN
1 6750 1650 1 6750 1650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1502,6 +1614,8 @@ U 1 1 461BE35C
P 7100 1650 P 7100 1650
F 0 "C21" H 7150 1750 50 0000 L CNN F 0 "C21" H 7150 1750 50 0000 L CNN
F 1 "100nF" H 7150 1550 50 0000 L CNN F 1 "100nF" H 7150 1550 50 0000 L CNN
F 2 "" H 7100 1650 60 0001 C CNN
F 3 "" H 7100 1650 60 0001 C CNN
1 7100 1650 1 7100 1650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1511,6 +1625,8 @@ U 1 1 461BE327
P 6600 1200 P 6600 1200
F 0 "L2" V 6550 1200 40 0000 C CNN F 0 "L2" V 6550 1200 40 0000 C CNN
F 1 "10uH" V 6700 1200 40 0000 C CNN F 1 "10uH" V 6700 1200 40 0000 C CNN
F 2 "" H 6600 1200 60 0001 C CNN
F 3 "" H 6600 1200 60 0001 C CNN
1 6600 1200 1 6600 1200
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -1520,6 +1636,8 @@ U 1 1 461BE318
P 6250 1150 P 6250 1150
F 0 "#PWR031" H 6250 1110 30 0001 C CNN F 0 "#PWR031" H 6250 1110 30 0001 C CNN
F 1 "+3.3V" H 6250 1260 30 0000 C CNN F 1 "+3.3V" H 6250 1260 30 0000 C CNN
F 2 "" H 6250 1150 60 0001 C CNN
F 3 "" H 6250 1150 60 0001 C CNN
1 6250 1150 1 6250 1150
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1529,6 +1647,8 @@ U 1 1 461BE2B7
P 4400 3350 P 4400 3350
F 0 "#PWR032" H 4400 3350 30 0001 C CNN F 0 "#PWR032" H 4400 3350 30 0001 C CNN
F 1 "GND" H 4400 3280 30 0001 C CNN F 1 "GND" H 4400 3280 30 0001 C CNN
F 2 "" H 4400 3350 60 0001 C CNN
F 3 "" H 4400 3350 60 0001 C CNN
1 4400 3350 1 4400 3350
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1542,6 +1662,8 @@ U 1 1 461BE230
P 5850 3150 P 5850 3150
F 0 "R9" V 5930 3150 50 0000 C CNN F 0 "R9" V 5930 3150 50 0000 C CNN
F 1 "0" V 5850 3150 50 0000 C CNN F 1 "0" V 5850 3150 50 0000 C CNN
F 2 "" H 5850 3150 60 0001 C CNN
F 3 "" H 5850 3150 60 0001 C CNN
1 5850 3150 1 5850 3150
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1551,6 +1673,8 @@ U 1 1 461BE20A
P 6150 2200 P 6150 2200
F 0 "#PWR033" H 6150 2200 30 0001 C CNN F 0 "#PWR033" H 6150 2200 30 0001 C CNN
F 1 "GND" H 6150 2130 30 0001 C CNN F 1 "GND" H 6150 2130 30 0001 C CNN
F 2 "" H 6150 2200 60 0001 C CNN
F 3 "" H 6150 2200 60 0001 C CNN
1 6150 2200 1 6150 2200
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1592,6 +1716,8 @@ U 1 1 461BE128
P 4750 5000 P 4750 5000
F 0 "#PWR034" H 4750 5100 30 0001 C CNN F 0 "#PWR034" H 4750 5100 30 0001 C CNN
F 1 "VDD" H 4750 5110 30 0000 C CNN F 1 "VDD" H 4750 5110 30 0000 C CNN
F 2 "" H 4750 5000 60 0001 C CNN
F 3 "" H 4750 5000 60 0001 C CNN
1 4750 5000 1 4750 5000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1601,6 +1727,8 @@ U 1 1 461BE125
P 4150 5000 P 4150 5000
F 0 "#PWR035" H 4150 5100 30 0001 C CNN F 0 "#PWR035" H 4150 5100 30 0001 C CNN
F 1 "VDD" H 4150 5110 30 0000 C CNN F 1 "VDD" H 4150 5110 30 0000 C CNN
F 2 "" H 4150 5000 60 0001 C CNN
F 3 "" H 4150 5000 60 0001 C CNN
1 4150 5000 1 4150 5000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1610,6 +1738,8 @@ U 1 1 461BE054
P 5050 5650 P 5050 5650
F 0 "R13" V 5130 5650 50 0000 C CNN F 0 "R13" V 5130 5650 50 0000 C CNN
F 1 "10K" V 5050 5650 50 0000 C CNN F 1 "10K" V 5050 5650 50 0000 C CNN
F 2 "" H 5050 5650 60 0001 C CNN
F 3 "" H 5050 5650 60 0001 C CNN
1 5050 5650 1 5050 5650
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1619,6 +1749,8 @@ U 1 1 461BE051
P 4450 5550 P 4450 5550
F 0 "R11" V 4530 5550 50 0000 C CNN F 0 "R11" V 4530 5550 50 0000 C CNN
F 1 "10K" V 4450 5550 50 0000 C CNN F 1 "10K" V 4450 5550 50 0000 C CNN
F 2 "" H 4450 5550 60 0001 C CNN
F 3 "" H 4450 5550 60 0001 C CNN
1 4450 5550 1 4450 5550
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1628,6 +1760,8 @@ U 1 1 461BE04B
P 5050 5450 P 5050 5450
F 0 "R10" V 5130 5450 50 0000 C CNN F 0 "R10" V 5130 5450 50 0000 C CNN
F 1 "10K" V 5050 5450 50 0000 C CNN F 1 "10K" V 5050 5450 50 0000 C CNN
F 2 "" H 5050 5450 60 0001 C CNN
F 3 "" H 5050 5450 60 0001 C CNN
1 5050 5450 1 5050 5450
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1637,6 +1771,8 @@ U 1 1 461BE047
P 4450 5350 P 4450 5350
F 0 "R8" V 4530 5350 50 0000 C CNN F 0 "R8" V 4530 5350 50 0000 C CNN
F 1 "10K" V 4450 5350 50 0000 C CNN F 1 "10K" V 4450 5350 50 0000 C CNN
F 2 "" H 4450 5350 60 0001 C CNN
F 3 "" H 4450 5350 60 0001 C CNN
1 4450 5350 1 4450 5350
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1646,6 +1782,8 @@ U 1 1 461BE046
P 5050 5250 P 5050 5250
F 0 "R6" V 5130 5250 50 0000 C CNN F 0 "R6" V 5130 5250 50 0000 C CNN
F 1 "10K" V 5050 5250 50 0000 C CNN F 1 "10K" V 5050 5250 50 0000 C CNN
F 2 "" H 5050 5250 60 0001 C CNN
F 3 "" H 5050 5250 60 0001 C CNN
1 5050 5250 1 5050 5250
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1655,6 +1793,8 @@ U 1 1 461BE041
P 4450 5150 P 4450 5150
F 0 "R5" V 4530 5150 50 0000 C CNN F 0 "R5" V 4530 5150 50 0000 C CNN
F 1 "10K" V 4450 5150 50 0000 C CNN F 1 "10K" V 4450 5150 50 0000 C CNN
F 2 "" H 4450 5150 60 0001 C CNN
F 3 "" H 4450 5150 60 0001 C CNN
1 4450 5150 1 4450 5150
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1664,6 +1804,8 @@ U 1 1 461BE039
P 5050 5050 P 5050 5050
F 0 "R4" V 5130 5050 50 0000 C CNN F 0 "R4" V 5130 5050 50 0000 C CNN
F 1 "10K" V 5050 5050 50 0000 C CNN F 1 "10K" V 5050 5050 50 0000 C CNN
F 2 "" H 5050 5050 60 0001 C CNN
F 3 "" H 5050 5050 60 0001 C CNN
1 5050 5050 1 5050 5050
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1687,6 +1829,8 @@ U 1 1 461BBA34
P 13700 5000 P 13700 5000
F 0 "TA-1" H 13750 4900 40 0000 C CNN F 0 "TA-1" H 13750 4900 40 0000 C CNN
F 1 "CONN_1" H 13650 5040 30 0001 C CNN F 1 "CONN_1" H 13650 5040 30 0001 C CNN
F 2 "" H 13700 5000 60 0001 C CNN
F 3 "" H 13700 5000 60 0001 C CNN
1 13700 5000 1 13700 5000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1699,6 +1843,8 @@ U 1 1 461BB93F
P 12500 4900 P 12500 4900
F 0 "#PWR036" H 12500 4860 30 0001 C CNN F 0 "#PWR036" H 12500 4860 30 0001 C CNN
F 1 "+3.3V" H 12500 5010 30 0000 C CNN F 1 "+3.3V" H 12500 5010 30 0000 C CNN
F 2 "" H 12500 4900 60 0001 C CNN
F 3 "" H 12500 4900 60 0001 C CNN
1 12500 4900 1 12500 4900
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -1742,6 +1888,8 @@ U 1 1 461BB8C6
P 14050 5400 P 14050 5400
F 0 "#PWR037" H 14050 5400 30 0001 C CNN F 0 "#PWR037" H 14050 5400 30 0001 C CNN
F 1 "GND" H 14050 5330 30 0001 C CNN F 1 "GND" H 14050 5330 30 0001 C CNN
F 2 "" H 14050 5400 60 0001 C CNN
F 3 "" H 14050 5400 60 0001 C CNN
1 14050 5400 1 14050 5400
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1751,6 +1899,8 @@ U 1 1 461BB8C0
P 14050 5150 P 14050 5150
F 0 "R26" V 14130 5150 50 0000 C CNN F 0 "R26" V 14130 5150 50 0000 C CNN
F 1 "10K" V 14050 5150 50 0000 C CNN F 1 "10K" V 14050 5150 50 0000 C CNN
F 2 "" H 14050 5150 60 0001 C CNN
F 3 "" H 14050 5150 60 0001 C CNN
1 14050 5150 1 14050 5150
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1760,6 +1910,8 @@ U 1 1 461BB894
P 14650 4950 P 14650 4950
F 0 "CLKOUT1" H 14700 4850 40 0000 C CNN F 0 "CLKOUT1" H 14700 4850 40 0000 C CNN
F 1 "CONN_1" H 14600 4990 30 0001 C CNN F 1 "CONN_1" H 14600 4990 30 0001 C CNN
F 2 "" H 14650 4950 60 0001 C CNN
F 3 "" H 14650 4950 60 0001 C CNN
1 14650 4950 1 14650 4950
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1773,6 +1925,8 @@ U 1 1 461BB7AD
P 13800 2850 P 13800 2850
F 0 "#PWR038" H 13800 2950 30 0001 C CNN F 0 "#PWR038" H 13800 2950 30 0001 C CNN
F 1 "VDD" H 13800 2960 30 0000 C CNN F 1 "VDD" H 13800 2960 30 0000 C CNN
F 2 "" H 13800 2850 60 0001 C CNN
F 3 "" H 13800 2850 60 0001 C CNN
1 13800 2850 1 13800 2850
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1782,6 +1936,8 @@ U 1 1 461BB799
P 14550 3200 P 14550 3200
F 0 "R20" V 14630 3200 50 0000 C CNN F 0 "R20" V 14630 3200 50 0000 C CNN
F 1 "4,7K" V 14550 3200 50 0000 C CNN F 1 "4,7K" V 14550 3200 50 0000 C CNN
F 2 "" H 14550 3200 60 0001 C CNN
F 3 "" H 14550 3200 60 0001 C CNN
1 14550 3200 1 14550 3200
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1791,6 +1947,8 @@ U 1 1 461BB798
P 14300 3200 P 14300 3200
F 0 "R19" V 14380 3200 50 0000 C CNN F 0 "R19" V 14380 3200 50 0000 C CNN
F 1 "4,7K" V 14300 3200 50 0000 C CNN F 1 "4,7K" V 14300 3200 50 0000 C CNN
F 2 "" H 14300 3200 60 0001 C CNN
F 3 "" H 14300 3200 60 0001 C CNN
1 14300 3200 1 14300 3200
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1800,6 +1958,8 @@ U 1 1 461BB795
P 14050 3200 P 14050 3200
F 0 "R18" V 14130 3200 50 0000 C CNN F 0 "R18" V 14130 3200 50 0000 C CNN
F 1 "4,7K" V 14050 3200 50 0000 C CNN F 1 "4,7K" V 14050 3200 50 0000 C CNN
F 2 "" H 14050 3200 60 0001 C CNN
F 3 "" H 14050 3200 60 0001 C CNN
1 14050 3200 1 14050 3200
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1809,6 +1969,8 @@ U 1 1 461BB790
P 13800 3200 P 13800 3200
F 0 "R17" V 13880 3200 50 0000 C CNN F 0 "R17" V 13880 3200 50 0000 C CNN
F 1 "4,7K" V 13800 3200 50 0000 C CNN F 1 "4,7K" V 13800 3200 50 0000 C CNN
F 2 "" H 13800 3200 60 0001 C CNN
F 3 "" H 13800 3200 60 0001 C CNN
1 13800 3200 1 13800 3200
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1828,6 +1990,8 @@ U 1 1 461BB742
P 5400 3750 P 5400 3750
F 0 "R46" V 5480 3750 50 0000 C CNN F 0 "R46" V 5480 3750 50 0000 C CNN
F 1 "22" V 5400 3750 50 0000 C CNN F 1 "22" V 5400 3750 50 0000 C CNN
F 2 "" H 5400 3750 60 0001 C CNN
F 3 "" H 5400 3750 60 0001 C CNN
1 5400 3750 1 5400 3750
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1853,6 +2017,8 @@ U 1 1 461BB690
P 5600 3150 P 5600 3150
F 0 "#PWR039" H 5600 3150 30 0001 C CNN F 0 "#PWR039" H 5600 3150 30 0001 C CNN
F 1 "GND" H 5600 3080 30 0001 C CNN F 1 "GND" H 5600 3080 30 0001 C CNN
F 2 "" H 5600 3150 60 0001 C CNN
F 3 "" H 5600 3150 60 0001 C CNN
1 5600 3150 1 5600 3150
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1862,6 +2028,8 @@ U 1 1 461BB68E
P 3750 2000 P 3750 2000
F 0 "#PWR040" H 3750 2000 30 0001 C CNN F 0 "#PWR040" H 3750 2000 30 0001 C CNN
F 1 "GND" H 3750 1930 30 0001 C CNN F 1 "GND" H 3750 1930 30 0001 C CNN
F 2 "" H 3750 2000 60 0001 C CNN
F 3 "" H 3750 2000 60 0001 C CNN
1 3750 2000 1 3750 2000
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1871,6 +2039,8 @@ U 1 1 461BB662
P 4650 1100 P 4650 1100
F 0 "#PWR041" H 4650 1200 30 0001 C CNN F 0 "#PWR041" H 4650 1200 30 0001 C CNN
F 1 "VDD" H 4650 1210 30 0000 C CNN F 1 "VDD" H 4650 1210 30 0000 C CNN
F 2 "" H 4650 1100 60 0001 C CNN
F 3 "" H 4650 1100 60 0001 C CNN
1 4650 1100 1 4650 1100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1880,6 +2050,8 @@ U 1 1 461BB661
P 4650 1350 P 4650 1350
F 0 "R2" V 4730 1350 50 0000 C CNN F 0 "R2" V 4730 1350 50 0000 C CNN
F 1 "4,7K" V 4650 1350 50 0000 C CNN F 1 "4,7K" V 4650 1350 50 0000 C CNN
F 2 "" H 4650 1350 60 0001 C CNN
F 3 "" H 4650 1350 60 0001 C CNN
1 4650 1350 1 4650 1350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1889,6 +2061,8 @@ U 1 1 461BB660
P 4450 1100 P 4450 1100
F 0 "#PWR042" H 4450 1200 30 0001 C CNN F 0 "#PWR042" H 4450 1200 30 0001 C CNN
F 1 "VDD" H 4450 1210 30 0000 C CNN F 1 "VDD" H 4450 1210 30 0000 C CNN
F 2 "" H 4450 1100 60 0001 C CNN
F 3 "" H 4450 1100 60 0001 C CNN
1 4450 1100 1 4450 1100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1898,6 +2072,8 @@ U 1 1 461BB65F
P 4450 1350 P 4450 1350
F 0 "R25" V 4530 1350 50 0000 C CNN F 0 "R25" V 4530 1350 50 0000 C CNN
F 1 "4,7K" V 4450 1350 50 0000 C CNN F 1 "4,7K" V 4450 1350 50 0000 C CNN
F 2 "" H 4450 1350 60 0001 C CNN
F 3 "" H 4450 1350 60 0001 C CNN
1 4450 1350 1 4450 1350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1907,6 +2083,8 @@ U 1 1 461BB648
P 4050 2000 P 4050 2000
F 0 "CLK1" H 4050 2150 60 0000 C CNN F 0 "CLK1" H 4050 2150 60 0000 C CNN
F 1 "JUMPER" H 4050 1920 40 0000 C CNN F 1 "JUMPER" H 4050 1920 40 0000 C CNN
F 2 "" H 4050 2000 60 0001 C CNN
F 3 "" H 4050 2000 60 0001 C CNN
1 4050 2000 1 4050 2000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1916,6 +2094,8 @@ U 1 1 461BB62E
P 4050 1650 P 4050 1650
F 0 "CLK0" H 4050 1800 60 0000 C CNN F 0 "CLK0" H 4050 1800 60 0000 C CNN
F 1 "JUMPER" H 4050 1570 40 0000 C CNN F 1 "JUMPER" H 4050 1570 40 0000 C CNN
F 2 "" H 4050 1650 60 0001 C CNN
F 3 "" H 4050 1650 60 0001 C CNN
1 4050 1650 1 4050 1650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1925,6 +2105,8 @@ U 1 1 461BB60D
P 8400 1650 P 8400 1650
F 0 "#PWR043" H 8400 1750 30 0001 C CNN F 0 "#PWR043" H 8400 1750 30 0001 C CNN
F 1 "VDD" H 8400 1760 30 0000 C CNN F 1 "VDD" H 8400 1760 30 0000 C CNN
F 2 "" H 8400 1650 60 0001 C CNN
F 3 "" H 8400 1650 60 0001 C CNN
1 8400 1650 1 8400 1650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1934,6 +2116,8 @@ U 1 1 461BB5E5
P 7050 10100 P 7050 10100
F 0 "C6" H 7100 10200 50 0000 L CNN F 0 "C6" H 7100 10200 50 0000 L CNN
F 1 "100nF" H 7100 10000 50 0000 L CNN F 1 "100nF" H 7100 10000 50 0000 L CNN
F 2 "" H 7050 10100 60 0001 C CNN
F 3 "" H 7050 10100 60 0001 C CNN
1 7050 10100 1 7050 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1943,6 +2127,8 @@ U 1 1 461BB525
P 5050 2800 P 5050 2800
F 0 "#PWR044" H 5050 2900 30 0001 C CNN F 0 "#PWR044" H 5050 2900 30 0001 C CNN
F 1 "VDD" H 5050 2910 30 0000 C CNN F 1 "VDD" H 5050 2910 30 0000 C CNN
F 2 "" H 5050 2800 60 0001 C CNN
F 3 "" H 5050 2800 60 0001 C CNN
1 5050 2800 1 5050 2800
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1952,6 +2138,8 @@ U 1 1 461BAF82
P 3750 1650 P 3750 1650
F 0 "#PWR045" H 3750 1650 30 0001 C CNN F 0 "#PWR045" H 3750 1650 30 0001 C CNN
F 1 "GND" H 3750 1580 30 0001 C CNN F 1 "GND" H 3750 1580 30 0001 C CNN
F 2 "" H 3750 1650 60 0001 C CNN
F 3 "" H 3750 1650 60 0001 C CNN
1 3750 1650 1 3750 1650
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -1961,6 +2149,8 @@ U 1 1 461BAF5C
P 5050 3050 P 5050 3050
F 0 "R16" V 5130 3050 50 0000 C CNN F 0 "R16" V 5130 3050 50 0000 C CNN
F 1 "4,7K" V 5050 3050 50 0000 C CNN F 1 "4,7K" V 5050 3050 50 0000 C CNN
F 2 "" H 5050 3050 60 0001 C CNN
F 3 "" H 5050 3050 60 0001 C CNN
1 5050 3050 1 5050 3050
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1970,6 +2160,8 @@ U 1 1 461BAF4F
P 4700 3350 P 4700 3350
F 0 "BDM_EN1" H 4700 3500 60 0000 C CNN F 0 "BDM_EN1" H 4700 3500 60 0000 C CNN
F 1 "JUMPER" H 4700 3270 40 0000 C CNN F 1 "JUMPER" H 4700 3270 40 0000 C CNN
F 2 "" H 4700 3350 60 0001 C CNN
F 3 "" H 4700 3350 60 0001 C CNN
1 4700 3350 1 4700 3350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1979,6 +2171,8 @@ U 1 1 461BAF37
P 13550 4600 P 13550 4600
F 0 "#PWR046" H 13550 4600 30 0001 C CNN F 0 "#PWR046" H 13550 4600 30 0001 C CNN
F 1 "GND" H 13550 4530 30 0001 C CNN F 1 "GND" H 13550 4530 30 0001 C CNN
F 2 "" H 13550 4600 60 0001 C CNN
F 3 "" H 13550 4600 60 0001 C CNN
1 13550 4600 1 13550 4600
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -1988,6 +2182,8 @@ U 1 1 461BAF13
P 12650 5000 P 12650 5000
F 0 "#PWR047" H 12650 5000 30 0001 C CNN F 0 "#PWR047" H 12650 5000 30 0001 C CNN
F 1 "GND" H 12650 4930 30 0001 C CNN F 1 "GND" H 12650 4930 30 0001 C CNN
F 2 "" H 12650 5000 60 0001 C CNN
F 3 "" H 12650 5000 60 0001 C CNN
1 12650 5000 1 12650 5000
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -1997,6 +2193,8 @@ U 1 1 461BAEE7
P 13150 4300 P 13150 4300
F 0 "BDM_PORT1" H 13150 5000 60 0000 C CNN F 0 "BDM_PORT1" H 13150 5000 60 0000 C CNN
F 1 "CONN_13X2" V 13150 4300 50 0000 C CNN F 1 "CONN_13X2" V 13150 4300 50 0000 C CNN
F 2 "" H 13150 4300 60 0001 C CNN
F 3 "" H 13150 4300 60 0001 C CNN
1 13150 4300 1 13150 4300
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2006,6 +2204,8 @@ U 1 1 461BAEA3
P 6300 9800 P 6300 9800
F 0 "#PWR048" H 6300 9900 30 0001 C CNN F 0 "#PWR048" H 6300 9900 30 0001 C CNN
F 1 "VDD" H 6300 9910 30 0000 C CNN F 1 "VDD" H 6300 9910 30 0000 C CNN
F 2 "" H 6300 9800 60 0001 C CNN
F 3 "" H 6300 9800 60 0001 C CNN
1 6300 9800 1 6300 9800
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2015,6 +2215,8 @@ U 1 1 46161D48
P 9650 10400 P 9650 10400
F 0 "#PWR049" H 9650 10400 30 0001 C CNN F 0 "#PWR049" H 9650 10400 30 0001 C CNN
F 1 "GND" H 9650 10330 30 0001 C CNN F 1 "GND" H 9650 10330 30 0001 C CNN
F 2 "" H 9650 10400 60 0001 C CNN
F 3 "" H 9650 10400 60 0001 C CNN
1 9650 10400 1 9650 10400
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2024,6 +2226,8 @@ U 1 1 46161D3C
P 9650 10100 P 9650 10100
F 0 "C17" H 9700 10200 50 0000 L CNN F 0 "C17" H 9700 10200 50 0000 L CNN
F 1 "100uF" H 9700 10000 50 0000 L CNN F 1 "100uF" H 9700 10000 50 0000 L CNN
F 2 "" H 9650 10100 60 0001 C CNN
F 3 "" H 9650 10100 60 0001 C CNN
1 9650 10100 1 9650 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2033,6 +2237,8 @@ U 1 1 46161D18
P 5650 9800 P 5650 9800
F 0 "#PWR050" H 5650 9760 30 0001 C CNN F 0 "#PWR050" H 5650 9760 30 0001 C CNN
F 1 "+3.3V" H 5650 9910 30 0000 C CNN F 1 "+3.3V" H 5650 9910 30 0000 C CNN
F 2 "" H 5650 9800 60 0001 C CNN
F 3 "" H 5650 9800 60 0001 C CNN
1 5650 9800 1 5650 9800
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2042,6 +2248,8 @@ U 1 1 46161CDA
P 9250 10100 P 9250 10100
F 0 "C12" H 9300 10200 50 0000 L CNN F 0 "C12" H 9300 10200 50 0000 L CNN
F 1 "100nF" H 9300 10000 50 0000 L CNN F 1 "100nF" H 9300 10000 50 0000 L CNN
F 2 "" H 9250 10100 60 0001 C CNN
F 3 "" H 9250 10100 60 0001 C CNN
1 9250 10100 1 9250 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2051,6 +2259,8 @@ U 1 1 46161CD9
P 8900 10100 P 8900 10100
F 0 "C11" H 8950 10200 50 0000 L CNN F 0 "C11" H 8950 10200 50 0000 L CNN
F 1 "100nF" H 8950 10000 50 0000 L CNN F 1 "100nF" H 8950 10000 50 0000 L CNN
F 2 "" H 8900 10100 60 0001 C CNN
F 3 "" H 8900 10100 60 0001 C CNN
1 8900 10100 1 8900 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2060,6 +2270,8 @@ U 1 1 46161CD8
P 8500 10100 P 8500 10100
F 0 "C10" H 8550 10200 50 0000 L CNN F 0 "C10" H 8550 10200 50 0000 L CNN
F 1 "100nF" H 8550 10000 50 0000 L CNN F 1 "100nF" H 8550 10000 50 0000 L CNN
F 2 "" H 8500 10100 60 0001 C CNN
F 3 "" H 8500 10100 60 0001 C CNN
1 8500 10100 1 8500 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2069,6 +2281,8 @@ U 1 1 46161CD7
P 8150 10100 P 8150 10100
F 0 "C9" H 8200 10200 50 0000 L CNN F 0 "C9" H 8200 10200 50 0000 L CNN
F 1 "100nF" H 8200 10000 50 0000 L CNN F 1 "100nF" H 8200 10000 50 0000 L CNN
F 2 "" H 8150 10100 60 0001 C CNN
F 3 "" H 8150 10100 60 0001 C CNN
1 8150 10100 1 8150 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2078,6 +2292,8 @@ U 1 1 46161CD4
P 7800 10100 P 7800 10100
F 0 "C8" H 7850 10200 50 0000 L CNN F 0 "C8" H 7850 10200 50 0000 L CNN
F 1 "100nF" H 7850 10000 50 0000 L CNN F 1 "100nF" H 7850 10000 50 0000 L CNN
F 2 "" H 7800 10100 60 0001 C CNN
F 3 "" H 7800 10100 60 0001 C CNN
1 7800 10100 1 7800 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2087,6 +2303,8 @@ U 1 1 46161CD3
P 7450 10100 P 7450 10100
F 0 "C7" H 7500 10200 50 0000 L CNN F 0 "C7" H 7500 10200 50 0000 L CNN
F 1 "100nF" H 7500 10000 50 0000 L CNN F 1 "100nF" H 7500 10000 50 0000 L CNN
F 2 "" H 7450 10100 60 0001 C CNN
F 3 "" H 7450 10100 60 0001 C CNN
1 7450 10100 1 7450 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2096,6 +2314,8 @@ U 1 1 46161CB8
P 6650 10100 P 6650 10100
F 0 "C5" H 6700 10200 50 0000 L CNN F 0 "C5" H 6700 10200 50 0000 L CNN
F 1 "100nF" H 6700 10000 50 0000 L CNN F 1 "100nF" H 6700 10000 50 0000 L CNN
F 2 "" H 6650 10100 60 0001 C CNN
F 3 "" H 6650 10100 60 0001 C CNN
1 6650 10100 1 6650 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -2105,6 +2325,8 @@ U 1 1 46161CB5
P 6300 10100 P 6300 10100
F 0 "C4" H 6350 10200 50 0000 L CNN F 0 "C4" H 6350 10200 50 0000 L CNN
F 1 "100nF" H 6350 10000 50 0000 L CNN F 1 "100nF" H 6350 10000 50 0000 L CNN
F 2 "" H 6300 10100 60 0001 C CNN
F 3 "" H 6300 10100 60 0001 C CNN
1 6300 10100 1 6300 10100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp

View File

@ -1,4 +1,4 @@
EESchema Schematic File Version 2 date 27/11/2009 11:46:34 EESchema Schematic File Version 2
LIBS:power LIBS:power
LIBS:device LIBS:device
LIBS:transistors LIBS:transistors
@ -6,31 +6,17 @@ LIBS:conn
LIBS:linear LIBS:linear
LIBS:regul LIBS:regul
LIBS:74xx LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac LIBS:adc-dac
LIBS:memory LIBS:memory
LIBS:xilinx LIBS:xilinx
LIBS:special LIBS:special
LIBS:microcontrollers LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:contrib
LIBS:valves
LIBS:kit-dev-coldfire-xilinx_5213-cache LIBS:kit-dev-coldfire-xilinx_5213-cache
EELAYER 23 0 EELAYER 24 0
EELAYER END EELAYER END
$Descr A4 11700 8267 $Descr A4 11693 8268
encoding utf-8
Sheet 3 3 Sheet 3 3
Title "Dev kit coldfire 5213" Title "Dev kit coldfire 5213"
Date "8 feb 2008" Date "8 feb 2008"
@ -377,6 +363,8 @@ U 1 1 480DCF5A
P 3500 4100 P 3500 4100
F 0 "#PWR0105" H 3500 4100 30 0001 C CNN F 0 "#PWR0105" H 3500 4100 30 0001 C CNN
F 1 "GND" H 3500 4030 30 0001 C CNN F 1 "GND" H 3500 4030 30 0001 C CNN
F 2 "" H 3500 4100 60 0001 C CNN
F 3 "" H 3500 4100 60 0001 C CNN
1 3500 4100 1 3500 4100
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -386,6 +374,8 @@ U 1 1 4791D619
P 10850 3900 P 10850 3900
F 0 "#PWR0106" H 10850 3860 30 0001 C CNN F 0 "#PWR0106" H 10850 3860 30 0001 C CNN
F 1 "+3,3V" H 10850 4010 30 0000 C CNN F 1 "+3,3V" H 10850 4010 30 0000 C CNN
F 2 "" H 10850 3900 60 0001 C CNN
F 3 "" H 10850 3900 60 0001 C CNN
1 10850 3900 1 10850 3900
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -395,6 +385,8 @@ U 1 1 4791D59D
P 10450 3900 P 10450 3900
F 0 "R64" V 10530 3900 50 0000 C CNN F 0 "R64" V 10530 3900 50 0000 C CNN
F 1 "3,3" V 10450 3900 50 0000 C CNN F 1 "3,3" V 10450 3900 50 0000 C CNN
F 2 "" H 10450 3900 60 0001 C CNN
F 3 "" H 10450 3900 60 0001 C CNN
1 10450 3900 1 10450 3900
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -428,6 +420,8 @@ U 1 1 470F3BF2
P 3450 1250 P 3450 1250
F 0 "#PWR0107" H 3450 1250 30 0001 C CNN F 0 "#PWR0107" H 3450 1250 30 0001 C CNN
F 1 "GND" H 3450 1180 30 0001 C CNN F 1 "GND" H 3450 1180 30 0001 C CNN
F 2 "" H 3450 1250 60 0001 C CNN
F 3 "" H 3450 1250 60 0001 C CNN
1 3450 1250 1 3450 1250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -476,6 +470,8 @@ U 1 1 46A76EB2
P 6600 1250 P 6600 1250
F 0 "P3" H 6600 1400 50 0000 C CNN F 0 "P3" H 6600 1400 50 0000 C CNN
F 1 "CONN_2X2" H 6610 1120 40 0000 C CNN F 1 "CONN_2X2" H 6610 1120 40 0000 C CNN
F 2 "" H 6600 1250 60 0001 C CNN
F 3 "" H 6600 1250 60 0001 C CNN
1 6600 1250 1 6600 1250
-1 0 0 -1 -1 0 0 -1
$EndComp $EndComp
@ -485,6 +481,8 @@ U 1 1 470F38BE
P 4550 4100 P 4550 4100
F 0 "U9" H 4600 4150 70 0000 C CNN F 0 "U9" H 4600 4150 70 0000 C CNN
F 1 "XCR3256-TQ144" H 4550 500 60 0000 C CNN F 1 "XCR3256-TQ144" H 4550 500 60 0000 C CNN
F 2 "" H 4550 4100 60 0001 C CNN
F 3 "" H 4550 4100 60 0001 C CNN
1 4550 4100 1 4550 4100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -584,6 +582,8 @@ U 1 1 46ADE620
P 9600 4000 P 9600 4000
F 0 "#PWR0108" H 9600 4000 30 0001 C CNN F 0 "#PWR0108" H 9600 4000 30 0001 C CNN
F 1 "GND" H 9600 3930 30 0001 C CNN F 1 "GND" H 9600 3930 30 0001 C CNN
F 2 "" H 9600 4000 60 0001 C CNN
F 3 "" H 9600 4000 60 0001 C CNN
1 9600 4000 1 9600 4000
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -593,6 +593,8 @@ U 1 1 46ADE61B
P 9600 2100 P 9600 2100
F 0 "#PWR0109" H 9600 2100 30 0001 C CNN F 0 "#PWR0109" H 9600 2100 30 0001 C CNN
F 1 "GND" H 9600 2030 30 0001 C CNN F 1 "GND" H 9600 2030 30 0001 C CNN
F 2 "" H 9600 2100 60 0001 C CNN
F 3 "" H 9600 2100 60 0001 C CNN
1 9600 2100 1 9600 2100
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -660,6 +662,8 @@ U 1 1 46ADE55A
P 9200 3050 P 9200 3050
F 0 "P4" H 9250 3100 60 0000 C CNN F 0 "P4" H 9250 3100 60 0000 C CNN
F 1 "CONN_20X2" V 9200 3050 50 0000 C CNN F 1 "CONN_20X2" V 9200 3050 50 0000 C CNN
F 2 "" H 9200 3050 60 0001 C CNN
F 3 "" H 9200 3050 60 0001 C CNN
1 9200 3050 1 9200 3050
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -699,6 +703,8 @@ U 1 1 46A76BD3
P 2750 1300 P 2750 1300
F 0 "#PWR0110" H 2750 1260 30 0001 C CNN F 0 "#PWR0110" H 2750 1260 30 0001 C CNN
F 1 "+3,3V" V 2750 1500 30 0000 C CNN F 1 "+3,3V" V 2750 1500 30 0000 C CNN
F 2 "" H 2750 1300 60 0001 C CNN
F 3 "" H 2750 1300 60 0001 C CNN
1 2750 1300 1 2750 1300
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -708,6 +714,8 @@ U 1 1 46A76BD2
P 3550 650 P 3550 650
F 0 "#PWR0111" H 3550 610 30 0001 C CNN F 0 "#PWR0111" H 3550 610 30 0001 C CNN
F 1 "+3,3V" H 3550 760 30 0000 C CNN F 1 "+3,3V" H 3550 760 30 0000 C CNN
F 2 "" H 3550 650 60 0001 C CNN
F 3 "" H 3550 650 60 0001 C CNN
1 3550 650 1 3550 650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -717,6 +725,8 @@ U 1 1 46A76BCA
P 3300 650 P 3300 650
F 0 "R57" V 3380 650 50 0000 C CNN F 0 "R57" V 3380 650 50 0000 C CNN
F 1 "4K7" V 3300 650 50 0000 C CNN F 1 "4K7" V 3300 650 50 0000 C CNN
F 2 "" H 3300 650 60 0001 C CNN
F 3 "" H 3300 650 60 0001 C CNN
1 3300 650 1 3300 650
0 1 1 0 0 1 1 0
$EndComp $EndComp
@ -728,6 +738,8 @@ U 1 1 46A76BC5
P 9500 4950 P 9500 4950
F 0 "#PWR0112" H 9500 4950 40 0001 C CNN F 0 "#PWR0112" H 9500 4950 40 0001 C CNN
F 1 "GND" H 9500 4880 40 0001 C CNN F 1 "GND" H 9500 4880 40 0001 C CNN
F 2 "" H 9500 4950 60 0001 C CNN
F 3 "" H 9500 4950 60 0001 C CNN
1 9500 4950 1 9500 4950
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -737,6 +749,8 @@ U 1 1 46A76BC4
P 9300 4950 P 9300 4950
F 0 "D8" H 9300 5050 50 0000 C CNN F 0 "D8" H 9300 5050 50 0000 C CNN
F 1 "LED" H 9300 4850 50 0000 C CNN F 1 "LED" H 9300 4850 50 0000 C CNN
F 2 "" H 9300 4950 60 0001 C CNN
F 3 "" H 9300 4950 60 0001 C CNN
1 9300 4950 1 9300 4950
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -746,6 +760,8 @@ U 1 1 46A76BC3
P 8800 4950 P 8800 4950
F 0 "R62" V 8880 4950 50 0000 C CNN F 0 "R62" V 8880 4950 50 0000 C CNN
F 1 "1K" V 8800 4950 50 0000 C CNN F 1 "1K" V 8800 4950 50 0000 C CNN
F 2 "" H 8800 4950 60 0001 C CNN
F 3 "" H 8800 4950 60 0001 C CNN
1 8800 4950 1 8800 4950
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -755,6 +771,8 @@ U 1 1 46A76BC1
P 7650 6650 P 7650 6650
F 0 "#PWR0113" H 7650 6650 30 0001 C CNN F 0 "#PWR0113" H 7650 6650 30 0001 C CNN
F 1 "GND" H 7650 6580 30 0001 C CNN F 1 "GND" H 7650 6580 30 0001 C CNN
F 2 "" H 7650 6650 60 0001 C CNN
F 3 "" H 7650 6650 60 0001 C CNN
1 7650 6650 1 7650 6650
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -764,6 +782,8 @@ U 1 1 46A76BBF
P 7650 6050 P 7650 6050
F 0 "#PWR0114" H 7650 6010 30 0001 C CNN F 0 "#PWR0114" H 7650 6010 30 0001 C CNN
F 1 "+3,3V" H 7650 6160 30 0000 C CNN F 1 "+3,3V" H 7650 6160 30 0000 C CNN
F 2 "" H 7650 6050 60 0001 C CNN
F 3 "" H 7650 6050 60 0001 C CNN
1 7650 6050 1 7650 6050
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -773,6 +793,8 @@ U 1 1 46A76BBC
P 10650 6350 P 10650 6350
F 0 "C61" H 10700 6450 50 0000 L CNN F 0 "C61" H 10700 6450 50 0000 L CNN
F 1 "100nF" H 10650 6250 50 0000 L CNN F 1 "100nF" H 10650 6250 50 0000 L CNN
F 2 "" H 10650 6350 60 0001 C CNN
F 3 "" H 10650 6350 60 0001 C CNN
1 10650 6350 1 10650 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -782,6 +804,8 @@ U 1 1 46A76BBB
P 10350 6350 P 10350 6350
F 0 "C60" H 10400 6450 50 0000 L CNN F 0 "C60" H 10400 6450 50 0000 L CNN
F 1 "100nF" H 10350 6250 50 0000 L CNN F 1 "100nF" H 10350 6250 50 0000 L CNN
F 2 "" H 10350 6350 60 0001 C CNN
F 3 "" H 10350 6350 60 0001 C CNN
1 10350 6350 1 10350 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -791,6 +815,8 @@ U 1 1 46A76BBA
P 10050 6350 P 10050 6350
F 0 "C59" H 10100 6450 50 0000 L CNN F 0 "C59" H 10100 6450 50 0000 L CNN
F 1 "100nF" H 10050 6250 50 0000 L CNN F 1 "100nF" H 10050 6250 50 0000 L CNN
F 2 "" H 10050 6350 60 0001 C CNN
F 3 "" H 10050 6350 60 0001 C CNN
1 10050 6350 1 10050 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -800,6 +826,8 @@ U 1 1 46A76BB5
P 8550 6350 P 8550 6350
F 0 "C54" H 8600 6450 50 0000 L CNN F 0 "C54" H 8600 6450 50 0000 L CNN
F 1 "100nF" H 8550 6250 50 0000 L CNN F 1 "100nF" H 8550 6250 50 0000 L CNN
F 2 "" H 8550 6350 60 0001 C CNN
F 3 "" H 8550 6350 60 0001 C CNN
1 8550 6350 1 8550 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -809,6 +837,8 @@ U 1 1 46A76BB4
P 8250 6350 P 8250 6350
F 0 "C53" H 8300 6450 50 0000 L CNN F 0 "C53" H 8300 6450 50 0000 L CNN
F 1 "100nF" H 8250 6250 50 0000 L CNN F 1 "100nF" H 8250 6250 50 0000 L CNN
F 2 "" H 8250 6350 60 0001 C CNN
F 3 "" H 8250 6350 60 0001 C CNN
1 8250 6350 1 8250 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -818,6 +848,8 @@ U 1 1 46A76BB3
P 7950 6350 P 7950 6350
F 0 "C52" H 8000 6450 50 0000 L CNN F 0 "C52" H 8000 6450 50 0000 L CNN
F 1 "100nF" H 7950 6250 50 0000 L CNN F 1 "100nF" H 7950 6250 50 0000 L CNN
F 2 "" H 7950 6350 60 0001 C CNN
F 3 "" H 7950 6350 60 0001 C CNN
1 7950 6350 1 7950 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -827,6 +859,8 @@ U 1 1 46A76BB2
P 7650 6350 P 7650 6350
F 0 "C51" H 7700 6450 50 0000 L CNN F 0 "C51" H 7700 6450 50 0000 L CNN
F 1 "100nF" H 7650 6250 50 0000 L CNN F 1 "100nF" H 7650 6250 50 0000 L CNN
F 2 "" H 7650 6350 60 0001 C CNN
F 3 "" H 7650 6350 60 0001 C CNN
1 7650 6350 1 7650 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -836,6 +870,8 @@ U 1 1 46A76BB1
P 9750 6350 P 9750 6350
F 0 "C58" H 9800 6450 50 0000 L CNN F 0 "C58" H 9800 6450 50 0000 L CNN
F 1 "100nF" H 9750 6250 50 0000 L CNN F 1 "100nF" H 9750 6250 50 0000 L CNN
F 2 "" H 9750 6350 60 0001 C CNN
F 3 "" H 9750 6350 60 0001 C CNN
1 9750 6350 1 9750 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -845,6 +881,8 @@ U 1 1 46A76BB0
P 9450 6350 P 9450 6350
F 0 "C57" H 9500 6450 50 0000 L CNN F 0 "C57" H 9500 6450 50 0000 L CNN
F 1 "100nF" H 9450 6250 50 0000 L CNN F 1 "100nF" H 9450 6250 50 0000 L CNN
F 2 "" H 9450 6350 60 0001 C CNN
F 3 "" H 9450 6350 60 0001 C CNN
1 9450 6350 1 9450 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -854,6 +892,8 @@ U 1 1 46A76BAF
P 9150 6350 P 9150 6350
F 0 "C56" H 9200 6450 50 0000 L CNN F 0 "C56" H 9200 6450 50 0000 L CNN
F 1 "100nF" H 9150 6250 50 0000 L CNN F 1 "100nF" H 9150 6250 50 0000 L CNN
F 2 "" H 9150 6350 60 0001 C CNN
F 3 "" H 9150 6350 60 0001 C CNN
1 9150 6350 1 9150 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -863,6 +903,8 @@ U 1 1 46A76BAE
P 8850 6350 P 8850 6350
F 0 "C55" H 8900 6450 50 0000 L CNN F 0 "C55" H 8900 6450 50 0000 L CNN
F 1 "100nF" H 8850 6250 50 0000 L CNN F 1 "100nF" H 8850 6250 50 0000 L CNN
F 2 "" H 8850 6350 60 0001 C CNN
F 3 "" H 8850 6350 60 0001 C CNN
1 8850 6350 1 8850 6350
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -876,6 +918,8 @@ U 1 1 46A76BA9
P 9500 5250 P 9500 5250
F 0 "#PWR0115" H 9500 5250 40 0001 C CNN F 0 "#PWR0115" H 9500 5250 40 0001 C CNN
F 1 "GND" H 9500 5180 40 0001 C CNN F 1 "GND" H 9500 5180 40 0001 C CNN
F 2 "" H 9500 5250 60 0001 C CNN
F 3 "" H 9500 5250 60 0001 C CNN
1 9500 5250 1 9500 5250
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -885,6 +929,8 @@ U 1 1 46A76BA8
P 9300 5250 P 9300 5250
F 0 "D9" H 9300 5350 50 0000 C CNN F 0 "D9" H 9300 5350 50 0000 C CNN
F 1 "LED" H 9300 5150 50 0000 C CNN F 1 "LED" H 9300 5150 50 0000 C CNN
F 2 "" H 9300 5250 60 0001 C CNN
F 3 "" H 9300 5250 60 0001 C CNN
1 9300 5250 1 9300 5250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
@ -894,6 +940,8 @@ U 1 1 46A76BA7
P 8800 5250 P 8800 5250
F 0 "R63" V 8880 5250 50 0000 C CNN F 0 "R63" V 8880 5250 50 0000 C CNN
F 1 "1K" V 8800 5250 50 0000 C CNN F 1 "1K" V 8800 5250 50 0000 C CNN
F 2 "" H 8800 5250 60 0001 C CNN
F 3 "" H 8800 5250 60 0001 C CNN
1 8800 5250 1 8800 5250
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp
@ -909,6 +957,8 @@ U 1 1 46A76BA6
P 2350 1050 P 2350 1050
F 0 "P1" V 2300 1050 60 0000 C CNN F 0 "P1" V 2300 1050 60 0000 C CNN
F 1 "CONN_6" V 2400 1050 60 0000 C CNN F 1 "CONN_6" V 2400 1050 60 0000 C CNN
F 2 "" H 2350 1050 60 0001 C CNN
F 3 "" H 2350 1050 60 0001 C CNN
1 2350 1050 1 2350 1050
-1 0 0 1 -1 0 0 1
$EndComp $EndComp
@ -918,6 +968,8 @@ U 1 1 46A76BA5
P 2700 1200 P 2700 1200
F 0 "#PWR0116" H 2700 1200 40 0001 C CNN F 0 "#PWR0116" H 2700 1200 40 0001 C CNN
F 1 "GND" H 2700 1130 40 0001 C CNN F 1 "GND" H 2700 1130 40 0001 C CNN
F 2 "" H 2700 1200 60 0001 C CNN
F 3 "" H 2700 1200 60 0001 C CNN
1 2700 1200 1 2700 1200
0 -1 -1 0 0 -1 -1 0
$EndComp $EndComp

View File

@ -1,25 +1,44 @@
# EESchema Netlist Version 1.1 created 19/12/2011 12:55:28 (export (version D)
( (design
( /4EE5056D $noname P4 CONN_1 {Lib=CONN_1} (source F:/kicad-launchpad/testing/demos/test_pads_inside_pads/test_pads_inside_pads.sch)
( 1 /NET1 ) (date "09/01/2014 15:29:02")
) (tool "eeschema (2014-01-08 BZR 4616)-product"))
( /4EE5056C $noname P3 CONN_1 {Lib=CONN_1} (components
( 1 /NET1 ) (comp (ref P4)
) (value CONN_1)
( /4EDF7CC5 $noname P1 CONN_1 {Lib=CONN_1} (libsource (lib conn) (part CONN_1))
( 1 /NET2 ) (sheetpath (names /) (tstamps /))
) (tstamp 4EE5056D))
( /4EDF7CC0 $noname P2 CONN_1 {Lib=CONN_1} (comp (ref P3)
( 1 /NET2 ) (value CONN_1)
) (libsource (lib conn) (part CONN_1))
) (sheetpath (names /) (tstamps /))
* (tstamp 4EE5056C))
{ Pin List by Nets (comp (ref P1)
Net 1 "/NET1" "NET1" (value CONN_1)
P4 1 (libsource (lib conn) (part CONN_1))
P3 1 (sheetpath (names /) (tstamps /))
Net 2 "/NET2" "NET2" (tstamp 4EDF7CC5))
P1 1 (comp (ref P2)
P2 1 (value CONN_1)
} (libsource (lib conn) (part CONN_1))
#End (sheetpath (names /) (tstamps /))
(tstamp 4EDF7CC0)))
(libparts
(libpart (lib conn) (part CONN_1)
(description "1 pin")
(fields
(field (name Reference) P)
(field (name Value) CONN_1))
(pins
(pin (num 1) (name 1) (type passive)))))
(libraries
(library (logical conn)
(uri F:\kicad\share\library\conn.lib)))
(nets
(net (code 1) (name /NET1)
(node (ref P4) (pin 1))
(node (ref P3) (pin 1)))
(net (code 2) (name /NET2)
(node (ref P1) (pin 1))
(node (ref P2) (pin 1)))))

View File

@ -1,10 +1,13 @@
EESchema-LIBRARY Version 2.3 Date: 02/12/2009 10:35:45 EESchema-LIBRARY Version 2.3
#encoding utf-8
# #
# +12V # +12V
# #
DEF +12V #PWR 0 0 N Y 1 F P DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X +12V 1 0 0 0 U 20 30 0 0 W N X +12V 1 0 0 0 U 20 30 0 0 W N
C 0 60 20 0 1 0 N C 0 60 20 0 1 0 N
@ -17,6 +20,8 @@ ENDDEF
DEF -12V #PWR 0 0 Y Y 1 F P DEF -12V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 130 20 H I C CNN F0 "#PWR" 0 130 20 H I C CNN
F1 "-12V" 0 100 30 H V C CNN F1 "-12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X -12V 1 0 0 0 U 20 20 0 0 W N X -12V 1 0 0 0 U 20 20 0 0 W N
P 3 0 1 0 0 0 0 50 0 50 N P 3 0 1 0 0 0 0 50 0 50 N
@ -29,6 +34,8 @@ ENDDEF
DEF 74HCT04 U 0 30 Y Y 6 F N DEF 74HCT04 U 0 30 Y Y 6 F N
F0 "U" 150 100 40 H V C CNN F0 "U" 150 100 40 H V C CNN
F1 "74HCT04" 200 -100 40 H V C CNN F1 "74HCT04" 200 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS 74HC14 74HC04 74LS14 ALIAS 74HC14 74HC04 74LS14
DRAW DRAW
P 4 0 0 0 -150 150 -150 -150 150 0 -150 150 N P 4 0 0 0 -150 150 -150 -150 150 0 -150 150 N
@ -66,6 +73,8 @@ ENDDEF
DEF 7805 U 0 30 N Y 1 F N DEF 7805 U 0 30 N Y 1 F N
F0 "U" 150 -196 60 H V C CNN F0 "U" 150 -196 60 H V C CNN
F1 "7805" 0 200 60 H V C CNN F1 "7805" 0 200 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS LM7805 LM7812 78L05 ALIAS LM7805 LM7812 78L05
DRAW DRAW
S -200 -150 200 150 0 1 0 N S -200 -150 200 150 0 1 0 N
@ -78,16 +87,18 @@ ENDDEF
# C # C
# #
DEF C C 0 10 N Y 1 F N DEF C C 0 10 N Y 1 F N
F0 "C" 50 100 50 H V L CNN F0 "C" 0 100 40 H V L CNN
F1 "C" 50 -100 50 H V L CNN F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 100 30 H V C CNN
$FPLIST $FPLIST
SM* SM*
C? C?
C1-1 C1-1
$ENDFPLIST $ENDFPLIST
DRAW DRAW
P 2 0 1 10 -100 -30 100 -30 N P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 10 -100 30 100 30 N P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW ENDDRAW
@ -98,6 +109,8 @@ ENDDEF
DEF CONN_2 P 0 40 Y N 1 F N DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 150 100 -150 0 1 0 N S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I X P1 1 -350 100 250 R 60 60 1 1 P I
@ -110,6 +123,8 @@ ENDDEF
DEF CONN_2X2 P 0 40 Y N 1 F N DEF CONN_2X2 P 0 40 Y N 1 F N
F0 "P" 0 150 50 H V C CNN F0 "P" 0 150 50 H V C CNN
F1 "CONN_2X2" 10 -130 40 H V C CNN F1 "CONN_2X2" 10 -130 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 100 100 -100 0 1 0 N S -100 100 100 -100 0 1 0 N
X 1 1 -400 50 300 R 60 60 1 1 P I X 1 1 -400 50 300 R 60 60 1 1 P I
@ -124,6 +139,8 @@ ENDDEF
DEF CONN_3 K 0 40 Y N 1 F N DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -100 150 100 -150 0 1 0 N S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I X P1 1 -350 100 250 R 60 60 1 1 P I
@ -135,15 +152,17 @@ ENDDEF
# CP # CP
# #
DEF CP C 0 10 N N 1 F N DEF CP C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN F0 "C" 50 100 40 H V L CNN
F1 "CP" 50 -100 50 H V L CNN F1 "CP" 50 -100 40 H V L CNN
F2 "" 100 -150 30 H V C CNN
F3 "" 50 100 30 H V C CNN
ALIAS CAPAPOL ALIAS CAPAPOL
$FPLIST $FPLIST
CP* CP*
SM* SM*
$ENDFPLIST $ENDFPLIST
DRAW DRAW
P 4 0 1 8 -100 50 -100 -50 100 -50 100 50 N P 4 0 1 8 -80 50 -80 -50 80 -50 80 50 N
P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F
X ~ 1 0 200 150 D 40 40 1 1 P X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 150 U 40 40 1 1 P X ~ 2 0 -200 150 U 40 40 1 1 P
@ -152,9 +171,11 @@ ENDDEF
# #
# CRYSTAL # CRYSTAL
# #
DEF CRYSTAL X 0 40 N N 0 F N DEF CRYSTAL X 0 40 N N 1 F N
F0 "X" 0 150 60 H V C CNN F0 "X" 0 150 60 H V C CNN
F1 "CRYSTAL" 0 -150 60 H V C CNN F1 "CRYSTAL" 0 -150 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 2 0 1 16 -100 100 -100 -100 N P 2 0 1 16 -100 100 -100 -100 N
P 2 0 1 16 100 100 100 -100 N P 2 0 1 16 100 100 100 -100 N
@ -169,6 +190,8 @@ ENDDEF
DEF DB25 J 0 40 Y N 1 F N DEF DB25 J 0 40 Y N 1 F N
F0 "J" 50 1350 70 H V C CNN F0 "J" 50 1350 70 H V C CNN
F1 "DB25" -50 -1350 70 H V C CNN F1 "DB25" -50 -1350 70 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
A -109 1270 41 1799 774 0 1 0 N -150 1270 -100 1310 A -109 1270 41 1799 774 0 1 0 N -150 1270 -100 1310
A -108 -1259 42 -1787 -788 0 1 0 N -150 -1260 -100 -1300 A -108 -1259 42 -1787 -788 0 1 0 N -150 -1260 -100 -1300
@ -261,6 +284,8 @@ ENDDEF
DEF DB9 J 0 40 Y N 1 F N DEF DB9 J 0 40 Y N 1 F N
F0 "J" 0 550 70 H V C CNN F0 "J" 0 550 70 H V C CNN
F1 "DB9" 0 -550 70 H V C CNN F1 "DB9" 0 -550 70 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
C -70 -400 30 0 1 0 N C -70 -400 30 0 1 0 N
C -70 -200 30 0 1 0 N C -70 -200 30 0 1 0 N
@ -309,6 +334,8 @@ ENDDEF
DEF DIODE D 0 40 N N 1 F N DEF DIODE D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN F0 "D" 0 100 40 H V C CNN
F1 "DIODE" 0 -100 40 H V C CNN F1 "DIODE" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
D? D?
S* S*
@ -326,6 +353,8 @@ ENDDEF
DEF ~GND #PWR 0 0 Y Y 1 F P DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N X GND 1 0 0 0 U 30 30 1 1 W N
@ -337,6 +366,8 @@ ENDDEF
DEF LED D 0 40 Y N 1 F N DEF LED D 0 40 Y N 1 F N
F0 "D" 0 100 50 H V C CNN F0 "D" 0 100 50 H V C CNN
F1 "LED" 0 -100 50 H V C CNN F1 "LED" 0 -100 50 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST $FPLIST
LED-3MM LED-3MM
LED-5MM LED-5MM
@ -361,6 +392,8 @@ ENDDEF
DEF LM318N U 0 30 Y Y 1 F N DEF LM318N U 0 30 Y Y 1 F N
F0 "U" 100 300 60 H V C CNN F0 "U" 100 300 60 H V C CNN
F1 "LM318N" 210 -250 60 H V C CNN F1 "LM318N" 210 -250 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
P 2 0 1 0 -200 -200 -200 200 N P 2 0 1 0 -200 -200 -200 200 N
P 2 0 1 0 -200 200 200 0 N P 2 0 1 0 -200 200 200 0 N
@ -382,25 +415,29 @@ ENDDEF
# PWR_FLAG # PWR_FLAG
# #
DEF PWR_FLAG #FLG 0 0 N N 1 F P DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 270 30 H I C CNN F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 230 30 H V C CNN F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X pwr 1 0 0 0 U 20 20 0 0 w X pwr 1 0 0 0 U 20 20 0 0 w
P 3 0 1 0 0 0 0 100 0 100 N P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
P 5 0 1 0 0 100 -100 150 0 200 100 150 0 100 N
ENDDRAW ENDDRAW
ENDDEF ENDDEF
# #
# R # R
# #
DEF R R 0 0 N Y 1 F N DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN F0 "R" 80 0 40 V V C CNN
F1 "R" 0 0 50 V V C CNN F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST $FPLIST
R? R?
SM0603 SM0603
SM0805 SM0805
R?-* R?-*
SM1206
$ENDFPLIST $ENDFPLIST
DRAW DRAW
S -40 150 40 -150 0 1 12 N S -40 150 40 -150 0 1 12 N
@ -414,6 +451,8 @@ ENDDEF
DEF RAM_32KO U 0 40 Y Y 1 F N DEF RAM_32KO U 0 40 Y Y 1 F N
F0 "U" 150 900 70 H V C CNN F0 "U" 150 900 70 H V C CNN
F1 "RAM_32KO" 300 -1100 60 H V C CNN F1 "RAM_32KO" 300 -1100 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X GND 14 0 -1050 0 U 60 60 0 0 W N X GND 14 0 -1050 0 U 60 60 0 0 W N
X VCC 28 0 850 0 D 60 60 0 0 W N X VCC 28 0 850 0 D 60 60 0 0 W N
@ -452,6 +491,8 @@ ENDDEF
DEF SW_PUSH SW 0 40 N N 1 F N DEF SW_PUSH SW 0 40 N N 1 F N
F0 "SW" 150 110 50 H V C CNN F0 "SW" 150 110 50 H V C CNN
F1 "SW_PUSH" 0 -80 50 H V C CNN F1 "SW_PUSH" 0 -80 50 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -170 50 170 60 0 1 0 N S -170 50 170 60 0 1 0 N
P 4 0 1 0 -40 60 -30 90 30 90 40 60 N P 4 0 1 0 -40 60 -30 90 30 90 40 60 N
@ -465,6 +506,8 @@ ENDDEF
DEF TDA8702 U 0 40 Y Y 1 F N DEF TDA8702 U 0 40 Y Y 1 F N
F0 "U" 200 800 60 H V L CNN F0 "U" 200 800 60 H V L CNN
F1 "TDA8702" 200 -800 60 H V L CNN F1 "TDA8702" 200 -800 60 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -500 700 500 -700 0 1 0 N S -500 700 500 -700 0 1 0 N
X VREF 1 -800 -400 300 R 50 50 1 1 B X VREF 1 -800 -400 300 R 50 50 1 1 B
@ -509,6 +552,8 @@ ENDDEF
DEF VCC #PWR 0 0 Y Y 1 F P DEF VCC #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 100 30 H I C CNN F0 "#PWR" 0 100 30 H I C CNN
F1 "VCC" 0 100 30 H V C CNN F1 "VCC" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
X VCC 1 0 0 0 U 20 20 0 0 W N X VCC 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N C 0 50 20 0 1 0 N
@ -521,6 +566,8 @@ ENDDEF
DEF XC95108PC84 U 0 30 Y Y 1 F N DEF XC95108PC84 U 0 30 Y Y 1 F N
F0 "U" 550 2550 60 H V L CNN F0 "U" 550 2550 60 H V L CNN
F1 "XC95108PC84" 400 -1950 60 H V L CNN F1 "XC95108PC84" 400 -1950 60 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW DRAW
S -850 2450 850 -1850 0 1 0 N S -850 2450 850 -1850 0 1 0 N
X P1 1 -1150 1850 300 R 60 60 1 1 B X P1 1 -1150 1850 300 R 60 60 1 1 B

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
update=07/03/2011 07:11:33 update=09/01/2014 18:43:43
version=1 version=1
last_client=cvpcb last_client=kicad
[pcbnew] [pcbnew]
version=1 version=1
LibDir= LibDir=
@ -118,12 +118,10 @@ LibName8=memory
LibName9=xilinx LibName9=xilinx
LibName10=special LibName10=special
LibName11=analog_switches LibName11=analog_switches
[general]
version=1
RootSch=carte_test.sch
BoardNm=carte_test.brd
[cvpcb] [cvpcb]
version=1 version=1
NetIExt=.net NetIExt=.net
[cvpcb/libraries] [cvpcb/libraries]
EquName1=devcms EquName1=devcms
[general]
version=1

File diff suppressed because it is too large Load Diff

View File

@ -44,18 +44,18 @@
#include <wx/tokenzr.h> #include <wx/tokenzr.h>
#include <wx/regex.h> #include <wx/regex.h>
static const wxChar* duplicate_name_msg = static const wxString duplicate_name_msg =
_( "Library <%s> has duplicate entry name <%s>.\n\ _( "Library <%s> has duplicate entry name <%s>.\n\
This may cause some unexpected behavior when loading components into a schematic." ); This may cause some unexpected behavior when loading components into a schematic." );
bool operator==( const CMP_LIBRARY& aLibrary, const wxChar* aName ) bool operator==( const CMP_LIBRARY& aLibrary, const wxString& aName )
{ {
return aLibrary.GetName().CmpNoCase( aName ) == 0; return aLibrary.GetName().CmpNoCase( aName ) == 0;
} }
bool operator!=( const CMP_LIBRARY& aLibrary, const wxChar* aName ) bool operator!=( const CMP_LIBRARY& aLibrary, const wxString& aName )
{ {
return !( aLibrary == aName ); return !( aLibrary == aName );
} }
@ -224,10 +224,10 @@ bool CMP_LIBRARY::Conflicts( LIB_COMPONENT* aComponent )
} }
LIB_ALIAS* CMP_LIBRARY::FindEntry( const wxChar* aName ) LIB_ALIAS* CMP_LIBRARY::FindEntry( const wxString& aName )
{ {
LIB_ALIAS_MAP::iterator it = aliases.find( wxString( aName ) ); LIB_ALIAS_MAP::iterator it = aliases.find( aName );
if( it != aliases.end() ) if( it != aliases.end() )
return (*it).second; return (*it).second;
@ -245,7 +245,7 @@ LIB_ALIAS* CMP_LIBRARY::GetFirstEntry()
} }
LIB_COMPONENT* CMP_LIBRARY::FindComponent( const wxChar* aName ) LIB_COMPONENT* CMP_LIBRARY::FindComponent( const wxString& aName )
{ {
LIB_COMPONENT* component = NULL; LIB_COMPONENT* component = NULL;
LIB_ALIAS* entry = FindEntry( aName ); LIB_ALIAS* entry = FindEntry( aName );
@ -392,12 +392,12 @@ LIB_COMPONENT* CMP_LIBRARY::ReplaceComponent( LIB_COMPONENT* aOldComponent,
} }
LIB_ALIAS* CMP_LIBRARY::GetNextEntry( const wxChar* aName ) LIB_ALIAS* CMP_LIBRARY::GetNextEntry( const wxString& aName )
{ {
if( aliases.empty() ) if( aliases.empty() )
return NULL; return NULL;
LIB_ALIAS_MAP::iterator it = aliases.find( wxString( aName ) ); LIB_ALIAS_MAP::iterator it = aliases.find( aName );
it++; it++;
@ -408,12 +408,12 @@ LIB_ALIAS* CMP_LIBRARY::GetNextEntry( const wxChar* aName )
} }
LIB_ALIAS* CMP_LIBRARY::GetPreviousEntry( const wxChar* aName ) LIB_ALIAS* CMP_LIBRARY::GetPreviousEntry( const wxString& aName )
{ {
if( aliases.empty() ) if( aliases.empty() )
return NULL; return NULL;
LIB_ALIAS_MAP::iterator it = aliases.find( wxString( aName ) ); LIB_ALIAS_MAP::iterator it = aliases.find( aName );
if( it == aliases.begin() ) if( it == aliases.begin() )
it = aliases.end(); it = aliases.end();

View File

@ -240,7 +240,7 @@ public:
* @param aName - Name of entry, case insensitive. * @param aName - Name of entry, case insensitive.
* @return Entry if found. NULL if not found. * @return Entry if found. NULL if not found.
*/ */
LIB_ALIAS* FindEntry( const wxChar* aName ); LIB_ALIAS* FindEntry( const wxString& aName );
/** /**
* Find component by \a aName. * Find component by \a aName.
@ -251,7 +251,7 @@ public:
* @param aName - Name of component, case insensitive. * @param aName - Name of component, case insensitive.
* @return Component if found. NULL if not found. * @return Component if found. NULL if not found.
*/ */
LIB_COMPONENT* FindComponent( const wxChar* aName ); LIB_COMPONENT* FindComponent( const wxString& aName );
/** /**
* Find alias by \a nName. * Find alias by \a nName.
@ -262,7 +262,7 @@ public:
* @param aName - Name of alias, case insensitive. * @param aName - Name of alias, case insensitive.
* @return Alias if found. NULL if not found. * @return Alias if found. NULL if not found.
*/ */
LIB_ALIAS* FindAlias( const wxChar* aName ) LIB_ALIAS* FindAlias( const wxString& aName )
{ {
return (LIB_ALIAS*) FindEntry( aName ); return (LIB_ALIAS*) FindEntry( aName );
} }
@ -331,7 +331,7 @@ public:
* @param aName - Name of current entry. * @param aName - Name of current entry.
* @return Next entry if entry name is found. Otherwise NULL. * @return Next entry if entry name is found. Otherwise NULL.
*/ */
LIB_ALIAS* GetNextEntry( const wxChar* aName ); LIB_ALIAS* GetNextEntry( const wxString& aName );
/** /**
@ -343,7 +343,7 @@ public:
* @param aName - Name of current entry. * @param aName - Name of current entry.
* @return Previous entry if entry name is found, otherwise NULL. * @return Previous entry if entry name is found, otherwise NULL.
*/ */
LIB_ALIAS* GetPreviousEntry( const wxChar* aName ); LIB_ALIAS* GetPreviousEntry( const wxString& aName );
/** /**
* Return the file name without path or extension. * Return the file name without path or extension.
@ -525,7 +525,7 @@ public:
/** /**
* Case insensitive library name comparison. * Case insensitive library name comparison.
*/ */
extern bool operator==( const CMP_LIBRARY& aLibrary, const wxChar* aName ); extern bool operator==( const CMP_LIBRARY& aLibrary, const wxString& aName );
extern bool operator!=( const CMP_LIBRARY& aLibrary, const wxChar* aName ); extern bool operator!=( const CMP_LIBRARY& aLibrary, const wxString& aName );
#endif // CLASS_LIBRARY_H #endif // CLASS_LIBRARY_H

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -64,7 +64,7 @@ DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE( wx
m_staticTextNbUnits = new wxStaticText( m_PanelBasic, wxID_ANY, _("Number of Units"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextNbUnits = new wxStaticText( m_PanelBasic, wxID_ANY, _("Number of Units"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextNbUnits->Wrap( -1 ); m_staticTextNbUnits->Wrap( -1 );
m_staticTextNbUnits->SetToolTip( _("Enter the number of units in for a component that contains more than one unit") ); m_staticTextNbUnits->SetToolTip( _("Enter the number of units for a component that contains more than one unit") );
bSizernbunits->Add( m_staticTextNbUnits, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); bSizernbunits->Add( m_staticTextNbUnits, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
@ -74,20 +74,20 @@ DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE( wx
bSizerMidBasicPanel->Add( bSizernbunits, 1, wxEXPAND, 5 ); bSizerMidBasicPanel->Add( bSizernbunits, 1, wxEXPAND, 5 );
wxBoxSizer* bSizer17; wxBoxSizer* bSizerOffset;
bSizer17 = new wxBoxSizer( wxVERTICAL ); bSizerOffset = new wxBoxSizer( wxVERTICAL );
m_staticTextskew = new wxStaticText( m_PanelBasic, wxID_ANY, _("Pin Name Position Offset"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextskew = new wxStaticText( m_PanelBasic, wxID_ANY, _("Pin Name Position Offset"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextskew->Wrap( -1 ); m_staticTextskew->Wrap( -1 );
m_staticTextskew->SetToolTip( _("Margin (in 0.001 inches) between a pin name position and the component body.\nA value from 10 to 40 is usually good.") ); m_staticTextskew->SetToolTip( _("Margin (in 0.001 inches) between a pin name position and the component body.\nA value from 10 to 40 is usually good.") );
bSizer17->Add( m_staticTextskew, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); bSizerOffset->Add( m_staticTextskew, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_SetSkew = new wxSpinCtrl( m_PanelBasic, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 0 ); m_SetSkew = new wxSpinCtrl( m_PanelBasic, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 0 );
bSizer17->Add( m_SetSkew, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); bSizerOffset->Add( m_SetSkew, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
bSizerMidBasicPanel->Add( bSizer17, 1, wxEXPAND, 5 ); bSizerMidBasicPanel->Add( bSizerOffset, 1, wxEXPAND, 5 );
bSizerBasicPanel->Add( bSizerMidBasicPanel, 0, wxEXPAND, 5 ); bSizerBasicPanel->Add( bSizerMidBasicPanel, 0, wxEXPAND, 5 );

View File

@ -20,8 +20,10 @@
<property name="path">.</property> <property name="path">.</property>
<property name="precompiled_header"></property> <property name="precompiled_header"></property>
<property name="relative_path">1</property> <property name="relative_path">1</property>
<property name="skip_lua_events">1</property>
<property name="skip_php_events">1</property> <property name="skip_php_events">1</property>
<property name="skip_python_events">1</property> <property name="skip_python_events">1</property>
<property name="ui_table">UI</property>
<property name="use_enum">0</property> <property name="use_enum">0</property>
<property name="use_microsoft_bom">0</property> <property name="use_microsoft_bom">0</property>
<object class="Dialog" expanded="1"> <object class="Dialog" expanded="1">
@ -783,7 +785,7 @@
<property name="style"></property> <property name="style"></property>
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Enter the number of units in for a component that contains more than one unit</property> <property name="tooltip">Enter the number of units for a component that contains more than one unit</property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
@ -908,7 +910,7 @@
<property name="proportion">1</property> <property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">bSizer17</property> <property name="name">bSizerOffset</property>
<property name="orient">wxVERTICAL</property> <property name="orient">wxVERTICAL</property>
<property name="permission">none</property> <property name="permission">none</property>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!

View File

@ -290,10 +290,7 @@ void DIALOG_ERC::ReBuildMatrixPanel()
wxPoint txtpos; wxPoint txtpos;
txtpos.x = x + (bitmap_size.x / 2); txtpos.x = x + (bitmap_size.x / 2);
txtpos.y = y - text_height; txtpos.y = y - text_height;
text = new wxStaticText( m_matrixPanel, text = new wxStaticText( m_matrixPanel, -1, CommentERC_V[ii], txtpos );
-1,
CommentERC_V[ii],
txtpos );
} }
int event_id = ID_MATRIX_0 + ii + ( jj * PIN_NMAX ); int event_id = ID_MATRIX_0 + ii + ( jj * PIN_NMAX );

View File

@ -17,8 +17,6 @@
extern int DiagErc[PIN_NMAX][PIN_NMAX]; extern int DiagErc[PIN_NMAX][PIN_NMAX];
extern bool DiagErcTableInit; // go to true after DiagErc init extern bool DiagErcTableInit; // go to true after DiagErc init
extern int DefaultDiagErc[PIN_NMAX][PIN_NMAX]; extern int DefaultDiagErc[PIN_NMAX][PIN_NMAX];
extern const wxChar* CommentERC_H[];
extern const wxChar* CommentERC_V[];
/* Control identifiers */ /* Control identifiers */
#define ID_MATRIX_0 1800 #define ID_MATRIX_0 1800

View File

@ -82,7 +82,7 @@
*/ */
// Messages for matrix rows: // Messages for matrix rows:
const wxChar* CommentERC_H[] = const wxString CommentERC_H[] =
{ {
_( "Input Pin.........." ), _( "Input Pin.........." ),
_( "Output Pin........." ), _( "Output Pin........." ),
@ -94,12 +94,11 @@ const wxChar* CommentERC_H[] =
_( "Power Output Pin..." ), _( "Power Output Pin..." ),
_( "Open Collector....." ), _( "Open Collector....." ),
_( "Open Emitter......." ), _( "Open Emitter......." ),
_( "No Connection......" ), _( "No Connection......" )
NULL
}; };
// Messages for matrix columns // Messages for matrix columns
const wxChar* CommentERC_V[] = const wxString CommentERC_V[] =
{ {
_( "Input Pin" ), _( "Input Pin" ),
_( "Output Pin" ), _( "Output Pin" ),
@ -111,8 +110,7 @@ const wxChar* CommentERC_V[] =
_( "Power Output Pin" ), _( "Power Output Pin" ),
_( "Open Collector" ), _( "Open Collector" ),
_( "Open Emitter" ), _( "Open Emitter" ),
_( "No Connection" ), _( "No Connection" )
NULL
}; };

View File

@ -45,6 +45,8 @@ enum errortype
UNC // Error: unconnected pin UNC // Error: unconnected pin
}; };
extern const wxString CommentERC_H[];
extern const wxString CommentERC_V[];
/// DRC error codes: /// DRC error codes:
#define ERCE_UNSPECIFIED 0 #define ERCE_UNSPECIFIED 0

View File

@ -119,7 +119,7 @@ void LIB_EDIT_FRAME::LoadOneLibraryPart( wxCommandEvent& event )
m_canvas->EndMouseCapture( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor() ); m_canvas->EndMouseCapture( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor() );
if( GetScreen()->IsModify() if( GetScreen()->IsModify()
&& !IsOK( this, _( "Current component is not saved.\n\nDiscard current changes?" ) ) ) && !IsOK( this, _( "The current component is not saved.\n\nDiscard current changes?" ) ) )
return; return;
// No current lib, ask user for the library to use. // No current lib, ask user for the library to use.

View File

@ -375,7 +375,6 @@ void LIB_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event )
} }
} }
SaveSettings();
Destroy(); Destroy();
} }

View File

@ -505,7 +505,6 @@ void SCH_EDIT_FRAME::OnCloseWindow( wxCloseEvent& aEvent )
/* all sub sheets are deleted, only the main sheet is usable */ /* all sub sheets are deleted, only the main sheet is usable */
m_CurrentSheet->Clear(); m_CurrentSheet->Clear();
SaveSettings();
Destroy(); Destroy();
} }

View File

@ -105,10 +105,10 @@ void LIB_VIEW_FRAME::ReCreateHToolbar()
m_mainToolBar->AddSeparator(); m_mainToolBar->AddSeparator();
SelpartBox = new wxComboBox( m_mainToolBar, ID_LIBVIEW_SELECT_PART_NUMBER, m_selpartBox = new wxComboBox( m_mainToolBar, ID_LIBVIEW_SELECT_PART_NUMBER,
wxEmptyString, wxDefaultPosition, wxEmptyString, wxDefaultPosition,
wxSize( 150, -1 ), 0, NULL, wxCB_READONLY ); wxSize( 150, -1 ), 0, NULL, wxCB_READONLY );
m_mainToolBar->AddControl( SelpartBox ); m_mainToolBar->AddControl( m_selpartBox );
m_mainToolBar->AddSeparator(); m_mainToolBar->AddSeparator();
m_mainToolBar->AddTool( ID_LIBVIEW_VIEWDOC, wxEmptyString, m_mainToolBar->AddTool( ID_LIBVIEW_VIEWDOC, wxEmptyString,
@ -116,7 +116,7 @@ void LIB_VIEW_FRAME::ReCreateHToolbar()
_( "View component documents" ) ); _( "View component documents" ) );
m_mainToolBar->EnableTool( ID_LIBVIEW_VIEWDOC, false ); m_mainToolBar->EnableTool( ID_LIBVIEW_VIEWDOC, false );
if( m_Semaphore ) if( m_semaphore )
{ {
// The library browser is called from a "load component" command // The library browser is called from a "load component" command
m_mainToolBar->AddSeparator(); m_mainToolBar->AddSeparator();
@ -167,17 +167,17 @@ void LIB_VIEW_FRAME::ReCreateHToolbar()
if( component ) if( component )
parts_count = std::max( component->GetPartCount(), 1 ); parts_count = std::max( component->GetPartCount(), 1 );
SelpartBox->Clear(); m_selpartBox->Clear();
for( ii = 0; ii < parts_count; ii++ ) for( ii = 0; ii < parts_count; ii++ )
{ {
wxString msg; wxString msg;
msg.Printf( _( "Unit %c" ), 'A' + ii ); msg.Printf( _( "Unit %c" ), 'A' + ii );
SelpartBox->Append( msg ); m_selpartBox->Append( msg );
} }
SelpartBox->SetSelection( (m_unit > 0 ) ? m_unit - 1 : 0 ); m_selpartBox->SetSelection( (m_unit > 0 ) ? m_unit - 1 : 0 );
SelpartBox->Enable( parts_count > 1 ); m_selpartBox->Enable( parts_count > 1 );
m_mainToolBar->EnableTool( ID_LIBVIEW_VIEWDOC, m_mainToolBar->EnableTool( ID_LIBVIEW_VIEWDOC,
entry && ( entry->GetDocFileName() != wxEmptyString ) ); entry && ( entry->GetDocFileName() != wxEmptyString ) );

View File

@ -60,10 +60,6 @@ BEGIN_EVENT_TABLE( LIB_VIEW_FRAME, EDA_DRAW_FRAME )
EVT_SIZE( LIB_VIEW_FRAME::OnSize ) EVT_SIZE( LIB_VIEW_FRAME::OnSize )
EVT_ACTIVATE( LIB_VIEW_FRAME::OnActivate ) EVT_ACTIVATE( LIB_VIEW_FRAME::OnActivate )
/* Sash drag events */
EVT_SASH_DRAGGED( ID_LIBVIEW_LIBWINDOW, LIB_VIEW_FRAME::OnSashDrag )
EVT_SASH_DRAGGED( ID_LIBVIEW_CMPWINDOW, LIB_VIEW_FRAME::OnSashDrag )
/* Toolbar events */ /* Toolbar events */
EVT_TOOL_RANGE( ID_LIBVIEW_NEXT, ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, EVT_TOOL_RANGE( ID_LIBVIEW_NEXT, ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT,
LIB_VIEW_FRAME::Process_Special_Functions ) LIB_VIEW_FRAME::Process_Special_Functions )
@ -96,8 +92,6 @@ static wxAcceleratorEntry accels[] =
}; };
#define ACCEL_TABLE_CNT ( sizeof( accels ) / sizeof( wxAcceleratorEntry ) ) #define ACCEL_TABLE_CNT ( sizeof( accels ) / sizeof( wxAcceleratorEntry ) )
#define EXTRA_BORDER_SIZE 2
#define LIB_VIEW_FRAME_NAME wxT( "ViewlibFrame" ) #define LIB_VIEW_FRAME_NAME wxT( "ViewlibFrame" )
LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary, LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary,
@ -117,13 +111,13 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary,
SetIcon( icon ); SetIcon( icon );
m_HotkeysZoomAndGridList = s_Viewlib_Hokeys_Descr; m_HotkeysZoomAndGridList = s_Viewlib_Hokeys_Descr;
m_CmpList = NULL; m_cmpList = NULL;
m_LibList = NULL; m_libList = NULL;
m_LibListWindow = NULL; m_semaphore = aSemaphore;
m_CmpListWindow = NULL;
m_Semaphore = aSemaphore; if( m_semaphore )
if( m_Semaphore )
SetModalMode( true ); SetModalMode( true );
m_exportToEeschemaCmpName.Empty(); m_exportToEeschemaCmpName.Empty();
SetScreen( new SCH_SCREEN() ); SetScreen( new SCH_SCREEN() );
@ -142,23 +136,13 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary,
wxSize size = GetClientSize(); wxSize size = GetClientSize();
size.y -= m_MsgFrameHeight + 2; size.y -= m_MsgFrameHeight + 2;
m_LibListSize.y = -1;
wxPoint win_pos( 0, 0 ); wxPoint win_pos( 0, 0 );
if( aLibrary == NULL ) if( aLibrary == NULL )
{ {
// Creates the libraries window display // Creates the libraries window display
m_LibListWindow = m_libList = new wxListBox( this, ID_LIBVIEW_LIB_LIST,
new wxSashLayoutWindow( this, ID_LIBVIEW_LIBWINDOW, win_pos, wxPoint( 0, 0 ), wxSize(m_libListWidth, -1),
wxDefaultSize, wxCLIP_CHILDREN | wxSW_3D,
wxT( "LibWindow" ) );
m_LibListWindow->SetOrientation( wxLAYOUT_VERTICAL );
m_LibListWindow->SetAlignment( wxLAYOUT_LEFT );
m_LibListWindow->SetSashVisible( wxSASH_RIGHT, true );
m_LibListWindow->SetExtraBorderSize( EXTRA_BORDER_SIZE );
m_LibList = new wxListBox( m_LibListWindow, ID_LIBVIEW_LIB_LIST,
wxPoint( 0, 0 ), wxDefaultSize,
0, NULL, wxLB_HSCROLL ); 0, NULL, wxLB_HSCROLL );
} }
else else
@ -167,25 +151,16 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary,
m_entryName.Clear(); m_entryName.Clear();
m_unit = 1; m_unit = 1;
m_convert = 1; m_convert = 1;
m_LibListSize.x = 0; m_libListWidth = 0;
} }
// Creates the component window display // Creates the component window display
m_CmpListSize.y = size.y; win_pos.x = m_libListWidth;
win_pos.x = m_LibListSize.x; m_cmpList = new wxListBox( this, ID_LIBVIEW_CMP_LIST,
m_CmpListWindow = new wxSashLayoutWindow( this, ID_LIBVIEW_CMPWINDOW, wxPoint( 0, 0 ), wxSize(m_cmpListWidth, -1),
win_pos, wxDefaultSize,
wxCLIP_CHILDREN | wxSW_3D,
wxT( "CmpWindow" ) );
m_CmpListWindow->SetOrientation( wxLAYOUT_VERTICAL );
m_CmpListWindow->SetSashVisible( wxSASH_RIGHT, true );
m_CmpListWindow->SetExtraBorderSize( EXTRA_BORDER_SIZE );
m_CmpList = new wxListBox( m_CmpListWindow, ID_LIBVIEW_CMP_LIST,
wxPoint( 0, 0 ), wxDefaultSize,
0, NULL, wxLB_HSCROLL ); 0, NULL, wxLB_HSCROLL );
if( m_LibList ) if( m_libList )
ReCreateListLib(); ReCreateListLib();
DisplayLibInfos(); DisplayLibInfos();
@ -213,16 +188,14 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary,
m_auimgr.AddPane( m_mainToolBar, m_auimgr.AddPane( m_mainToolBar,
wxAuiPaneInfo( horiz ).Name( wxT ("m_mainToolBar" ) ).Top().Row( 0 ) ); wxAuiPaneInfo( horiz ).Name( wxT ("m_mainToolBar" ) ).Top().Row( 0 ) );
wxSize minsize( 60, -1 );
// Manage the left window (list of libraries) // Manage the left window (list of libraries)
if( m_LibListWindow ) if( m_libList )
m_auimgr.AddPane( m_LibListWindow, wxAuiPaneInfo( info ).Name( wxT( "m_LibList" ) ). m_auimgr.AddPane( m_libList, wxAuiPaneInfo( info ).Name( wxT( "m_libList" ) ).
Left().Row( 0 ) ); Left().Row( 0 ) );
// Manage the list of components) // Manage the list of components)
m_auimgr.AddPane( m_CmpListWindow, m_auimgr.AddPane( m_cmpList,
wxAuiPaneInfo( info ).Name( wxT( "m_CmpList" ) ). wxAuiPaneInfo( info ).Name( wxT( "m_cmpList" ) ).
Left().Row( 1 ) ); Left().Row( 1 ) );
// Manage the draw panel // Manage the draw panel
@ -236,13 +209,14 @@ LIB_VIEW_FRAME::LIB_VIEW_FRAME( SCH_BASE_FRAME* aParent, CMP_LIBRARY* aLibrary,
/* Now the minimum windows are fixed, set library list /* Now the minimum windows are fixed, set library list
* and component list of the previous values from last viewlib use * and component list of the previous values from last viewlib use
*/ */
if( m_LibListWindow ) if( m_libList )
{ {
wxAuiPaneInfo& pane = m_auimgr.GetPane(m_LibListWindow); m_auimgr.GetPane( m_libList ).MinSize( wxSize( 80, -1) );
pane.MinSize( wxSize(m_LibListSize.x, -1)); m_auimgr.GetPane( m_libList ).BestSize( wxSize(m_libListWidth, -1) );
} }
wxAuiPaneInfo& pane = m_auimgr.GetPane(m_CmpListWindow);
pane.MinSize(wxSize(m_CmpListSize.x, -1)); m_auimgr.GetPane( m_cmpList ).MinSize( wxSize( 80, -1) );
m_auimgr.GetPane( m_cmpList ).BestSize(wxSize(m_cmpListWidth, -1) );
m_auimgr.Update(); m_auimgr.Update();
@ -276,11 +250,9 @@ LIB_VIEW_FRAME* LIB_VIEW_FRAME::GetActiveLibraryViewer()
void LIB_VIEW_FRAME::OnCloseWindow( wxCloseEvent& Event ) void LIB_VIEW_FRAME::OnCloseWindow( wxCloseEvent& Event )
{ {
SaveSettings(); if( m_semaphore )
if( m_Semaphore )
{ {
m_Semaphore->Post(); m_semaphore->Post();
// This window will be destroyed by the calling function, // This window will be destroyed by the calling function,
// if needed // if needed
SetModalMode( false ); SetModalMode( false );
@ -292,38 +264,6 @@ void LIB_VIEW_FRAME::OnCloseWindow( wxCloseEvent& Event )
} }
void LIB_VIEW_FRAME::OnSashDrag( wxSashEvent& event )
{
if( event.GetDragStatus() == wxSASH_STATUS_OUT_OF_RANGE )
return;
m_LibListSize.y = GetClientSize().y - m_MsgFrameHeight;
m_CmpListSize.y = m_LibListSize.y;
switch( event.GetId() )
{
case ID_LIBVIEW_LIBWINDOW:
if( m_LibListWindow )
{
wxAuiPaneInfo& pane = m_auimgr.GetPane( m_LibListWindow );
m_LibListSize.x = event.GetDragRect().width;
pane.MinSize( m_LibListSize );
m_auimgr.Update();
}
break;
case ID_LIBVIEW_CMPWINDOW:
{
wxAuiPaneInfo& pane = m_auimgr.GetPane( m_CmpListWindow );
m_CmpListSize.x = event.GetDragRect().width;
pane.MinSize( m_CmpListSize );
m_auimgr.Update();
}
break;
}
}
void LIB_VIEW_FRAME::OnSize( wxSizeEvent& SizeEv ) void LIB_VIEW_FRAME::OnSize( wxSizeEvent& SizeEv )
{ {
if( m_auimgr.GetManagedWindow() ) if( m_auimgr.GetManagedWindow() )
@ -388,18 +328,18 @@ double LIB_VIEW_FRAME::BestZoom()
void LIB_VIEW_FRAME::ReCreateListLib() void LIB_VIEW_FRAME::ReCreateListLib()
{ {
if( m_LibList == NULL ) if( m_libList == NULL )
return; return;
m_LibList->Clear(); m_libList->Clear();
m_LibList->Append( CMP_LIBRARY::GetLibraryNames() ); m_libList->Append( CMP_LIBRARY::GetLibraryNames() );
// Search for a previous selection: // Search for a previous selection:
int index = m_LibList->FindString( m_libraryName ); int index = m_libList->FindString( m_libraryName );
if( index != wxNOT_FOUND ) if( index != wxNOT_FOUND )
{ {
m_LibList->SetSelection( index, true ); m_libList->SetSelection( index, true );
} }
else else
{ {
@ -420,10 +360,10 @@ void LIB_VIEW_FRAME::ReCreateListLib()
void LIB_VIEW_FRAME::ReCreateListCmp() void LIB_VIEW_FRAME::ReCreateListCmp()
{ {
if( m_CmpList == NULL ) if( m_cmpList == NULL )
return; return;
m_CmpList->Clear(); m_cmpList->Clear();
CMP_LIBRARY* Library = CMP_LIBRARY::FindLibrary( m_libraryName ); CMP_LIBRARY* Library = CMP_LIBRARY::FindLibrary( m_libraryName );
@ -438,9 +378,9 @@ void LIB_VIEW_FRAME::ReCreateListCmp()
wxArrayString nameList; wxArrayString nameList;
Library->GetEntryNames( nameList ); Library->GetEntryNames( nameList );
m_CmpList->Append( nameList ); m_cmpList->Append( nameList );
int index = m_CmpList->FindString( m_entryName ); int index = m_cmpList->FindString( m_entryName );
if( index == wxNOT_FOUND ) if( index == wxNOT_FOUND )
{ {
@ -450,19 +390,19 @@ void LIB_VIEW_FRAME::ReCreateListCmp()
} }
else else
{ {
m_CmpList->SetSelection( index, true ); m_cmpList->SetSelection( index, true );
} }
} }
void LIB_VIEW_FRAME::ClickOnLibList( wxCommandEvent& event ) void LIB_VIEW_FRAME::ClickOnLibList( wxCommandEvent& event )
{ {
int ii = m_LibList->GetSelection(); int ii = m_libList->GetSelection();
if( ii < 0 ) if( ii < 0 )
return; return;
wxString name = m_LibList->GetString( ii ); wxString name = m_libList->GetString( ii );
if( m_libraryName == name ) if( m_libraryName == name )
return; return;
@ -477,12 +417,12 @@ void LIB_VIEW_FRAME::ClickOnLibList( wxCommandEvent& event )
void LIB_VIEW_FRAME::ClickOnCmpList( wxCommandEvent& event ) void LIB_VIEW_FRAME::ClickOnCmpList( wxCommandEvent& event )
{ {
int ii = m_CmpList->GetSelection(); int ii = m_cmpList->GetSelection();
if( ii < 0 ) if( ii < 0 )
return; return;
wxString name = m_CmpList->GetString( ii ); wxString name = m_cmpList->GetString( ii );
if( m_entryName.CmpNoCase( name ) != 0 ) if( m_entryName.CmpNoCase( name ) != 0 )
{ {
@ -498,7 +438,7 @@ void LIB_VIEW_FRAME::ClickOnCmpList( wxCommandEvent& event )
void LIB_VIEW_FRAME::DClickOnCmpList( wxCommandEvent& event ) void LIB_VIEW_FRAME::DClickOnCmpList( wxCommandEvent& event )
{ {
if( m_Semaphore ) if( m_semaphore )
{ {
ExportToSchematicLibraryPart( event ); ExportToSchematicLibraryPart( event );
@ -512,10 +452,10 @@ void LIB_VIEW_FRAME::DClickOnCmpList( wxCommandEvent& event )
void LIB_VIEW_FRAME::ExportToSchematicLibraryPart( wxCommandEvent& event ) void LIB_VIEW_FRAME::ExportToSchematicLibraryPart( wxCommandEvent& event )
{ {
int ii = m_CmpList->GetSelection(); int ii = m_cmpList->GetSelection();
if( ii >= 0 ) if( ii >= 0 )
m_exportToEeschemaCmpName = m_CmpList->GetString( ii ); m_exportToEeschemaCmpName = m_cmpList->GetString( ii );
else else
m_exportToEeschemaCmpName.Empty(); m_exportToEeschemaCmpName.Empty();
@ -523,8 +463,8 @@ void LIB_VIEW_FRAME::ExportToSchematicLibraryPart( wxCommandEvent& event )
} }
#define LIBLIST_WIDTH_KEY wxT( "Liblist_width" ) #define LIBLIST_WIDTH_KEY wxT( "ViewLiblistWidth" )
#define CMPLIST_WIDTH_KEY wxT( "Cmplist_width" ) #define CMPLIST_WIDTH_KEY wxT( "ViewCmplistWidth" )
void LIB_VIEW_FRAME::LoadSettings( ) void LIB_VIEW_FRAME::LoadSettings( )
@ -536,18 +476,15 @@ void LIB_VIEW_FRAME::LoadSettings( )
wxConfigPathChanger cpc( wxGetApp().GetSettings(), m_configPath ); wxConfigPathChanger cpc( wxGetApp().GetSettings(), m_configPath );
cfg = wxGetApp().GetSettings(); cfg = wxGetApp().GetSettings();
m_LibListSize.x = 150; // default width of libs list cfg->Read( LIBLIST_WIDTH_KEY, &m_libListWidth, 100 );
m_CmpListSize.x = 150; // default width of component list cfg->Read( CMPLIST_WIDTH_KEY, &m_cmpListWidth, 100 );
cfg->Read( LIBLIST_WIDTH_KEY, &m_LibListSize.x );
cfg->Read( CMPLIST_WIDTH_KEY, &m_CmpListSize.x );
// Set parameters to a reasonable value. // Set parameters to a reasonable value.
if ( m_LibListSize.x > m_FrameSize.x/2 ) if ( m_libListWidth > m_FrameSize.x/2 )
m_LibListSize.x = m_FrameSize.x/2; m_libListWidth = m_FrameSize.x/2;
if ( m_CmpListSize.x > m_FrameSize.x/2 ) if ( m_cmpListWidth > m_FrameSize.x/2 )
m_CmpListSize.x = m_FrameSize.x/2; m_cmpListWidth = m_FrameSize.x/2;
} }
@ -560,10 +497,14 @@ void LIB_VIEW_FRAME::SaveSettings()
wxConfigPathChanger cpc( wxGetApp().GetSettings(), m_configPath ); wxConfigPathChanger cpc( wxGetApp().GetSettings(), m_configPath );
cfg = wxGetApp().GetSettings(); cfg = wxGetApp().GetSettings();
if ( m_LibListSize.x ) if( m_libListWidth && m_libList)
cfg->Write( LIBLIST_WIDTH_KEY, m_LibListSize.x ); {
m_libListWidth = m_libList->GetSize().x;
cfg->Write( LIBLIST_WIDTH_KEY, m_libListWidth );
}
cfg->Write( CMPLIST_WIDTH_KEY, m_CmpListSize.x ); m_cmpListWidth = m_cmpList->GetSize().x;
cfg->Write( CMPLIST_WIDTH_KEY, m_cmpListWidth );
} }
@ -575,7 +516,7 @@ void LIB_VIEW_FRAME::OnActivate( wxActivateEvent& event )
if( m_FrameIsActive ) if( m_FrameIsActive )
m_exportToEeschemaCmpName.Empty(); m_exportToEeschemaCmpName.Empty();
if( m_LibList ) if( m_libList )
ReCreateListLib(); ReCreateListLib();
DisplayLibInfos(); DisplayLibInfos();

View File

@ -1,9 +1,9 @@
/* /*
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 2008-2014 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors. * Copyright (C) 2004-2014 KiCad Developers, see change_log.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
@ -48,20 +48,18 @@ class CMP_LIBRARY;
class LIB_VIEW_FRAME : public SCH_BASE_FRAME class LIB_VIEW_FRAME : public SCH_BASE_FRAME
{ {
private: private:
wxComboBox* SelpartBox; wxComboBox* m_selpartBox;
// List of libraries (for selection ) // List of libraries (for selection )
wxSashLayoutWindow* m_LibListWindow; wxListBox* m_libList; // The list of libs
wxListBox* m_LibList; // The list of libs int m_libListWidth; // Last width of the window
wxSize m_LibListSize; // size of the window
// List of components in the selected library // List of components in the selected library
wxSashLayoutWindow* m_CmpListWindow; wxListBox* m_cmpList; // The list of components
wxListBox* m_CmpList; // The list of components int m_cmpListWidth; // Last width of the window
wxSize m_CmpListSize; // size of the window
// Flags // Flags
wxSemaphore* m_Semaphore; // != NULL if the frame must emulate a modal dialog wxSemaphore* m_semaphore; // != NULL if the frame must emulate a modal dialog
wxString m_configPath; // subpath for configuration wxString m_configPath; // subpath for configuration
protected: protected:
@ -95,12 +93,6 @@ public:
void OnSize( wxSizeEvent& event ); void OnSize( wxSizeEvent& event );
/**
* Function OnSashDrag
* resizes the child windows when dragging a sash window border.
*/
void OnSashDrag( wxSashEvent& event );
/** /**
* Function ReCreateListLib * Function ReCreateListLib
* *

View File

@ -70,7 +70,7 @@ void LIB_VIEW_FRAME::Process_Special_Functions( wxCommandEvent& event )
break; break;
case ID_LIBVIEW_SELECT_PART_NUMBER: case ID_LIBVIEW_SELECT_PART_NUMBER:
ii = SelpartBox->GetCurrentSelection(); ii = m_selpartBox->GetCurrentSelection();
if( ii < 0 ) if( ii < 0 )
return; return;
m_unit = ii + 1; m_unit = ii + 1;
@ -132,16 +132,16 @@ void LIB_VIEW_FRAME::SelectCurrentLibrary()
m_libraryName = Lib->GetName(); m_libraryName = Lib->GetName();
DisplayLibInfos(); DisplayLibInfos();
if( m_LibList ) if( m_libList )
{ {
ReCreateListCmp(); ReCreateListCmp();
m_canvas->Refresh(); m_canvas->Refresh();
DisplayLibInfos(); DisplayLibInfos();
ReCreateHToolbar(); ReCreateHToolbar();
int id = m_LibList->FindString( m_libraryName.GetData() ); int id = m_libList->FindString( m_libraryName.GetData() );
if( id >= 0 ) if( id >= 0 )
m_LibList->SetSelection( id ); m_libList->SetSelection( id );
} }
} }
} }
@ -234,11 +234,11 @@ void LIB_VIEW_FRAME::ViewOneLibraryContent( CMP_LIBRARY* Lib, int Flag )
Zoom_Automatique( false ); Zoom_Automatique( false );
m_canvas->Refresh( ); m_canvas->Refresh( );
if( m_CmpList ) if( m_cmpList )
{ {
int id = m_CmpList->FindString( m_entryName.GetData() ); int id = m_cmpList->FindString( m_entryName.GetData() );
if( id >= 0 ) if( id >= 0 )
m_CmpList->SetSelection( id ); m_cmpList->SetSelection( id );
} }
ReCreateHToolbar(); ReCreateHToolbar();
} }

View File

@ -177,7 +177,6 @@ GERBVIEW_FRAME::~GERBVIEW_FRAME()
void GERBVIEW_FRAME::OnCloseWindow( wxCloseEvent& Event ) void GERBVIEW_FRAME::OnCloseWindow( wxCloseEvent& Event )
{ {
SaveSettings();
Destroy(); Destroy();
} }

View File

@ -93,6 +93,8 @@ protected:
/// The current language setting. /// The current language setting.
int m_LanguageId; int m_LanguageId;
void setLanguageId( int aId ) { m_LanguageId = aId; }
/// The file name of the the program selected for browsing pdf files. /// The file name of the the program selected for browsing pdf files.
wxString m_PdfBrowser; wxString m_PdfBrowser;
wxPathList m_searchPaths; wxPathList m_searchPaths;
@ -176,7 +178,7 @@ public:
* MacOSX: Needed for file association * MacOSX: Needed for file association
* http://wiki.wxwidgets.org/WxMac-specific_topics * http://wiki.wxwidgets.org/WxMac-specific_topics
*/ */
virtual void MacOpenFile(const wxString &fileName); virtual void MacOpenFile( const wxString& aFileName );
/** /**
* Function InitEDA_Appl * Function InitEDA_Appl
@ -445,4 +447,4 @@ public:
*/ */
DECLARE_APP( EDA_APP ) DECLARE_APP( EDA_APP )
#endif /* APPL_WXSTRUCT_H */ #endif // APPL_WXSTRUCT_H

View File

@ -83,6 +83,13 @@ double To_User_Unit( EDA_UNITS_T aUnit, double aValue );
*/ */
wxString CoordinateToString( int aValue, bool aConvertToMils = false ); wxString CoordinateToString( int aValue, bool aConvertToMils = false );
/**
* Function AngleToStringDegrees
* is a helper to convert the \a double \a aAngle (in internal unit)
* to a string in degrees
*/
wxString AngleToStringDegrees( double aAngle );
/** /**
* Function LenghtDoubleToString * Function LenghtDoubleToString
* is a helper to convert the \a double length \a aValue to a string in inches, * is a helper to convert the \a double length \a aValue to a string in inches,

View File

@ -267,6 +267,7 @@ public:
} }
}; };
class WORKSHEET_DATAITEM_POLYPOLYGON : public WORKSHEET_DATAITEM class WORKSHEET_DATAITEM_POLYPOLYGON : public WORKSHEET_DATAITEM
{ {
public: public:
@ -355,14 +356,15 @@ public:
bool IsInsidePage( int ii ) const; bool IsInsidePage( int ii ) const;
}; };
class WORKSHEET_DATAITEM_TEXT : public WORKSHEET_DATAITEM class WORKSHEET_DATAITEM_TEXT : public WORKSHEET_DATAITEM
{ {
public: public:
wxString m_TextBase; // The basic text, with format symbols wxString m_TextBase; // The basic text, with format symbols
wxString m_FullText; // The expanded text, shown on screen wxString m_FullText; // The expanded text, shown on screen
double m_Orient; // Orientation in degrees double m_Orient; // Orientation in degrees
enum EDA_TEXT_HJUSTIFY_T m_Hjustify; EDA_TEXT_HJUSTIFY_T m_Hjustify;
enum EDA_TEXT_VJUSTIFY_T m_Vjustify; EDA_TEXT_VJUSTIFY_T m_Vjustify;
DSIZE m_TextSize; DSIZE m_TextSize;
DSIZE m_BoundingBoxSize; // When not null, this is the max DSIZE m_BoundingBoxSize; // When not null, this is the max
// size of the full text. // size of the full text.
@ -374,7 +376,7 @@ public:
public: public:
WORKSHEET_DATAITEM_TEXT( const wxChar* aTextBase ); WORKSHEET_DATAITEM_TEXT( const wxString& aTextBase );
/** /**
* @return false (no end point) * @return false (no end point)
@ -467,6 +469,7 @@ public:
} }
}; };
class BITMAP_BASE; class BITMAP_BASE;
class WORKSHEET_DATAITEM_BITMAP : public WORKSHEET_DATAITEM class WORKSHEET_DATAITEM_BITMAP : public WORKSHEET_DATAITEM
{ {

View File

@ -134,7 +134,7 @@ inline void ColorApplyHighlightFlag( EDA_COLOR_T *aColor )
} }
/// Find a color by name /// Find a color by name
EDA_COLOR_T ColorByName( const wxChar *aName ); EDA_COLOR_T ColorByName( const wxString& aName );
/// Find the nearest color match /// Find the nearest color match
EDA_COLOR_T ColorFindNearest( const wxColour &aColor ); EDA_COLOR_T ColorFindNearest( const wxColour &aColor );

View File

@ -433,16 +433,28 @@ class LOCALE_IO
public: public:
LOCALE_IO() LOCALE_IO()
{ {
if( C_count++ == 0 ) wxASSERT_MSG( C_count >= 0, wxT( "LOCALE_IO::C_count mismanaged." ) );
// use thread safe, atomic operation
if( __sync_fetch_and_add( &C_count, 1 ) == 0 )
{
// printf( "setting C locale.\n" );
SetLocaleTo_C_standard(); SetLocaleTo_C_standard();
} }
}
~LOCALE_IO() ~LOCALE_IO()
{ {
if( --C_count == 0 ) // use thread safe, atomic operation
if( __sync_sub_and_fetch( &C_count, 1 ) == 0 )
{
// printf( "restoring default locale.\n" );
SetLocaleTo_Default(); SetLocaleTo_Default();
} }
wxASSERT_MSG( C_count >= 0, wxT( "LOCALE_IO::C_count mismanaged." ) );
}
private: private:
static int C_count; // allow for nesting of LOCALE_IO instantiations static int C_count; // allow for nesting of LOCALE_IO instantiations
}; };

View File

@ -99,8 +99,8 @@ wxString DateAndTime();
* except that strings containing numbers are compared by their integer value not * except that strings containing numbers are compared by their integer value not
* by their ASCII code. * by their ASCII code.
* *
* @param aString1 A wxChar pointer to the reference string. * @param aString1 A wxString reference to the reference string.
* @param aString2 A wxChar pointer to the comparison string. * @param aString2 A wxString reference to the comparison string.
* @param aLength The number 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. * the entire string.
* @param aIgnoreCase Use true to make the comparison case insensitive. * @param aIgnoreCase Use true to make the comparison case insensitive.
@ -108,7 +108,7 @@ wxString DateAndTime();
* \a aString1 is equal to \a aString2, or 1 if \a aString1 is greater * \a aString1 is equal to \a aString2, or 1 if \a aString1 is greater
* than \a aString2. * than \a aString2.
*/ */
int StrNumCmp( const wxChar* aString1, const wxChar* aString2, int aLength = INT_MAX, int StrNumCmp( const wxString& aString1, const wxString& aString2, int aLength = INT_MAX,
bool aIgnoreCase = false ); bool aIgnoreCase = false );
/** /**
@ -164,18 +164,6 @@ wxString GetIllegalFileNameWxChars();
*/ */
bool ReplaceIllegalFileNameChars( std::string* aName ); bool ReplaceIllegalFileNameChars( std::string* aName );
/**
* Function RemoveTrailingZeros
* removes the trailing zeros from \a aString.
*
* All trailing zeros and the '.' character from floating point numbers are removed from
* \a aString.
*
* @param aString is a wxString object to remove the trailing zeros from.
* @return a wxString with the trailing zeros removed.
*/
wxString RemoveTrailingZeros( const wxString& aString );
#ifndef HAVE_STRTOKR #ifndef HAVE_STRTOKR
// common/strtok_r.c optionally: // common/strtok_r.c optionally:
extern "C" char* strtok_r( char* str, const char* delim, char** nextp ); extern "C" char* strtok_r( char* str, const char* delim, char** nextp );

View File

@ -11,13 +11,21 @@
*/ */
enum PAD_SHAPE_T enum PAD_SHAPE_T
{ {
PAD_NONE,
PAD_CIRCLE, PAD_CIRCLE,
PAD_ROUND = PAD_CIRCLE, PAD_ROUND = PAD_CIRCLE,
PAD_RECT, PAD_RECT,
PAD_OVAL, PAD_OVAL,
PAD_TRAPEZOID, PAD_TRAPEZOID
PAD_OCTAGON // Provided, but not existing in Pcbnew. waiting for a volunteer };
/**
* Enum PAD_DRILL_SHAPE_T
* is the set of pad dtill shapes, used with D_PAD::{Set,Get}DrillShape()
*/
enum PAD_DRILL_SHAPE_T
{
PAD_DRILL_CIRCLE,
PAD_DRILL_OBLONG
}; };

View File

@ -94,6 +94,7 @@ extern const wxString SVGFileWildcard;
extern const wxString ReportFileWildcard; extern const wxString ReportFileWildcard;
extern const wxString FootprintPlaceFileWildcard; extern const wxString FootprintPlaceFileWildcard;
extern const wxString Shapes3DFileWildcard; extern const wxString Shapes3DFileWildcard;
extern const wxString IDF3DFileWildcard;
extern const wxString DocModulesFileName; extern const wxString DocModulesFileName;
extern const wxString LegacyFootprintLibPathWildcard; extern const wxString LegacyFootprintLibPathWildcard;
extern const wxString KiCadFootprintLibFileWildcard; extern const wxString KiCadFootprintLibFileWildcard;

View File

@ -434,51 +434,6 @@ public:
bool aRedraw, bool aRedraw,
bool aSaveForUndo ); bool aSaveForUndo );
// loading footprints
/**
* Function loadFootprintFromLibrary
* loads @a aFootprintName from @a aLibraryPath.
*
* @param aLibraryPath - the full filename or the short name of the library to read.
* if it is a short name, the file is searched in all library valid paths
* @param aFootprintName is the footprint to load
* @param aDisplayError = true to display an error message if any.
*
* @return MODULE* - new module, or NULL
*/
MODULE* loadFootprintFromLibrary( const wxString& aLibraryPath, const wxString& aFootprintName,
bool aDisplayError );
/**
* Function loadFootprintFromLibraries
* Explore the libraries list and
* loads @a aFootprintName from the first library it is found
* If found the module is added to the BOARD, just for good measure.
*
* @param aFootprintName is the footprint to load
* @param aDisplayError = true to display an error message if any.
*
* @return MODULE* - new module, or NULL
*/
MODULE* loadFootprintFromLibraries( const wxString& aFootprintName,
bool aDisplayError );
/**
* Function GetModuleLibrary
* scans active libraries to find and load @a aFootprintName.
* If found the module is added to the BOARD, just for good measure.
*
* @param aLibraryPath is the full/short name of the library.
* if empty, search in all libraries
* @param aFootprintName is the footprint to load
* @param aDisplayError = true to display an error message if any.
*
* @return a pointer to the new module, or NULL
*/
MODULE* GetModuleLibrary( const wxString& aLibraryPath, const wxString& aFootprintName,
bool aDisplayError );
/** /**
* Function SelectFootprint * Function SelectFootprint
* displays a list of modules found in all libraries or a given library * displays a list of modules found in all libraries or a given library

View File

@ -345,7 +345,6 @@ public:
void SetRotationAngle( int aRotationAngle ); void SetRotationAngle( int aRotationAngle );
// Configurations: // Configurations:
void InstallConfigFrame();
void Process_Config( wxCommandEvent& event ); void Process_Config( wxCommandEvent& event );
/** /**

View File

@ -101,7 +101,7 @@ enum ID_DRAWFRAME_TYPE
/// Custom trace mask to enable and disable auto save tracing. /// Custom trace mask to enable and disable auto save tracing.
extern const wxChar* traceAutoSave; extern const wxChar traceAutoSave[];
/** /**
@ -175,7 +175,18 @@ public:
* @warning If you override this function in a derived class, make sure you call * @warning If you override this function in a derived class, make sure you call
* down to this or the auto save feature will be disabled. * down to this or the auto save feature will be disabled.
*/ */
virtual bool ProcessEvent( wxEvent& aEvent ); bool ProcessEvent( wxEvent& aEvent ); // overload wxFrame::ProcessEvent()
/**
* Function Show
* hooks the wxFrame close scenario so we can grab the window size and position
* in the wxFrame specific SaveSettings() function. SaveSettings() is
* called for all derived wxFrames in this base class overload. Calling it
* from a destructor is deprecated since the wxFrame's position is not available
* in the destructor on linux. In other words, don't call SaveSettings() anywhere,
* except in this one function.
*/
bool Show( bool show ); // overload wxFrame::Show()
void SetAutoSaveInterval( int aInterval ) { m_autoSaveInterval = aInterval; } void SetAutoSaveInterval( int aInterval ) { m_autoSaveInterval = aInterval; }
@ -216,11 +227,13 @@ public:
virtual void LoadSettings(); virtual void LoadSettings();
/** /**
* Save common frame parameters from configuration. * Save common frame parameters to configuration data file.
* *
* The method is virtual so you can override it to save frame specific * The method is virtual so you can override it to save frame specific
* parameters. Don't forget to call the base method or your frames won't * parameters. Don't forget to call the base class's SaveSettings() from
* remember their positions and sizes. * your derived SaveSettings() otherwise the frames won't remember their
* positions and sizes. The virtual call to SaveSettings is done safely
* only in EDA_BASE_FRAME::Show( bool ).
*/ */
virtual void SaveSettings(); virtual void SaveSettings();

View File

@ -164,8 +164,6 @@ void KICAD_MANAGER_FRAME::OnCloseWindow( wxCloseEvent& Event )
Event.SetCanVeto( true ); Event.SetCanVeto( true );
SaveSettings();
// Close the help frame // Close the help frame
if( wxGetApp().GetHtmlHelpController() ) if( wxGetApp().GetHtmlHelpController() )
{ {

View File

@ -1,40 +0,0 @@
# This is a CMake toolchain file for ARM:
# http://vtk.org/Wiki/CMake_Cross_Compiling
# usage
# cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchain-mingw.cmake ..
# It is here to assist Dick with verifying compilation of /new stuff with mingw (under linux)
set( CMAKE_SYSTEM_NAME Windows )
#-----<configuration>-----------------------------------------------
# configure only the lines within this <configure> block, typically
# default is specific to Dick's machine, again for testing only:
set( WX_MINGW_BASE /opt/wx2.9-mingw )
# specify the cross compiler
set( CMAKE_C_COMPILER i586-mingw32msvc-gcc )
set( CMAKE_CXX_COMPILER i586-mingw32msvc-g++ )
# where is the target environment
set( CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc )
include_directories( ${WX_MINGW_BASE}/include )
#-----</configuration>-----------------------------------------------
# search for programs in the build host directories
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
# for libraries and headers in the target directories
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
# try and pre-load this variable, or do it later in ccmake
set( wxWidgets_CONFIG_EXECUTABLE ${WX_MINGW_BASE}/bin/wx-config )

View File

@ -0,0 +1,34 @@
# This is a CMake toolchain file so we can using Mingw to build Windows32 binaries.
# http://vtk.org/Wiki/CMake_Cross_Compiling
# usage
# cmake -DCMAKE_TOOLCHAIN_FILE=./toolchain-mingw32.cmake ../
set( CMAKE_SYSTEM_NAME Windows )
set( CMAKE_SYSTEM_PROCESSOR i686 )
#-----<configuration>-----------------------------------------------
# configure only the lines within this <configure> block, typically
set( TC_PATH /usr/bin )
set( CROSS_COMPILE i686-w64-mingw32- )
# specify the cross compiler
set( CMAKE_C_COMPILER ${TC_PATH}/${CROSS_COMPILE}gcc )
set( CMAKE_CXX_COMPILER ${TC_PATH}/${CROSS_COMPILE}g++ )
set( CMAKE_RC_COMPILER ${TC_PATH}/${CROSS_COMPILE}windres )
# where is the target environment
set( CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 )
#-----</configuration>-----------------------------------------------
# search for programs in the build host directories
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
# for libraries and headers in the target directories
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )

View File

@ -0,0 +1,35 @@
# This is a CMake toolchain file so we can run Mingw64 to build a Windows64 binaries.
# http://vtk.org/Wiki/CMake_Cross_Compiling
# usage
# cmake -DCMAKE_TOOLCHAIN_FILE=./toolchain-mingw64.cmake ../
set( CMAKE_SYSTEM_NAME Windows )
set( CMAKE_SYSTEM_PROCESSOR x86_64 )
#-----<configuration>-----------------------------------------------
# configure only the lines within this <configure> block, typically
set( TC_PATH /usr/bin )
set( CROSS_COMPILE x86_64-w64-mingw32- )
# specify the cross compiler
set( CMAKE_C_COMPILER ${TC_PATH}/${CROSS_COMPILE}gcc )
set( CMAKE_CXX_COMPILER ${TC_PATH}/${CROSS_COMPILE}g++ )
set( CMAKE_RC_COMPILER ${TC_PATH}/${CROSS_COMPILE}windres )
# where is the target environment
set( CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 )
#-----</configuration>-----------------------------------------------
# search for programs in the build host directories
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
# for libraries and headers in the target directories
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )

View File

@ -194,6 +194,7 @@ void PL_EDITOR_FRAME::OnCloseWindow( wxCloseEvent& Event )
GetChars( filename ) ); GetChars( filename ) );
int ii = DisplayExitDialog( this, msg ); int ii = DisplayExitDialog( this, msg );
switch( ii ) switch( ii )
{ {
case wxID_CANCEL: case wxID_CANCEL:
@ -228,12 +229,11 @@ void PL_EDITOR_FRAME::OnCloseWindow( wxCloseEvent& Event )
} }
} }
SaveSettings();
wxGetApp().SaveCurrentSetupValues( m_configSettings );
// do not show the window because we do not want any paint event // do not show the window because we do not want any paint event
Show( false ); Show( false );
wxGetApp().SaveCurrentSetupValues( m_configSettings );
// On Linux, m_propertiesPagelayout must be destroyed // On Linux, m_propertiesPagelayout must be destroyed
// before deleting the main frame to avoid a crash when closing // before deleting the main frame to avoid a crash when closing
m_propertiesPagelayout->Destroy(); m_propertiesPagelayout->Destroy();

View File

@ -0,0 +1,278 @@
=== modified file 'Makefile.in'
--- Makefile.in 2014-01-26 11:10:36 +0000
+++ Makefile.in 2014-01-26 11:15:53 +0000
@@ -14601,7 +14601,7 @@
monodll_carbon_frame.o \
monodll_carbon_mdi.o \
monodll_carbon_metafile.o \
- monodll_carbon_overlay.o \
+ monodll_osx_cocoa_overlay.o \
monodll_carbon_popupwin.o \
monodll_carbon_renderer.o \
monodll_carbon_settings.o \
@@ -14748,7 +14748,7 @@
monolib_carbon_frame.o \
monolib_carbon_mdi.o \
monolib_carbon_metafile.o \
- monolib_carbon_overlay.o \
+ monolib_osx_cocoa_overlay.o \
monolib_carbon_popupwin.o \
monolib_carbon_renderer.o \
monolib_carbon_settings.o \
@@ -14895,7 +14895,7 @@
coredll_carbon_frame.o \
coredll_carbon_mdi.o \
coredll_carbon_metafile.o \
- coredll_carbon_overlay.o \
+ coredll_osx_cocoa_overlay.o \
coredll_carbon_popupwin.o \
coredll_carbon_renderer.o \
coredll_carbon_settings.o \
@@ -15027,7 +15027,7 @@
corelib_carbon_frame.o \
corelib_carbon_mdi.o \
corelib_carbon_metafile.o \
- corelib_carbon_overlay.o \
+ corelib_osx_cocoa_overlay.o \
corelib_carbon_popupwin.o \
corelib_carbon_renderer.o \
corelib_carbon_settings.o \
@@ -17774,6 +17774,9 @@
monodll_osx_cocoa_notebook.o: $(srcdir)/src/osx/cocoa/notebook.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/notebook.mm
+monodll_osx_cocoa_overla.o: $(srcdir)/src/osx/cocoa/overlay.mm $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
+
monodll_osx_cocoa_radiobut.o: $(srcdir)/src/osx/cocoa/radiobut.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/radiobut.mm
@@ -23642,6 +23645,9 @@
monolib_osx_cocoa_notebook.o: $(srcdir)/src/osx/cocoa/notebook.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/notebook.mm
+monolib_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
+
monolib_osx_cocoa_radiobut.o: $(srcdir)/src/osx/cocoa/radiobut.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/radiobut.mm
@@ -33584,8 +33590,8 @@
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(COREDLL_ODEP)
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(COREDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
@@ -37961,8 +37967,8 @@
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(CORELIB_ODEP)
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(CORELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
=== modified file 'include/wx/overlay.h'
--- include/wx/overlay.h 2014-01-26 11:10:36 +0000
+++ include/wx/overlay.h 2014-01-26 11:10:44 +0000
@@ -13,7 +13,7 @@
#include "wx/defs.h"
-#if defined(__WXMAC__) && wxOSX_USE_CARBON
+#if defined(__WXMAC__) && wxOSX_USE_COCOA_OR_CARBON
#define wxHAS_NATIVE_OVERLAY 1
#elif defined(__WXDFB__)
#define wxHAS_NATIVE_OVERLAY 1
=== modified file 'include/wx/private/overlay.h'
--- include/wx/private/overlay.h 2014-01-26 11:10:36 +0000
+++ include/wx/private/overlay.h 2014-01-26 11:10:44 +0000
@@ -16,7 +16,11 @@
#ifdef wxHAS_NATIVE_OVERLAY
#if defined(__WXMAC__)
+#if wxOSX_USE_CARBON
#include "wx/osx/carbon/private/overlay.h"
+#else
+ #include "wx/osx/cocoa/private/overlay.h"
+#endif
#elif defined(__WXDFB__)
#include "wx/dfb/private/overlay.h"
#else
=== modified file 'src/osx/cocoa/overlay.mm'
--- src/osx/cocoa/overlay.mm 2014-01-26 11:10:36 +0000
+++ src/osx/cocoa/overlay.mm 2014-01-26 11:10:44 +0000
@@ -34,6 +34,7 @@
#include "wx/private/overlay.h"
#ifdef wxHAS_NATIVE_OVERLAY
+#import <Foundation/NSGeometry.h>
// ============================================================================
// implementation
@@ -58,48 +59,6 @@
void wxOverlayImpl::CreateOverlayWindow()
{
- if ( m_window )
- {
- m_overlayParentWindow = m_window->MacGetTopLevelWindowRef();
- [m_overlayParentWindow makeKeyAndOrderFront:nil];
-
- NSView* view = m_window->GetHandle();
-
- NSPoint viewOriginBase, viewOriginScreen;
- viewOriginBase = [view convertPoint:NSMakePoint(0, 0) toView:nil];
- viewOriginScreen = [m_overlayParentWindow convertBaseToScreen:viewOriginBase];
-
- NSSize viewSize = [view frame].size;
- if ( [view isFlipped] )
- viewOriginScreen.y -= viewSize.height;
-
- m_overlayWindow=[[NSWindow alloc] initWithContentRect:NSMakeRect(viewOriginScreen.x,viewOriginScreen.y,
- viewSize.width,
- viewSize.height)
- styleMask:NSBorderlessWindowMask
- backing:NSBackingStoreBuffered
- defer:YES];
-
- [m_overlayParentWindow addChildWindow:m_overlayWindow ordered:NSWindowAbove];
- }
- else
- {
- m_overlayParentWindow = NULL ;
- CGRect cgbounds ;
- cgbounds = CGDisplayBounds(CGMainDisplayID());
-
- m_overlayWindow=[[NSWindow alloc] initWithContentRect:NSMakeRect(cgbounds.origin.x,cgbounds.origin.y,
- cgbounds.size.width,
- cgbounds.size.height)
- styleMask:NSBorderlessWindowMask
- backing:NSBackingStoreBuffered
- defer:YES];
- }
- [m_overlayWindow setOpaque:NO];
- [m_overlayWindow setIgnoresMouseEvents:YES];
- [m_overlayWindow setAlphaValue:1.0];
-
- [m_overlayWindow orderFront:nil];
}
void wxOverlayImpl::Init( wxDC* dc, int x , int y , int width , int height )
@@ -107,84 +66,50 @@
wxASSERT_MSG( !IsOk() , _("You cannot Init an overlay twice") );
m_window = dc->GetWindow();
- m_x = x ;
- m_y = y ;
- if ( dc->IsKindOf( CLASSINFO( wxClientDC ) ))
- {
- wxPoint origin = m_window->GetClientAreaOrigin();
- m_x += origin.x;
- m_y += origin.y;
- }
- m_width = width ;
- m_height = height ;
-
- CreateOverlayWindow();
- wxASSERT_MSG( m_overlayWindow != NULL , _("Couldn't create the overlay window") );
- m_overlayContext = (CGContextRef) [[m_overlayWindow graphicsContext] graphicsPort];
- wxASSERT_MSG( m_overlayContext != NULL , _("Couldn't init the context on the overlay window") );
-
- int ySize = 0;
- if ( m_window )
- {
- NSView* view = m_window->GetHandle();
- NSSize viewSize = [view frame].size;
- ySize = viewSize.height;
- }
- else
- {
- CGRect cgbounds ;
- cgbounds = CGDisplayBounds(CGMainDisplayID());
- ySize = cgbounds.size.height;
-
-
-
- }
- CGContextTranslateCTM( m_overlayContext, 0, ySize );
- CGContextScaleCTM( m_overlayContext, 1, -1 );
- CGContextTranslateCTM( m_overlayContext, -m_x , -m_y );
+ m_overlayWindow = m_window->MacGetTopLevelWindowRef();
+
+ NSRect box = [m_overlayWindow frame];
+
+ if( [m_overlayWindow isVisible] )
+ {
+ [m_overlayWindow discardCachedImage];
+ [m_overlayWindow cacheImageInRect:box];
+ }
}
void wxOverlayImpl::BeginDrawing( wxDC* dc)
{
- wxDCImpl *impl = dc->GetImpl();
- wxGCDCImpl *win_impl = wxDynamicCast(impl,wxGCDCImpl);
- if (win_impl)
- {
- win_impl->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) );
- dc->SetClippingRegion( m_x , m_y , m_width , m_height ) ;
- }
+
}
void wxOverlayImpl::EndDrawing( wxDC* dc)
{
- wxDCImpl *impl = dc->GetImpl();
- wxGCDCImpl *win_impl = wxDynamicCast(impl,wxGCDCImpl);
- if (win_impl)
- win_impl->SetGraphicsContext(NULL);
-
- CGContextFlush( m_overlayContext );
}
void wxOverlayImpl::Clear(wxDC* WXUNUSED(dc))
{
wxASSERT_MSG( IsOk() , _("You cannot Clear an overlay that is not inited") );
- CGRect box = CGRectMake( m_x - 1, m_y - 1 , m_width + 2 , m_height + 2 );
- CGContextClearRect( m_overlayContext, box );
+ if( [m_overlayWindow isVisible] )
+ {
+ [m_overlayWindow restoreCachedImage];
+// [m_overlayWindow flushWindow];
+ }
}
void wxOverlayImpl::Reset()
{
- if ( m_overlayContext )
+ if ( m_overlayContext)
{
m_overlayContext = NULL ;
}
// todo : don't dispose, only hide and reposition on next run
- if (m_overlayWindow)
+ if (m_overlayWindow && [m_overlayWindow isVisible])
{
- [m_overlayParentWindow removeChildWindow:m_overlayWindow];
- [m_overlayWindow release];
- m_overlayWindow = NULL ;
+ NSRect box = [m_overlayWindow frame];
+
+ [m_overlayWindow discardCachedImage];
+ [m_overlayWindow cacheImageInRect:box];
}
}

View File

@ -0,0 +1,14 @@
=== modified file 'src/common/translation.cpp'
--- src/common/translation.cpp 2014-01-26 13:59:40 +0000
+++ src/common/translation.cpp 2014-01-26 15:18:47 +0000
@@ -1611,6 +1611,9 @@
/* static */
const wxString& wxTranslations::GetUntranslatedString(const wxString& str)
{
+ // Marco Serantoni - Dirty Patch
+ // Awaiting for http://trac.wxwidgets.org/ticket/15908
+ if( gs_translationsOwned == false) return str;
wxLocaleUntranslatedStrings& strings = wxThreadInfo.untranslatedStrings;
wxLocaleUntranslatedStrings::iterator i = strings.find(str);

View File

@ -97,8 +97,6 @@ set( PCBNEW_DIALOGS
dialogs/dialog_non_copper_zones_properties_base.cpp dialogs/dialog_non_copper_zones_properties_base.cpp
dialogs/dialog_pad_properties.cpp dialogs/dialog_pad_properties.cpp
dialogs/dialog_pad_properties_base.cpp dialogs/dialog_pad_properties_base.cpp
dialogs/dialog_pcbnew_config_libs_and_paths.cpp
dialogs/dialog_pcbnew_config_libs_and_paths_fbp.cpp
dialogs/dialog_plot_base.cpp dialogs/dialog_plot_base.cpp
dialogs/dialog_plot.cpp dialogs/dialog_plot.cpp
dialogs/dialog_print_for_modedit.cpp dialogs/dialog_print_for_modedit.cpp

View File

@ -424,7 +424,7 @@ void D_PAD:: TransformShapeWithClearanceToPolygon( CPOLYGONS_LIST& aCornerBuffer
* trapezoidal pads are considered as rect * trapezoidal pads are considered as rect
* pad shape having they boudary box size */ * pad shape having they boudary box size */
switch( m_PadShape ) switch( GetShape() )
{ {
case PAD_CIRCLE: case PAD_CIRCLE:
dx = KiROUND( dx * aCorrectionFactor ); dx = KiROUND( dx * aCorrectionFactor );
@ -459,7 +459,6 @@ void D_PAD:: TransformShapeWithClearanceToPolygon( CPOLYGONS_LIST& aCornerBuffer
} }
break; break;
default:
case PAD_TRAPEZOID: case PAD_TRAPEZOID:
psize.x += std::abs( m_DeltaSize.y ); psize.x += std::abs( m_DeltaSize.y );
psize.y += std::abs( m_DeltaSize.x ); psize.y += std::abs( m_DeltaSize.x );
@ -550,7 +549,7 @@ void D_PAD::BuildPadShapePolygon( CPOLYGONS_LIST& aCornerBuffer,
wxPoint corners[4]; wxPoint corners[4];
wxPoint PadShapePos = ReturnShapePos(); /* Note: for pad having a shape offset, wxPoint PadShapePos = ReturnShapePos(); /* Note: for pad having a shape offset,
* the pad position is NOT the shape position */ * the pad position is NOT the shape position */
switch( m_PadShape ) switch( GetShape() )
{ {
case PAD_CIRCLE: case PAD_CIRCLE:
case PAD_OVAL: case PAD_OVAL:
@ -558,7 +557,6 @@ void D_PAD::BuildPadShapePolygon( CPOLYGONS_LIST& aCornerBuffer,
aSegmentsPerCircle, aCorrectionFactor ); aSegmentsPerCircle, aCorrectionFactor );
break; break;
default:
case PAD_TRAPEZOID: case PAD_TRAPEZOID:
case PAD_RECT: case PAD_RECT:
BuildPadPolygon( corners, aInflateValue, m_Orient ); BuildPadPolygon( corners, aInflateValue, m_Orient );

View File

@ -2692,7 +2692,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
continue; // OK, pad found continue; // OK, pad found
// not found: bad footprint, report error // not found: bad footprint, report error
msg.Printf( _( "** Error: Component \"%s\" pad '%s' not found in footprint \"%s\" **\n" ), msg.Printf( _( "*** Error: Component '%s' pad '%s' not found in footprint '%s' ***\n" ),
GetChars( component->GetReference() ), GetChars( component->GetReference() ),
GetChars( padname ), GetChars( padname ),
GetChars( footprint->GetFPID().Format() ) ); GetChars( footprint->GetFPID().Format() ) );

View File

@ -36,15 +36,12 @@
#include <bezier_curves.h> #include <bezier_curves.h>
#include <class_drawpanel.h> #include <class_drawpanel.h>
#include <class_pcb_screen.h> #include <class_pcb_screen.h>
#include <kicad_string.h>
#include <colors_selection.h> #include <colors_selection.h>
#include <trigo.h> #include <trigo.h>
#include <richio.h>
#include <pcbcommon.h> #include <pcbcommon.h>
#include <msgpanel.h> #include <msgpanel.h>
#include <pcbnew.h> #include <pcbnew.h>
#include <math_for_graphics.h>
#include <class_board.h> #include <class_board.h>
#include <class_module.h> #include <class_module.h>

View File

@ -146,7 +146,7 @@ MODULE::MODULE( const MODULE& aModule ) :
// Copy auxiliary data: 3D_Drawings info // Copy auxiliary data: 3D_Drawings info
for( S3D_MASTER* item = aModule.m_3D_Drawings; item; item = item->Next() ) for( S3D_MASTER* item = aModule.m_3D_Drawings; item; item = item->Next() )
{ {
if( item->m_Shape3DName.IsEmpty() ) // do not copy empty shapes. if( item->GetShape3DName().IsEmpty() ) // do not copy empty shapes.
continue; continue;
S3D_MASTER* t3d = m_3D_Drawings; S3D_MASTER* t3d = m_3D_Drawings;
@ -270,12 +270,12 @@ void MODULE::Copy( MODULE* aModule )
for( S3D_MASTER* item = aModule->m_3D_Drawings; item; item = item->Next() ) for( S3D_MASTER* item = aModule->m_3D_Drawings; item; item = item->Next() )
{ {
if( item->m_Shape3DName.IsEmpty() ) // do not copy empty shapes. if( item->GetShape3DName().IsEmpty() ) // do not copy empty shapes.
continue; continue;
S3D_MASTER* t3d = m_3D_Drawings; S3D_MASTER* t3d = m_3D_Drawings;
if( t3d && t3d->m_Shape3DName.IsEmpty() ) // The first entry can if( t3d && t3d->GetShape3DName().IsEmpty() ) // The first entry can
{ // exist, but is empty : use it. { // exist, but is empty : use it.
t3d->Copy( item ); t3d->Copy( item );
} }
@ -530,9 +530,9 @@ void MODULE::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList )
// Search the first active 3D shape in list // Search the first active 3D shape in list
for( S3D_MASTER* struct3D = m_3D_Drawings; struct3D; struct3D = struct3D->Next() ) for( S3D_MASTER* struct3D = m_3D_Drawings; struct3D; struct3D = struct3D->Next() )
{ {
if( !struct3D->m_Shape3DName.IsEmpty() ) if( !struct3D->GetShape3DName().IsEmpty() )
{ {
msg = struct3D->m_Shape3DName; msg = struct3D->GetShape3DName();
break; break;
} }
} }

View File

@ -66,9 +66,9 @@ D_PAD::D_PAD( MODULE* parent ) :
m_Pos = GetParent()->GetPosition(); m_Pos = GetParent()->GetPosition();
} }
m_PadShape = PAD_CIRCLE; // Default pad shape is PAD_CIRCLE. SetShape( PAD_CIRCLE ); // Default pad shape is PAD_CIRCLE.
SetDrillShape( PAD_DRILL_CIRCLE ); // Default pad drill shape is a circle.
m_Attribute = PAD_STANDARD; // Default pad type is NORMAL (thru hole) m_Attribute = PAD_STANDARD; // Default pad type is NORMAL (thru hole)
m_DrillShape = PAD_CIRCLE; // Default pad drill shape is a circle.
m_LocalClearance = 0; m_LocalClearance = 0;
m_LocalSolderMaskMargin = 0; m_LocalSolderMaskMargin = 0;
m_LocalSolderPasteMargin = 0; m_LocalSolderPasteMargin = 0;
@ -375,13 +375,13 @@ void D_PAD::Copy( D_PAD* source )
m_NumPadName = source->m_NumPadName; m_NumPadName = source->m_NumPadName;
SetNet( source->GetNet() ); SetNet( source->GetNet() );
m_Drill = source->m_Drill; m_Drill = source->m_Drill;
m_DrillShape = source->m_DrillShape; m_drillShape = source->m_drillShape;
m_Offset = source->m_Offset; m_Offset = source->m_Offset;
m_Size = source->m_Size; m_Size = source->m_Size;
m_DeltaSize = source->m_DeltaSize; m_DeltaSize = source->m_DeltaSize;
m_Pos0 = source->m_Pos0; m_Pos0 = source->m_Pos0;
m_boundingRadius = source->m_boundingRadius; m_boundingRadius = source->m_boundingRadius;
m_PadShape = source->m_PadShape; m_padShape = source->m_padShape;
m_Attribute = source->m_Attribute; m_Attribute = source->m_Attribute;
m_Orient = source->m_Orient; m_Orient = source->m_Orient;
m_LengthPadToDie = source->m_LengthPadToDie; m_LengthPadToDie = source->m_LengthPadToDie;
@ -592,7 +592,7 @@ void D_PAD::GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM>& aList )
Line = ::CoordinateToString( (unsigned) m_Drill.x ); Line = ::CoordinateToString( (unsigned) m_Drill.x );
if( m_DrillShape == PAD_CIRCLE ) if( GetDrillShape() == PAD_DRILL_CIRCLE )
{ {
aList.push_back( MSG_PANEL_ITEM( _( "Drill" ), Line, RED ) ); aList.push_back( MSG_PANEL_ITEM( _( "Drill" ), Line, RED ) );
} }
@ -654,7 +654,7 @@ bool D_PAD::HitTest( const wxPoint& aPosition )
dx = m_Size.x >> 1; // dx also is the radius for rounded pads dx = m_Size.x >> 1; // dx also is the radius for rounded pads
dy = m_Size.y >> 1; dy = m_Size.y >> 1;
switch( m_PadShape & 0x7F ) switch( GetShape() )
{ {
case PAD_CIRCLE: case PAD_CIRCLE:
if( KiROUND( EuclideanNorm( delta ) ) <= dx ) if( KiROUND( EuclideanNorm( delta ) ) <= dx )
@ -670,7 +670,28 @@ bool D_PAD::HitTest( const wxPoint& aPosition )
return TestPointInsidePolygon( poly, 4, delta ); return TestPointInsidePolygon( poly, 4, delta );
} }
default: case PAD_OVAL:
{
RotatePoint( &delta, -m_Orient );
// An oval pad has the same shape as a segment with rounded ends
// After rotation, the test point is relative to an horizontal pad
int dist;
wxPoint offset;
if( dy > dx ) // shape is a vertical oval
{
offset.y = dy - dx;
dist = dx;
}
else //if( dy <= dx ) shape is an horizontal oval
{
offset.x = dy - dx;
dist = dy;
}
return TestSegmentHit( delta, - offset, offset, dist );
}
break;
case PAD_RECT:
RotatePoint( &delta, -m_Orient ); RotatePoint( &delta, -m_Orient );
if( (abs( delta.x ) <= dx ) && (abs( delta.y ) <= dy) ) if( (abs( delta.x ) <= dx ) && (abs( delta.y ) <= dy) )
@ -687,10 +708,10 @@ int D_PAD::Compare( const D_PAD* padref, const D_PAD* padcmp )
{ {
int diff; int diff;
if( ( diff = padref->m_PadShape - padcmp->m_PadShape ) != 0 ) if( ( diff = padref->GetShape() - padcmp->GetShape() ) != 0 )
return diff; return diff;
if( ( diff = padref->m_DrillShape - padcmp->m_DrillShape ) != 0) if( ( diff = padref->GetDrillShape() - padcmp->GetDrillShape() ) != 0)
return diff; return diff;
if( ( diff = padref->m_Drill.x - padcmp->m_Drill.x ) != 0 ) if( ( diff = padref->m_Drill.x - padcmp->m_Drill.x ) != 0 )
@ -728,7 +749,7 @@ int D_PAD::Compare( const D_PAD* padref, const D_PAD* padcmp )
wxString D_PAD::ShowPadShape() const wxString D_PAD::ShowPadShape() const
{ {
switch( m_PadShape ) switch( GetShape() )
{ {
case PAD_CIRCLE: case PAD_CIRCLE:
return _( "Circle" ); return _( "Circle" );

View File

@ -122,8 +122,8 @@ public:
* Function GetShape * Function GetShape
* @return the shape of this pad. * @return the shape of this pad.
*/ */
PAD_SHAPE_T GetShape() const { return m_PadShape; } PAD_SHAPE_T GetShape() const { return m_padShape; }
void SetShape( PAD_SHAPE_T aShape ) { m_PadShape = aShape; m_boundingRadius = -1; } void SetShape( PAD_SHAPE_T aShape ) { m_padShape = aShape; m_boundingRadius = -1; }
void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; } // was overload void SetPosition( const wxPoint& aPos ) { m_Pos = aPos; } // was overload
const wxPoint& GetPosition() const { return m_Pos; } // was overload const wxPoint& GetPosition() const { return m_Pos; } // was overload
@ -165,8 +165,9 @@ public:
*/ */
double GetOrientation() const { return m_Orient; } double GetOrientation() const { return m_Orient; }
void SetDrillShape( PAD_SHAPE_T aDrillShape ) { m_DrillShape = aDrillShape; } void SetDrillShape( PAD_DRILL_SHAPE_T aDrillShape )
PAD_SHAPE_T GetDrillShape() const { return m_DrillShape; } { m_drillShape = aDrillShape; }
PAD_DRILL_SHAPE_T GetDrillShape() const { return m_drillShape; }
void SetLayerMask( LAYER_MSK aLayerMask ) { m_layerMask = aLayerMask; } void SetLayerMask( LAYER_MSK aLayerMask ) { m_layerMask = aLayerMask; }
LAYER_MSK GetLayerMask() const { return m_layerMask; } LAYER_MSK GetLayerMask() const { return m_layerMask; }
@ -344,7 +345,7 @@ public:
{ {
// Any member function which would affect this calculation should set // Any member function which would affect this calculation should set
// m_boundingRadius to -1 to re-trigger the calculation from here. // m_boundingRadius to -1 to re-trigger the calculation from here.
// Currently that is only m_Size, m_DeltaSize, and m_PadShape accessors. // Currently that is only m_Size, m_DeltaSize, and m_padShape accessors.
if( m_boundingRadius == -1 ) if( m_boundingRadius == -1 )
{ {
m_boundingRadius = boundingRadius(); m_boundingRadius = boundingRadius();
@ -462,7 +463,7 @@ private:
wxPoint m_Pos; ///< pad Position on board wxPoint m_Pos; ///< pad Position on board
PAD_SHAPE_T m_PadShape; ///< Shape: PAD_CIRCLE, PAD_RECT, PAD_OVAL, PAD_TRAPEZOID PAD_SHAPE_T m_padShape; ///< Shape: PAD_CIRCLE, PAD_RECT, PAD_OVAL, PAD_TRAPEZOID
int m_SubRatsnest; ///< variable used in rats nest computations int m_SubRatsnest; ///< variable used in rats nest computations
@ -474,7 +475,8 @@ private:
wxSize m_Size; ///< X and Y size ( relative to orient 0) wxSize m_Size; ///< X and Y size ( relative to orient 0)
PAD_SHAPE_T m_DrillShape; ///< Shape PAD_CIRCLE, PAD_OVAL PAD_DRILL_SHAPE_T m_drillShape; ///< PAD_DRILL_NONE, PAD_DRILL_CIRCLE, PAD_DRILL_OBLONG
/** /**
* m_Offset is useful only for oblong pads (it can be used for other * m_Offset is useful only for oblong pads (it can be used for other

View File

@ -430,15 +430,15 @@ void D_PAD::DrawShape( EDA_RECT* aClipBox, wxDC* aDC, PAD_DRAWINFO& aDrawInfo )
if( aDrawInfo. m_ShowNotPlatedHole ) // Draw a specific hole color if( aDrawInfo. m_ShowNotPlatedHole ) // Draw a specific hole color
hole_color = aDrawInfo.m_NPHoleColor; hole_color = aDrawInfo.m_NPHoleColor;
switch( m_DrillShape ) switch( GetDrillShape() )
{ {
case PAD_CIRCLE: case PAD_DRILL_CIRCLE:
if( aDC->LogicalToDeviceXRel( hole ) > MIN_DRAW_WIDTH ) if( aDC->LogicalToDeviceXRel( hole ) > MIN_DRAW_WIDTH )
GRFilledCircle( aClipBox, aDC, holepos.x, holepos.y, hole, 0, GRFilledCircle( aClipBox, aDC, holepos.x, holepos.y, hole, 0,
hole_color, hole_color ); hole_color, hole_color );
break; break;
case PAD_OVAL: case PAD_DRILL_OBLONG:
halfsize.x = m_Drill.x >> 1; halfsize.x = m_Drill.x >> 1;
halfsize.y = m_Drill.y >> 1; halfsize.y = m_Drill.y >> 1;

View File

@ -280,7 +280,7 @@ void PCB_LAYER_WIDGET::ReFill()
{ {
if( enabledLayers & GetLayerMask( layer ) ) if( enabledLayers & GetLayerMask( layer ) )
{ {
const wxChar *dsc; wxString dsc;
switch( layer ) switch( layer )
{ {
case LAYER_N_FRONT: case LAYER_N_FRONT:

View File

@ -28,7 +28,7 @@
*/ */
/* functions relatives to the design rules editor /* functions relative to the design rules editor
*/ */
#include <fctsys.h> #include <fctsys.h>
#include <class_drawpanel.h> #include <class_drawpanel.h>
@ -46,7 +46,6 @@
#include <wx/generic/gridctrl.h> #include <wx/generic/gridctrl.h>
#include <dialog_design_rules_aux_helper_class.h> #include <dialog_design_rules_aux_helper_class.h>
// Column labels for net lists // Column labels for net lists
#define NET_TITLE _( "Net" ) #define NET_TITLE _( "Net" )
#define CLASS_TITLE _( "Class" ) #define CLASS_TITLE _( "Class" )

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
@ -171,7 +171,7 @@ DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID
int m_OptViaTypeNChoices = sizeof( m_OptViaTypeChoices ) / sizeof( wxString ); int m_OptViaTypeNChoices = sizeof( m_OptViaTypeChoices ) / sizeof( wxString );
m_OptViaType = new wxRadioBox( m_panelGolbalDesignRules, wxID_ANY, _("Blind/buried Vias:"), wxDefaultPosition, wxDefaultSize, m_OptViaTypeNChoices, m_OptViaTypeChoices, 1, wxRA_SPECIFY_COLS ); m_OptViaType = new wxRadioBox( m_panelGolbalDesignRules, wxID_ANY, _("Blind/buried Vias:"), wxDefaultPosition, wxDefaultSize, m_OptViaTypeNChoices, m_OptViaTypeChoices, 1, wxRA_SPECIFY_COLS );
m_OptViaType->SetSelection( 0 ); m_OptViaType->SetSelection( 0 );
m_OptViaType->SetToolTip( _("Allows or not blind/buried vias.\nDo not allow is the usual selection\nNote: micro vias are a special type of blind vias and are not managed here") ); m_OptViaType->SetToolTip( _("Allows or not blind/buried vias.\nDo not allow is the usual selection.\nNote: micro vias are a special type of blind vias and are not managed here") );
sbViasOptionSizer->Add( m_OptViaType, 0, wxALL|wxEXPAND, 5 ); sbViasOptionSizer->Add( m_OptViaType, 0, wxALL|wxEXPAND, 5 );

View File

@ -20,8 +20,10 @@
<property name="path">.</property> <property name="path">.</property>
<property name="precompiled_header"></property> <property name="precompiled_header"></property>
<property name="relative_path">1</property> <property name="relative_path">1</property>
<property name="skip_lua_events">1</property>
<property name="skip_php_events">1</property> <property name="skip_php_events">1</property>
<property name="skip_python_events">1</property> <property name="skip_python_events">1</property>
<property name="ui_table">UI</property>
<property name="use_enum">1</property> <property name="use_enum">1</property>
<property name="use_microsoft_bom">0</property> <property name="use_microsoft_bom">0</property>
<object class="Dialog" expanded="1"> <object class="Dialog" expanded="1">
@ -1642,7 +1644,7 @@
<property name="style">wxRA_SPECIFY_COLS</property> <property name="style">wxRA_SPECIFY_COLS</property>
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Allows or not blind/buried vias.&#x0A;Do not allow is the usual selection&#x0A;Note: micro vias are a special type of blind vias and are not managed here</property> <property name="tooltip">Allows or not blind/buried vias.&#x0A;Do not allow is the usual selection.&#x0A;Note: micro vias are a special type of blind vias and are not managed here</property>
<property name="validator_data_type"></property> <property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property> <property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property> <property name="validator_type">wxDefaultValidator</property>

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!

View File

@ -249,12 +249,12 @@ void DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties()
while( draw3D ) while( draw3D )
{ {
if( !draw3D->m_Shape3DName.IsEmpty() ) if( !draw3D->GetShape3DName().IsEmpty() )
{ {
S3D_MASTER* draw3DCopy = new S3D_MASTER( NULL ); S3D_MASTER* draw3DCopy = new S3D_MASTER( NULL );
draw3DCopy->Copy( draw3D ); draw3DCopy->Copy( draw3D );
m_Shapes3D_list.push_back( draw3DCopy ); m_Shapes3D_list.push_back( draw3DCopy );
m_3D_ShapeNameListBox->Append( draw3DCopy->m_Shape3DName ); m_3D_ShapeNameListBox->Append( draw3DCopy->GetShape3DName() );
} }
draw3D = (S3D_MASTER*) draw3D->Next(); draw3D = (S3D_MASTER*) draw3D->Next();
} }
@ -428,11 +428,16 @@ void DIALOG_MODULE_BOARD_EDITOR::Browse3DLib( wxCommandEvent& event )
fullpath.Replace( wxT( "/" ), wxT( "\\" ) ); fullpath.Replace( wxT( "/" ), wxT( "\\" ) );
#endif #endif
wxString fileFilters;
fileFilters = wxGetTranslation( Shapes3DFileWildcard );
fileFilters += wxChar( '|' );
fileFilters += wxGetTranslation( IDF3DFileWildcard );
fullfilename = EDA_FileSelector( _( "3D Shape:" ), fullfilename = EDA_FileSelector( _( "3D Shape:" ),
fullpath, fullpath,
wxEmptyString, wxEmptyString,
wxEmptyString, wxEmptyString,
wxGetTranslation( Shapes3DFileWildcard ), wxGetTranslation( fileFilters ),
this, this,
wxFD_OPEN, wxFD_OPEN,
true true
@ -474,7 +479,7 @@ void DIALOG_MODULE_BOARD_EDITOR::Browse3DLib( wxCommandEvent& event )
// Store filename in Unix notation // Store filename in Unix notation
shortfilename.Replace( wxT( "\\" ), wxT( "/" ) ); shortfilename.Replace( wxT( "\\" ), wxT( "/" ) );
#endif #endif
new3DShape->m_Shape3DName = shortfilename; new3DShape->SetShape3DName( shortfilename );
m_Shapes3D_list.push_back( new3DShape ); m_Shapes3D_list.push_back( new3DShape );
m_3D_ShapeNameListBox->Append( shortfilename ); m_3D_ShapeNameListBox->Append( shortfilename );
@ -606,7 +611,7 @@ void DIALOG_MODULE_BOARD_EDITOR::OnOkClick( wxCommandEvent& event )
{ {
S3D_MASTER* draw3DCopy = m_Shapes3D_list[ii]; S3D_MASTER* draw3DCopy = m_Shapes3D_list[ii];
if( draw3DCopy->m_Shape3DName.IsEmpty() ) if( draw3DCopy->GetShape3DName().IsEmpty() )
continue; continue;
if( draw3D == NULL ) if( draw3D == NULL )
@ -615,7 +620,7 @@ void DIALOG_MODULE_BOARD_EDITOR::OnOkClick( wxCommandEvent& event )
m_CurrentModule->Models().Append( draw3D ); m_CurrentModule->Models().Append( draw3D );
} }
draw3D->m_Shape3DName = draw3DCopy->m_Shape3DName; draw3D->SetShape3DName( draw3DCopy->GetShape3DName() );
draw3D->m_MatScale = draw3DCopy->m_MatScale; draw3D->m_MatScale = draw3DCopy->m_MatScale;
draw3D->m_MatRotation = draw3DCopy->m_MatRotation; draw3D->m_MatRotation = draw3DCopy->m_MatRotation;
draw3D->m_MatPosition = draw3DCopy->m_MatPosition; draw3D->m_MatPosition = draw3DCopy->m_MatPosition;

Some files were not shown because too many files have changed in this diff Show More