Compare commits

..

10 Commits

Author SHA1 Message Date
Mike Williams 9389a2b7c5 design blocks: cross-editor notification of library actions 2025-02-05 12:20:17 -05:00
Mike Williams 97aa507dd4 design blocks: commonize tool control functionality 2025-02-05 10:28:59 -05:00
Mike Williams eed62789a8 design blocks: check for library existence in table dialog 2025-02-04 09:27:31 -05:00
Mike Williams 17a29794a1 pcb design blocks: add place (repeated, grouped) functionality 2025-02-04 09:27:31 -05:00
Mike Williams c49a9497ff pcb design blocks: PCB save selection as design block 2025-02-04 09:27:31 -05:00
Mike Williams 362366d6f5 pcb design blocks: create from board working-ish and block preview 2025-02-04 09:27:31 -05:00
Mike Williams 372a9c3f51 pcbnew: move extension ensurance up a level 2025-02-04 09:27:31 -05:00
Mike Williams 8c2a6fc818 pcb: don't show informational message on successful save 2025-02-04 09:27:31 -05:00
Mike Williams 7054963d90 PCB editor: add design block panel 2025-02-04 09:27:31 -05:00
Mike Williams b894e7fe91 design blocks: commonize a lot of the code in prep for PCB blocks 2025-02-04 09:27:31 -05:00
829 changed files with 216635 additions and 4031326 deletions
@@ -1278,9 +1278,6 @@ void RENDER_3D_RAYTRACE_BASE::load3DModels( CONTAINER_3D& aDstContainer,
for( FP_3DMODEL& model : fp->Models() )
{
if( !model.m_Show || model.m_Filename.empty() )
continue;
// get it from cache
const S3DMODEL* modelPtr =
cacheMgr->GetModel( model.m_Filename, footprintBasePath, fp );
@@ -209,7 +209,7 @@ PANEL_PREVIEW_3D_MODEL_BASE::PANEL_PREVIEW_3D_MODEL_BASE( wxWindow* parent, wxWi
bSizer3DButtons->Add( m_bpvBodyStyle, 0, wxTOP, 5 );
bSizer3DButtons->Add( 0, 20, 0, wxEXPAND, 5 );
bSizer3DButtons->Add( 0, 0, 1, wxEXPAND, 5 );
m_bpvLeft = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
bSizer3DButtons->Add( m_bpvLeft, 0, wxBOTTOM, 5 );
@@ -230,7 +230,7 @@ PANEL_PREVIEW_3D_MODEL_BASE::PANEL_PREVIEW_3D_MODEL_BASE( wxWindow* parent, wxWi
bSizer3DButtons->Add( m_bpvBottom, 0, 0, 5 );
bSizer3DButtons->Add( 0, 20, 0, wxEXPAND, 5 );
bSizer3DButtons->Add( 0, 0, 1, wxEXPAND, 5 );
m_bpUpdate = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW|0 );
m_bpUpdate->SetToolTip( _("Reload board and 3D models") );
@@ -2235,9 +2235,9 @@
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<property name="proportion">1</property>
<object class="spacer" expanded="true">
<property name="height">20</property>
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">0</property>
</object>
@@ -2695,9 +2695,9 @@
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<property name="proportion">1</property>
<object class="spacer" expanded="true">
<property name="height">20</property>
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">0</property>
</object>
+1 -1
View File
@@ -37,7 +37,7 @@
# KiCad.
#
# Note: This version string should follow the semantic versioning system
set( KICAD_SEMANTIC_VERSION "9.99.0-unknown" )
set( KICAD_SEMANTIC_VERSION "9.0.0-rc2" )
# Default the version to the semantic version.
# This is overridden by the git repository tag though (if using git)
-1
View File
@@ -195,7 +195,6 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
# Suppress GCC warnings about unknown/unused attributes (e.g. cdecl, [[maybe_unused, etc)
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-ignored-attributes" )
endif()
# Avoid ABI warnings, specifically one about an ABI change on ppc64el from gcc5 to gcc 6.
+7
View File
@@ -348,6 +348,8 @@ set( COMMON_DLG_SRCS
dialogs/dialog_color_picker_base.cpp
dialogs/dialog_configure_paths.cpp
dialogs/dialog_configure_paths_base.cpp
dialogs/dialog_design_block_properties.cpp
dialogs/dialog_design_block_properties_base.cpp
dialogs/dialog_display_html_text_base.cpp
dialogs/dialog_edit_library_tables.cpp
dialogs/dialog_embed_files.cpp
@@ -421,6 +423,7 @@ set( COMMON_WIDGET_SRCS
widgets/bitmap_toggle.cpp
widgets/button_row_panel.cpp
widgets/color_swatch.cpp
widgets/design_block_pane.cpp
widgets/filter_combobox.cpp
widgets/font_choice.cpp
widgets/footprint_choice.cpp
@@ -445,6 +448,7 @@ set( COMMON_WIDGET_SRCS
widgets/mathplot.cpp
widgets/msgpanel.cpp
widgets/paged_dialog.cpp
widgets/panel_design_block_chooser.cpp
widgets/properties_panel.cpp
widgets/search_pane.cpp
widgets/search_pane_base.cpp
@@ -588,6 +592,7 @@ set( COMMON_SRCS
eda_item.cpp
eda_shape.cpp
eda_text.cpp
eda_tools.cpp
embedded_files.cpp
env_paths.cpp
executable_names.cpp
@@ -606,6 +611,7 @@ set( COMMON_SRCS
lib_table_grid_tricks.cpp
lib_tree_model.cpp
lib_tree_model_adapter.cpp
design_block_tree_model_adapter.cpp
marker_base.cpp
origin_transforms.cpp
printout.cpp
@@ -639,6 +645,7 @@ set( COMMON_SRCS
tool/construction_manager.cpp
tool/common_tools.cpp
tool/conditional_menu.cpp
tool/design_block_control.cpp
tool/edit_constraints.cpp
tool/edit_points.cpp
tool/editor_conditions.cpp
+2 -11
View File
@@ -125,8 +125,6 @@ static const wxChar MinParallelAngle[] = wxT( "MinParallelAngle" );
static const wxChar HoleWallPaintingMultiplier[] = wxT( "HoleWallPaintingMultiplier" );
static const wxChar MsgPanelShowUuids[] = wxT( "MsgPanelShowUuids" );
static const wxChar MaximumThreads[] = wxT( "MaximumThreads" );
static const wxChar NetInspectorBulkUpdateOptimisationThreshold[] =
wxT( "NetInspectorBulkUpdateOptimisationThreshold" );
} // namespace KEYS
@@ -257,7 +255,7 @@ ADVANCED_CFG::ADVANCED_CFG()
m_ShowRepairSchematic = false;
m_EnableDesignBlocks = true;
m_EnableGenerators = false;
m_EnableGit = true;
m_EnableGit = false;
m_EnableLibWithText = false;
m_EnableLibDir = false;
@@ -294,7 +292,7 @@ ADVANCED_CFG::ADVANCED_CFG()
m_ResolveTextRecursionDepth = 3;
m_EnableExtensionSnaps = true;
m_ExtensionSnapTimeoutMs = 500;
m_ExtensionSnapTimeoutMs = 400;
m_ExtensionSnapActivateOnHover = true;
m_EnableSnapAnchorsDebug = false;
@@ -305,8 +303,6 @@ ADVANCED_CFG::ADVANCED_CFG()
m_MinimumMarkerSeparationDistance = 0.15;
m_NetInspectorBulkUpdateOptimisationThreshold = 25;
loadFromConfigFile();
}
@@ -587,11 +583,6 @@ void ADVANCED_CFG::loadSettings( wxConfigBase& aCfg )
&m_MaximumThreads, m_MaximumThreads,
0, 500 ) );
configParams.push_back(
new PARAM_CFG_INT( true, AC_KEYS::NetInspectorBulkUpdateOptimisationThreshold,
&m_NetInspectorBulkUpdateOptimisationThreshold,
m_NetInspectorBulkUpdateOptimisationThreshold, 0, 1000 ) );
// Special case for trace mask setting...we just grab them and set them immediately
// Because we even use wxLogTrace inside of advanced config
wxString traceMasks;
+15 -65
View File
@@ -24,7 +24,6 @@
#include <fmt/format.h>
#include <wx/dir.h>
#include <wx/log.h>
#include <wx/timer.h>
#include <wx/utils.h>
#include <api/api_plugin_manager.h>
@@ -44,9 +43,7 @@ wxDEFINE_EVENT( EDA_EVT_PLUGIN_AVAILABILITY_CHANGED, wxCommandEvent );
API_PLUGIN_MANAGER::API_PLUGIN_MANAGER( wxEvtHandler* aEvtHandler ) :
wxEvtHandler(),
m_parent( aEvtHandler ),
m_lastPid( 0 ),
m_raiseTimer( nullptr )
m_parent( aEvtHandler )
{
// Read and store pcm schema
wxFileName schemaFile( PATHS::GetStockDataPath( true ), wxS( "api.v1.schema.json" ) );
@@ -284,7 +281,7 @@ void API_PLUGIN_MANAGER::InvokeAction( const wxString& aIdentifier )
if( pythonHome )
env.env[wxS( "VIRTUAL_ENV" )] = *pythonHome;
[[maybe_unused]] long pid = manager.Execute( { pluginFile.GetFullPath() },
manager.Execute( pluginFile.GetFullPath(),
[]( int aRetVal, const wxString& aOutput, const wxString& aError )
{
wxLogTrace( traceApi,
@@ -295,36 +292,6 @@ void API_PLUGIN_MANAGER::InvokeAction( const wxString& aIdentifier )
},
&env, true );
#ifdef __WXMAC__
if( pid )
{
if( !m_raiseTimer )
{
m_raiseTimer = new wxTimer( this );
Bind( wxEVT_TIMER,
[&]( wxTimerEvent& )
{
wxString script = wxString::Format(
wxS( "tell application \"System Events\"\n"
" set plist to every process whose unix id is %ld\n"
" repeat with proc in plist\n"
" set the frontmost of proc to true\n"
" end repeat\n"
"end tell" ), m_lastPid );
wxString cmd = wxString::Format( "osascript -e '%s'", script );
wxLogTrace( traceApi, wxString::Format( "Execute: %s", cmd ) );
wxExecute( cmd );
},
m_raiseTimer->GetId() );
}
m_lastPid = pid;
m_raiseTimer->StartOnce( 250 );
}
#endif
break;
}
@@ -495,14 +462,10 @@ void API_PLUGIN_MANAGER::processNextJob( wxCommandEvent& aEvent )
env.env.erase( "PYTHONPATH" );
}
#endif
std::vector<wxString> args = {
"-m",
"venv",
"--system-site-packages",
job.env_path
};
manager.Execute( args,
manager.Execute(
wxString::Format( wxS( "-m venv --system-site-packages \"%s\"" ),
job.env_path ),
[this]( int aRetVal, const wxString& aOutput, const wxString& aError )
{
wxLogTrace( traceApi,
@@ -557,15 +520,10 @@ void API_PLUGIN_MANAGER::processNextJob( wxCommandEvent& aEvent )
}
#endif
std::vector<wxString> args = {
"-m",
"pip",
"install",
"--upgrade",
"pip"
};
wxString cmd = wxS( "-m pip install --upgrade pip" );
wxLogTrace( traceApi, "Manager: calling python %s", cmd );
manager.Execute( args,
manager.Execute( cmd,
[this]( int aRetVal, const wxString& aOutput, const wxString& aError )
{
wxLogTrace( traceApi, wxString::Format( "Manager: upgrade pip returned %d",
@@ -627,22 +585,14 @@ void API_PLUGIN_MANAGER::processNextJob( wxCommandEvent& aEvent )
if( pythonHome )
env.env[wxS( "VIRTUAL_ENV" )] = *pythonHome;
std::vector<wxString> args = {
"-m",
"pip",
"install",
"--no-input",
"--isolated",
"--only-binary",
":all:",
"--require-virtualenv",
"--exists-action",
"i",
"-r",
reqs.GetFullPath()
};
wxString cmd = wxString::Format(
wxS( "-m pip install --no-input --isolated --only-binary :all: --require-virtualenv "
"--exists-action i -r \"%s\"" ),
reqs.GetFullPath() );
manager.Execute( args,
wxLogTrace( traceApi, "Manager: calling python %s", cmd );
manager.Execute( cmd,
[this, job]( int aRetVal, const wxString& aOutput, const wxString& aError )
{
if( !aError.IsEmpty() )
+13 -3
View File
@@ -21,6 +21,10 @@
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef DESIGN_BLOCK_H
#define DESIGN_BLOCK_H
#include <kicommon.h>
#include <lib_id.h>
#include <nlohmann/json.hpp>
@@ -41,6 +45,9 @@ public:
const wxString& GetSchematicFile() const { return m_schematicFile; }
void SetSchematicFile( const wxString& aFile ) { m_schematicFile = aFile; }
const wxString& GetBoardFile() const { return m_boardFile; }
void SetBoardFile( const wxString& aFile ) { m_boardFile = aFile; }
void SetFields( nlohmann::ordered_map<wxString, wxString>& aFields )
{
m_fields = std::move( aFields );
@@ -55,9 +62,12 @@ public:
private:
LIB_ID m_lib_id;
wxString m_schematicFile; ///< File name and path for schematic symbol.
wxString m_libDescription; ///< File name and path for documentation file.
wxString m_keywords; ///< Search keywords to find footprint in library.
wxString m_schematicFile; // File name and path for schematic file.
wxString m_boardFile; // File name and path for board file
wxString m_libDescription; // File name and path for documentation file.
wxString m_keywords; // Search keywords to find design block in library.
nlohmann::ordered_map<wxString, wxString> m_fields;
};
#endif
+73 -20
View File
@@ -265,7 +265,10 @@ void DESIGN_BLOCK_IO::DesignBlockEnumerate( wxArrayString& aDesignBlockNames,
wxDir dir( aLibraryPath );
if( !dir.IsOpened() )
return;
{
THROW_IO_ERROR(
wxString::Format( _( "Design block '%s' does not exist." ), aLibraryPath ) );
}
wxString dirname;
wxString fileSpec = wxT( "*." ) + wxString( FILEEXT::KiCadDesignBlockPathExtension );
@@ -287,17 +290,23 @@ DESIGN_BLOCK* DESIGN_BLOCK_IO::DesignBlockLoad( const wxString& aLibraryPath,
+ FILEEXT::KiCadDesignBlockPathExtension + wxFileName::GetPathSeparator();
wxString dbSchPath = dbPath + aDesignBlockName + wxT( "." )
+ FILEEXT::KiCadSchematicFileExtension;
wxString dbPcbPath = dbPath + aDesignBlockName + wxT( "." ) + FILEEXT::KiCadPcbFileExtension;
wxString dbMetadataPath = dbPath + aDesignBlockName + wxT( "." ) + FILEEXT::JsonFileExtension;
if( !wxFileExists( dbSchPath ) )
return nullptr;
if( !wxDir::Exists( dbPath ) )
THROW_IO_ERROR( wxString::Format( _( "Design block '%s' does not exist." ), dbPath ) );
DESIGN_BLOCK* newDB = new DESIGN_BLOCK();
// Library name needs to be empty for when we fill it in with the correct library nickname
// one layer above
newDB->SetLibId( LIB_ID( wxEmptyString, aDesignBlockName ) );
newDB->SetSchematicFile( dbSchPath );
if( wxFileExists( dbSchPath ) )
newDB->SetSchematicFile( dbSchPath );
if( wxFileExists( dbPcbPath ) )
newDB->SetBoardFile( dbPcbPath );
// Parse the JSON file if it exists
if( wxFileExists( dbMetadataPath ) )
@@ -333,16 +342,27 @@ DESIGN_BLOCK* DESIGN_BLOCK_IO::DesignBlockLoad( const wxString& aLibraryPath,
}
catch( ... )
{
delete newDB;
THROW_IO_ERROR( wxString::Format(
_( "Design block metadata file '%s' could not be read." ), dbMetadataPath ) );
}
}
return newDB;
}
bool DESIGN_BLOCK_IO::DesignBlockExists( const wxString& aLibraryPath,
const wxString& aDesignBlockName,
const std::map<std::string, UTF8>* aProperties )
{
wxString dbPath = aLibraryPath + wxFileName::GetPathSeparator() + aDesignBlockName + wxT( "." )
+ FILEEXT::KiCadDesignBlockPathExtension + wxFileName::GetPathSeparator();
return wxDir::Exists( dbPath );
}
void DESIGN_BLOCK_IO::DesignBlockSave( const wxString& aLibraryPath,
const DESIGN_BLOCK* aDesignBlock,
const std::map<std::string, UTF8>* aProperties )
@@ -353,12 +373,22 @@ void DESIGN_BLOCK_IO::DesignBlockSave( const wxString& aLibra
THROW_IO_ERROR( _( "Design block does not have a valid library ID." ) );
}
wxFileName schematicFile( aDesignBlock->GetSchematicFile() );
if( aDesignBlock->GetSchematicFile().IsEmpty() && aDesignBlock->GetBoardFile().IsEmpty() )
{
THROW_IO_ERROR( _( "Design block does not have a schematic or board file." ) );
}
if( !schematicFile.FileExists() )
if( !aDesignBlock->GetSchematicFile().IsEmpty()
&& !wxFileExists( aDesignBlock->GetSchematicFile() ) )
{
THROW_IO_ERROR( wxString::Format( _( "Schematic source file '%s' does not exist." ),
schematicFile.GetFullPath() ) );
aDesignBlock->GetSchematicFile() ) );
}
if( !aDesignBlock->GetBoardFile().IsEmpty() && !wxFileExists( aDesignBlock->GetBoardFile() ) )
{
THROW_IO_ERROR( wxString::Format( _( "Board source file '%s' does not exist." ),
aDesignBlock->GetBoardFile() ) );
}
// Create the design block folder
@@ -376,23 +406,46 @@ void DESIGN_BLOCK_IO::DesignBlockSave( const wxString& aLibra
}
}
// The new schematic file name is based on the design block name, not the source sheet name
wxString dbSchematicFile = dbFolder.GetFullPath() + aDesignBlock->GetLibId().GetLibItemName()
+ wxT( "." ) + FILEEXT::KiCadSchematicFileExtension;
// If the source and destination files are the same, then we don't need to copy the file
// as we are just updating the metadata
if( schematicFile.GetFullPath() != dbSchematicFile )
if( !aDesignBlock->GetSchematicFile().IsEmpty() )
{
// Copy the source sheet file to the design block folder, under the design block name
if( !wxCopyFile( schematicFile.GetFullPath(), dbSchematicFile ) )
// The new schematic file name is based on the design block name, not the source sheet name
wxString dbSchematicFile = dbFolder.GetFullPath()
+ aDesignBlock->GetLibId().GetLibItemName() + wxT( "." )
+ FILEEXT::KiCadSchematicFileExtension;
// If the source and destination files are the same, then we don't need to copy the file
// as we are just updating the metadata
if( aDesignBlock->GetSchematicFile() != dbSchematicFile )
{
THROW_IO_ERROR( wxString::Format(
_( "Schematic file '%s' could not be saved as design block at '%s'." ),
schematicFile.GetFullPath(), dbSchematicFile ) );
// Copy the source sheet file to the design block folder, under the design block name
if( !wxCopyFile( aDesignBlock->GetSchematicFile(), dbSchematicFile ) )
{
THROW_IO_ERROR( wxString::Format(
_( "Schematic file '%s' could not be saved as design block at '%s'." ),
aDesignBlock->GetSchematicFile().GetData(), dbSchematicFile ) );
}
}
}
if( !aDesignBlock->GetBoardFile().IsEmpty() )
{
// The new Board file name is based on the design block name, not the source sheet name
wxString dbBoardFile = dbFolder.GetFullPath() + aDesignBlock->GetLibId().GetLibItemName()
+ wxT( "." ) + FILEEXT::KiCadPcbFileExtension;
// If the source and destination files are the same, then we don't need to copy the file
// as we are just updating the metadata
if( aDesignBlock->GetBoardFile() != dbBoardFile )
{
// Copy the source sheet file to the design block folder, under the design block name
if( !wxCopyFile( aDesignBlock->GetBoardFile(), dbBoardFile ) )
{
THROW_IO_ERROR( wxString::Format(
_( "Board file '%s' could not be saved as design block at '%s'." ),
aDesignBlock->GetBoardFile().GetData(), dbBoardFile ) );
}
}
}
wxString dbMetadataFile = dbFolder.GetFullPath() + aDesignBlock->GetLibId().GetLibItemName()
+ wxT( "." ) + FILEEXT::JsonFileExtension;
+1 -4
View File
@@ -76,10 +76,7 @@ public:
}
bool DesignBlockExists( const wxString& aLibraryPath, const wxString& aDesignBlockName,
const std::map<std::string, UTF8>* aProperties = nullptr )
{
return DesignBlockLoad( aLibraryPath, aDesignBlockName, true, aProperties ) != nullptr;
}
const std::map<std::string, UTF8>* aProperties = nullptr );
DESIGN_BLOCK* ImportDesignBlock( const wxString& aDesignBlockPath,
wxString& aDesignBlockNameOut,
+17
View File
@@ -73,6 +73,23 @@ void DESIGN_BLOCK_LIB_TABLE_ROW::SetType( const wxString& aType )
}
bool DESIGN_BLOCK_LIB_TABLE_ROW::Refresh()
{
if( !plugin )
{
wxArrayString dummyList;
plugin.reset( DESIGN_BLOCK_IO_MGR::FindPlugin( type ) );
SetLoaded( false );
plugin->DesignBlockEnumerate( dummyList, GetFullURI( true ), true, GetProperties() );
SetLoaded( true );
return true;
}
return false;
}
DESIGN_BLOCK_LIB_TABLE::DESIGN_BLOCK_LIB_TABLE( DESIGN_BLOCK_LIB_TABLE* aFallBackTable ) :
LIB_TABLE( aFallBackTable )
{
@@ -25,30 +25,34 @@
#include <project/project_file.h>
#include <wx/log.h>
#include <wx/tokenzr.h>
#include <settings/app_settings.h>
#include <string_utils.h>
#include <eda_pattern_match.h>
#include <design_block.h>
#include <design_block_lib_table.h>
#include <design_block_info.h>
#include <design_block_tree_model_adapter.h>
#include <tools/sch_design_block_control.h>
wxObjectDataPtr<LIB_TREE_MODEL_ADAPTER>
DESIGN_BLOCK_TREE_MODEL_ADAPTER::Create( EDA_BASE_FRAME* aParent, LIB_TABLE* aLibs,
APP_SETTINGS_BASE::LIB_TREE& aSettings )
APP_SETTINGS_BASE::LIB_TREE& aSettings,
TOOL_INTERACTIVE* aContextMenuTool )
{
auto* adapter = new DESIGN_BLOCK_TREE_MODEL_ADAPTER( aParent, aLibs, aSettings );
adapter->m_frame = aParent;
auto* adapter = new DESIGN_BLOCK_TREE_MODEL_ADAPTER( aParent, aLibs, aSettings, aContextMenuTool );
return wxObjectDataPtr<LIB_TREE_MODEL_ADAPTER>( adapter );
}
DESIGN_BLOCK_TREE_MODEL_ADAPTER::DESIGN_BLOCK_TREE_MODEL_ADAPTER( EDA_BASE_FRAME* aParent,
LIB_TABLE* aLibs,
APP_SETTINGS_BASE::LIB_TREE& aSettings ) :
LIB_TREE_MODEL_ADAPTER( aParent, wxT( "pinned_design_block_libs" ), aSettings ),
LIB_TABLE* aLibs,
APP_SETTINGS_BASE::LIB_TREE& aSettings,
TOOL_INTERACTIVE* aContextMenuTool ) :
LIB_TREE_MODEL_ADAPTER( aParent,
wxT( "pinned_design_block_libs" ),
Kiface().KifaceSettings()->m_DesignBlockChooserPanel.tree ),
m_libs( (DESIGN_BLOCK_LIB_TABLE*) aLibs ),
m_frame( aParent )
m_frame( aParent ),
m_contextMenuTool( aContextMenuTool )
{
}
@@ -206,5 +210,5 @@ wxString DESIGN_BLOCK_TREE_MODEL_ADAPTER::GenerateInfo( LIB_ID const& aLibId, in
TOOL_INTERACTIVE* DESIGN_BLOCK_TREE_MODEL_ADAPTER::GetContextMenuTool()
{
return m_frame->GetToolManager()->GetTool<SCH_DESIGN_BLOCK_CONTROL>();
return m_contextMenuTool;
}
@@ -35,7 +35,8 @@ public:
*/
static wxObjectDataPtr<LIB_TREE_MODEL_ADAPTER> Create( EDA_BASE_FRAME* aParent,
LIB_TABLE* aLibs,
APP_SETTINGS_BASE::LIB_TREE& aSettings );
APP_SETTINGS_BASE::LIB_TREE& aSettings,
TOOL_INTERACTIVE* aContextMenuTool );
void AddLibraries( EDA_BASE_FRAME* aParent );
void ClearLibraries();
@@ -51,7 +52,8 @@ protected:
* Constructor; takes a set of libraries to be included in the search.
*/
DESIGN_BLOCK_TREE_MODEL_ADAPTER( EDA_BASE_FRAME* aParent, LIB_TABLE* aLibs,
APP_SETTINGS_BASE::LIB_TREE& aSettings );
APP_SETTINGS_BASE::LIB_TREE& aSettings,
TOOL_INTERACTIVE* aContextMenuTool );
std::vector<LIB_TREE_ITEM*> getDesignBlocks( EDA_BASE_FRAME* aParent,
const wxString& aLibName );
@@ -61,6 +63,7 @@ protected:
protected:
DESIGN_BLOCK_LIB_TABLE* m_libs;
EDA_BASE_FRAME* m_frame;
TOOL_INTERACTIVE* m_contextMenuTool;
};
#endif // DESIGN_BLOCK_TREE_MODEL_ADAPTER_H
@@ -24,16 +24,16 @@
#include <dialogs/dialog_design_block_properties.h>
#include <sch_edit_frame.h>
#include <wx/msgdlg.h>
#include <wx/tooltip.h>
#include <grid_tricks.h>
#include <widgets/std_bitmap_button.h>
#include <bitmaps.h>
#include <design_block.h>
DIALOG_DESIGN_BLOCK_PROPERTIES::DIALOG_DESIGN_BLOCK_PROPERTIES( SCH_EDIT_FRAME* aParent,
DESIGN_BLOCK* aDesignBlock ) :
DIALOG_DESIGN_BLOCK_PROPERTIES::DIALOG_DESIGN_BLOCK_PROPERTIES( wxWindow* aParent,
DESIGN_BLOCK* aDesignBlock ) :
DIALOG_DESIGN_BLOCK_PROPERTIES_BASE( aParent ), m_designBlock( aDesignBlock )
{
if( !m_textName->IsEmpty() )
@@ -22,6 +22,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef DIALOG_DESIGN_BLOCK_PROPERTIES_H
#define DIALOG_DESIGN_BLOCK_PROPERTIES_H
#include <dialogs/dialog_design_block_properties_base.h>
#include <nlohmann/json.hpp>
@@ -31,7 +34,7 @@ class DESIGN_BLOCK;
class DIALOG_DESIGN_BLOCK_PROPERTIES : public DIALOG_DESIGN_BLOCK_PROPERTIES_BASE
{
public:
DIALOG_DESIGN_BLOCK_PROPERTIES( SCH_EDIT_FRAME* aParent, DESIGN_BLOCK* aDesignBlock );
DIALOG_DESIGN_BLOCK_PROPERTIES( wxWindow* aParent, DESIGN_BLOCK* aDesignBlock );
~DIALOG_DESIGN_BLOCK_PROPERTIES() override;
bool TransferDataToWindow() override;
@@ -50,6 +53,8 @@ public:
private:
void AdjustGridColumns( int aWidth );
DESIGN_BLOCK* m_designBlock;
DESIGN_BLOCK* m_designBlock;
nlohmann::ordered_map<wxString, wxString> m_fields;
};
#endif
@@ -23,7 +23,7 @@ DIALOG_DESIGN_BLOCK_PROPERTIES_BASE::DIALOG_DESIGN_BLOCK_PROPERTIES_BASE( wxWind
bMargins = new wxBoxSizer( wxVERTICAL );
wxStaticBoxSizer* sbFields;
sbFields = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Default Fields") ), wxVERTICAL );
sbFields = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Default Fields") ), wxVERTICAL );
m_fieldsGrid = new WX_GRID( sbFields->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
@@ -39,8 +39,8 @@ DIALOG_DESIGN_BLOCK_PROPERTIES_BASE::DIALOG_DESIGN_BLOCK_PROPERTIES_BASE( wxWind
m_fieldsGrid->SetColSize( 1, 300 );
m_fieldsGrid->EnableDragColMove( false );
m_fieldsGrid->EnableDragColSize( true );
m_fieldsGrid->SetColLabelValue( 0, _("Name") );
m_fieldsGrid->SetColLabelValue( 1, _("Value") );
m_fieldsGrid->SetColLabelValue( 0, wxT("Name") );
m_fieldsGrid->SetColLabelValue( 1, wxT("Value") );
m_fieldsGrid->SetColLabelSize( 22 );
m_fieldsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
@@ -94,21 +94,21 @@ DIALOG_DESIGN_BLOCK_PROPERTIES_BASE::DIALOG_DESIGN_BLOCK_PROPERTIES_BASE( wxWind
fgProperties->SetFlexibleDirection( wxBOTH );
fgProperties->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_staticTextName = new wxStaticText( this, wxID_ANY, _("Name:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextName = new wxStaticText( this, wxID_ANY, wxT("Name:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextName->Wrap( -1 );
fgProperties->Add( m_staticTextName, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
m_textName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgProperties->Add( m_textName, 0, wxEXPAND, 5 );
m_staticTextKeywords = new wxStaticText( this, wxID_ANY, _("Keywords:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextKeywords = new wxStaticText( this, wxID_ANY, wxT("Keywords:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextKeywords->Wrap( -1 );
fgProperties->Add( m_staticTextKeywords, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
m_textKeywords = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgProperties->Add( m_textKeywords, 0, wxEXPAND, 5 );
m_staticTextDescription = new wxStaticText( this, wxID_ANY, _("Description:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDescription = new wxStaticText( this, wxID_ANY, wxT("Description:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDescription->Wrap( -1 );
fgProperties->Add( m_staticTextDescription, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
@@ -15,7 +15,7 @@
<property name="encoding">UTF-8</property>
<property name="file">dialog_design_block_properties_base</property>
<property name="first_id">1000</property>
<property name="internationalize">1</property>
<property name="internationalize">0</property>
<property name="lua_skip_events">1</property>
<property name="lua_ui_table">UI</property>
<property name="name">dialog_design_block_properties_base</property>
@@ -9,7 +9,6 @@
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
class STD_BITMAP_BUTTON;
class WX_GRID;
@@ -67,7 +66,7 @@ class DIALOG_DESIGN_BLOCK_PROPERTIES_BASE : public DIALOG_SHIM
public:
DIALOG_DESIGN_BLOCK_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Design Block Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
DIALOG_DESIGN_BLOCK_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Design Block Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_DESIGN_BLOCK_PROPERTIES_BASE();
+1 -10
View File
@@ -99,27 +99,18 @@ DIALOG_GIT_COMMIT::DIALOG_GIT_COMMIT( wxWindow* parent, git_repository* repo,
m_listCtrl->SetItem( i, 1, _( "New" ) );
m_listCtrl->SetItemImage(
i, static_cast<int>( KIGIT_COMMON::GIT_STATUS::GIT_STATUS_ADDED ) );
if( status & ( GIT_STATUS_INDEX_NEW ) )
m_listCtrl->CheckItem( i, true );
}
else if( status & ( GIT_STATUS_INDEX_MODIFIED | GIT_STATUS_WT_MODIFIED ) )
{
m_listCtrl->SetItem( i, 1, _( "Modified" ) );
m_listCtrl->SetItemImage(
i, static_cast<int>( KIGIT_COMMON::GIT_STATUS::GIT_STATUS_MODIFIED ) );
if( status & ( GIT_STATUS_INDEX_MODIFIED ) )
m_listCtrl->CheckItem( i, true );
}
else if( status & ( GIT_STATUS_INDEX_DELETED | GIT_STATUS_WT_DELETED ) )
{
m_listCtrl->SetItem( i, 1, _( "Deleted" ) );
m_listCtrl->SetItemImage(
i, static_cast<int>( KIGIT_COMMON::GIT_STATUS::GIT_STATUS_DELETED ) );
if( status & ( GIT_STATUS_INDEX_DELETED ) )
m_listCtrl->CheckItem( i, true );
}
else
{
@@ -229,4 +220,4 @@ std::vector<wxString> DIALOG_GIT_COMMIT::GetSelectedFiles() const
}
return selectedFiles;
}
}
@@ -633,6 +633,46 @@ bool PANEL_DESIGN_BLOCK_LIB_TABLE::verifyTables()
}
}
for( DESIGN_BLOCK_LIB_TABLE* table : { global_model(), project_model() } )
{
if( !table )
continue;
for( unsigned int r = 0; r < table->GetCount(); ++r )
{
DESIGN_BLOCK_LIB_TABLE_ROW& row =
dynamic_cast<DESIGN_BLOCK_LIB_TABLE_ROW&>( table->At( r ) );
// Newly-added rows won't have set this yet
row.SetParent( table );
if( !row.GetIsEnabled() )
continue;
try
{
if( row.Refresh() )
{
if( table == global_model() )
m_parent->m_GlobalTableChanged = true;
else
m_parent->m_ProjectTableChanged = true;
}
}
catch( const IO_ERROR& ioe )
{
msg.Printf( _( "Design block library '%s' failed to load." ), row.GetNickName() );
wxWindow* topLevelParent = wxGetTopLevelParent( this );
wxMessageDialog errdlg( topLevelParent, msg + wxS( "\n" ) + ioe.What(),
_( "Error Loading Library" ) );
errdlg.ShowModal();
return true;
}
}
}
return true;
}
+3 -11
View File
@@ -313,21 +313,13 @@ EMBEDDED_FILES::EMBEDDED_FILE* PANEL_EMBEDDED_FILES::AddEmbeddedFile( const wxSt
}
void PANEL_EMBEDDED_FILES::onAddEmbeddedFiles( wxCommandEvent& event )
void PANEL_EMBEDDED_FILES::onAddEmbeddedFile( wxCommandEvent& event )
{
// TODO: Update strings to reflect that multiple files can be selected.
wxFileDialog fileDialog( this, _( "Select a file to embed" ), wxEmptyString, wxEmptyString,
_( "All files|*.*" ),
wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE );
_( "All files|*.*" ), wxFD_OPEN | wxFD_FILE_MUST_EXIST );
if( fileDialog.ShowModal() == wxID_OK )
{
wxArrayString paths;
fileDialog.GetPaths( paths );
for( wxString path : paths )
AddEmbeddedFile( path );
}
AddEmbeddedFile( fileDialog.GetPath() );
}
+1 -1
View File
@@ -68,7 +68,7 @@ public:
protected:
void onFontEmbedClick( wxCommandEvent& event ) override;
void onAddEmbeddedFiles( wxCommandEvent& event ) override;
void onAddEmbeddedFile( wxCommandEvent& event ) override;
void onDeleteEmbeddedFile( wxCommandEvent& event ) override;
void onExportFiles( wxCommandEvent& event ) override;
void onSize( wxSizeEvent& event ) override;
+3 -3
View File
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6a-dirty)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@@ -101,7 +101,7 @@ PANEL_EMBEDDED_FILES_BASE::PANEL_EMBEDDED_FILES_BASE( wxWindow* parent, wxWindow
// Connect Events
this->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_EMBEDDED_FILES_BASE::onSize ) );
m_files_grid->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( PANEL_EMBEDDED_FILES_BASE::onGridRightClick ), NULL, this );
m_browse_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onAddEmbeddedFiles ), NULL, this );
m_browse_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onAddEmbeddedFile ), NULL, this );
m_delete_button->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onDeleteEmbeddedFile ), NULL, this );
m_cbEmbedFonts->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onFontEmbedClick ), NULL, this );
m_export->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onExportFiles ), NULL, this );
@@ -112,7 +112,7 @@ PANEL_EMBEDDED_FILES_BASE::~PANEL_EMBEDDED_FILES_BASE()
// Disconnect Events
this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_EMBEDDED_FILES_BASE::onSize ) );
m_files_grid->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( PANEL_EMBEDDED_FILES_BASE::onGridRightClick ), NULL, this );
m_browse_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onAddEmbeddedFiles ), NULL, this );
m_browse_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onAddEmbeddedFile ), NULL, this );
m_delete_button->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onDeleteEmbeddedFile ), NULL, this );
m_cbEmbedFonts->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onFontEmbedClick ), NULL, this );
m_export->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_EMBEDDED_FILES_BASE::onExportFiles ), NULL, this );
+1 -1
View File
@@ -243,7 +243,7 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">onAddEmbeddedFiles</event>
<event name="OnButtonClick">onAddEmbeddedFile</event>
</object>
</object>
<object class="sizeritem" expanded="false">
+2 -2
View File
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6a-dirty)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@@ -47,7 +47,7 @@ class PANEL_EMBEDDED_FILES_BASE : public wxPanel
// Virtual event handlers, override them in your derived class
virtual void onSize( wxSizeEvent& event ) { event.Skip(); }
virtual void onGridRightClick( wxGridEvent& event ) { event.Skip(); }
virtual void onAddEmbeddedFiles( wxCommandEvent& event ) { event.Skip(); }
virtual void onAddEmbeddedFile( wxCommandEvent& event ) { event.Skip(); }
virtual void onDeleteEmbeddedFile( wxCommandEvent& event ) { event.Skip(); }
virtual void onFontEmbedClick( wxCommandEvent& event ) { event.Skip(); }
virtual void onExportFiles( wxCommandEvent& event ) { event.Skip(); }
+1 -1
View File
@@ -136,7 +136,7 @@ void PANEL_PLUGIN_SETTINGS::validatePythonInterpreter()
PYTHON_MANAGER manager( pythonExe.GetFullPath() );
manager.Execute( { wxS( "--version" ) },
manager.Execute( wxS( "--version" ),
[&]( int aRetCode, const wxString& aStdOut, const wxString& aStdErr )
{
wxString msg;
@@ -421,6 +421,8 @@ void DS_DATA_MODEL_IO::format( DS_DATA_ITEM_BITMAP* aItem ) const
m_out->Print( "(comment %s)", m_out->Quotew( aItem->m_Info ).c_str() );
// Write image in png readable format
m_out->Print( "(data" );
wxMemoryOutputStream stream;
aItem->m_ImageBitmap->SaveImageData( stream );
+55
View File
@@ -0,0 +1,55 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2013 CERN (www.cern.ch)
* Copyright The 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
*/
#include <eda_tools.h>
#include <wx/textfile.h>
bool IsFileFromEDATool( const wxFileName& aFileName, const EDA_TOOLS aTool )
{
wxTextFile textFile;
if( textFile.Open( aFileName.GetFullPath() ) )
{
switch( aTool )
{
case EDA_TOOLS::EAGLE:
if( textFile.GetLineCount() > 2
&& textFile[1].StartsWith( wxT( "<!DOCTYPE eagle SYSTEM" ) )
&& textFile[2].StartsWith( wxT( "<eagle version" ) ) )
{
textFile.Close();
return true;
}
break;
default: break;
}
textFile.Close();
}
return false;
}
+2 -2
View File
@@ -127,10 +127,10 @@ void EMBEDDED_FILES::RemoveFile( const wxString& name, bool aErase )
if( it != m_files.end() )
{
m_files.erase( it );
if( aErase )
delete it->second;
m_files.erase( it );
}
}
+5 -6
View File
@@ -299,7 +299,6 @@ struct GLYPH_CACHE_KEY {
bool fakeItalic;
bool fakeBold;
bool mirror;
bool supersub;
EDA_ANGLE angle;
bool operator==(const GLYPH_CACHE_KEY& rhs ) const
@@ -311,7 +310,6 @@ struct GLYPH_CACHE_KEY {
&& fakeItalic == rhs.fakeItalic
&& fakeBold == rhs.fakeBold
&& mirror == rhs.mirror
&& supersub == rhs.supersub
&& angle == rhs.angle;
}
};
@@ -325,7 +323,7 @@ namespace std
std::size_t operator()( const GLYPH_CACHE_KEY& k ) const
{
return hash_val( k.face, k.codepoint, k.scale.x, k.scale.y, k.forDrawingSheet,
k.fakeItalic, k.fakeBold, k.mirror, k.supersub, k.angle.AsDegrees() );
k.fakeItalic, k.fakeBold, k.mirror, k.angle.AsDegrees() );
}
};
}
@@ -341,10 +339,11 @@ VECTOR2I OUTLINE_FONT::getTextAsGlyphsUnlocked( BOX2I* aBBox,
VECTOR2D glyphSize = aSize;
FT_Face face = m_face;
double scaler = faceSize();
bool supersub = IsSuperscript( aTextStyle ) || IsSubscript( aTextStyle );
if( supersub )
if( IsSubscript( aTextStyle ) || IsSuperscript( aTextStyle ) )
{
scaler = subscriptSize();
}
// set glyph resolution so that FT_Load_Glyph() results are good enough for decomposing
FT_Set_Char_Size( face, 0, scaler, GLYPH_RESOLUTION, 0 );
@@ -383,7 +382,7 @@ VECTOR2I OUTLINE_FONT::getTextAsGlyphsUnlocked( BOX2I* aBBox,
if( aGlyphs )
{
GLYPH_CACHE_KEY key = { face, glyphInfo[i].codepoint, scaleFactor, m_forDrawingSheet,
m_fakeItal, m_fakeBold, aMirror, supersub, aAngle };
m_fakeItal, m_fakeBold, aMirror, aAngle };
GLYPH_DATA& glyphData = s_glyphCache[ key ];
if( glyphData.m_Contours.empty() )
+47 -110
View File
@@ -409,138 +409,75 @@ bool CopyDirectory( const wxString& aSourceDir, const wxString& aDestDir, wxStri
bool CopyFilesOrDirectory( const wxString& aSourcePath, const wxString& aDestDir, wxString& aErrors,
int& aFileCopiedCount, const std::vector<wxString>& aExclusions )
int& fileCopiedCount, const std::vector<wxString>& aExclusions )
{
// Parse source path and determine if it's a directory
wxFileName sourceFn( aSourcePath );
wxString sourcePath = sourceFn.GetFullPath();
bool isSourceDirectory = wxFileName::DirExists( sourcePath );
wxString baseDestDir = aDestDir;
wxDir dir( sourceFn.GetPath() );
wxFileName destFn( aDestDir );
auto performCopy = [&]( const wxString& src, const wxString& dest ) -> bool
if( !dir.IsOpened() )
{
if( wxCopyFile( src, dest ) )
{
aFileCopiedCount++;
return true;
}
aErrors += wxString::Format( _( "Could not copy file: %s to %s" ), src, dest );
aErrors += wxString::Format( _( "Could not open source directory: %s" ),
sourceFn.GetPath() );
aErrors += wxT( "\n" );
return false;
};
}
auto processEntries = [&]( const wxString& srcDir, const wxString& pattern,
const wxString& destDir ) -> bool
if( !wxFileName::Mkdir( aDestDir, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ) )
{
wxDir dir( srcDir );
aErrors += wxString::Format( _( "Could not create destination directory: %s" ),
aDestDir );
aErrors += wxT( "\n" );
return false;
}
if( !dir.IsOpened() )
wxString filename = sourceFn.GetFullName();
bool cont = dir.GetFirst( &filename, sourceFn.GetFullName(), wxDIR_FILES | wxDIR_DIRS );
while( cont )
{
wxString sourcePath = sourceFn.GetPath() + wxFileName::GetPathSeparator() + filename;
wxString destPath = aDestDir + wxFileName::GetPathSeparator() + filename;
bool exclude = filename.Matches( wxT( "~*.lck" ) );
for( const wxString& exclusion : aExclusions )
exclude |= sourcePath.Matches( exclusion );
if( exclude )
{
aErrors += wxString::Format( _( "Could not open source directory: %s" ), srcDir );
aErrors += wxT( "\n" );
return false;
}
wxString filename;
bool success = true;
// Find all entries matching pattern (files + directories + hidden items)
bool cont = dir.GetFirst( &filename, pattern, wxDIR_FILES | wxDIR_DIRS | wxDIR_HIDDEN );
while( cont )
{
const wxString entrySrc = srcDir + wxFileName::GetPathSeparator() + filename;
const wxString entryDest = destDir + wxFileName::GetPathSeparator() + filename;
// Apply exclusion filters
bool exclude =
filename.Matches( wxT( "~*.lck" ) ) || filename.Matches( wxT( "*.lck" ) );
for( const auto& exclusion : aExclusions )
{
if( entrySrc.Matches( exclusion ) )
{
exclude = true;
break;
}
}
if( !exclude )
{
if( wxFileName::DirExists( entrySrc ) )
{
// Recursively process subdirectories
if( !CopyFilesOrDirectory( entrySrc, destDir, aErrors, aFileCopiedCount,
aExclusions ) )
{
aErrors += wxString::Format( _( "Could not copy directory: %s to %s" ),
entrySrc, entryDest );
aErrors += wxT( "\n" );
success = false;
}
}
else
{
// Copy individual files
if( !performCopy( entrySrc, entryDest ) )
{
success = false;
}
}
}
cont = dir.GetNext( &filename );
continue;
}
return success;
};
// Avoid infinite recursion on "*"
if( sourcePath == aSourcePath )
break;
// If copying a directory, append its name to destination path
if( isSourceDirectory )
{
wxString sourceDirName = sourceFn.GetFullName();
baseDestDir = wxFileName( aDestDir, sourceDirName ).GetFullPath();
}
// Create destination directory hierarchy
if( !wxFileName::Mkdir( baseDestDir, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ) )
{
aErrors +=
wxString::Format( _( "Could not create destination directory: %s" ), baseDestDir );
aErrors += wxT( "\n" );
return false;
}
// Execute appropriate copy operation based on source type
if( !isSourceDirectory )
{
const wxString fileName = sourceFn.GetFullName();
// Handle wildcard patterns in filenames
if( fileName.Contains( '*' ) || fileName.Contains( '?' ) )
if( wxFileName::DirExists( sourcePath ) )
{
const wxString dirPath = sourceFn.GetPath();
if( !wxFileName::DirExists( dirPath ) )
// Recursively copy subdirectories
if( !CopyFilesOrDirectory( sourcePath, destPath, aErrors, fileCopiedCount,
aExclusions ) )
{
aErrors += wxString::Format( _( "Source directory does not exist: %s" ), dirPath );
aErrors += wxT( "\n" );
return false;
}
// Process all matching files in source directory
return processEntries( dirPath, fileName, baseDestDir );
}
else
{
// Copy files
if( !wxCopyFile( sourcePath, destPath ) )
{
aErrors += wxString::Format( _( "Could not copy file: %s to %s" ), sourcePath,
destPath );
fileCopiedCount++;
return false;
}
}
// Single file copy operation
return performCopy( sourcePath, wxFileName( baseDestDir, fileName ).GetFullPath() );
cont = dir.GetNext( &filename );
}
// Full directory copy operation
return processEntries( sourcePath, wxEmptyString, baseDestDir );
return true;
}
+4 -14
View File
@@ -182,25 +182,16 @@ std::string GIT_PULL_HANDLER::getFormattedCommitDate( const git_time& aTime )
PullResult GIT_PULL_HANDLER::handleFastForward()
{
// Update local references with fetched data
auto git_reference_deleter =
[]( void* p )
{
git_reference_free( static_cast<git_reference*>( p ) );
};
git_reference* updatedRef = nullptr;
git_reference* rawRef = nullptr;
if( git_repository_head( &rawRef, m_repo ) )
if( git_repository_head( &updatedRef, m_repo ) )
{
AddErrorString( _( "Could not get repository head" ) );
return PullResult::Error;
}
// Defer destruction of the git_reference until this function exits somewhere, since
// updatedRefName etc. just point to memory inside the reference
std::unique_ptr<git_reference, decltype( git_reference_deleter )> updatedRef( rawRef );
const char* updatedRefName = git_reference_name( updatedRef.get() );
const char* updatedRefName = git_reference_name( updatedRef );
git_reference_free( updatedRef );
git_oid updatedRefOid;
@@ -214,7 +205,6 @@ PullResult GIT_PULL_HANDLER::handleFastForward()
git_checkout_options checkoutOptions;
git_checkout_init_options( &checkoutOptions, GIT_CHECKOUT_OPTIONS_VERSION );
checkoutOptions.checkout_strategy = GIT_CHECKOUT_SAFE;
if( git_checkout_head( m_repo, &checkoutOptions ) )
{
AddErrorString( _( "Failed to perform checkout operation." ) );
+2 -26
View File
@@ -53,17 +53,13 @@ PushResult GIT_PUSH_HANDLER::PerformPush()
remoteCallbacks.transfer_progress = transfer_progress_cb;
remoteCallbacks.update_tips = update_cb;
remoteCallbacks.push_transfer_progress = push_transfer_progress_cb;
remoteCallbacks.credentials = credentials_cb;
remoteCallbacks.payload = this;
m_testedTypes = 0;
ResetNextKey();
if( git_remote_connect( remote, GIT_DIRECTION_PUSH, &remoteCallbacks, nullptr, nullptr ) )
{
git_remote_free( remote );
AddErrorString( wxString::Format( _( "Could not connect to remote: %s" ),
git_error_last()->message ) );
git_remote_free( remote );
return PushResult::Error;
}
@@ -71,34 +67,14 @@ PushResult GIT_PUSH_HANDLER::PerformPush()
git_push_init_options( &pushOptions, GIT_PUSH_OPTIONS_VERSION );
pushOptions.callbacks = remoteCallbacks;
// Get the current HEAD reference
git_reference* head = nullptr;
if( git_repository_head( &head, m_repo ) != 0 )
if( git_remote_push( remote, nullptr, &pushOptions ) )
{
AddErrorString( _( "Could not get repository head" ) );
git_remote_free( remote );
return PushResult::Error;
}
// Create refspec for current branch
const char* refs[1];
refs[0] = git_reference_name( head );
const git_strarray refspecs = { (char**) refs, 1 };
git_reference_free(head);
if( git_remote_push( remote, &refspecs, &pushOptions ) )
{
AddErrorString( wxString::Format( _( "Could not push to remote: %s" ),
git_error_last()->message ) );
git_remote_disconnect( remote );
git_remote_free( remote );
return PushResult::Error;
}
git_remote_disconnect( remote );
git_remote_free( remote );
return result;
}
+3 -24
View File
@@ -48,7 +48,6 @@ git_repository* KIGIT_COMMON::GetRepo() const
wxString KIGIT_COMMON::GetCurrentBranchName() const
{
wxCHECK( m_repo, wxEmptyString );
git_reference* head = nullptr;
int retval = git_repository_head( &head, m_repo );
@@ -81,9 +80,6 @@ wxString KIGIT_COMMON::GetCurrentBranchName() const
std::vector<wxString> KIGIT_COMMON::GetBranchNames() const
{
if( !m_repo )
return {};
std::vector<wxString> branchNames;
std::map<git_time_t, wxString> branchNamesMap;
wxString firstName;
@@ -137,7 +133,6 @@ std::vector<wxString> KIGIT_COMMON::GetBranchNames() const
std::vector<wxString> KIGIT_COMMON::GetProjectDirs()
{
wxCHECK( m_repo, {} );
std::vector<wxString> projDirs;
git_oid oid;
@@ -371,7 +366,6 @@ bool KIGIT_COMMON::HasLocalCommits() const
bool KIGIT_COMMON::HasPushAndPullRemote() const
{
wxCHECK( m_repo, false );
git_remote* remote = nullptr;
if( git_remote_lookup( &remote, m_repo, "origin" ) != GIT_OK )
@@ -399,8 +393,6 @@ bool KIGIT_COMMON::HasPushAndPullRemote() const
wxString KIGIT_COMMON::GetRemotename() const
{
wxCHECK( m_repo, wxEmptyString );
wxString retval;
git_reference* head = nullptr;
git_reference* upstream = nullptr;
@@ -437,17 +429,6 @@ void KIGIT_COMMON::SetSSHKey( const wxString& aKey )
}
wxString KIGIT_COMMON::GetGitRootDirectory() const
{
if( !m_repo )
return wxEmptyString;
const char *path = git_repository_path( m_repo );
wxString retval = path;
return retval;
}
void KIGIT_COMMON::updatePublicKeys()
{
m_publicKeys.clear();
@@ -519,8 +500,6 @@ void KIGIT_COMMON::updatePublicKeys()
void KIGIT_COMMON::UpdateCurrentBranchInfo()
{
wxCHECK( m_repo, /* void */ );
// We want to get the current branch's upstream url as well as the stored password
// if one exists given the url and username.
@@ -691,15 +670,15 @@ extern "C" int update_cb( const char* aRefname, const git_oid* aFirst, const git
extern "C" int push_transfer_progress_cb( unsigned int aCurrent, unsigned int aTotal, size_t aBytes,
void* aPayload )
{
long long progress = 100;
int64_t progress = 100;
KIGIT_COMMON* parent = (KIGIT_COMMON*) aPayload;
if( aTotal != 0 )
{
progress = ( aCurrent * 100ll ) / aTotal;
progress = ( aCurrent * 100 ) / aTotal;
}
wxString progressMessage = wxString::Format( _( "Writing objects: %lld%% (%u/%u), %zu bytes" ),
wxString progressMessage = wxString::Format( _( "Writing objects: %d%% (%d/%d), %d bytes" ),
progress, aCurrent, aTotal, aBytes );
parent->UpdateProgress( aCurrent, aTotal, progressMessage );
-2
View File
@@ -116,8 +116,6 @@ public:
// Updates the password and remote information for the repository given the current branch
void UpdateCurrentBranchInfo();
wxString GetGitRootDirectory() const;
wxString GetRemotename() const;
void ResetNextKey() { m_nextPublicKey = 0; }
+1 -1
View File
@@ -49,7 +49,7 @@ static PSEUDO_ACTION* g_gesturePseudoActions[] = {
new PSEUDO_ACTION( _( "Finish Drawing" ), PSEUDO_WXK_DBLCLICK ),
new PSEUDO_ACTION( _( "Add to Selection" ), MD_SHIFT + PSEUDO_WXK_CLICK ),
new PSEUDO_ACTION( _( "Highlight Net" ), MD_CTRL + PSEUDO_WXK_CLICK ),
new PSEUDO_ACTION( _( "Remove from Selection" ), MD_CTRL + MD_SHIFT + PSEUDO_WXK_CLICK ),
new PSEUDO_ACTION( _( "Remove from Selection" ), MD_SHIFT + MD_CTRL + PSEUDO_WXK_CLICK ),
new PSEUDO_ACTION( _( "Ignore Grid Snaps" ), MD_CTRL ),
new PSEUDO_ACTION( _( "Ignore Other Snaps" ), MD_SHIFT ),
};
+8 -9
View File
@@ -39,7 +39,6 @@
#include <functional>
#include <cstdio>
#include <array>
constexpr auto DEFAULT_ALIGNMENT = ETEXT::BOTTOM_LEFT;
@@ -229,10 +228,10 @@ ECOORD::ECOORD( const wxString& aValue, enum ECOORD::EAGLE_UNIT aUnit )
{
// This array is used to adjust the fraction part value basing on the number of digits
// in the fraction.
static std::array<int, 9> DIVIDERS = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 };
constexpr int DIVIDERS[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 };
constexpr unsigned int DIVIDERS_MAX_IDX = sizeof( DIVIDERS ) / sizeof( DIVIDERS[0] ) - 1;
int integer, pre_fraction, post_fraction;
long long unsigned fraction;
int integer, fraction, pre_fraction, post_fraction;
// The following check is needed to handle correctly negative fractions where the integer
// part == 0.
@@ -240,7 +239,7 @@ ECOORD::ECOORD( const wxString& aValue, enum ECOORD::EAGLE_UNIT aUnit )
// %n is used to find out how many digits contains the fraction part, e.g. 0.001 contains 3
// digits.
int ret = sscanf( aValue.c_str(), "%d.%n%llu%n", &integer, &pre_fraction, &fraction,
int ret = sscanf( aValue.c_str(), "%d.%n%d%n", &integer, &pre_fraction, &fraction,
&post_fraction );
if( ret == 0 )
@@ -256,11 +255,11 @@ ECOORD::ECOORD( const wxString& aValue, enum ECOORD::EAGLE_UNIT aUnit )
// adjust the number of digits if necessary as we cannot handle anything smaller than
// nanometers (rounding).
if( digits >= static_cast<int>( DIVIDERS.size() ) )
if( (unsigned) digits > DIVIDERS_MAX_IDX )
{
long long unsigned denom = pow( 10, digits - DIVIDERS.size() + 1 );
digits = DIVIDERS.size() - 1;
fraction /= denom;
int diff = digits - DIVIDERS_MAX_IDX;
digits = DIVIDERS_MAX_IDX;
fraction /= DIVIDERS[diff];
}
int frac_value = ConvertToNm( fraction, aUnit ) / DIVIDERS[digits];
+1 -1
View File
@@ -146,7 +146,7 @@ wxString JOB::GetFullOutputPath( PROJECT* aProject ) const
}
}
return outPath;
return m_outputPath;
}
-4
View File
@@ -72,7 +72,6 @@ JOB_EXPORT_SCH_PLOT::JOB_EXPORT_SCH_PLOT( bool aOutputIsDirectory ) :
m_blackAndWhite( false ),
m_pageSizeSelect( JOB_PAGE_SIZE::PAGE_SIZE_AUTO ),
m_useBackgroundColor( true ),
m_minPenWidth( 847 /* hairline @ 300dpi */ ),
m_HPGLPenSize( 1.0 ),
m_HPGLPaperSizeSelect( JOB_HPGL_PAGE_SIZE::DEFAULT ),
m_PDFPropertyPopups( true ),
@@ -102,9 +101,6 @@ JOB_EXPORT_SCH_PLOT::JOB_EXPORT_SCH_PLOT( bool aOutputIsDirectory ) :
m_params.emplace_back( new JOB_PARAM<bool>( "use_background_color",
&m_useBackgroundColor, m_useBackgroundColor ) );
m_params.emplace_back( new JOB_PARAM<int>( "min_pen_width",
&m_minPenWidth, m_minPenWidth ) );
m_params.emplace_back( new JOB_PARAM<double>( "hpgl_pen_size",
&m_HPGLPenSize, m_HPGLPenSize ) );
-1
View File
@@ -88,7 +88,6 @@ public:
bool m_blackAndWhite;
JOB_PAGE_SIZE m_pageSizeSelect;
bool m_useBackgroundColor;
int m_minPenWidth;
double m_HPGLPenSize; // for HPGL format only: pen size
JOB_HPGL_PAGE_SIZE m_HPGLPaperSizeSelect;
bool m_PDFPropertyPopups;
+8 -8
View File
@@ -95,9 +95,9 @@
LANGUAGE_DESCR LanguagesList[] =
{
{ wxLANGUAGE_DEFAULT, ID_LANGUAGE_DEFAULT, _( "Default" ), false },
// { wxLANGUAGE_INDONESIAN, ID_LANGUAGE_INDONESIAN, wxT( "Bahasa Indonesia" ), true },
{ wxLANGUAGE_INDONESIAN, ID_LANGUAGE_INDONESIAN, wxT( "Bahasa Indonesia" ), true },
{ wxLANGUAGE_CZECH, ID_LANGUAGE_CZECH, wxT( "Čeština" ), true },
// { wxLANGUAGE_DANISH, ID_LANGUAGE_DANISH, wxT( "Dansk" ), true },
{ wxLANGUAGE_DANISH, ID_LANGUAGE_DANISH, wxT( "Dansk" ), true },
{ wxLANGUAGE_GERMAN, ID_LANGUAGE_GERMAN, wxT( "Deutsch" ), true },
{ wxLANGUAGE_GREEK, ID_LANGUAGE_GREEK, wxT( "Ελληνικά" ), true },
{ wxLANGUAGE_ENGLISH, ID_LANGUAGE_ENGLISH, wxT( "English" ), true },
@@ -105,11 +105,11 @@ LANGUAGE_DESCR LanguagesList[] =
{ wxLANGUAGE_SPANISH_MEXICAN, ID_LANGUAGE_SPANISH_MEXICAN,
wxT( "Español (Latinoamericano)" ), true },
{ wxLANGUAGE_FRENCH, ID_LANGUAGE_FRENCH, wxT( "Français" ), true },
// { wxLANGUAGE_HEBREW, ID_LANGUAGE_HEBREW, wxT( "עברית" ), true },
{ wxLANGUAGE_HEBREW, ID_LANGUAGE_HEBREW, wxT( "עברית" ), true },
{ wxLANGUAGE_KOREAN, ID_LANGUAGE_KOREAN, wxT( "한국어"), true },
{ wxLANGUAGE_ITALIAN, ID_LANGUAGE_ITALIAN, wxT( "Italiano" ), true },
// { wxLANGUAGE_LITHUANIAN, ID_LANGUAGE_LITHUANIAN, wxT( "Lietuvių" ), true },
// { wxLANGUAGE_HUNGARIAN, ID_LANGUAGE_HUNGARIAN, wxT( "Magyar" ), true },
{ wxLANGUAGE_LITHUANIAN, ID_LANGUAGE_LITHUANIAN, wxT( "Lietuvių" ), true },
{ wxLANGUAGE_HUNGARIAN, ID_LANGUAGE_HUNGARIAN, wxT( "Magyar" ), true },
{ wxLANGUAGE_DUTCH, ID_LANGUAGE_DUTCH, wxT( "Nederlands" ), true },
{ wxLANGUAGE_JAPANESE, ID_LANGUAGE_JAPANESE, wxT( "日本語" ), true },
{ wxLANGUAGE_THAI, ID_LANGUAGE_THAI, wxT( "ภาษาไทย" ), true },
@@ -118,11 +118,11 @@ LANGUAGE_DESCR LanguagesList[] =
{ wxLANGUAGE_PORTUGUESE_BRAZILIAN, ID_LANGUAGE_PORTUGUESE_BRAZILIAN,
wxT( "Português (Brasil)" ), true },
{ wxLANGUAGE_RUSSIAN, ID_LANGUAGE_RUSSIAN, wxT( "Русский" ), true },
// { wxLANGUAGE_SERBIAN, ID_LANGUAGE_SERBIAN, wxT( "Српски" ), true },
{ wxLANGUAGE_SERBIAN, ID_LANGUAGE_SERBIAN, wxT( "Српски" ), true },
{ wxLANGUAGE_FINNISH, ID_LANGUAGE_FINNISH, wxT( "Suomi" ), true },
{ wxLANGUAGE_SWEDISH, ID_LANGUAGE_SWEDISH, wxT( "Svenska" ), true },
// { wxLANGUAGE_VIETNAMESE, ID_LANGUAGE_VIETNAMESE, wxT( "Tiếng Việt" ), true },
// { wxLANGUAGE_TURKISH, ID_LANGUAGE_TURKISH, wxT( "Türkçe" ), true },
{ wxLANGUAGE_VIETNAMESE, ID_LANGUAGE_VIETNAMESE, wxT( "Tiếng Việt" ), true },
{ wxLANGUAGE_TURKISH, ID_LANGUAGE_TURKISH, wxT( "Türkçe" ), true },
{ wxLANGUAGE_UKRAINIAN, ID_LANGUAGE_UKRANIAN, wxT( "Українська" ), true },
{ wxLANGUAGE_CHINESE_SIMPLIFIED, ID_LANGUAGE_CHINESE_SIMPLIFIED,
wxT( "简体中文" ), true },
-4
View File
@@ -680,10 +680,6 @@ bool PROJECT_FILE::SaveAs( const wxString& aDirectory, const wxString& aFile )
updatePathByPtr( "schematic.ngspice.workbook_filename" );
updatePathByPtr( "pcbnew.page_layout_descr_file" );
// If we're actually going ahead and doing the save, the flag that keeps code from doing the save
// should be cleared at this point
m_wasMigrated = false;
// While performing Save As, we have already checked that we can write to the directory
// so don't carry the previous flag
SetReadOnly( false );
+54
View File
@@ -70,6 +70,60 @@ APP_SETTINGS_BASE::APP_SETTINGS_BASE( const std::string& aFilename, int aSchemaV
m_params.emplace_back( new PARAM_LIST<wxString>( "find_replace.replace_history",
&m_FindReplace.replace_history, {} ) );
m_params.emplace_back( new PARAM<int>( "design_block_chooser.sash_pos_h",
&m_DesignBlockChooserPanel.sash_pos_h, -1 ) );
m_params.emplace_back( new PARAM<int>( "design_block_chooser.sash_pos_v",
&m_DesignBlockChooserPanel.sash_pos_v, -1 ) );
m_params.emplace_back( new PARAM<int>( "design_block_chooser.width",
&m_DesignBlockChooserPanel.width, -1 ) );
m_params.emplace_back( new PARAM<int>( "design_block_chooser.height",
&m_DesignBlockChooserPanel.height, -1 ) );
m_params.emplace_back( new PARAM<int>( "design_block_chooser.sort_mode",
&m_DesignBlockChooserPanel.sort_mode, 0 ) );
m_params.emplace_back( new PARAM<bool>( "design_block_chooser.repeated_placement",
&m_DesignBlockChooserPanel.repeated_placement, false ) );
m_params.emplace_back( new PARAM<bool>( "design_block_chooser.place_as_sheet",
&m_DesignBlockChooserPanel.place_as_sheet, false ) );
m_params.emplace_back( new PARAM<bool>( "design_block_chooser.keep_annotations",
&m_DesignBlockChooserPanel.keep_annotations, false ) );
m_params.emplace_back( new PARAM_LAMBDA<nlohmann::json>(
"design_block_chooser.lib_tree.column_widths",
[&]() -> nlohmann::json
{
nlohmann::json ret = {};
for( const auto& [name, width] : m_DesignBlockChooserPanel.tree.column_widths )
ret[std::string( name.ToUTF8() )] = width;
return ret;
},
[&]( const nlohmann::json& aJson )
{
if( !aJson.is_object() )
return;
m_DesignBlockChooserPanel.tree.column_widths.clear();
for( const auto& entry : aJson.items() )
{
if( !entry.value().is_number_integer() )
continue;
m_DesignBlockChooserPanel.tree.column_widths[ entry.key() ] =
entry.value().get<int>();
}
},
{} ) );
m_params.emplace_back( new PARAM<int>( "graphics.canvas_type",
&m_Graphics.canvas_type, EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL ) );
+1 -1
View File
@@ -284,7 +284,7 @@ COMMON_SETTINGS::COMMON_SETTINGS() :
MOUSE_DRAG_ACTION::NONE ) );
m_params.emplace_back( new PARAM<int>( "graphics.opengl_antialiasing_mode",
&m_Graphics.opengl_aa_mode, 2, 0, 2 ) );
&m_Graphics.opengl_aa_mode, 1, 0, 2 ) );
m_params.emplace_back( new PARAM<int>( "graphics.cairo_antialiasing_mode",
&m_Graphics.cairo_aa_mode, 0, 0, 2 ) );
-2
View File
@@ -77,7 +77,6 @@ JSON_SETTINGS::JSON_SETTINGS( const wxString& aFilename, SETTINGS_LOC aLocation,
m_deleteLegacyAfterMigration( true ),
m_resetParamsIfMissing( true ),
m_schemaVersion( aSchemaVersion ),
m_isFutureFormat( false ),
m_manager( nullptr )
{
m_internals = std::make_unique<JSON_SETTINGS_INTERNALS>();
@@ -327,7 +326,6 @@ bool JSON_SETTINGS::LoadFromFile( const wxString& aDirectory )
GetFullFilename(),
filever,
m_schemaVersion );
m_isFutureFormat = true;
}
}
else
+1 -13
View File
@@ -156,13 +156,6 @@ void SETTINGS_MANAGER::Save()
if( dynamic_cast<COLOR_SETTINGS*>( settings.get() ) )
continue;
// Never automatically save project settings, caller should use SaveProject or UnloadProject
if( dynamic_cast<PROJECT_FILE*>( settings.get() )
|| dynamic_cast<PROJECT_LOCAL_SETTINGS*>( settings.get() ) )
{
continue;
}
settings->SaveToFile( GetPathForSettingsFile( settings.get() ) );
}
}
@@ -1202,9 +1195,6 @@ bool SETTINGS_MANAGER::unloadProjectFile( PROJECT* aProject, bool aSave )
PROJECT_FILE* file = m_project_files[name];
if( !file->ShouldAutoSave() )
aSave = false;
auto it = std::find_if( m_settings.begin(), m_settings.end(),
[&file]( const std::unique_ptr<JSON_SETTINGS>& aPtr )
{
@@ -1215,9 +1205,7 @@ bool SETTINGS_MANAGER::unloadProjectFile( PROJECT* aProject, bool aSave )
{
wxString projectPath = GetPathForSettingsFile( it->get() );
bool saveLocalSettings = aSave && aProject->GetLocalSettings().ShouldAutoSave();
FlushAndRelease( &aProject->GetLocalSettings(), saveLocalSettings );
FlushAndRelease( &aProject->GetLocalSettings(), aSave );
if( aSave )
( *it )->SaveToFile( projectPath );
+5 -14
View File
@@ -245,9 +245,7 @@ void ACTION_TOOLBAR::Add( const TOOL_ACTION& aAction, bool aIsToggleEntry, bool
int toolId = aAction.GetUIId();
AddTool( toolId, wxEmptyString,
KiBitmapBundle( aAction.GetIcon(),
Pgm().GetCommonSettings()->m_Appearance.toolbar_icon_size ),
AddTool( toolId, wxEmptyString, KiBitmapBundle( aAction.GetIcon() ),
KiDisabledBitmapBundle( aAction.GetIcon() ),
aIsToggleEntry ? wxITEM_CHECK : wxITEM_NORMAL,
aAction.GetButtonTooltip(), wxEmptyString, nullptr );
@@ -262,9 +260,7 @@ void ACTION_TOOLBAR::AddButton( const TOOL_ACTION& aAction )
{
int toolId = aAction.GetUIId();
AddTool( toolId, wxEmptyString,
KiBitmapBundle( aAction.GetIcon(),
Pgm().GetCommonSettings()->m_Appearance.toolbar_icon_size ),
AddTool( toolId, wxEmptyString, KiBitmapBundle( aAction.GetIcon() ),
KiDisabledBitmapBundle( aAction.GetIcon() ), wxITEM_NORMAL,
aAction.GetButtonTooltip(), wxEmptyString, nullptr );
@@ -309,9 +305,7 @@ void ACTION_TOOLBAR::AddGroup( ACTION_GROUP* aGroup, bool aIsToggleEntry )
m_actionGroups[ groupId ] = aGroup;
// Add the main toolbar item representing the group
AddTool( groupId, wxEmptyString,
KiBitmapBundle( defaultAction->GetIcon(),
Pgm().GetCommonSettings()->m_Appearance.toolbar_icon_size ),
AddTool( groupId, wxEmptyString, KiBitmapBundle( defaultAction->GetIcon() ),
KiDisabledBitmapBundle( defaultAction->GetIcon() ),
aIsToggleEntry ? wxITEM_CHECK : wxITEM_NORMAL,
wxEmptyString, wxEmptyString, nullptr );
@@ -348,8 +342,7 @@ void ACTION_TOOLBAR::doSelectAction( ACTION_GROUP* aGroup, const TOOL_ACTION& aA
// Update the item information
item->SetShortHelp( aAction.GetButtonTooltip() );
item->SetBitmap( KiBitmapBundle( aAction.GetIcon(),
Pgm().GetCommonSettings()->m_Appearance.toolbar_icon_size ) );
item->SetBitmap( KiBitmapBundle( aAction.GetIcon() ) );
item->SetDisabledBitmap( KiDisabledBitmapBundle( aAction.GetIcon() ) );
// Register a new handler with the new UI conditions
@@ -866,9 +859,7 @@ void ACTION_TOOLBAR::RefreshBitmaps()
{
wxAuiToolBarItem* tool = FindTool( pair.first );
tool->SetBitmap(
KiBitmapBundle( pair.second->GetIcon(),
Pgm().GetCommonSettings()->m_Appearance.toolbar_icon_size ) );
tool->SetBitmap( KiBitmapBundle( pair.second->GetIcon() ) );
tool->SetDisabledBitmap( KiDisabledBitmapBundle( pair.second->GetIcon() ) );
}
+3 -2
View File
@@ -95,7 +95,7 @@ TOOL_ACTION ACTIONS::save( TOOL_ACTION_ARGS()
TOOL_ACTION ACTIONS::saveAs( TOOL_ACTION_ARGS()
.Name( "common.Control.saveAs" )
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'S' )
.DefaultHotkey( MD_SHIFT + MD_CTRL + 'S' )
.LegacyHotkeyName( "Save As" )
.FriendlyName( _( "Save As..." ) )
.Tooltip( _( "Save current document to another location" ) )
@@ -194,7 +194,7 @@ TOOL_ACTION ACTIONS::redo( TOOL_ACTION_ARGS()
.Name( "common.Interactive.redo" )
.Scope( AS_GLOBAL )
#if defined( __WXMAC__ )
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'Z' )
.DefaultHotkey( MD_SHIFT + MD_CTRL + 'Z' )
#else
.DefaultHotkey( MD_CTRL + 'Y' )
#endif
@@ -996,6 +996,7 @@ TOOL_ACTION ACTIONS::resetLocalCoords( TOOL_ACTION_ARGS()
TOOL_ACTION ACTIONS::toggleCursor( TOOL_ACTION_ARGS()
.Name( "common.Control.toggleCursor" )
.Scope( AS_GLOBAL )
.DefaultHotkey( MD_CTRL + MD_SHIFT + 'X' )
// Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
.LegacyHotkeyName( "Toggle Cursor Display (Modern Toolset only)" )
.FriendlyName( _( "Always Show Crosshairs" ) )
+220
View File
@@ -0,0 +1,220 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright The 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
*/
#include <tool/actions.h>
#include <tool/library_editor_control.h>
#include <tool/design_block_control.h>
#include <widgets/design_block_pane.h>
#include <widgets/panel_design_block_chooser.h>
#include <dialog_design_block_properties.h>
#include <mail_type.h>
#include <kiway.h>
DESIGN_BLOCK_CONTROL::~DESIGN_BLOCK_CONTROL()
{
}
DESIGN_BLOCK_CONTROL::DESIGN_BLOCK_CONTROL( const std::string& aName ) : TOOL_INTERACTIVE( aName )
{
}
void DESIGN_BLOCK_CONTROL::Reset( RESET_REASON aReason )
{
m_frame = getEditFrame<EDA_DRAW_FRAME>();
}
void DESIGN_BLOCK_CONTROL::AddContextMenuItems( CONDITIONAL_MENU* aMenu )
{
auto pinnedLib =
[this]( const SELECTION& aSel )
{
//
LIB_TREE_NODE* current = getCurrentTreeNode();
return current && current->m_Type == LIB_TREE_NODE::TYPE::LIBRARY
&& current->m_Pinned;
};
auto unpinnedLib =
[this](const SELECTION& aSel )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
return current && current->m_Type == LIB_TREE_NODE::TYPE::LIBRARY
&& !current->m_Pinned;
};
auto isDesignBlock =
[this](const SELECTION& aSel )
{
return this->selIsDesignBlock(aSel);
};
aMenu->AddItem( ACTIONS::pinLibrary, unpinnedLib, 1 );
aMenu->AddItem( ACTIONS::unpinLibrary, pinnedLib, 1 );
aMenu->AddItem( ACTIONS::newLibrary, !isDesignBlock, 1 );
aMenu->AddSeparator( 2 );
aMenu->AddSeparator( 400 );
aMenu->AddItem( ACTIONS::hideLibraryTree, SELECTION_CONDITIONS::ShowAlways, 400 );
}
int DESIGN_BLOCK_CONTROL::PinLibrary( const TOOL_EVENT& aEvent )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
if( current && !current->m_Pinned )
{
m_frame->Prj().PinLibrary( current->m_LibId.GetLibNickname(),
PROJECT::LIB_TYPE_T::DESIGN_BLOCK_LIB );
current->m_Pinned = true;
getDesignBlockPane()->RefreshLibs();
notifyOtherFrames();
return 0;
}
return -1;
}
int DESIGN_BLOCK_CONTROL::UnpinLibrary( const TOOL_EVENT& aEvent )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
if( current && current->m_Pinned )
{
m_frame->Prj().UnpinLibrary( current->m_LibId.GetLibNickname(),
PROJECT::LIB_TYPE_T::DESIGN_BLOCK_LIB );
current->m_Pinned = false;
getDesignBlockPane()->RefreshLibs();
notifyOtherFrames();
return 0;
}
return -1;
}
int DESIGN_BLOCK_CONTROL::NewLibrary( const TOOL_EVENT& aEvent )
{
if( getDesignBlockPane()->CreateNewDesignBlockLibrary() != wxEmptyString )
{
notifyOtherFrames();
return 0;
}
return -1;
}
int DESIGN_BLOCK_CONTROL::DeleteDesignBlock( const TOOL_EVENT& aEvent )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
if( !current )
return -1;
if( getDesignBlockPane()->DeleteDesignBlockFromLibrary( current->m_LibId, true ) )
{
notifyOtherFrames();
return 0;
}
return -1;
}
int DESIGN_BLOCK_CONTROL::EditDesignBlockProperties( const TOOL_EVENT& aEvent )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
if( !current )
return -1;
if( getDesignBlockPane()->EditDesignBlockProperties( current->m_LibId ) )
{
notifyOtherFrames();
return 0;
}
return -1;
}
int DESIGN_BLOCK_CONTROL::HideLibraryTree( const TOOL_EVENT& aEvent )
{
m_frame->ToggleLibraryTree();
return 0;
}
bool DESIGN_BLOCK_CONTROL::selIsInLibrary( const SELECTION& aSel )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
return current
&& ( current->m_Type == LIB_TREE_NODE::TYPE::LIBRARY
|| current->m_Type == LIB_TREE_NODE::TYPE::ITEM );
}
bool DESIGN_BLOCK_CONTROL::selIsDesignBlock( const SELECTION& aSel )
{
LIB_TREE_NODE* current = getCurrentTreeNode();
return current && current->m_Type == LIB_TREE_NODE::TYPE::ITEM;
}
void DESIGN_BLOCK_CONTROL::setTransitions()
{
Go( &DESIGN_BLOCK_CONTROL::PinLibrary, ACTIONS::pinLibrary.MakeEvent() );
Go( &DESIGN_BLOCK_CONTROL::UnpinLibrary, ACTIONS::unpinLibrary.MakeEvent() );
Go( &DESIGN_BLOCK_CONTROL::NewLibrary, ACTIONS::newLibrary.MakeEvent() );
Go( &DESIGN_BLOCK_CONTROL::HideLibraryTree, ACTIONS::hideLibraryTree.MakeEvent() );
}
LIB_ID DESIGN_BLOCK_CONTROL::getSelectedLibId()
{
getDesignBlockPane()->GetSelectedLibId();
return LIB_ID();
}
LIB_TREE_NODE* DESIGN_BLOCK_CONTROL::getCurrentTreeNode()
{
LIB_TREE* libTree = getDesignBlockPane()->GetDesignBlockPanel()->GetLibTree();
return libTree ? libTree->GetCurrentTreeNode() : nullptr;
}
void DESIGN_BLOCK_CONTROL::notifyOtherFrames()
{
std::string payload = "";
for( FRAME_T frame : m_framesToNotify )
m_frame->Kiway().ExpressMail( frame, MAIL_RELOAD_LIB, payload );
}
+77
View File
@@ -0,0 +1,77 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright The 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
*/
#ifndef DESIGN_BLOCK_CONTROL_H
#define DESIGN_BLOCK_CONTROL_H
#include <eda_draw_frame.h>
#include <tool/tool_interactive.h>
class DESIGN_BLOCK_PANE;
/**
* Handle schematic design block actions in the schematic editor.
*/
class DESIGN_BLOCK_CONTROL : public TOOL_INTERACTIVE, public wxEvtHandler
{
public:
DESIGN_BLOCK_CONTROL( const std::string& aName );
virtual ~DESIGN_BLOCK_CONTROL();
/// @copydoc TOOL_INTERACTIVE::Reset()
void Reset( RESET_REASON aReason ) override;
void AddContextMenuItems( CONDITIONAL_MENU* aMenu );
int PinLibrary( const TOOL_EVENT& aEvent );
int UnpinLibrary( const TOOL_EVENT& aEvent );
int NewLibrary( const TOOL_EVENT& aEvent );
int DeleteLibrary( const TOOL_EVENT& aEvent );
int DeleteDesignBlock( const TOOL_EVENT& aEvent );
int EditDesignBlockProperties( const TOOL_EVENT& aEvent );
int HideLibraryTree( const TOOL_EVENT& aEvent );
protected:
bool selIsInLibrary( const SELECTION& aSel );
bool selIsDesignBlock( const SELECTION& aSel );
LIB_ID getSelectedLibId();
///< Set up handlers for various events.
void setTransitions() override;
virtual DESIGN_BLOCK_PANE* getDesignBlockPane() = 0;
LIB_TREE_NODE* getCurrentTreeNode();
/// Notify other frames that the design block lib table has changed
std::vector<FRAME_T> m_framesToNotify;
void notifyOtherFrames();
EDA_DRAW_FRAME* m_frame = nullptr;
};
#endif
+12 -1
View File
@@ -336,9 +336,20 @@ void BITMAP_BUTTON::OnPaint( wxPaintEvent& aEvent )
wxPoint drawBmpPos( m_padding, m_padding );
wxBitmap bmpImg;
double scale = KIPLATFORM::UI::GetContentScaleFactor( this );
wxSize bmSize;
if( bmp.IsOk() )
if( m_isToolbarButton )
{
int size = Pgm().GetCommonSettings()->m_Appearance.toolbar_icon_size;
bmSize = wxSize( size, size ) * scale;
bmpImg = bmp.GetBitmap( bmSize );
// wxBitmapBundle::GetBitmap thinks we need this rescaled to match the base size
if( bmpImg.IsOk() )
bmpImg.SetScaleFactor( scale );
}
else if( bmp.IsOk() )
{
bmpImg = bmp.GetBitmap( ToPhys( m_unadjustedMinSize ) );
bmSize = bmpImg.GetLogicalSize();
+512
View File
@@ -0,0 +1,512 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright The 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
*/
#include <design_block.h>
#include <design_block_lib_table.h>
#include <paths.h>
#include <env_paths.h>
#include <pgm_base.h>
#include <common.h>
#include <kidialog.h>
#include <widgets/design_block_pane.h>
#include <dialog_design_block_properties.h>
#include <widgets/panel_design_block_chooser.h>
#include <kiface_base.h>
#include <core/kicad_algo.h>
#include <template_fieldnames.h>
#include <wx/button.h>
#include <wx/checkbox.h>
#include <wx/sizer.h>
#include <wx/choicdlg.h>
#include <wx/msgdlg.h>
#include <wx/textdlg.h>
#include <confirm.h>
#include <wildcards_and_files_ext.h>
#include <tool/tool_manager.h>
DESIGN_BLOCK_PANE::DESIGN_BLOCK_PANE( EDA_DRAW_FRAME* aParent, const LIB_ID* aPreselect,
std::vector<LIB_ID>& aHistoryList ) :
WX_PANEL( aParent ),
m_frame( aParent )
{
m_frame->Bind( EDA_LANG_CHANGED, &DESIGN_BLOCK_PANE::OnLanguageChanged, this );
}
DESIGN_BLOCK_PANE::~DESIGN_BLOCK_PANE()
{
m_frame->Unbind( EDA_LANG_CHANGED, &DESIGN_BLOCK_PANE::OnLanguageChanged, this );
}
void DESIGN_BLOCK_PANE::OnLanguageChanged( wxCommandEvent& aEvent )
{
if( m_chooserPanel )
m_chooserPanel->ShowChangedLanguage();
setLabelsAndTooltips();
aEvent.Skip();
}
void DESIGN_BLOCK_PANE::SaveSettings()
{
m_chooserPanel->SaveSettings();
}
LIB_ID DESIGN_BLOCK_PANE::GetSelectedLibId( int* aUnit ) const
{
return m_chooserPanel->GetSelectedLibId( aUnit );
}
void DESIGN_BLOCK_PANE::SelectLibId( const LIB_ID& aLibId )
{
m_chooserPanel->SelectLibId( aLibId );
}
void DESIGN_BLOCK_PANE::RefreshLibs()
{
m_chooserPanel->RefreshLibs();
}
DESIGN_BLOCK* DESIGN_BLOCK_PANE::GetDesignBlock( const LIB_ID& aLibId, bool aUseCacheLib,
bool aShowErrorMsg )
{
DESIGN_BLOCK_LIB_TABLE* prjLibs = m_frame->Prj().DesignBlockLibs();
wxCHECK_MSG( prjLibs, nullptr, wxS( "Invalid design block library table." ) );
DESIGN_BLOCK* designBlock = nullptr;
try
{
designBlock = prjLibs->DesignBlockLoadWithOptionalNickname( aLibId, true );
}
catch( const IO_ERROR& ioe )
{
if( aShowErrorMsg )
{
wxString msg = wxString::Format( _( "Error loading design block %s from library '%s'." ),
aLibId.GetLibItemName().wx_str(),
aLibId.GetLibNickname().wx_str() );
DisplayErrorMessage( m_frame, msg, ioe.What() );
}
}
return designBlock;
}
DESIGN_BLOCK* DESIGN_BLOCK_PANE::GetSelectedDesignBlock( bool aUseCacheLib, bool aShowErrorMsg )
{
if( !GetSelectedLibId().IsValid() )
return nullptr;
return GetDesignBlock( GetSelectedLibId(), aUseCacheLib, aShowErrorMsg );
}
wxString DESIGN_BLOCK_PANE::CreateNewDesignBlockLibrary( const wxString& aLibName,
const wxString& aProposedName )
{
return createNewDesignBlockLibrary( aLibName, aProposedName, selectDesignBlockLibTable() );
}
wxString DESIGN_BLOCK_PANE::createNewDesignBlockLibrary( const wxString& aLibName,
const wxString& aProposedName,
DESIGN_BLOCK_LIB_TABLE* aTable )
{
if( aTable == nullptr )
return wxEmptyString;
wxFileName fn;
bool doAdd = false;
bool isGlobal = ( aTable == &DESIGN_BLOCK_LIB_TABLE::GetGlobalLibTable() );
wxString initialPath = aProposedName;
if( initialPath.IsEmpty() )
initialPath = isGlobal ? PATHS::GetDefaultUserDesignBlocksPath()
: m_frame->Prj().GetProjectPath();
if( aLibName.IsEmpty() )
{
fn = initialPath;
if( !m_frame->LibraryFileBrowser( false, fn, FILEEXT::KiCadDesignBlockLibPathWildcard(),
FILEEXT::KiCadDesignBlockLibPathExtension, false,
isGlobal, initialPath ) )
{
return wxEmptyString;
}
doAdd = true;
}
else
{
fn = EnsureFileExtension( aLibName, FILEEXT::KiCadDesignBlockLibPathExtension );
if( !fn.IsAbsolute() )
{
fn.SetName( aLibName );
fn.MakeAbsolute( initialPath );
}
}
// We can save libs only using DESIGN_BLOCK_IO_MGR::KICAD_SEXP format (.pretty libraries)
DESIGN_BLOCK_IO_MGR::DESIGN_BLOCK_FILE_T piType = DESIGN_BLOCK_IO_MGR::KICAD_SEXP;
wxString libPath = fn.GetFullPath();
try
{
IO_RELEASER<DESIGN_BLOCK_IO> pi( DESIGN_BLOCK_IO_MGR::FindPlugin( piType ) );
bool writable = false;
bool exists = false;
try
{
writable = pi->IsLibraryWritable( libPath );
exists = fn.Exists();
}
catch( const IO_ERROR& )
{
// best efforts....
}
if( exists )
{
if( !writable )
{
wxString msg = wxString::Format( _( "Library %s is read only." ), libPath );
m_frame->ShowInfoBarError( msg );
return wxEmptyString;
}
else
{
wxString msg = wxString::Format( _( "Library %s already exists." ), libPath );
KIDIALOG dlg( m_frame, msg, _( "Confirmation" ), wxOK | wxCANCEL | wxICON_WARNING );
dlg.SetOKLabel( _( "Overwrite" ) );
dlg.DoNotShowCheckbox( __FILE__, __LINE__ );
if( dlg.ShowModal() == wxID_CANCEL )
return wxEmptyString;
pi->DeleteLibrary( libPath );
}
}
pi->CreateLibrary( libPath );
}
catch( const IO_ERROR& ioe )
{
DisplayError( m_frame, ioe.What() );
return wxEmptyString;
}
if( doAdd )
AddDesignBlockLibrary( libPath, aTable );
return libPath;
}
bool DESIGN_BLOCK_PANE::AddDesignBlockLibrary( const wxString& aFilename,
DESIGN_BLOCK_LIB_TABLE* aTable )
{
if( aTable == nullptr )
aTable = selectDesignBlockLibTable();
if( aTable == nullptr )
return wxEmptyString;
bool isGlobal = ( aTable == &DESIGN_BLOCK_LIB_TABLE::GetGlobalLibTable() );
wxFileName fn( aFilename );
if( aFilename.IsEmpty() )
{
if( !m_frame->LibraryFileBrowser( true, fn, FILEEXT::KiCadDesignBlockLibPathWildcard(),
FILEEXT::KiCadDesignBlockLibPathExtension, true, isGlobal,
PATHS::GetDefaultUserDesignBlocksPath() ) )
{
return false;
}
}
wxString libPath = fn.GetFullPath();
wxString libName = fn.GetName();
if( libName.IsEmpty() )
return false;
// Open a dialog to ask for a description
wxString description = wxGetTextFromUser( _( "Enter a description for the library:" ),
_( "Library Description" ), wxEmptyString, m_frame );
DESIGN_BLOCK_IO_MGR::DESIGN_BLOCK_FILE_T lib_type =
DESIGN_BLOCK_IO_MGR::GuessPluginTypeFromLibPath( libPath );
if( lib_type == DESIGN_BLOCK_IO_MGR::FILE_TYPE_NONE )
lib_type = DESIGN_BLOCK_IO_MGR::KICAD_SEXP;
wxString type = DESIGN_BLOCK_IO_MGR::ShowType( lib_type );
// KiCad lib is our default guess. So it might not have the .kicad_blocks extension
// In this case, the extension is part of the library name
if( lib_type == DESIGN_BLOCK_IO_MGR::KICAD_SEXP
&& fn.GetExt() != FILEEXT::KiCadDesignBlockLibPathExtension )
libName = fn.GetFullName();
// try to use path normalized to an environmental variable or project path
wxString normalizedPath = NormalizePath( libPath, &Pgm().GetLocalEnvVariables(), &m_frame->Prj() );
try
{
DESIGN_BLOCK_LIB_TABLE_ROW* row = new DESIGN_BLOCK_LIB_TABLE_ROW(
libName, normalizedPath, type, wxEmptyString, description );
aTable->InsertRow( row );
if( isGlobal )
DESIGN_BLOCK_LIB_TABLE::GetGlobalLibTable().Save(
DESIGN_BLOCK_LIB_TABLE::GetGlobalTableFileName() );
else
m_frame->Prj().DesignBlockLibs()->Save( m_frame->Prj().DesignBlockLibTblName() );
}
catch( const IO_ERROR& ioe )
{
DisplayError( m_frame, ioe.What() );
return false;
}
LIB_ID libID( libName, wxEmptyString );
RefreshLibs();
SelectLibId( libID );
return true;
}
bool DESIGN_BLOCK_PANE::DeleteDesignBlockLibrary( const wxString& aLibName, bool aConfirm )
{
if( aLibName.IsEmpty() )
{
DisplayErrorMessage( m_frame, _( "Please select a library to delete." ) );
return false;
}
if( !m_frame->Prj().DesignBlockLibs()->IsDesignBlockLibWritable( aLibName ) )
{
wxString msg = wxString::Format( _( "Library '%s' is read only." ), aLibName );
m_frame->ShowInfoBarError( msg );
return false;
}
// Confirmation
wxString msg = wxString::Format( _( "Delete design block library '%s' from disk? This will "
"delete all design blocks within the library." ),
aLibName.GetData() );
if( aConfirm && !IsOK( m_frame, msg ) )
return false;
try
{
m_frame->Prj().DesignBlockLibs()->DesignBlockLibDelete( aLibName );
}
catch( const IO_ERROR& ioe )
{
DisplayError( m_frame, ioe.What() );
return false;
}
msg.Printf( _( "Design block library '%s' deleted" ), aLibName.GetData() );
m_frame->SetStatusText( msg );
RefreshLibs();
return true;
}
bool DESIGN_BLOCK_PANE::DeleteDesignBlockFromLibrary( const LIB_ID& aLibId, bool aConfirm )
{
if( !aLibId.IsValid() )
return false;
wxString libname = aLibId.GetLibNickname();
wxString dbname = aLibId.GetLibItemName();
if( !m_frame->Prj().DesignBlockLibs()->IsDesignBlockLibWritable( libname ) )
{
wxString msg = wxString::Format( _( "Library '%s' is read only." ), libname );
m_frame->ShowInfoBarError( msg );
return false;
}
// Confirmation
wxString msg = wxString::Format( _( "Delete design block '%s' in library '%s' from disk?" ),
dbname.GetData(), libname.GetData() );
if( aConfirm && !IsOK( m_frame, msg ) )
return false;
try
{
m_frame->Prj().DesignBlockLibs()->DesignBlockDelete( libname, dbname );
}
catch( const IO_ERROR& ioe )
{
DisplayError( m_frame, ioe.What() );
return false;
}
msg.Printf( _( "Design block '%s' deleted from library '%s'" ), dbname.GetData(),
libname.GetData() );
m_frame->SetStatusText( msg );
RefreshLibs();
return true;
}
bool DESIGN_BLOCK_PANE::EditDesignBlockProperties( const LIB_ID& aLibId )
{
if( !aLibId.IsValid() )
return false;
wxString libname = aLibId.GetLibNickname();
wxString dbname = aLibId.GetLibItemName();
if( !m_frame->Prj().DesignBlockLibs()->IsDesignBlockLibWritable( libname ) )
{
wxString msg = wxString::Format( _( "Library '%s' is read only." ), libname );
m_frame->ShowInfoBarError( msg );
return false;
}
DESIGN_BLOCK* designBlock = GetDesignBlock( aLibId, true, true );
if( !designBlock )
return false;
wxString originalName = designBlock->GetLibId().GetLibItemName();
DIALOG_DESIGN_BLOCK_PROPERTIES dlg( m_frame, designBlock );
if( dlg.ShowModal() != wxID_OK )
return false;
wxString newName = designBlock->GetLibId().GetLibItemName();
try
{
if( originalName != newName )
{
if( m_frame->Prj().DesignBlockLibs()->DesignBlockExists( libname, newName ) )
if( !checkOverwrite( m_frame, libname, newName ) )
return false;
m_frame->Prj().DesignBlockLibs()->DesignBlockSave( libname, designBlock );
m_frame->Prj().DesignBlockLibs()->DesignBlockDelete( libname, originalName );
}
else
m_frame->Prj().DesignBlockLibs()->DesignBlockSave( libname, designBlock );
}
catch( const IO_ERROR& ioe )
{
DisplayError( m_frame, ioe.What() );
return false;
}
RefreshLibs();
SelectLibId( designBlock->GetLibId() );
return true;
}
bool DESIGN_BLOCK_PANE::checkOverwrite( wxWindow* aFrame, wxString& libname, wxString& newName )
{
wxString msg = wxString::Format( _( "Design block '%s' already exists in library '%s'." ),
newName.GetData(), libname.GetData() );
if( OKOrCancelDialog( aFrame, _( "Confirmation" ), msg, _( "Overwrite existing design block?" ),
_( "Overwrite" ) )
!= wxID_OK )
{
return false;
}
return true;
}
DESIGN_BLOCK_LIB_TABLE* DESIGN_BLOCK_PANE::selectDesignBlockLibTable( bool aOptional )
{
// If no project is loaded, always work with the global table
if( m_frame->Prj().IsNullProject() )
{
DESIGN_BLOCK_LIB_TABLE* ret = &DESIGN_BLOCK_LIB_TABLE::GetGlobalLibTable();
if( aOptional )
{
wxMessageDialog dlg( m_frame, _( "Add the library to the global library table?" ),
_( "Add To Global Library Table" ), wxYES_NO );
if( dlg.ShowModal() != wxID_OK )
ret = nullptr;
}
return ret;
}
wxArrayString libTableNames;
libTableNames.Add( _( "Global" ) );
libTableNames.Add( _( "Project" ) );
wxSingleChoiceDialog dlg( m_frame, _( "Choose the Library Table to add the library to:" ),
_( "Add To Library Table" ), libTableNames );
if( aOptional )
{
dlg.FindWindow( wxID_CANCEL )->SetLabel( _( "Skip" ) );
dlg.FindWindow( wxID_OK )->SetLabel( _( "Add" ) );
}
if( dlg.ShowModal() != wxID_OK )
return nullptr;
switch( dlg.GetSelection() )
{
case 0: return &DESIGN_BLOCK_LIB_TABLE::GetGlobalLibTable();
case 1: return m_frame->Prj().DesignBlockLibs();
default: return nullptr;
}
}
+108
View File
@@ -0,0 +1,108 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright The 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
*/
#ifndef DESIGN_BLOCK_PANE_H
#define DESIGN_BLOCK_PANE_H
#include <design_block_tree_model_adapter.h>
#include <widgets/html_window.h>
#include <widgets/wx_panel.h>
#include <wx/checkbox.h>
#include <wx/filedlgcustomize.h>
#include <eda_draw_frame.h>
class DESIGN_BLOCK;
class PANEL_DESIGN_BLOCK_CHOOSER;
class DESIGN_BLOCK_PANE : public WX_PANEL
{
public:
DESIGN_BLOCK_PANE( EDA_DRAW_FRAME* aParent, const LIB_ID* aPreselect, std::vector<LIB_ID>& aHistoryList );
~DESIGN_BLOCK_PANE() override;
virtual void OnLanguageChanged( wxCommandEvent& aEvent );
void SaveSettings();
LIB_ID GetSelectedLibId( int* aUnit = nullptr ) const;
void SelectLibId( const LIB_ID& aLibId );
/**
* Load design block from design block library table.
*
* @param aLibId is the design block library identifier to load.
* @param aUseCacheLib set to true to fall back to cache library if design block is not found in
* design block library table.
* @param aShowErrorMessage set to true to show any error messages.
* @return The design block found in the library or NULL if the design block was not found.
*/
DESIGN_BLOCK* GetDesignBlock( const LIB_ID& aLibId, bool aUseCacheLib, bool aShowErrorMsg );
DESIGN_BLOCK* GetSelectedDesignBlock( bool aUseCacheLib, bool aShowErrorMsg );
void RefreshLibs();
/**
* If a library name is given, creates a new design block library in the project folder
* with the given name. If no library name is given it prompts user for a library path,
* then creates a new design block library at that location.
* If library exists, user is warned about that, and is given a chance
* to abort the new creation, and in that case existing library is first deleted.
*
* @param aProposedName is the initial path and filename shown in the file chooser dialog.
* @return The newly created library path if library was successfully created, else
* wxEmptyString because user aborted or error.
*/
wxString CreateNewDesignBlockLibrary( const wxString& aLibName = wxEmptyString,
const wxString& aProposedName = wxEmptyString );
/**
* Add an existing library to either the global or project library table.
*
* @param aFileName the library to add; a file open dialog will be displayed if empty.
* @return true if successfully added.
*/
bool AddDesignBlockLibrary( const wxString& aFilename, DESIGN_BLOCK_LIB_TABLE* aTable );
bool DeleteDesignBlockLibrary( const wxString& aLibName, bool aConfirm );
bool DeleteDesignBlockFromLibrary( const LIB_ID& aLibId, bool aConfirm );
bool EditDesignBlockProperties( const LIB_ID& aLibId );
PANEL_DESIGN_BLOCK_CHOOSER* GetDesignBlockPanel() const { return m_chooserPanel; }
protected:
virtual void setLabelsAndTooltips() = 0;
EDA_DRAW_FRAME* m_frame = nullptr;
PANEL_DESIGN_BLOCK_CHOOSER* m_chooserPanel = nullptr;
private:
bool checkOverwrite( wxWindow* aFrame, wxString& libname, wxString& newName );
DESIGN_BLOCK_LIB_TABLE* selectDesignBlockLibTable( bool aOptional = false );
wxString createNewDesignBlockLibrary( const wxString& aLibName, const wxString& aProposedName,
DESIGN_BLOCK_LIB_TABLE* aTable );
};
#endif
@@ -0,0 +1,66 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright The 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 3 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef DESIGN_BLOCK_PREVIEW_WIDGET_H
#define DESIGN_BLOCK_PREVIEW_WIDGET_H
#include <wx/panel.h>
#include <kiway.h>
#include <gal_display_options_common.h>
#include <class_draw_panel_gal.h>
class LIB_ID;
class DESIGN_BLOCK;
class SCHEMATIC;
class SCH_SHEET;
class wxStaticText;
class wxSizer;
class DESIGN_BLOCK_PREVIEW_WIDGET : public wxPanel
{
public:
/**
* Construct a design block preview widget.
*
* @param aParent - parent window
*/
DESIGN_BLOCK_PREVIEW_WIDGET( wxWindow* aParent ) : wxPanel( aParent ) {}
~DESIGN_BLOCK_PREVIEW_WIDGET() = default;
/**
* Set the contents of the status label and display it.
*/
virtual void SetStatusText( const wxString& aText ) = 0;
/**
* Set the currently displayed design block.
*/
virtual void DisplayDesignBlock( DESIGN_BLOCK* aDesignBlock ) = 0;
protected:
void onSize( wxSizeEvent& aEvent );
void fitOnDrawArea(); // set the view scale to fit the item on screen and center
};
#endif // DESIGN_BLOCK_PREVIEW_WIDGET_H
@@ -23,15 +23,18 @@
#include <pgm_base.h>
#include <design_block.h>
#include <design_block_pane.h>
#include <design_block_lib_table.h>
#include <panel_design_block_chooser.h>
#include <design_block_preview_widget.h>
#include <kiface_base.h>
#include <sch_edit_frame.h>
#include <kiway_holder.h>
#include <eda_draw_frame.h>
#include <widgets/lib_tree.h>
#include <settings/settings_manager.h>
#include <project/project_file.h>
#include <dialogs/html_message_box.h>
#include <settings/app_settings.h>
#include <string_utils.h>
#include <wx/log.h>
#include <wx/panel.h>
@@ -46,24 +49,25 @@
wxString PANEL_DESIGN_BLOCK_CHOOSER::g_designBlockSearchString;
PANEL_DESIGN_BLOCK_CHOOSER::PANEL_DESIGN_BLOCK_CHOOSER( SCH_EDIT_FRAME* aFrame, wxWindow* aParent,
PANEL_DESIGN_BLOCK_CHOOSER::PANEL_DESIGN_BLOCK_CHOOSER( EDA_DRAW_FRAME* aFrame,
DESIGN_BLOCK_PANE* aParent,
std::vector<LIB_ID>& aHistoryList,
std::function<void()> aSelectHandler ) :
std::function<void()> aSelectHandler,
TOOL_INTERACTIVE* aContextMenuTool ) :
wxPanel( aParent, wxID_ANY, wxDefaultPosition, wxDefaultSize ),
m_dbl_click_timer( nullptr ),
m_open_libs_timer( nullptr ),
m_vsplitter( nullptr ),
m_tree( nullptr ),
m_preview( nullptr ),
m_parent( aParent ),
m_frame( aFrame ),
m_selectHandler( std::move( aSelectHandler ) ),
m_historyList( aHistoryList )
{
DESIGN_BLOCK_LIB_TABLE* libs = m_frame->Prj().DesignBlockLibs();
// Make sure settings are loaded before we start running multi-threaded design block loaders
Pgm().GetSettingsManager().GetAppSettings<EESCHEMA_SETTINGS>( "eeschema" );
// Load design block files:
WX_PROGRESS_REPORTER* progressReporter =
new WX_PROGRESS_REPORTER( aParent, _( "Loading Design Block Libraries" ), 1 );
@@ -79,8 +83,7 @@ PANEL_DESIGN_BLOCK_CHOOSER::PANEL_DESIGN_BLOCK_CHOOSER( SCH_EDIT_FRAME* aFrame,
if( DESIGN_BLOCK_LIB_TABLE::GetGlobalList().GetErrorCount() )
displayErrors( aFrame );
m_adapter = DESIGN_BLOCK_TREE_MODEL_ADAPTER::Create( m_frame, libs,
m_frame->eeconfig()->m_DesignBlockChooserPanel.tree );
m_adapter = DESIGN_BLOCK_TREE_MODEL_ADAPTER::Create( m_frame, libs, m_frame->config()->m_DesignBlockChooserPanel.tree, aContextMenuTool );
// -------------------------------------------------------------------------------------
// Construct the actual panel
@@ -99,19 +102,16 @@ PANEL_DESIGN_BLOCK_CHOOSER::PANEL_DESIGN_BLOCK_CHOOSER( SCH_EDIT_FRAME* aFrame,
wxBoxSizer* treeSizer = new wxBoxSizer( wxVERTICAL );
treePanel->SetSizer( treeSizer );
wxPanel* detailsPanel = new wxPanel( m_vsplitter );
wxBoxSizer* detailsSizer = new wxBoxSizer( wxVERTICAL );
detailsPanel->SetSizer( detailsSizer );
m_detailsPanel = new wxPanel( m_vsplitter );
m_detailsSizer = new wxBoxSizer( wxVERTICAL );
m_detailsPanel->SetSizer( m_detailsSizer );
m_preview = new DESIGN_BLOCK_PREVIEW_WIDGET( detailsPanel, false,
EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL );
detailsSizer->Add( m_preview, 1, wxEXPAND, 5 );
detailsPanel->Layout();
detailsSizer->Fit( detailsPanel );
m_detailsPanel->Layout();
m_detailsSizer->Fit( m_detailsPanel );
m_vsplitter->SetSashGravity( 0.5 );
m_vsplitter->SetMinimumPaneSize( 20 );
m_vsplitter->SplitHorizontally( treePanel, detailsPanel );
m_vsplitter->SplitHorizontally( treePanel, m_detailsPanel );
sizer->Add( m_vsplitter, 1, wxEXPAND, 5 );
@@ -168,17 +168,14 @@ void PANEL_DESIGN_BLOCK_CHOOSER::SaveSettings()
{
g_designBlockSearchString = m_tree->GetSearchString();
if( EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() ) )
if( APP_SETTINGS_BASE* cfg = m_frame->config() )
{
// Save any changes to column widths, etc.
m_adapter->SaveSettings();
cfg->m_DesignBlockChooserPanel.width = GetParent()->GetSize().x;
cfg->m_DesignBlockChooserPanel.height = GetParent()->GetSize().y;
if( m_vsplitter )
cfg->m_DesignBlockChooserPanel.sash_pos_v = m_vsplitter->GetSashPosition();
cfg->m_DesignBlockChooserPanel.sash_pos_v = m_vsplitter->GetSashPosition();
cfg->m_DesignBlockChooserPanel.sort_mode = m_tree->GetSortMode();
}
}
@@ -191,6 +188,14 @@ void PANEL_DESIGN_BLOCK_CHOOSER::ShowChangedLanguage()
}
void PANEL_DESIGN_BLOCK_CHOOSER::SetPreviewWidget( DESIGN_BLOCK_PREVIEW_WIDGET* aPreview )
{
m_preview = aPreview;
m_detailsSizer->Add( m_preview, 1, wxEXPAND, 5 );
Layout();
}
void PANEL_DESIGN_BLOCK_CHOOSER::OnChar( wxKeyEvent& aEvent )
{
if( aEvent.GetKeyCode() == WXK_ESCAPE )
@@ -217,7 +222,7 @@ void PANEL_DESIGN_BLOCK_CHOOSER::OnChar( wxKeyEvent& aEvent )
void PANEL_DESIGN_BLOCK_CHOOSER::FinishSetup()
{
if( EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() ) )
if( APP_SETTINGS_BASE* cfg = m_frame->config() )
{
auto horizPixelsFromDU =
[&]( int x ) -> int
@@ -226,7 +231,7 @@ void PANEL_DESIGN_BLOCK_CHOOSER::FinishSetup()
return GetParent()->ConvertDialogToPixels( sz ).x;
};
EESCHEMA_SETTINGS::PANEL_DESIGN_BLOCK_CHOOSER& panelCfg = cfg->m_DesignBlockChooserPanel;
APP_SETTINGS_BASE::PANEL_DESIGN_BLOCK_CHOOSER& panelCfg = cfg->m_DesignBlockChooserPanel;
int w = panelCfg.width > 40 ? panelCfg.width : horizPixelsFromDU( 440 );
int h = panelCfg.height > 40 ? panelCfg.height : horizPixelsFromDU( 340 );
@@ -334,7 +339,7 @@ void PANEL_DESIGN_BLOCK_CHOOSER::onCloseTimer( wxTimerEvent& aEvent )
void PANEL_DESIGN_BLOCK_CHOOSER::onOpenLibsTimer( wxTimerEvent& aEvent )
{
if( EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() ) )
if( APP_SETTINGS_BASE* cfg = m_frame->config() )
m_adapter->OpenLibs( cfg->m_LibTree.open_libs );
// Bind this now se we don't spam the event queue with EVT_LIBITEM_SELECTED events during
@@ -346,7 +351,7 @@ void PANEL_DESIGN_BLOCK_CHOOSER::onOpenLibsTimer( wxTimerEvent& aEvent )
void PANEL_DESIGN_BLOCK_CHOOSER::onDesignBlockSelected( wxCommandEvent& aEvent )
{
if( GetSelectedLibId().IsValid() )
m_preview->DisplayDesignBlock( m_frame->GetDesignBlock( GetSelectedLibId() ) );
m_preview->DisplayDesignBlock( m_parent->GetDesignBlock( GetSelectedLibId(), true, true ) );
}
@@ -425,7 +430,7 @@ void PANEL_DESIGN_BLOCK_CHOOSER::displayErrors( wxTopLevelWindow* aWindow )
HTML_MESSAGE_BOX dlg( aWindow, _( "Load Error" ) );
dlg.MessageSet( _( "Errors were encountered loading footprints:" ) );
dlg.MessageSet( _( "Errors were encountered loading design blocks:" ) );
wxString msg;
@@ -31,24 +31,27 @@ class wxPanel;
class wxTimer;
class wxSplitterWindow;
class SCH_EDIT_FRAME;
class EDA_DRAW_FRAME;
class DESIGN_BLOCK_PANE;
class DESIGN_BLOCK_PREVIEW_WIDGET;
class PANEL_DESIGN_BLOCK_CHOOSER : public wxPanel
{
public:
/**
* Create dialog to choose design_block.
*
* @param aFrame the parent frame (usually a SCH_EDIT_FRAME or DESIGN_BLOCK_CHOOSER_FRAME)
* @param aParent the parent window (usually a DIALOG_SHIM or DESIGN_BLOCK_CHOOSER_FRAME)
* @param aAcceptHandler a handler to be called on double-click of a footprint
* @param aEscapeHandler a handler to be called on <ESC>
*/
PANEL_DESIGN_BLOCK_CHOOSER( SCH_EDIT_FRAME* aFrame, wxWindow* aParent,
/**
* Panel for using design blocks.
*
* @param aFrame the parent frame (usually a SCH_EDIT_FRAME or PCB_EDIT_FRAME)
* @param aParent the parent design block pane
* @param aAcceptHandler a handler to be called on double-click of a footprint
* @param aContextMenuTool the tool that will be used to provide an appropriate context menu
* for the design block actions available in that frame
*/
PANEL_DESIGN_BLOCK_CHOOSER( EDA_DRAW_FRAME* aFrame, DESIGN_BLOCK_PANE* aParent,
std::vector<LIB_ID>& aHistoryList,
std::function<void()> aSelectHandler );
std::function<void()> aSelectHandler,
TOOL_INTERACTIVE* aContextMenuTool );
~PANEL_DESIGN_BLOCK_CHOOSER();
@@ -56,7 +59,9 @@ public:
void OnChar( wxKeyEvent& aEvent );
void FinishSetup();
wxPanel* GetDetailsPanel() { return m_detailsPanel; }
void SetPreviewWidget( DESIGN_BLOCK_PREVIEW_WIDGET* aPreview );
void FinishSetup();
void SetPreselect( const LIB_ID& aPreselect );
@@ -105,16 +110,19 @@ protected:
protected:
static wxString g_designBlockSearchString;
wxTimer* m_dbl_click_timer;
wxTimer* m_open_libs_timer;
wxSplitterWindow* m_vsplitter;
wxTimer* m_dbl_click_timer;
wxTimer* m_open_libs_timer;
wxSplitterWindow* m_vsplitter;
wxPanel* m_detailsPanel;
wxBoxSizer* m_detailsSizer;
wxObjectDataPtr<LIB_TREE_MODEL_ADAPTER> m_adapter;
LIB_TREE* m_tree;
DESIGN_BLOCK_PREVIEW_WIDGET* m_preview;
LIB_TREE* m_tree;
DESIGN_BLOCK_PREVIEW_WIDGET* m_preview;
SCH_EDIT_FRAME* m_frame;
DESIGN_BLOCK_PANE* m_parent;
EDA_DRAW_FRAME* m_frame;
std::function<void()> m_selectHandler;
std::vector<LIB_ID> m_historyList;
+2 -9
View File
@@ -157,7 +157,9 @@ void SEARCH_PANE::RefreshSearch()
void SEARCH_PANE::ClearAllResults()
{
for( SEARCH_PANE_TAB* tab : m_tabs )
{
tab->Clear();
}
}
@@ -185,15 +187,6 @@ void SEARCH_PANE::OnNotebookPageChanged( wxBookCtrlEvent& aEvent )
}
void SEARCH_PANE::OnSize( wxSizeEvent& aEvent )
{
if( APP_SETTINGS_BASE* cfg = m_frame->config() )
m_frame->SaveSettings( cfg );
aEvent.Skip();
}
SEARCH_PANE_TAB* SEARCH_PANE::GetCurrentTab() const
{
return dynamic_cast<SEARCH_PANE_TAB*>( m_notebook->GetCurrentPage() );
+59 -59
View File
@@ -1,5 +1,5 @@
(kicad_sch
(version 20250114)
(version 20241209)
(generator "eeschema")
(generator_version "9.0")
(uuid "994297ef-4ddc-40ea-b4d6-64ee58be7864")
@@ -10,7 +10,7 @@
(rev "1")
)
(lib_symbols
(symbol "complex_hierarchy:+12V"
(symbol "complex_hierarchy_schlib:+12V"
(power)
(pin_names
(offset 0)
@@ -121,7 +121,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:-VAA"
(symbol "complex_hierarchy_schlib:-VAA"
(power)
(pin_names
(offset 0)
@@ -220,7 +220,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:C"
(symbol "complex_hierarchy_schlib:C"
(pin_numbers
(hide yes)
)
@@ -348,7 +348,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:CONN_2"
(symbol "complex_hierarchy_schlib:CONN_2"
(pin_names
(offset 1.016)
(hide yes)
@@ -450,7 +450,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:D_Small"
(symbol "complex_hierarchy_schlib:D_Small"
(pin_numbers
(hide yes)
)
@@ -579,7 +579,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:GND"
(symbol "complex_hierarchy_schlib:GND"
(power)
(pin_names
(offset 0)
@@ -666,7 +666,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:HT"
(symbol "complex_hierarchy_schlib:HT"
(power)
(pin_names
(offset 0)
@@ -765,7 +765,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:LM358N"
(symbol "complex_hierarchy_schlib:LM358N"
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -976,7 +976,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:MPSA42"
(symbol "complex_hierarchy_schlib:MPSA42"
(pin_names
(offset 0)
)
@@ -1167,7 +1167,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:MPSA92"
(symbol "complex_hierarchy_schlib:MPSA92"
(pin_names
(offset 0)
)
@@ -1358,7 +1358,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:POT"
(symbol "complex_hierarchy_schlib:POT"
(pin_names
(offset 1.016)
(hide yes)
@@ -1490,7 +1490,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:R"
(symbol "complex_hierarchy_schlib:R"
(pin_numbers
(hide yes)
)
@@ -2547,7 +2547,7 @@
(uuid "f6412f6c-f1d3-410f-a9bc-77daa2b57dfd")
)
(symbol
(lib_id "complex_hierarchy:POT")
(lib_id "complex_hierarchy_schlib:POT")
(at 148.59 162.56 0)
(unit 1)
(exclude_from_sim no)
@@ -2620,7 +2620,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:C")
(lib_id "complex_hierarchy_schlib:C")
(at 110.49 40.64 270)
(unit 1)
(exclude_from_sim no)
@@ -2690,7 +2690,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 100.33 50.8 270)
(unit 1)
(exclude_from_sim no)
@@ -2760,7 +2760,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:+12V")
(lib_id "complex_hierarchy_schlib:+12V")
(at 120.65 49.53 0)
(unit 1)
(exclude_from_sim no)
@@ -2829,7 +2829,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:LM358N")
(lib_id "complex_hierarchy_schlib:LM358N")
(at 123.19 60.96 0)
(unit 2)
(exclude_from_sim no)
@@ -2917,7 +2917,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:HT")
(lib_id "complex_hierarchy_schlib:HT")
(at 218.44 83.82 0)
(unit 1)
(exclude_from_sim no)
@@ -2986,7 +2986,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:HT")
(lib_id "complex_hierarchy_schlib:HT")
(at 200.66 64.77 0)
(unit 1)
(exclude_from_sim no)
@@ -3055,7 +3055,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:HT")
(lib_id "complex_hierarchy_schlib:HT")
(at 185.42 67.31 0)
(unit 1)
(exclude_from_sim no)
@@ -3124,7 +3124,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:MPSA92")
(lib_id "complex_hierarchy_schlib:MPSA92")
(at 198.12 83.82 0)
(mirror x)
(unit 1)
@@ -3200,7 +3200,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 128.27 162.56 270)
(unit 1)
(exclude_from_sim no)
@@ -3270,7 +3270,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 133.35 162.56 270)
(unit 1)
(exclude_from_sim no)
@@ -3340,7 +3340,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 260.35 115.57 0)
(unit 1)
(exclude_from_sim no)
@@ -3410,7 +3410,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 240.03 105.41 270)
(unit 1)
(exclude_from_sim no)
@@ -3480,7 +3480,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:C")
(lib_id "complex_hierarchy_schlib:C")
(at 205.74 146.05 0)
(unit 1)
(exclude_from_sim no)
@@ -3552,7 +3552,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:C")
(lib_id "complex_hierarchy_schlib:C")
(at 101.6 64.77 0)
(unit 1)
(exclude_from_sim no)
@@ -3624,7 +3624,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CONN_2")
(lib_id "complex_hierarchy_schlib:CONN_2")
(at 34.29 53.34 0)
(mirror y)
(unit 1)
@@ -3695,7 +3695,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:LM358N")
(lib_id "complex_hierarchy_schlib:LM358N")
(at 162.56 137.16 0)
(unit 1)
(exclude_from_sim no)
@@ -3783,7 +3783,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 101.6 69.85 0)
(unit 1)
(exclude_from_sim no)
@@ -3853,7 +3853,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 45.72 57.15 0)
(unit 1)
(exclude_from_sim no)
@@ -3923,7 +3923,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 82.55 50.8 270)
(unit 1)
(exclude_from_sim no)
@@ -3993,7 +3993,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CONN_2")
(lib_id "complex_hierarchy_schlib:CONN_2")
(at 273.05 111.76 0)
(unit 1)
(exclude_from_sim no)
@@ -4063,7 +4063,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 187.96 137.16 270)
(unit 1)
(exclude_from_sim no)
@@ -4133,7 +4133,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:+12V")
(lib_id "complex_hierarchy_schlib:+12V")
(at 160.02 125.73 0)
(unit 1)
(exclude_from_sim no)
@@ -4202,7 +4202,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 226.06 129.54 180)
(unit 1)
(exclude_from_sim no)
@@ -4272,7 +4272,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 184.15 129.54 270)
(unit 1)
(exclude_from_sim no)
@@ -4342,7 +4342,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 185.42 97.79 0)
(unit 1)
(exclude_from_sim no)
@@ -4412,7 +4412,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 185.42 91.44 0)
(unit 1)
(exclude_from_sim no)
@@ -4482,7 +4482,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:D_Small")
(lib_id "complex_hierarchy_schlib:D_Small")
(at 185.42 71.12 90)
(unit 1)
(exclude_from_sim no)
@@ -4552,7 +4552,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 200.66 69.85 0)
(unit 1)
(exclude_from_sim no)
@@ -4622,7 +4622,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:D_Small")
(lib_id "complex_hierarchy_schlib:D_Small")
(at 185.42 78.74 90)
(unit 1)
(exclude_from_sim no)
@@ -4692,7 +4692,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 177.8 132.08 0)
(unit 1)
(exclude_from_sim no)
@@ -4762,7 +4762,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:MPSA42")
(lib_id "complex_hierarchy_schlib:MPSA42")
(at 198.12 129.54 0)
(unit 1)
(exclude_from_sim no)
@@ -4837,7 +4837,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 218.44 134.62 0)
(unit 1)
(exclude_from_sim no)
@@ -4907,7 +4907,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:D_Small")
(lib_id "complex_hierarchy_schlib:D_Small")
(at 200.66 114.3 90)
(unit 1)
(exclude_from_sim no)
@@ -4977,7 +4977,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:MPSA92")
(lib_id "complex_hierarchy_schlib:MPSA92")
(at 215.9 121.92 0)
(mirror x)
(unit 1)
@@ -5053,7 +5053,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:MPSA42")
(lib_id "complex_hierarchy_schlib:MPSA42")
(at 215.9 93.98 0)
(unit 1)
(exclude_from_sim no)
@@ -5128,7 +5128,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:-VAA")
(lib_id "complex_hierarchy_schlib:-VAA")
(at 120.65 72.39 180)
(unit 1)
(exclude_from_sim no)
@@ -5197,7 +5197,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:-VAA")
(lib_id "complex_hierarchy_schlib:-VAA")
(at 160.02 148.59 180)
(unit 1)
(exclude_from_sim no)
@@ -5266,7 +5266,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 62.23 50.8 270)
(unit 1)
(exclude_from_sim no)
@@ -5336,7 +5336,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:C")
(lib_id "complex_hierarchy_schlib:C")
(at 72.39 57.15 0)
(unit 1)
(exclude_from_sim no)
@@ -5408,7 +5408,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 72.39 62.23 0)
(unit 1)
(exclude_from_sim no)
@@ -5478,7 +5478,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 205.74 133.35 0)
(unit 1)
(exclude_from_sim no)
@@ -5548,7 +5548,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 205.74 151.13 0)
(unit 1)
(exclude_from_sim no)
@@ -5618,7 +5618,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:D_Small")
(lib_id "complex_hierarchy_schlib:D_Small")
(at 200.66 101.6 90)
(unit 1)
(exclude_from_sim no)
@@ -5688,7 +5688,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 240.03 113.03 270)
(unit 1)
(exclude_from_sim no)
@@ -5758,7 +5758,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:R")
(lib_id "complex_hierarchy_schlib:R")
(at 231.14 129.54 180)
(unit 1)
(exclude_from_sim no)
File diff suppressed because it is too large Load Diff
@@ -473,7 +473,7 @@
},
"meta": {
"filename": "complex_hierarchy.kicad_pro",
"version": 3
"version": 2
},
"net_settings": {
"classes": [
@@ -1,5 +1,5 @@
(kicad_sch
(version 20250114)
(version 20241209)
(generator "eeschema")
(generator_version "9.0")
(uuid "5b9623a5-6d01-41fc-9865-e1bc779418c8")
@@ -9,7 +9,7 @@
(date "2017-01-15")
)
(lib_symbols
(symbol "complex_hierarchy:+12V"
(symbol "complex_hierarchy_schlib:+12V"
(power)
(pin_names
(offset 0)
@@ -120,7 +120,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:-VAA"
(symbol "complex_hierarchy_schlib:-VAA"
(power)
(pin_names
(offset 0)
@@ -219,7 +219,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:7805"
(symbol "complex_hierarchy_schlib:7805"
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -335,7 +335,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:CONN_2"
(symbol "complex_hierarchy_schlib:CONN_2"
(pin_names
(offset 1.016)
(hide yes)
@@ -437,7 +437,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:CP"
(symbol "complex_hierarchy_schlib:CP"
(pin_numbers
(hide yes)
)
@@ -546,7 +546,7 @@
)
(rectangle
(start 2.286 1.016)
(end -2.286 1.016)
(end 2.286 0.508)
(stroke
(width 0)
(type default)
@@ -557,7 +557,7 @@
)
(rectangle
(start 2.286 1.016)
(end 2.286 0.508)
(end -2.286 1.016)
(stroke
(width 0)
(type default)
@@ -618,7 +618,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:D_Small"
(symbol "complex_hierarchy_schlib:D_Small"
(pin_numbers
(hide yes)
)
@@ -747,7 +747,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:GND"
(symbol "complex_hierarchy_schlib:GND"
(power)
(pin_names
(offset 0)
@@ -834,7 +834,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:HT"
(symbol "complex_hierarchy_schlib:HT"
(power)
(pin_names
(offset 0)
@@ -933,7 +933,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:ICL7660"
(symbol "complex_hierarchy_schlib:ICL7660"
(pin_names
(offset 1.016)
)
@@ -1126,7 +1126,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:PWR_FLAG"
(symbol "complex_hierarchy_schlib:PWR_FLAG"
(power)
(pin_numbers
(hide yes)
@@ -1216,7 +1216,7 @@
)
(embedded_fonts no)
)
(symbol "complex_hierarchy:VCC"
(symbol "complex_hierarchy_schlib:VCC"
(power)
(pin_names
(offset 0)
@@ -1816,7 +1816,7 @@
(uuid "6d5fce79-cffa-4bf2-a989-42ca9ce0dd4e")
)
(symbol
(lib_id "complex_hierarchy:CONN_2")
(lib_id "complex_hierarchy_schlib:CONN_2")
(at 41.91 66.04 0)
(mirror y)
(unit 1)
@@ -1883,7 +1883,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 53.34 71.12 0)
(unit 1)
(exclude_from_sim no)
@@ -1949,7 +1949,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:D_Small")
(lib_id "complex_hierarchy_schlib:D_Small")
(at 68.58 63.5 0)
(mirror y)
(unit 1)
@@ -2016,7 +2016,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CP")
(lib_id "complex_hierarchy_schlib:CP")
(at 81.28 69.85 0)
(unit 1)
(exclude_from_sim no)
@@ -2084,7 +2084,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 81.28 76.2 0)
(unit 1)
(exclude_from_sim no)
@@ -2150,7 +2150,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:+12V")
(lib_id "complex_hierarchy_schlib:+12V")
(at 90.17 62.23 0)
(unit 1)
(exclude_from_sim no)
@@ -2215,7 +2215,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:PWR_FLAG")
(lib_id "complex_hierarchy_schlib:PWR_FLAG")
(at 55.88 41.91 0)
(unit 1)
(exclude_from_sim no)
@@ -2280,7 +2280,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:PWR_FLAG")
(lib_id "complex_hierarchy_schlib:PWR_FLAG")
(at 76.2 62.23 0)
(unit 1)
(exclude_from_sim no)
@@ -2345,7 +2345,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:PWR_FLAG")
(lib_id "complex_hierarchy_schlib:PWR_FLAG")
(at 55.88 31.75 0)
(unit 1)
(exclude_from_sim no)
@@ -2410,7 +2410,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 200.66 41.91 0)
(unit 1)
(exclude_from_sim no)
@@ -2476,7 +2476,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 233.68 45.72 0)
(unit 1)
(exclude_from_sim no)
@@ -2542,7 +2542,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CP")
(lib_id "complex_hierarchy_schlib:CP")
(at 233.68 40.64 0)
(unit 1)
(exclude_from_sim no)
@@ -2610,7 +2610,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:HT")
(lib_id "complex_hierarchy_schlib:HT")
(at 63.5 31.75 0)
(unit 1)
(exclude_from_sim no)
@@ -2675,7 +2675,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CONN_2")
(lib_id "complex_hierarchy_schlib:CONN_2")
(at 41.91 35.56 0)
(mirror y)
(unit 1)
@@ -2742,7 +2742,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 55.88 44.45 0)
(unit 1)
(exclude_from_sim no)
@@ -2808,7 +2808,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 63.5 43.18 0)
(unit 1)
(exclude_from_sim no)
@@ -2874,7 +2874,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CP")
(lib_id "complex_hierarchy_schlib:CP")
(at 63.5 38.1 0)
(unit 1)
(exclude_from_sim no)
@@ -2942,7 +2942,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:ICL7660")
(lib_id "complex_hierarchy_schlib:ICL7660")
(at 201.93 73.66 0)
(unit 1)
(exclude_from_sim no)
@@ -3025,7 +3025,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 200.66 91.44 0)
(unit 1)
(exclude_from_sim no)
@@ -3091,7 +3091,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:VCC")
(lib_id "complex_hierarchy_schlib:VCC")
(at 233.68 31.75 0)
(unit 1)
(exclude_from_sim no)
@@ -3156,7 +3156,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:VCC")
(lib_id "complex_hierarchy_schlib:VCC")
(at 200.66 55.88 0)
(unit 1)
(exclude_from_sim no)
@@ -3221,7 +3221,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:7805")
(lib_id "complex_hierarchy_schlib:7805")
(at 200.66 34.29 0)
(unit 1)
(exclude_from_sim no)
@@ -3290,7 +3290,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:-VAA")
(lib_id "complex_hierarchy_schlib:-VAA")
(at 237.49 69.85 270)
(unit 1)
(exclude_from_sim no)
@@ -3355,7 +3355,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CP")
(lib_id "complex_hierarchy_schlib:CP")
(at 233.68 63.5 0)
(unit 1)
(exclude_from_sim no)
@@ -3423,7 +3423,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:GND")
(lib_id "complex_hierarchy_schlib:GND")
(at 229.87 58.42 0)
(unit 1)
(exclude_from_sim no)
@@ -3489,7 +3489,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:CP")
(lib_id "complex_hierarchy_schlib:CP")
(at 168.91 69.85 0)
(unit 1)
(exclude_from_sim no)
@@ -3557,7 +3557,7 @@
)
)
(symbol
(lib_id "complex_hierarchy:+12V")
(lib_id "complex_hierarchy_schlib:+12V")
(at 187.96 31.75 0)
(unit 1)
(exclude_from_sim no)
File diff suppressed because it is too large Load Diff
@@ -1,308 +0,0 @@
(footprint "Altech_AK300_1x02_P5.00mm_45-Degree"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Altech AK300 serie terminal block (Script generated with StandardBox.py) (http://www.altechcorp.com/PDFS/PCBMETRC.PDF)")
(tags "Altech AK300 serie connector")
(property "Reference" "REF**"
(at -4.191 0.254 90)
(layer "F.SilkS")
(uuid "9900d616-51d7-4c0b-a112-d85006e263ed")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "CONN_2"
(at 2.54 5.66 0)
(layer "F.Fab")
(uuid "dedbfb78-69d0-4d1d-997b-9fc288141106")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "de189590-b4d8-4a1f-a9f1-d694fba6d4c0")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "34a833ea-bdc5-45c2-92ad-84c0ffbbfafb")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start -3 -6.5)
(end 0 -6.5)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b5c57c68-47ff-4c71-a416-d32ead94c0e1")
)
(fp_line
(start -3 -3.5)
(end -3 -6.5)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "076099bf-83fa-4d8e-9e73-b07d87e64ef6")
)
(fp_line
(start -2.62 -6.12)
(end -2.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6bafdf96-d333-4ed9-ae19-7c9ded91686c")
)
(fp_line
(start -2.62 -6.12)
(end -2.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "a83fccbb-8842-4f77-ae45-ade9e35c0f4a")
)
(fp_line
(start -2.62 -6.12)
(end 7.62 -6.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9bfa7016-600f-410d-8e5d-052e93f06eb2")
)
(fp_line
(start -2.62 -6.12)
(end 7.62 -6.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "da081664-29b9-4fce-a4bf-4d34384da696")
)
(fp_line
(start -2.62 6.62)
(end 7.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1ed678c0-2263-4c93-926c-4e2a47a7a769")
)
(fp_line
(start -2.62 6.62)
(end 7.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "fff8189d-749e-4607-adb5-df88ced044f4")
)
(fp_line
(start 7.62 -6.12)
(end 7.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9d3de8c6-a371-4d92-9a20-0fe041b8b648")
)
(fp_line
(start 7.62 -6.12)
(end 7.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "e38ac6e9-7a8f-4ac7-8948-b0c90ee444ab")
)
(fp_line
(start -2.75 -6.25)
(end -2.75 6.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "ac20f208-d763-4625-9354-1d812bda72b8")
)
(fp_line
(start -2.75 -6.25)
(end 7.75 -6.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "edf51ebf-f979-4ab6-a139-90a35ec055bd")
)
(fp_line
(start -2.75 6.75)
(end 7.75 6.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "cacca1b4-b46b-48d8-a58d-565c65672a22")
)
(fp_line
(start 7.75 -6.25)
(end 7.75 6.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "b7faa640-70ca-4d23-9cc7-fa51152de9e1")
)
(fp_line
(start -2.5 -5.5)
(end -2 -6)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "491d0cb6-bd97-4203-95b6-6843b5ef8aba")
)
(fp_line
(start -2.5 6.5)
(end -2.5 -5.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "c9b1550c-f150-4cf8-97c4-b572ede8c26f")
)
(fp_line
(start -2 -6)
(end 7.5 -6)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "ddc838ce-20bc-4ab8-9367-ee33a79045d6")
)
(fp_line
(start 7.5 -6)
(end 7.5 6.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "b668d2b1-1168-46f8-b25f-0a208b02840e")
)
(fp_line
(start 7.5 6.5)
(end -2.5 6.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "d1aaa0ad-1c75-4aad-9cfd-80de3cb7086a")
)
(fp_text user "${REFERENCE}"
(at 2.54 3.2 0)
(layer "F.Fab")
(uuid "a4859599-eb37-4106-adf3-7398553775c2")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 3 3)
(drill 1.5)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "496e189c-ccd9-48a1-9fb1-fddeef5cf61d")
)
(pad "2" thru_hole circle
(at 5 0)
(size 3 3)
(drill 1.5)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "c86768fa-0ed7-483c-84e7-5682e61715f8")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,438 +0,0 @@
(footprint "CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "CP, Axial series, Axial, Horizontal, pin pitch=15mm, , length*diameter=10*4.5mm^2, Electrolytic Capacitor, , http://www.vishay.com/docs/28325/021asm.pdf")
(tags "CP Axial series Axial Horizontal pin pitch 15mm length 10mm diameter 4.5mm Electrolytic Capacitor")
(property "Reference" "REF**"
(at 7.5 -3.37 180)
(layer "F.SilkS")
(uuid "bd499ef9-dd91-403a-a66b-cd9cb963ca7a")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "47uF"
(at 7.5 3.37 180)
(layer "F.Fab")
(uuid "f9a9593b-bc1d-479c-acc8-4d4a5f115c1c")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "24319b84-fad3-4c53-8758-7994db45790a")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "b9b481ba-9459-4bcf-a3d3-5c4902b14eea")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 0.63 -2.2)
(end 2.13 -2.2)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "51e13e99-bb9c-44d3-b4d7-8d0f9eafe051")
)
(fp_line
(start 1.24 0)
(end 2.38 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b943cc5a-cbc2-4285-a3cc-6a1a42f7f0f5")
)
(fp_line
(start 1.38 -2.95)
(end 1.38 -1.45)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "27ffd85d-4c61-4fcf-a0a8-13d39060d745")
)
(fp_line
(start 2.38 -2.37)
(end 2.38 2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9b59e846-7ec7-4f5a-aa82-9a1a43188d77")
)
(fp_line
(start 2.38 -2.37)
(end 3.88 -2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "56595775-008a-4d8d-a79b-f3acdfb3bfb3")
)
(fp_line
(start 2.38 2.37)
(end 3.88 2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "2bf1566b-f6c4-46fc-8f3b-ccd36abc5186")
)
(fp_line
(start 3.88 -2.37)
(end 4.63 -1.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "43b69c0f-7a48-4700-b2f6-62c4e8fec12f")
)
(fp_line
(start 3.88 2.37)
(end 4.63 1.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "becbb7b5-ab64-4f6b-b0fe-4b747075cc7f")
)
(fp_line
(start 4.63 -1.62)
(end 5.38 -2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "78262add-eb44-45c4-a8bd-0bc77c14f215")
)
(fp_line
(start 4.63 1.62)
(end 5.38 2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "f75858a4-f688-4750-9780-6a4ab61429d0")
)
(fp_line
(start 5.38 -2.37)
(end 12.62 -2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "80ed3235-2d47-46e0-b662-ff7592fdb946")
)
(fp_line
(start 5.38 2.37)
(end 12.62 2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "798a1a6f-7c83-44ff-9c66-bdbd3e60a61c")
)
(fp_line
(start 12.62 -2.37)
(end 12.62 2.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1e3483ad-0d49-4cd0-b420-1214cadb08d6")
)
(fp_line
(start 13.76 0)
(end 12.62 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "51022119-c07a-4ed8-8355-9ea529ac08c0")
)
(fp_line
(start -1.25 -2.5)
(end -1.25 2.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f0ff9b23-09c1-4a5a-b644-cda5999fb40b")
)
(fp_line
(start -1.25 2.5)
(end 16.25 2.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "2a7c0efd-0bf8-4b07-af85-9281f3ad9be8")
)
(fp_line
(start 16.25 -2.5)
(end -1.25 -2.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "97eb6456-e133-45a9-bc74-559c5f3603b0")
)
(fp_line
(start 16.25 2.5)
(end 16.25 -2.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "969c9d2f-7d41-435b-bd98-075585823380")
)
(fp_line
(start 0 0)
(end 2.5 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "eaf7b820-c371-4dc9-94db-f0c8450b86b7")
)
(fp_line
(start 2.5 -2.25)
(end 2.5 2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "1088dfdb-f1ec-4247-8692-1a1684d7361b")
)
(fp_line
(start 2.5 -2.25)
(end 3.88 -2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "e9335321-2958-45a5-b108-577cc90127d7")
)
(fp_line
(start 2.5 2.25)
(end 3.88 2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "851eac87-9a54-45f6-892c-d3be77e0ac8e")
)
(fp_line
(start 3.88 -2.25)
(end 4.63 -1.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "acc0a90c-f721-4db4-b9b0-8d7240227066")
)
(fp_line
(start 3.88 2.25)
(end 4.63 1.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "4e7775a1-fe8e-4e67-897d-43a9db6fb888")
)
(fp_line
(start 3.9 0)
(end 5.4 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "b86fecf1-ffd3-475d-b097-5c9b9804f679")
)
(fp_line
(start 4.63 -1.5)
(end 5.38 -2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "9e27ff36-ecd9-4674-9267-360d67c09c1c")
)
(fp_line
(start 4.63 1.5)
(end 5.38 2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "2eff537c-17b6-4ad5-9ccb-53e8c656e729")
)
(fp_line
(start 4.65 -0.75)
(end 4.65 0.75)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "28863c35-3120-406c-af9f-4ff8f49e545a")
)
(fp_line
(start 5.38 -2.25)
(end 12.5 -2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "1817639e-72b4-4858-ae07-28e5c129465f")
)
(fp_line
(start 5.38 2.25)
(end 12.5 2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "3cc42a65-ca14-42be-9c5c-3d868ac1da51")
)
(fp_line
(start 12.5 -2.25)
(end 12.5 2.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "c12f5253-a2f8-48d9-bded-337f3a3b1051")
)
(fp_line
(start 15 0)
(end 12.5 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "d81abe5d-b83d-492f-b2cd-c2079bf74cc0")
)
(fp_text user "${REFERENCE}"
(at 7.5 0 180)
(layer "F.Fab")
(uuid "cf8f363c-8692-479b-a7b9-ac5d9799a4b7")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "b5fe0e96-5d0a-4894-9302-d936b7663920")
)
(pad "2" thru_hole oval
(at 15 0)
(size 2 2)
(drill 1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "3df84b2a-f4c9-4799-a677-c8a29ebfa6da")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,438 +0,0 @@
(footprint "CP_Axial_L11.0mm_D6.0mm_P18.00mm_Horizontal"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "CP, Axial series, Axial, Horizontal, pin pitch=18mm, , length*diameter=11*6mm^2, Electrolytic Capacitor")
(tags "CP Axial series Axial Horizontal pin pitch 18mm length 11mm diameter 6mm Electrolytic Capacitor")
(property "Reference" "REF**"
(at 9 -4.12 180)
(layer "F.SilkS")
(uuid "447e67f6-48e1-4653-b2cb-526a20e38e16")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "47uF/63V"
(at 9 4.12 180)
(layer "F.Fab")
(uuid "43ad10ea-28da-4b80-9d6e-510939fd14e9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "1cf720c3-4a9e-4f16-b39e-105f322352c7")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "e373e6ca-b8a6-462d-ad85-2474c87441c8")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 1.28 -2.6)
(end 3.08 -2.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "f2d0c758-5c09-4d89-8f83-bd6c0e374f0a")
)
(fp_line
(start 1.44 0)
(end 3.38 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "0d6580dd-ea22-4aba-9e64-0182a1b2af7a")
)
(fp_line
(start 2.18 -3.5)
(end 2.18 -1.7)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c740d0d2-6157-4901-9133-3d3629727e14")
)
(fp_line
(start 3.38 -3.12)
(end 3.38 3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "d85221fb-807b-41ef-b6ee-5d5f640e0fc0")
)
(fp_line
(start 3.38 -3.12)
(end 5.18 -3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "7fbd0be2-4684-45d9-b22b-03ea2c6874d2")
)
(fp_line
(start 3.38 3.12)
(end 5.18 3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6742ae1c-5179-4335-93b2-ff4bd9d124ed")
)
(fp_line
(start 5.18 -3.12)
(end 6.08 -2.22)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "51115de7-682d-4528-95d1-5206c3184963")
)
(fp_line
(start 5.18 3.12)
(end 6.08 2.22)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "a2c474c9-82f6-4ee0-a2f0-218cf3303bb6")
)
(fp_line
(start 6.08 -2.22)
(end 6.98 -3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9d18cb21-f081-4424-825f-8ccdb83ec2c8")
)
(fp_line
(start 6.08 2.22)
(end 6.98 3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "ea6f59a5-dcdb-41eb-9895-e4fc9a5207ac")
)
(fp_line
(start 6.98 -3.12)
(end 14.62 -3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "f3f044dc-f4e9-440e-ae23-c332ccdc6581")
)
(fp_line
(start 6.98 3.12)
(end 14.62 3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "89315ae0-ed58-4e3a-912d-e59c7820c8ac")
)
(fp_line
(start 14.62 -3.12)
(end 14.62 3.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "5a1b1b3b-c83e-4fac-a4b2-bc594ed0ca99")
)
(fp_line
(start 16.56 0)
(end 14.62 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "abe5cd55-a5bd-4b44-8323-4a51d1b44af7")
)
(fp_line
(start -1.45 -3.25)
(end -1.45 3.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "c4529fc9-1084-4173-b039-015565caacb2")
)
(fp_line
(start -1.45 3.25)
(end 19.45 3.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "76a1b140-bc52-4d64-9114-012c45580a81")
)
(fp_line
(start 19.45 -3.25)
(end -1.45 -3.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "78c69141-4bdc-4d9c-9283-17b6bc065d7e")
)
(fp_line
(start 19.45 3.25)
(end 19.45 -3.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "7ef3f83a-feba-4438-95d3-a817c9ef0cee")
)
(fp_line
(start 0 0)
(end 3.5 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "db2fe5ab-a906-4062-a53e-709c9d90f77f")
)
(fp_line
(start 3.5 -3)
(end 3.5 3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "1355141b-8665-4dd3-a653-3858f6873f75")
)
(fp_line
(start 3.5 -3)
(end 5.18 -3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "735b2f29-6f10-48d1-ad06-77eb31c564eb")
)
(fp_line
(start 3.5 3)
(end 5.18 3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "de896255-d9b8-47c1-998a-e03db9c7eebb")
)
(fp_line
(start 5.18 -3)
(end 6.08 -2.1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "68591d81-9f9c-41c9-917e-35ab3741bc1f")
)
(fp_line
(start 5.18 3)
(end 6.08 2.1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "1e6fe62a-9e78-4e83-b8ea-4f0c00ad6f4a")
)
(fp_line
(start 5.2 0)
(end 7 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "a4ed0c59-253b-4603-b77b-7acf798101b6")
)
(fp_line
(start 6.08 -2.1)
(end 6.98 -3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "1dec1523-7825-4db9-ba89-45d9e92ed117")
)
(fp_line
(start 6.08 2.1)
(end 6.98 3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "cdfc3e81-64a8-4e53-906c-c3d5b87b862c")
)
(fp_line
(start 6.1 -0.9)
(end 6.1 0.9)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "2343ab35-3011-4c69-90bc-a5a6544ffb9f")
)
(fp_line
(start 6.98 -3)
(end 14.5 -3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "4bf240c5-834a-480b-abb4-55b4a951f11a")
)
(fp_line
(start 6.98 3)
(end 14.5 3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "db05c876-6763-4735-bfa7-04303068c5f7")
)
(fp_line
(start 14.5 -3)
(end 14.5 3)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "7c5d5e0e-598b-47a1-a0eb-2bad5ce869d6")
)
(fp_line
(start 18 0)
(end 14.5 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "48f3a1fc-815f-41da-9239-e2fc4125494d")
)
(fp_text user "${REFERENCE}"
(at 9 0 180)
(layer "F.Fab")
(uuid "93fcb93d-3188-4477-8001-9a9b2c8cf667")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 2.4 2.4)
(drill 1.2)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "5551237b-cb22-4342-905f-590566bcabeb")
)
(pad "2" thru_hole oval
(at 18 0)
(size 2.4 2.4)
(drill 1.2)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "499203c4-ab0e-4598-98f9-1dd7b5b64a59")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/CP_Axial_L11.0mm_D6.0mm_P18.00mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,258 +0,0 @@
(footprint "C_Disc_D5.0mm_W2.5mm_P5.00mm"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "C, Disc series, Radial, pin pitch=5.00mm, , diameter*width=5*2.5mm^2, Capacitor, http://cdn-reichelt.de/documents/datenblatt/B300/DS_KERKO_TC.pdf")
(tags "C Disc series Radial pin pitch 5.00mm diameter 5mm width 2.5mm Capacitor")
(property "Reference" "REF**"
(at -2.782 -0.026 0)
(layer "F.SilkS")
(uuid "f82673b4-d3ef-494f-a07d-7cabb2deddf2")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "15nF"
(at 2.5 2.56 0)
(layer "F.Fab")
(uuid "09d7e145-82fb-45be-81b7-b9cba918d026")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d42cb63f-10d4-4178-a914-bd75a9afa0c3")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "a15eeea0-e885-41b8-87df-b5406c82e089")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start -0.12 -1.37)
(end -0.12 -1.055)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "2fea2278-871b-464a-8f87-6d91f2474976")
)
(fp_line
(start -0.12 -1.37)
(end 5.12 -1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "f15c623e-f651-4612-b375-2775f5c72621")
)
(fp_line
(start -0.12 1.055)
(end -0.12 1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "446efce1-c383-4fd4-9136-dcd0874d4472")
)
(fp_line
(start -0.12 1.37)
(end 5.12 1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "373dd99c-5d31-4612-9239-b1ecada13527")
)
(fp_line
(start 5.12 -1.37)
(end 5.12 -1.055)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b114d49e-a2e8-4210-874c-996b7c33433a")
)
(fp_line
(start 5.12 1.055)
(end 5.12 1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "e7d65b59-b996-4e53-8049-f40689978515")
)
(fp_line
(start -1.05 -1.5)
(end -1.05 1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "05694be6-28b3-4040-ae12-2f00c68fc5b8")
)
(fp_line
(start -1.05 1.5)
(end 6.05 1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "3862f15e-d84e-432b-ae53-89325d216ca8")
)
(fp_line
(start 6.05 -1.5)
(end -1.05 -1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "004d4ca0-f086-491e-8c39-acd208414c58")
)
(fp_line
(start 6.05 1.5)
(end 6.05 -1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "6585b60e-52e4-4f1b-98c5-237475291d92")
)
(fp_line
(start 0 -1.25)
(end 0 1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "03e24790-67db-4eae-989d-9b449f0fb9d4")
)
(fp_line
(start 0 1.25)
(end 5 1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "fbe8645a-a6c4-4474-bfbf-57c2a9b5b8d4")
)
(fp_line
(start 5 -1.25)
(end 0 -1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "3a49d669-a559-4fa5-a04f-b332bd5623cf")
)
(fp_line
(start 5 1.25)
(end 5 -1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "6c4c8acd-cce2-407f-ae59-8782e9a9ff46")
)
(fp_text user "${REFERENCE}"
(at 2.5 0 0)
(layer "F.Fab")
(uuid "23ca3294-b2cf-4eec-8480-2309a0caba58")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "e6234d3e-a780-490e-9f0a-0e55b2eb51b0")
)
(pad "2" thru_hole circle
(at 5 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "9ee96854-5207-4c3c-945e-1bd8097deb7c")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/C_Disc_D5.0mm_W2.5mm_P5.00mm.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,383 +0,0 @@
(footprint "DIP-8_W7.62mm_LongPads"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "8-lead though-hole mounted DIP package, row spacing 7.62 mm (300 mils), LongPads")
(tags "THT DIP DIL PDIP 2.54mm 7.62mm 300mil LongPads")
(property "Reference" "REF**"
(at 3.81 -2.33 0)
(layer "F.SilkS")
(uuid "bf23059e-f253-4615-a025-73276cd9b6c9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "LM358N"
(at 3.81 9.95 0)
(layer "F.Fab")
(uuid "55993cc2-6718-486b-8b81-037add785a6b")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "9343cc4e-af88-4b7e-bc4f-0e7f7cfb5943")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "f9988987-6615-4109-aee5-c56faeaf1cf0")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 1.56 -1.33)
(end 1.56 8.95)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "18d3ce4b-aa13-4b60-8cca-1247d36aa0fe")
)
(fp_line
(start 1.56 8.95)
(end 6.06 8.95)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6b7c46e8-abba-4957-a016-84202ba8bdf7")
)
(fp_line
(start 2.81 -1.33)
(end 1.56 -1.33)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "cc9b3c62-be90-4185-9dad-3b36d8d338a8")
)
(fp_line
(start 6.06 -1.33)
(end 4.81 -1.33)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c2086a48-6908-4f46-bc7f-2471cd6b48bc")
)
(fp_line
(start 6.06 8.95)
(end 6.06 -1.33)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "66386284-57b9-4665-9254-a90e48d83ec5")
)
(fp_arc
(start 4.81 -1.33)
(mid 3.81 -0.33)
(end 2.81 -1.33)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "01e5cf6a-47f9-46e7-86a5-97af7e2eeea0")
)
(fp_line
(start -1.45 -1.55)
(end -1.45 9.15)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "687be9dc-e415-498f-8dc6-9e993e2de859")
)
(fp_line
(start -1.45 9.15)
(end 9.1 9.15)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "b6037839-087b-4aaf-a75e-48992e784dc0")
)
(fp_line
(start 9.1 -1.55)
(end -1.45 -1.55)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "a19c5422-cb9d-46ad-ac71-61a10800bf88")
)
(fp_line
(start 9.1 9.15)
(end 9.1 -1.55)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "04f07315-ec70-4069-be0f-f9a0d003f2c5")
)
(fp_line
(start 0.635 -0.27)
(end 1.635 -1.27)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "de54eae2-8b9e-4d63-97b0-eadcb83f013b")
)
(fp_line
(start 0.635 8.89)
(end 0.635 -0.27)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "65900400-7cb4-41e0-8d2c-8732f9682286")
)
(fp_line
(start 1.635 -1.27)
(end 6.985 -1.27)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "b3664d82-f5e8-44c0-9ba6-7e93f9d588b1")
)
(fp_line
(start 6.985 -1.27)
(end 6.985 8.89)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "469f6bd1-96f6-4539-b1dd-217bb69be2ac")
)
(fp_line
(start 6.985 8.89)
(end 0.635 8.89)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "f5280bcb-6c66-4cb1-a6bd-6716fbda92be")
)
(fp_text user "${REFERENCE}"
(at 3.81 3.81 0)
(layer "F.Fab")
(uuid "3c4a1f98-e61d-49a4-bc16-763096e9c8b9")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "6c78a72a-d930-4081-941d-e89128267e92")
)
(pad "2" thru_hole oval
(at 0 2.54)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "7af63c83-ac65-49ce-bd32-8ebce5862e0d")
)
(pad "3" thru_hole oval
(at 0 5.08)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "47c65493-ddce-4aa3-9d47-2fb414ba8298")
)
(pad "4" thru_hole oval
(at 0 7.62)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "64ae47c9-931f-4dc2-abd4-7eda633486aa")
)
(pad "5" thru_hole oval
(at 7.62 7.62)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "3f276d5d-0d43-4e99-8d32-ed2ae8cbb792")
)
(pad "6" thru_hole oval
(at 7.62 5.08)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "e2c57471-f535-4189-84fd-ab0dbce30402")
)
(pad "7" thru_hole oval
(at 7.62 2.54)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "7e2fd351-a41d-4744-a99c-56ead3520aff")
)
(pad "8" thru_hole oval
(at 7.62 0)
(size 2.4 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "da1cd549-7494-44ed-9414-de11f5baca7f")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Package_DIP.3dshapes/DIP-8_W7.62mm.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,360 +0,0 @@
(footprint "D_DO-35_SOD27_P7.62mm_Horizontal"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Diode, DO-35_SOD27 series, Axial, Horizontal, pin pitch=7.62mm, , length*diameter=4*2mm^2, , http://www.diodes.com/_files/packages/DO-35.pdf")
(tags "Diode DO-35_SOD27 series Axial Horizontal pin pitch 7.62mm length 4mm diameter 2mm")
(property "Reference" "REF**"
(at 1.524 2.159 0)
(layer "F.SilkS")
(uuid "20fb3976-bfd2-4ec3-a096-9e2e21493335")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "1N4148"
(at 5.207 2.12 0)
(layer "F.Fab")
(uuid "c9d5bb15-f082-4b64-92f0-18296402f9e2")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "f756b6a5-23e1-489d-bc71-b32e8caaabf4")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "4bc992af-3f60-4f7a-934d-adf651451a60")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 1.04 0)
(end 1.69 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "f9292bef-2544-49ea-8811-9602e29cd8d5")
)
(fp_line
(start 1.69 -1.12)
(end 1.69 1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "91871cb9-fd20-4e76-9271-b18e6c8383a7")
)
(fp_line
(start 1.69 1.12)
(end 5.93 1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1c5280b1-5da2-4cfc-ad66-2d054655930c")
)
(fp_line
(start 2.29 -1.12)
(end 2.29 1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "08c1bc87-0cb6-420b-9553-680f834882d2")
)
(fp_line
(start 2.41 -1.12)
(end 2.41 1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "66ef08d2-2a8e-4090-b1c6-e67a3978b889")
)
(fp_line
(start 2.53 -1.12)
(end 2.53 1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b40bee46-e95d-49ce-9491-a96fb26d7eff")
)
(fp_line
(start 5.93 -1.12)
(end 1.69 -1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "3cc1b69a-13c6-43ec-9170-924559807be3")
)
(fp_line
(start 5.93 1.12)
(end 5.93 -1.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "0d2e468b-ac1e-4c9b-a7bb-d8f94254cfc1")
)
(fp_line
(start 6.58 0)
(end 5.93 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "932b793f-f7b8-4fd7-b83f-137d5ee5b5e0")
)
(fp_line
(start -1.05 -1.25)
(end -1.05 1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "71dbc3fe-e2e8-473e-9d89-0754479e8dc7")
)
(fp_line
(start -1.05 1.25)
(end 8.67 1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "3d921b1f-0950-4de9-aa73-0595dd7ef9a5")
)
(fp_line
(start 8.67 -1.25)
(end -1.05 -1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "d7fd64c5-8b4e-4315-89f4-050215249ce4")
)
(fp_line
(start 8.67 1.25)
(end 8.67 -1.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "9d9198dd-db95-471f-ac7f-0d631a22bed4")
)
(fp_line
(start 0 0)
(end 1.81 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "affbf822-0026-4d8e-bc01-85a4a1081120")
)
(fp_line
(start 1.81 -1)
(end 1.81 1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "d6fe20f5-6267-4d41-95bd-1aa5cbfd9484")
)
(fp_line
(start 1.81 1)
(end 5.81 1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "23b80e36-c499-4b02-82db-3ea5f65e2ed9")
)
(fp_line
(start 2.31 -1)
(end 2.31 1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "09db36fe-c8db-4d52-b682-8a0e50ca52fd")
)
(fp_line
(start 2.41 -1)
(end 2.41 1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "84b7df3d-3349-4e21-b95e-d7aecc2f2820")
)
(fp_line
(start 2.51 -1)
(end 2.51 1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "900afeae-fe0b-46ab-9844-b86e47925f57")
)
(fp_line
(start 5.81 -1)
(end 1.81 -1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "b19132c5-3c79-4397-809d-7ccb7298e79c")
)
(fp_line
(start 5.81 1)
(end 5.81 -1)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "f8f34062-c058-45fa-b64a-5813b7d9d464")
)
(fp_line
(start 7.62 0)
(end 5.81 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "e6af8af7-424c-49ab-ba8d-dea535c08b0a")
)
(fp_text user "K"
(at 0 -1.8 0)
(layer "F.SilkS")
(uuid "451efb21-ef67-4733-b41c-ba4def1e73b3")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(fp_text user "K"
(at 0 -1.8 0)
(layer "F.Fab")
(uuid "5cc05b8a-3003-496a-bd82-54a045bcc5f2")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(fp_text user "${REFERENCE}"
(at 4.11 0 0)
(layer "F.Fab")
(uuid "b165b34a-146c-448e-a611-880e15134e64")
(effects
(font
(size 0.8 0.8)
(thickness 0.12)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "1362e1c5-6fe6-4691-a875-d4dd82702feb")
)
(pad "2" thru_hole oval
(at 7.62 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "a49e2947-272f-4770-bbb6-06d793f7b6a7")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Diode_THT.3dshapes/D_DO-35_SOD27_P7.62mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,360 +0,0 @@
(footprint "D_DO-41_SOD81_P12.70mm_Horizontal"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Diode, DO-41_SOD81 series, Axial, Horizontal, pin pitch=12.7mm, , length*diameter=5.2*2.7mm^2, , http://www.diodes.com/_files/packages/DO-41%20(Plastic).pdf")
(tags "Diode DO-41_SOD81 series Axial Horizontal pin pitch 12.7mm length 5.2mm diameter 2.7mm")
(property "Reference" "REF**"
(at 0 2.413 0)
(layer "F.SilkS")
(uuid "2b13422c-d013-4677-aeec-0d86e0651ed1")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "1N4007"
(at 6.35 2.47 0)
(layer "F.Fab")
(uuid "1e08d14d-98c5-48a7-adde-cacd6c1ee799")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "1d80fa33-2a03-4d16-a70b-d7bcd1dcbe47")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "5f5b3993-b00b-43c4-b199-b139f2a1d318")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 1.34 0)
(end 3.63 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1ec26f81-017b-418b-b8f2-d5000a1071d3")
)
(fp_line
(start 3.63 -1.47)
(end 3.63 1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "5c3d80f1-157c-4777-b803-427afabf39b9")
)
(fp_line
(start 3.63 1.47)
(end 9.07 1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1c92d3d8-2923-4827-8d26-7365d97eb71b")
)
(fp_line
(start 4.41 -1.47)
(end 4.41 1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1b3e325f-57d1-4e38-a327-d5edef7176a3")
)
(fp_line
(start 4.53 -1.47)
(end 4.53 1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "3e6b18fe-b3b2-4a5b-9852-5f0449e419aa")
)
(fp_line
(start 4.65 -1.47)
(end 4.65 1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "184deed2-329d-478a-9761-f3d2111fc4c6")
)
(fp_line
(start 9.07 -1.47)
(end 3.63 -1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "55cade0a-5ae5-43ba-9f9a-3e493cdd073a")
)
(fp_line
(start 9.07 1.47)
(end 9.07 -1.47)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "4f3f07d4-0fff-493a-a816-0ddca6abd5a2")
)
(fp_line
(start 11.36 0)
(end 9.07 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "572f78ac-f88f-4758-a90a-de90dd78efd2")
)
(fp_line
(start -1.35 -1.6)
(end -1.35 1.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "17223f51-766d-4d18-ae6b-e26181a539b1")
)
(fp_line
(start -1.35 1.6)
(end 14.05 1.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "73fc25a0-ce00-4182-bfdb-785979c4c6a7")
)
(fp_line
(start 14.05 -1.6)
(end -1.35 -1.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "34d60f18-3e18-4f9b-a19b-bd9e6668c695")
)
(fp_line
(start 14.05 1.6)
(end 14.05 -1.6)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "ec77e5cc-e4db-4b27-a06f-0a8448216d75")
)
(fp_line
(start 0 0)
(end 3.75 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "596d5d25-2f43-46c9-98a1-9a0aa499cd15")
)
(fp_line
(start 3.75 -1.35)
(end 3.75 1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "0d1d12ef-d3f6-49ec-a056-adc7ae476289")
)
(fp_line
(start 3.75 1.35)
(end 8.95 1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "be896ffc-90d3-48c4-8eb6-1c826b36c729")
)
(fp_line
(start 4.43 -1.35)
(end 4.43 1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "813fab77-2208-4893-8b7a-2644e499dea3")
)
(fp_line
(start 4.53 -1.35)
(end 4.53 1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "5b6986a6-e69d-4bf0-b357-0a9aa1c576ee")
)
(fp_line
(start 4.63 -1.35)
(end 4.63 1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "06b18789-7774-4f8c-83c9-53167bd756d3")
)
(fp_line
(start 8.95 -1.35)
(end 3.75 -1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "2e39fccb-0f91-4e0c-b276-9308f88ec199")
)
(fp_line
(start 8.95 1.35)
(end 8.95 -1.35)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "f8f41bc9-fe7f-4680-9462-9aff60f3790d")
)
(fp_line
(start 12.7 0)
(end 8.95 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "f11290b0-7cd2-4ddf-ab5c-1fd259d1ed2a")
)
(fp_text user "K"
(at 0 -2.1 0)
(layer "F.SilkS")
(uuid "0e0ce808-50e7-4818-8a3d-11ac1ae170ae")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(fp_text user "${REFERENCE}"
(at 6.74 0 0)
(layer "F.Fab")
(uuid "6bfcfdbb-43f9-4506-8bd1-c1373948272f")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(fp_text user "K"
(at 0 -2.1 0)
(layer "F.Fab")
(uuid "8ffdc23b-3119-4e01-947e-ba2e43b2bc68")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 2.2 2.2)
(drill 1.1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "60cca595-d26e-4678-b58b-78abbf2f641e")
)
(pad "2" thru_hole oval
(at 12.7 0)
(size 2.2 2.2)
(drill 1.1)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "37cd1e37-d635-4c9a-9f09-f15c02b2f514")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Diode_THT.3dshapes/D_DO-41_SOD81_P12.70mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,308 +0,0 @@
(footprint "Potentiometer_Bourns_3266W_Vertical"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Potentiometer, vertical, Bourns 3266W, https://www.bourns.com/docs/Product-Datasheets/3266.pdf")
(tags "Potentiometer vertical Bourns 3266W")
(property "Reference" "REF**"
(at -2.54 -2.27 180)
(layer "F.SilkS")
(uuid "e55703c2-9f74-42c8-bc98-8090fa22a7d7")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "4,7K"
(at -2.54 4.73 180)
(layer "F.Fab")
(uuid "ea22fc6a-98dd-4610-abc5-cb0693b8811f")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "6247d29a-b318-4ba5-982b-57d3e9bb40d3")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d681da0a-41ac-49c1-9278-2bf6e091ae8b")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start -6.015 -1.14)
(end -6.015 -0.495)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "d827b9a1-711a-4e4f-9532-24333c5c9b48")
)
(fp_line
(start -6.015 -1.14)
(end 0.935 -1.14)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "0c752db8-a5f2-4970-b7b7-c5a4267454f5")
)
(fp_line
(start -6.015 0.495)
(end -6.015 3.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "46af33a8-9392-493a-ba8b-b438eb73448c")
)
(fp_line
(start -6.015 3.6)
(end 0.935 3.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "710ef743-d97b-46a1-8bc8-5f2ddf3944bc")
)
(fp_line
(start 0.935 -1.14)
(end 0.935 -0.495)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "966cd5c2-47d1-43ed-b2de-7f685d106e33")
)
(fp_line
(start 0.935 0.495)
(end 0.935 3.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "ce677eda-7f0b-4123-b1d1-bc226b55a54d")
)
(fp_line
(start -6.15 -1.3)
(end -6.15 3.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f9fc9c42-596b-45e5-a23d-9afe315d8e10")
)
(fp_line
(start -6.15 3.75)
(end 1.1 3.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "b91281ed-593c-4c52-a32b-7830061d5c77")
)
(fp_line
(start 1.1 -1.3)
(end -6.15 -1.3)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "9523abf2-1141-45e6-bfe1-31a46a47f27a")
)
(fp_line
(start 1.1 3.75)
(end 1.1 -1.3)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "7d5115d7-f8f5-4881-b6f2-e1243e4deb5a")
)
(fp_line
(start -5.895 -1.02)
(end -5.895 3.48)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "9692afdc-2495-4aa1-856b-65dd04ace24d")
)
(fp_line
(start -5.895 3.48)
(end 0.815 3.48)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "ee74f6d5-55a3-418f-ba35-5bd7403bb9fb")
)
(fp_line
(start -0.455 3.092)
(end -0.454 1.329)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "05d5c084-aa57-4ddf-aebf-41f8930fb305")
)
(fp_line
(start -0.455 3.092)
(end -0.454 1.329)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "2f04561c-3064-4f58-8bc8-f31dd24baa4d")
)
(fp_line
(start 0.815 -1.02)
(end -5.895 -1.02)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "10dc9826-b882-4c94-b442-d046736f426e")
)
(fp_line
(start 0.815 3.48)
(end 0.815 -1.02)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "a466c9f7-614d-47b8-8cbc-c5e5f2c6eb17")
)
(fp_circle
(center -0.455 2.21)
(end 0.435 2.21)
(stroke
(width 0.1)
(type solid)
)
(fill no)
(layer "F.Fab")
(uuid "589eee03-3df2-48be-954b-8de42d59407f")
)
(fp_text user "${REFERENCE}"
(at -3.175 1.23 180)
(layer "F.Fab")
(uuid "9e3725ab-3f85-459b-8908-c54083acbb22")
(effects
(font
(size 0.91 0.91)
(thickness 0.15)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 1.44 1.44)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "a950d319-9e6c-4644-b660-d17ac3323e05")
)
(pad "2" thru_hole circle
(at -2.54 2.54)
(size 1.44 1.44)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "61a2b5da-cea9-4ea2-96fe-54bdc914793b")
)
(pad "3" thru_hole circle
(at -5.08 0)
(size 1.44 1.44)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "b80136c4-b3f6-490a-bf19-2d8ad9ded50e")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Potentiometer_THT.3dshapes/Potentiometer_Bourns_3266W_Vertical.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,278 +0,0 @@
(footprint "R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Resistor, Axial_DIN0204 series, Axial, Horizontal, pin pitch=7.62mm, 0.167W, length*diameter=3.6*1.6mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
(tags "Resistor Axial_DIN0204 series Axial Horizontal pin pitch 7.62mm 0.167W length 3.6mm diameter 1.6mm")
(property "Reference" "REF**"
(at -2.667 -0.127 0)
(layer "F.SilkS")
(uuid "ec3d0dd6-a5f6-4b2a-935b-5ba8975fae4f")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "5,6K"
(at 3.81 1.86 0)
(layer "F.Fab")
(uuid "64618958-d61f-466c-b80b-7e006bea2c79")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d86a0d9f-ea42-44ee-8b52-1041429aa56f")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "0b6ac12f-679f-443c-9e9e-eb42abd3d0e1")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 0.94 0)
(end 1.89 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "d196fe80-835b-4b7a-94a4-fd30780e4a43")
)
(fp_line
(start 1.89 -0.92)
(end 1.89 0.92)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "d93cfeb6-24bd-488d-9e1c-6315faba655a")
)
(fp_line
(start 1.89 0.92)
(end 5.73 0.92)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9fe114e0-7331-4eec-a278-ba5259b53b96")
)
(fp_line
(start 5.73 -0.92)
(end 1.89 -0.92)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c359128f-a4cf-4d7a-89e7-315a921d836d")
)
(fp_line
(start 5.73 0.92)
(end 5.73 -0.92)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "8c8c69bb-17c0-40c3-931b-890953249b66")
)
(fp_line
(start 6.68 0)
(end 5.73 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "3107edd5-868b-4d0c-8ea1-927871eabe22")
)
(fp_line
(start -0.95 -1.05)
(end -0.95 1.05)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "bd357148-5577-4b06-a641-fc4a14e00c58")
)
(fp_line
(start -0.95 1.05)
(end 8.57 1.05)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "64f80075-39f7-48de-9608-11dade6226f8")
)
(fp_line
(start 8.57 -1.05)
(end -0.95 -1.05)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "66939fda-a3fa-4807-b831-35fce14288ba")
)
(fp_line
(start 8.57 1.05)
(end 8.57 -1.05)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "bd1c163a-4445-4e78-af91-94d5e9a7f0f7")
)
(fp_line
(start 0 0)
(end 2.01 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "19dc5ccf-ecd9-4f8b-8703-b369570fe2d5")
)
(fp_line
(start 2.01 -0.8)
(end 2.01 0.8)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "01e9a4b0-75cd-4aac-8c3c-6695789c46de")
)
(fp_line
(start 2.01 0.8)
(end 5.61 0.8)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "5210c0b9-c2bc-4604-bf2e-74b9ccb10244")
)
(fp_line
(start 5.61 -0.8)
(end 2.01 -0.8)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "9dc2eb26-7fb2-410a-86c8-3340b85efa64")
)
(fp_line
(start 5.61 0.8)
(end 5.61 -0.8)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "cf86c65f-48be-4a9d-8d4b-0edaa8d86bc5")
)
(fp_line
(start 7.62 0)
(end 5.61 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "406d9666-0264-4565-8bff-eb536704524d")
)
(fp_text user "${REFERENCE}"
(at 3.81 0 0)
(layer "F.Fab")
(uuid "02696b1d-d400-4b36-9e6e-4b7e44397792")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 1.4 1.4)
(drill 0.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "14e5f8d2-c809-449d-b612-c6af451456cc")
)
(pad "2" thru_hole oval
(at 7.62 0)
(size 1.4 1.4)
(drill 0.7)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "8a876e30-0843-4874-b135-35f008f06d2e")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,249 +0,0 @@
(footprint "TO-92_HandSolder"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "TO-92 leads molded, narrow, drill 0.75mm, handsoldering variant with enlarged pads (see NXP sot054_po.pdf)")
(tags "to-92 sc-43 sc-43a sot54 PA33 transistor")
(property "Reference" "REF**"
(at -2.856 -1.93 0)
(layer "F.SilkS")
(uuid "df00e449-90d9-4647-b771-5b7f4792d2eb")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "MPSA42"
(at 1.27 2.79 0)
(layer "F.Fab")
(uuid "42e4e58f-cd8d-4f34-b080-9a780284fe06")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "4fe5d710-4e7e-4390-bf02-5e8d11285417")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "66e05c20-bc12-4719-a433-493a50b13602")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start -0.53 1.85)
(end 3.07 1.85)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "df8b83a5-3bad-4ab4-b504-786237136f7b")
)
(fp_arc
(start -0.541875 1.841741)
(mid -1.247231 -0.581764)
(end 0.45 -2.45)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "45dc02e7-0db6-4531-865f-1eaeff73328f")
)
(fp_arc
(start 2.05 -2.45)
(mid 3.769931 -0.601036)
(end 3.078445 1.827684)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "a4c38768-c3f7-453c-bad8-97311cd4aa71")
)
(fp_line
(start -1.46 -3.05)
(end -1.46 2.01)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "1b5201ef-a5c2-4d40-a369-b48b43668f9b")
)
(fp_line
(start -1.46 -3.05)
(end 4 -3.05)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "2c8fe3c9-b205-4e5b-8b39-774571133a8e")
)
(fp_line
(start 4 2.01)
(end -1.46 2.01)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "f5f5d381-e3c4-4e72-8663-1b66620edd47")
)
(fp_line
(start 4 2.01)
(end 4 -3.05)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "cba9c81f-9743-4a6e-9064-0a018496f69f")
)
(fp_line
(start -0.5 1.75)
(end 3 1.75)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "9ad58ade-4d42-486b-bdd2-fb492dc3ad19")
)
(fp_arc
(start -0.483625 1.753625)
(mid -1.021221 -0.949055)
(end 1.27 -2.48)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "272f52da-cbe9-4ff2-8585-6d4ec8cb93cb")
)
(fp_arc
(start 1.27 -2.48)
(mid 3.561221 -0.949055)
(end 3.023625 1.753625)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "13e39a6b-2d06-4da4-b98a-e904d67a1664")
)
(fp_text user "${REFERENCE}"
(at 1.27 -4.4 0)
(layer "F.Fab")
(uuid "54ee8da9-23e9-4893-b868-e13128939f64")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 1.1 1.8)
(drill 0.75
(offset 0 0.4)
)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "b113d50e-c6e9-4480-9e0e-0c71da224f1f")
)
(pad "2" thru_hole roundrect
(at 1.27 -1.27)
(size 1.1 1.8)
(drill 0.75
(offset 0 -0.4)
)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(roundrect_rratio 0.25)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "4306fd4d-6af9-4d4a-8d05-60f3b074c09c")
)
(pad "3" thru_hole roundrect
(at 2.54 0)
(size 1.1 1.8)
(drill 0.75
(offset 0 0.4)
)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(roundrect_rratio 0.25)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges no)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "ecfe4075-7e89-401c-a91a-a5a847c673be")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Package_TO_SOT_THT.3dshapes/TO-92.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -0,0 +1,962 @@
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
(symbol "+12C" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (at 0 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+12C" (at 0 3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "+12C_0_1"
(polyline
(pts
(xy -0.762 1.27)
(xy 0 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 0)
(xy 0 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 2.54)
(xy 0.762 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "+12C_1_1"
(pin power_in line (at 0 0 90) (length 0) hide
(name "+12C" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "+12V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (at 0 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "+12V" (at 0 3.556 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "+12V_0_1"
(polyline
(pts
(xy -0.762 1.27)
(xy 0 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 0)
(xy 0 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 2.54)
(xy 0.762 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "+12V_1_1"
(pin power_in line (at 0 0 90) (length 0) hide
(name "+12V" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "-VAA" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (at 0 2.54 0)
(effects (font (size 0.508 0.508)) hide)
)
(property "Value" "-VAA" (at 0 2.54 0)
(effects (font (size 0.762 0.762)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "-VAA_0_0"
(pin power_in line (at 0 0 90) (length 0) hide
(name "-VAA" (effects (font (size 0.508 0.508))))
(number "1" (effects (font (size 0.508 0.508))))
)
)
(symbol "-VAA_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 1.27)
(xy 0 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 2.032)
(xy 0.762 1.27)
(xy -0.508 1.27)
(xy -0.762 1.27)
(xy 0 2.032)
(xy 0 2.032)
(xy 0 2.032)
)
(stroke (width 0) (type default))
(fill (type outline))
)
)
)
(symbol "7805" (in_bom yes) (on_board yes)
(property "Reference" "U" (at 3.81 -4.9784 0)
(effects (font (size 1.524 1.524)))
)
(property "Value" "7805" (at 0 5.08 0)
(effects (font (size 1.524 1.524)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "7805_0_1"
(rectangle (start -5.08 -3.81) (end 5.08 3.81)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "7805_1_1"
(pin power_out line (at 10.16 1.27 180) (length 5.08)
(name "VO" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 0.762 0.762))))
)
(pin input line (at 0 -6.35 90) (length 2.54)
(name "GND" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 0.762 0.762))))
)
(pin input line (at -10.16 1.27 0) (length 5.08)
(name "VI" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 0.762 0.762))))
)
)
)
(symbol "78L05" (extends "7805")
(property "Reference" "U" (at 3.81 -4.9784 0)
(effects (font (size 1.524 1.524)))
)
(property "Value" "78L05" (at 0 5.08 0)
(effects (font (size 1.524 1.524)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "LM7805" (extends "7805")
(property "Reference" "U" (at 3.81 -4.9784 0)
(effects (font (size 1.524 1.524)))
)
(property "Value" "LM7805" (at 0 5.08 0)
(effects (font (size 1.524 1.524)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "LM7812" (extends "7805")
(property "Reference" "U" (at 3.81 -4.9784 0)
(effects (font (size 1.524 1.524)))
)
(property "Value" "LM7812" (at 0 5.08 0)
(effects (font (size 1.524 1.524)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "C" (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0.9652 -3.81 0)
(effects (font (size 0.762 0.762)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_fp_filters" "C? C_????_* C_???? SMD*_c Capacitor*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "C_0_1"
(polyline
(pts
(xy -2.032 -0.762)
(xy 2.032 -0.762)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
(polyline
(pts
(xy -2.032 0.762)
(xy 2.032 0.762)
)
(stroke (width 0.508) (type default))
(fill (type none))
)
)
(symbol "C_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "CONN_2" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "P" (at -1.27 0 90)
(effects (font (size 1.016 1.016)))
)
(property "Value" "CONN_2" (at 1.27 0 90)
(effects (font (size 1.016 1.016)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "CONN_2_0_1"
(rectangle (start -2.54 3.81) (end 2.54 -3.81)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "CONN_2_1_1"
(pin passive inverted (at -8.89 2.54 0) (length 6.35)
(name "P1" (effects (font (size 1.524 1.524))))
(number "1" (effects (font (size 1.524 1.524))))
)
(pin passive inverted (at -8.89 -2.54 0) (length 6.35)
(name "PM" (effects (font (size 1.524 1.524))))
(number "2" (effects (font (size 1.524 1.524))))
)
)
)
(symbol "CP" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "CP" (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0.9652 -3.81 0)
(effects (font (size 0.762 0.762)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_fp_filters" "CP* Elko* TantalC* C*elec c_elec* SMD*_Pol" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "CP_0_1"
(rectangle (start -2.286 0.508) (end -2.286 1.016)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start -2.286 0.508) (end 2.286 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start -1.778 2.286) (end -0.762 2.286)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start -1.27 1.778) (end -1.27 2.794)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 2.286 -0.508) (end -2.286 -1.016)
(stroke (width 0) (type default))
(fill (type outline))
)
(rectangle (start 2.286 1.016) (end -2.286 1.016)
(stroke (width 0) (type default))
(fill (type none))
)
(rectangle (start 2.286 1.016) (end 2.286 0.508)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "CP_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "D_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
(property "Reference" "D" (at -1.27 2.032 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "D_Small" (at -3.81 -2.032 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (at 0 0 90)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 90)
(effects (font (size 1.524 1.524)))
)
(property "ki_fp_filters" "Diode_* D-Pak_TO252AA *SingleDiode *SingleDiode* *_Diode_*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "D_Small_0_1"
(polyline
(pts
(xy -0.762 -1.016)
(xy -0.762 1.016)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.762 -1.016)
(xy -0.762 0)
(xy 0.762 1.016)
(xy 0.762 -1.016)
)
(stroke (width 0) (type default))
(fill (type outline))
)
)
(symbol "D_Small_1_1"
(pin passive line (at -2.54 0 0) (length 1.778)
(name "K" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 2.54 0 180) (length 1.778)
(name "A" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (at 0 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (at 0 -3.1242 0)
(effects (font (size 0.762 0.762)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "GND_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 -1.27)
(xy 1.27 -1.27)
(xy 0 -2.54)
(xy -1.27 -1.27)
(xy 0 -1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "GND_1_1"
(pin power_in line (at 0 0 270) (length 0) hide
(name "GND" (effects (font (size 0.762 0.762))))
(number "1" (effects (font (size 0.508 0.508))))
)
)
)
(symbol "HT" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (at 0 3.048 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "HT" (at 0 2.286 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "HT_0_0"
(pin power_in line (at 0 0 90) (length 0) hide
(name "HT" (effects (font (size 0.508 0.508))))
(number "1" (effects (font (size 0.508 0.508))))
)
)
(symbol "HT_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 1.016)
(xy 0 1.016)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 1.016)
(xy 0.508 0.508)
(xy 0 1.778)
(xy -0.508 0.508)
(xy 0 1.016)
(xy 0 1.016)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
)
(symbol "ICL7660" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (at 5.08 10.16 0)
(effects (font (size 1.778 1.778)) (justify left))
)
(property "Value" "ICL7660" (at 1.27 -11.43 0)
(effects (font (size 1.778 1.778)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "ICL7660_0_1"
(rectangle (start -13.97 -8.89) (end 13.97 8.89)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "ICL7660_1_1"
(pin input line (at -21.59 6.35 0) (length 7.62)
(name "CAP+" (effects (font (size 1.524 1.524))))
(number "2" (effects (font (size 1.524 1.524))))
)
(pin power_in line (at -1.27 -16.51 90) (length 7.62)
(name "GND" (effects (font (size 1.524 1.524))))
(number "3" (effects (font (size 1.524 1.524))))
)
(pin input line (at -21.59 1.27 0) (length 7.62)
(name "CAP-" (effects (font (size 1.524 1.524))))
(number "4" (effects (font (size 1.524 1.524))))
)
(pin power_out line (at 21.59 3.81 180) (length 7.62)
(name "VOUT" (effects (font (size 1.524 1.524))))
(number "5" (effects (font (size 1.524 1.524))))
)
(pin input line (at 21.59 -3.81 180) (length 7.62)
(name "LV" (effects (font (size 1.524 1.524))))
(number "6" (effects (font (size 1.524 1.524))))
)
(pin input line (at -21.59 -3.81 0) (length 7.62)
(name "OSC" (effects (font (size 1.524 1.524))))
(number "7" (effects (font (size 1.524 1.524))))
)
(pin power_in line (at -1.27 16.51 270) (length 7.62)
(name "V+" (effects (font (size 1.524 1.524))))
(number "8" (effects (font (size 1.524 1.524))))
)
)
)
(symbol "LM358" (in_bom yes) (on_board yes)
(property "Reference" "U" (at -1.27 5.08 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "LM358" (at -1.27 -6.35 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "LM358_0_1"
(polyline
(pts
(xy -5.08 5.08)
(xy 5.08 0)
(xy -5.08 -5.08)
(xy -5.08 5.08)
)
(stroke (width 0.1524) (type default))
(fill (type background))
)
(pin power_in line (at -2.54 -10.16 90) (length 6.35)
(name "V-" (effects (font (size 1.016 1.016))))
(number "4" (effects (font (size 1.016 1.016))))
)
(pin power_in line (at -2.54 10.16 270) (length 6.35)
(name "V+" (effects (font (size 1.016 1.016))))
(number "8" (effects (font (size 1.016 1.016))))
)
)
(symbol "LM358_1_1"
(pin output line (at 12.7 0 180) (length 7.62)
(name "~" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin input line (at -12.7 -2.54 0) (length 7.62)
(name "-" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
(pin input line (at -12.7 2.54 0) (length 7.62)
(name "+" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 1.016 1.016))))
)
)
(symbol "LM358_2_1"
(pin input line (at -12.7 2.54 0) (length 7.62)
(name "+" (effects (font (size 1.016 1.016))))
(number "5" (effects (font (size 1.016 1.016))))
)
(pin input line (at -12.7 -2.54 0) (length 7.62)
(name "-" (effects (font (size 1.016 1.016))))
(number "6" (effects (font (size 1.016 1.016))))
)
(pin output line (at 12.7 0 180) (length 7.62)
(name "~" (effects (font (size 1.016 1.016))))
(number "7" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "LM358N" (extends "LM358")
(property "Reference" "U" (at -1.27 5.08 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "LM358N" (at -1.27 -6.35 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "LMC6062" (extends "LM358")
(property "Reference" "U" (at -1.27 5.08 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "LMC6062" (at -1.27 -6.35 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "LMC6082" (extends "LM358")
(property "Reference" "U" (at -1.27 5.08 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "LMC6082" (at -1.27 -6.35 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "TL072" (extends "LM358")
(property "Reference" "U" (at -1.27 5.08 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "TL072" (at -1.27 -6.35 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "TL082" (extends "LM358")
(property "Reference" "U" (at -1.27 5.08 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "TL082" (at -1.27 -6.35 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "MPSA42" (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "Q" (at 3.81 -3.81 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "MPSA42" (at 3.81 3.81 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "TO92-CBE" (at 3.81 0 0)
(effects (font (size 0.762 0.762)) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_fp_filters" "TO92-CBE" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "MPSA42_0_1"
(polyline
(pts
(xy 0 0)
(xy 2.54 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 1.905)
(xy 0 -1.905)
(xy 0 -1.905)
)
(stroke (width 0.254) (type default))
(fill (type none))
)
(polyline
(pts
(xy 1.27 -1.27)
(xy 0 0)
(xy 0 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.286 -2.286)
(xy 2.54 -2.54)
(xy 2.54 -2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.286 -2.286)
(xy 1.778 -0.762)
(xy 0.762 -1.778)
(xy 2.286 -2.286)
(xy 2.286 -2.286)
)
(stroke (width 0) (type default))
(fill (type outline))
)
(circle (center 1.27 0) (radius 2.8194)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "MPSA42_1_1"
(pin passive line (at 2.54 -5.08 90) (length 2.54)
(name "E" (effects (font (size 0.508 0.508))))
(number "1" (effects (font (size 0.508 0.508))))
)
(pin input line (at -5.08 0 0) (length 5.08)
(name "B" (effects (font (size 0.508 0.508))))
(number "2" (effects (font (size 0.508 0.508))))
)
(pin passive line (at 2.54 5.08 270) (length 2.54)
(name "C" (effects (font (size 0.508 0.508))))
(number "3" (effects (font (size 0.508 0.508))))
)
)
)
(symbol "MPSA92" (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "Q" (at 3.81 -3.81 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Value" "MPSA92" (at 3.81 3.81 0)
(effects (font (size 1.524 1.524)) (justify left))
)
(property "Footprint" "TO92-CBE" (at 3.81 0 0)
(effects (font (size 0.762 0.762)) hide)
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_fp_filters" "TO92-CBE" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "MPSA92_0_1"
(polyline
(pts
(xy 0 0)
(xy 2.54 2.54)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 1.905)
(xy 0 -1.905)
(xy 0 -1.905)
)
(stroke (width 0.254) (type default))
(fill (type outline))
)
(polyline
(pts
(xy 0.635 -0.635)
(xy 0 0)
(xy 0 0)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 2.54 -2.54)
(xy 1.651 -1.651)
(xy 1.651 -1.651)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 -0.635)
(xy 1.27 -1.905)
(xy 1.905 -1.27)
(xy 0.635 -0.635)
(xy 0.635 -0.635)
)
(stroke (width 0) (type default))
(fill (type outline))
)
(circle (center 1.27 0) (radius 2.8194)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "MPSA92_1_1"
(pin passive line (at 2.54 -5.08 90) (length 2.54)
(name "E" (effects (font (size 0.508 0.508))))
(number "1" (effects (font (size 0.508 0.508))))
)
(pin input line (at -5.08 0 0) (length 5.08)
(name "B" (effects (font (size 0.508 0.508))))
(number "2" (effects (font (size 0.508 0.508))))
)
(pin passive line (at 2.54 5.08 270) (length 2.54)
(name "C" (effects (font (size 0.508 0.508))))
(number "3" (effects (font (size 0.508 0.508))))
)
)
)
(symbol "POT" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "RV" (at 0 -2.54 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "POT" (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "POT_0_1"
(rectangle (start -3.81 1.27) (end 3.81 -1.27)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0 1.27)
(xy -0.508 1.778)
(xy 0.508 1.778)
)
(stroke (width 0) (type default))
(fill (type outline))
)
)
(symbol "POT_1_1"
(pin passive line (at -6.35 0 0) (length 2.54)
(name "1" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at 0 3.81 270) (length 2.032)
(name "2" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
(pin passive line (at 6.35 0 180) (length 2.54)
(name "3" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "#FLG" (at 0 2.413 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "PWR_FLAG" (at 0 4.572 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "PWR_FLAG_0_0"
(pin power_out line (at 0 0 90) (length 0)
(name "pwr" (effects (font (size 0.508 0.508))))
(number "1" (effects (font (size 0.508 0.508))))
)
)
(symbol "PWR_FLAG_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 1.27)
(xy -1.905 2.54)
(xy 0 3.81)
(xy 1.905 2.54)
(xy 0 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
)
(symbol "R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "R" (at 2.032 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "R" (at 0 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at -1.778 0 90)
(effects (font (size 0.762 0.762)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 0.762 0.762)))
)
(property "ki_fp_filters" "R_* Resistor_*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "R_0_1"
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.27)
(name "~" (effects (font (size 1.524 1.524))))
(number "1" (effects (font (size 1.524 1.524))))
)
(pin passive line (at 0 -3.81 90) (length 1.27)
(name "~" (effects (font (size 1.524 1.524))))
(number "2" (effects (font (size 1.524 1.524))))
)
)
)
(symbol "VCC" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (at 0 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "VCC" (at 0 3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "VCC_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 1.27)
)
(stroke (width 0) (type default))
(fill (type none))
)
(circle (center 0 1.905) (radius 0.635)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "VCC_1_1"
(pin power_in line (at 0 0 90) (length 0) hide
(name "VCC" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
)
+7 -2
View File
@@ -1,4 +1,9 @@
(fp_lib_table
(version 7)
(lib (name "complex_hierarchy")(type "KiCad")(uri "${KIPRJMOD}/complex_hierarchy.pretty")(options "")(descr ""))
(lib (name "Package_DIP")(type "KiCad")(uri "$(KICAD6_FOOTPRINT_DIR)/Package_DIP.pretty")(options "")(descr ""))
(lib (name "Capacitor_THT")(type "KiCad")(uri "$(KICAD6_FOOTPRINT_DIR)/Capacitor_THT.pretty")(options "")(descr ""))
(lib (name "Resistor_THT")(type "KiCad")(uri "$(KICAD6_FOOTPRINT_DIR)/Resistor_THT.pretty")(options "")(descr ""))
(lib (name "Package_TO_SOT_THT")(type "KiCad")(uri "$(KICAD6_FOOTPRINT_DIR)/Package_TO_SOT_THT.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Altech")(type "KiCad")(uri "${KICAD6_FOOTPRINT_DIR}/TerminalBlock_Altech.pretty")(options "")(descr ""))
(lib (name "Potentiometer_THT")(type "KiCad")(uri "${KICAD6_FOOTPRINT_DIR}/Potentiometer_THT.pretty")(options "")(descr ""))
(lib (name "Diode_THT")(type "KiCad")(uri "${KICAD6_FOOTPRINT_DIR}/Diode_THT.pretty")(options "")(descr ""))
)
+1 -2
View File
@@ -1,4 +1,3 @@
(sym_lib_table
(version 7)
(lib (name "complex_hierarchy")(type "KiCad")(uri "${KIPRJMOD}/complex_hierarchy.kicad_sym")(options "")(descr ""))
(lib (name "complex_hierarchy_schlib")(type "KiCad")(uri "${KIPRJMOD}/complex_hierarchy_schlib.kicad_sym")(options "")(descr ""))
)
+112 -55
View File
@@ -1,7 +1,7 @@
(kicad_pcb
(version 20241229)
(version 20240703)
(generator "pcbnew")
(generator_version "9.0")
(generator_version "8.99")
(general
(thickness 1.6)
(legacy_teardrops no)
@@ -9,25 +9,25 @@
(paper "A4")
(layers
(0 "F.Cu" signal)
(2 "B.Cu" signal)
(9 "F.Adhes" user "F.Adhesive")
(11 "B.Adhes" user "B.Adhesive")
(13 "F.Paste" user)
(15 "B.Paste" user)
(5 "F.SilkS" user "F.Silkscreen")
(7 "B.SilkS" user "B.Silkscreen")
(1 "F.Mask" user)
(3 "B.Mask" user)
(17 "Dwgs.User" user "User.Drawings")
(19 "Cmts.User" user "User.Comments")
(21 "Eco1.User" user "User.Eco1")
(23 "Eco2.User" user "User.Eco2")
(25 "Edge.Cuts" user)
(27 "Margin" user)
(31 "F.CrtYd" user "F.Courtyard")
(29 "B.CrtYd" user "B.Courtyard")
(35 "F.Fab" user)
(33 "B.Fab" user)
(31 "B.Cu" signal)
(32 "B.Adhes" user "B.Adhesive")
(33 "F.Adhes" user "F.Adhesive")
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user "B.Silkscreen")
(37 "F.SilkS" user "F.Silkscreen")
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user "User.Drawings")
(41 "Cmts.User" user "User.Comments")
(42 "Eco1.User" user "User.Eco1")
(43 "Eco2.User" user "User.Eco2")
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user "B.Courtyard")
(47 "F.CrtYd" user "F.Courtyard")
(48 "B.Fab" user)
(49 "F.Fab" user)
)
(setup
(stackup
@@ -75,8 +75,8 @@
(allow_soldermask_bridges_in_footprints no)
(tenting front back)
(pcbplotparams
(layerselection 0x00000000_00000000_55555555_5555f5ff)
(plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000)
(layerselection 0x00000fc_ffffffff)
(plot_on_all_layers_selection 0x0000000_00000000)
(disableapertmacros no)
(usegerberextensions no)
(usegerberattributes yes)
@@ -94,19 +94,17 @@
(pdf_front_fp_property_popups yes)
(pdf_back_fp_property_popups yes)
(pdf_metadata yes)
(pdf_single_document no)
(dxfpolygonmode yes)
(dxfimperialunits yes)
(dxfusepcbnewfont yes)
(psnegative no)
(psa4output no)
(plot_black_and_white yes)
(plotreference yes)
(plotvalue yes)
(plotfptext yes)
(plotinvisibletext no)
(sketchpadsonfab no)
(plotpadnumbers no)
(hidednponfab no)
(sketchdnponfab yes)
(crossoutdnponfab yes)
(subtractmaskfromsilk no)
(outputformat 1)
(mirror no)
@@ -119,7 +117,7 @@
(net 1 "/PAD2")
(net 2 "/PAD1")
(net 3 "GND")
(footprint "custom_pads_test:DO-214AB"
(footprint "Diodes_SMD:DO-214AB"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000056a72d3c")
(at 136.9 101.5)
@@ -147,6 +145,19 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "cfcf2bba-2d47-41cf-bb37-a6f7e59ac692")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -239,7 +250,7 @@
(pad "1" smd roundrect
(at -3.6 0)
(size 2.6 3.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(layers "F.Cu" "F.Paste" "F.Mask")
(roundrect_rratio 0.1)
(net 2 "/PAD1")
(pintype "passive")
@@ -248,7 +259,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -259,7 +270,7 @@
(pad "2" smd circle
(at 3.048 -1.524)
(size 2.6 2.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(layers "F.Cu" "F.Paste" "F.Mask")
(net 1 "/PAD2")
(pintype "passive")
(teardrops
@@ -267,7 +278,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -275,7 +286,6 @@
)
(uuid "fe3cd681-ffb7-42aa-801e-149ba3d2cb73")
)
(embedded_fonts no)
(model "Diodes_SMD.3dshapes/DO-214AB.wrl"
(offset
(xyz 0 0 0)
@@ -288,7 +298,7 @@
)
)
)
(footprint "custom_pads_test:1pin"
(footprint "Connect:1pin"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000056aa30dc")
(at 166.3 72.5)
@@ -316,6 +326,19 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "698ef4c2-4ed5-4824-8b6d-5eb7fa101f48")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -388,7 +411,7 @@
(pad "1" smd custom
(at 0 0)
(size 1 1)
(layers "F.Cu" "F.Mask" "F.Paste")
(layers "F.Cu" "F.Paste" "F.Mask")
(net 3 "GND")
(pinfunction "A")
(pintype "input")
@@ -544,7 +567,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -552,9 +575,8 @@
)
(uuid "bcc6f2dd-80bf-4722-940f-80c7a7b6c1a5")
)
(embedded_fonts no)
)
(footprint "custom_pads_test:1pin"
(footprint "Connect:1pin"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000056aa42fe")
(at 100.15 65.86 20)
@@ -582,6 +604,19 @@
)
)
)
(property "Footprint" ""
(at 0 0 20)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "b6ce722f-9849-47c9-b6bd-1bc2fba7be75")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 20)
(unlocked yes)
@@ -680,7 +715,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -688,9 +723,8 @@
)
(uuid "5150cb9a-4460-48a1-86c8-d0e0ab2d9fb8")
)
(embedded_fonts no)
)
(footprint "custom_pads_test:DIP-14__300_ELL"
(footprint "Dip_sockets:DIP-14__300_ELL"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000056ae982a")
(at 165.9 123.6 180)
@@ -718,6 +752,19 @@
)
)
)
(property "Footprint" ""
(at 0 0 180)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "531b191e-e340-44c2-a02b-f8144506b8d5")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 180)
(unlocked yes)
@@ -906,7 +953,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -925,7 +972,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -945,7 +992,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -964,7 +1011,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -1017,7 +1064,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -1025,7 +1072,6 @@
)
(uuid "64ca7b2a-82c2-44ce-8527-915fc72118c5")
)
(embedded_fonts no)
(model "dil/dil_14.wrl"
(offset
(xyz 0 0 0)
@@ -1038,7 +1084,7 @@
)
)
)
(footprint "custom_pads_test:C2"
(footprint "Discret:C2"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-00005a34c6d0")
(at 104.299 99.72)
@@ -1067,6 +1113,19 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "c10cac9a-d737-46d2-85d7-ca9d7c452c66")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -1102,7 +1161,7 @@
(width 0.15)
(type solid)
)
(fill no)
(fill none)
(layer "F.SilkS")
(uuid "52c9dc8b-6eb8-44d3-a510-e3324e0b255c")
)
@@ -1113,7 +1172,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "1248037b-11d3-4c38-8376-e53640d036fe")
)
@@ -1159,7 +1218,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -1213,7 +1272,7 @@
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(curve_points 5)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
@@ -1221,7 +1280,6 @@
)
(uuid "31428916-6fae-4042-b09c-498b9cbc46b9")
)
(embedded_fonts no)
(model "discret/capa_2pas_5x5mm.wrl"
(offset
(xyz 0 0 0)
@@ -2538,5 +2596,4 @@
)
)
)
(embedded_fonts no)
)
@@ -70,19 +70,17 @@
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "warning",
"hole_clearance": "error",
"hole_near_hole": "error",
"hole_to_hole": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
@@ -93,11 +91,9 @@
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "warning",
"overlapping_pads": "warning",
"padstack": "error",
@@ -113,9 +109,7 @@
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
@@ -130,7 +124,6 @@
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.01,
"min_groove_width": 0.0,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
@@ -148,17 +141,16 @@
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 1,
"td_curve_segcount": 5,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
@@ -169,7 +161,7 @@
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 1,
"td_curve_segcount": 5,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
@@ -235,7 +227,6 @@
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
@@ -431,15 +422,10 @@
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
@@ -452,14 +438,9 @@
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
@@ -471,12 +452,12 @@
},
"meta": {
"filename": "custom_pads_test.kicad_pro",
"version": 3
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"bus_width": 12.0,
"clearance": 0.4,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
@@ -486,16 +467,15 @@
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.4,
"via_diameter": 0.6,
"via_drill": 0.4,
"wire_width": 6
"wire_width": 6.0
}
],
"meta": {
"version": 4
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
@@ -517,7 +497,6 @@
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
@@ -571,7 +550,6 @@
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": false,
"name": "Grouped By Value",
"sort_asc": true,
"sort_field": "Référence"
@@ -618,7 +596,6 @@
},
"page_layout_descr_file": "",
"plot_directory": "",
"space_save_all_events": true,
"spice_adjust_passive_values": false,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
@@ -632,7 +609,7 @@
"sheets": [
[
"2323577b-cad3-4f70-b734-06368b53e30c",
"Root"
""
]
],
"text_variables": {}
File diff suppressed because it is too large Load Diff
@@ -1,539 +0,0 @@
(kicad_symbol_lib
(version 20241209)
(generator "kicad_symbol_editor")
(generator_version "9.0")
(symbol "Antenna"
(pin_numbers
(hide yes)
)
(pin_names
(offset 1.016)
(hide yes)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "AE"
(at -1.905 1.905 0)
(effects
(font
(size 1.27 1.27)
)
(justify right)
)
)
(property "Value" "Antenna"
(at -1.905 0 0)
(effects
(font
(size 1.27 1.27)
)
(justify right)
)
)
(property "Footprint" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "Antenna_0_1"
(polyline
(pts
(xy 0 2.54) (xy 0 -3.81)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.27 2.54) (xy 0 -2.54) (xy -1.27 2.54)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
)
(symbol "Antenna_1_1"
(pin input line
(at 0 -5.08 90)
(length 2.54)
(name "A"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "GND"
(power)
(pin_names
(offset 0)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "#PWR"
(at 0 -6.35 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Value" "GND"
(at 0 -3.81 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "GND_0_1"
(polyline
(pts
(xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27)
)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
)
(symbol "GND_1_1"
(pin power_in line
(at 0 0 270)
(length 0)
(hide yes)
(name "GND"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "Jumper-device"
(pin_names
(offset 0.762)
(hide yes)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "JP"
(at 0 3.81 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "Jumper-device"
(at 0 -2.032 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "Jumper-device_0_1"
(circle
(center -2.54 0)
(radius 0.889)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(arc
(start -2.4892 1.27)
(mid 0.0127 2.5097)
(end 2.5146 1.27)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(circle
(center 2.54 0)
(radius 0.889)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(pin passive line
(at -7.62 0 0)
(length 4.191)
(name "1"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 7.62 0 180)
(length 4.191)
(name "2"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "2"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "PWR_FLAG"
(power)
(pin_numbers
(hide yes)
)
(pin_names
(offset 0)
(hide yes)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "#FLG"
(at 0 1.905 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Value" "PWR_FLAG"
(at 0 3.81 0)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" "~"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" "Special symbol for telling ERC where power comes from"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "ki_keywords" "power-flag"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "PWR_FLAG_0_0"
(pin power_out line
(at 0 0 90)
(length 0)
(name "pwr"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(symbol "PWR_FLAG_0_1"
(polyline
(pts
(xy 0 0) (xy 0 1.27) (xy -1.016 1.905) (xy 0 2.54) (xy 1.016 1.905) (xy 0 1.27)
)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
)
(embedded_fonts no)
)
(symbol "R"
(pin_numbers
(hide yes)
)
(pin_names
(offset 0)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(property "Reference" "R"
(at 2.032 0 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "R"
(at 0 0 90)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at -1.778 0 90)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Datasheet" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "Description" ""
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(property "ki_fp_filters" "R_* R_*"
(at 0 0 0)
(effects
(font
(size 1.27 1.27)
)
(hide yes)
)
)
(symbol "R_0_1"
(rectangle
(start -1.016 -2.54)
(end 1.016 2.54)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
)
(symbol "R_1_1"
(pin passive line
(at 0 3.81 270)
(length 1.27)
(name "~"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 0 -3.81 90)
(length 1.27)
(name "~"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "2"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
)
@@ -1,132 +0,0 @@
(footprint "1pin"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "module 1 pin (ou trou mecanique de percage)")
(tags "DEV")
(property "Reference" "REF**"
(at -13.619 -1.567 0)
(layer "F.SilkS")
(uuid "b81bf039-53f7-4f20-8d99-132cec935ec4")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "Antenna"
(at -2.2 2.7 0)
(layer "F.Fab")
(uuid "cb8efd62-7d48-4586-87ba-5612001f433e")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "5fbb73fb-360e-4247-9d9c-2c2aa3a0bed5")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "eb1ec9f1-21b4-4c33-844f-fd5f93e2ee59")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(fp_line
(start -20 -10)
(end 1.499999 -10)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "823ca2db-ed69-4792-ba39-224674a50578")
)
(fp_line
(start -20 1)
(end -20 -10)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "5cd67bed-a89c-4ed3-ab5e-5fdb25a99643")
)
(fp_line
(start 1.499999 -10)
(end 1.5 1)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "a27fefb3-aa70-4750-837c-ffd9efbf91f7")
)
(fp_line
(start 1.5 1)
(end -20 1)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "a0e3c5b2-827c-4ced-bd42-a7e77d86c7ef")
)
(pad "1" connect custom
(at 0 0)
(size 1 1)
(layers "F.Cu" "F.Mask")
(zone_connect 0)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_poly
(pts
(xy -15.5 -5.6) (xy -14.5 -5.6) (xy -14.5 -9.6) (xy -11.5 -9.6) (xy -11.5 -5.6) (xy -10.5 -5.6)
(xy -10.5 -9.6) (xy 0.5 -9.6) (xy 0.5 0.4) (xy -0.5 0.4) (xy -0.5 -8.6) (xy -6.5 -8.6) (xy -6.5 0.4)
(xy -7.5 0.4) (xy -7.5 -8.6) (xy -9.5 -8.6) (xy -9.5 -4.6) (xy -12.5 -4.6) (xy -12.5 -8.6) (xy -13.5 -8.6)
(xy -13.5 -4.6) (xy -16.5 -4.6) (xy -16.5 -8.6) (xy -17.5 -8.6) (xy -17.5 -4.6) (xy -19.5 -4.6)
(xy -19.5 -9.6) (xy -15.5 -9.6)
)
(width 0)
(fill yes)
)
)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "47215921-8d34-4806-9f8d-1910013cd226")
)
(embedded_fonts no)
)
@@ -1,189 +0,0 @@
(footprint "C2"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Condensateur = 2 pas")
(tags "C")
(property "Reference" "REF**"
(at -11.5 -15.1 0)
(layer "F.SilkS")
(uuid "53363dd1-5087-47c8-a306-e6779ad1e6bf")
(effects
(font
(size 1 1)
(thickness 0.2)
)
)
)
(property "Value" "R"
(at -13.4 14 0)
(layer "F.SilkS")
(hide yes)
(uuid "68c828ef-99ba-4dd3-a937-672cca5f8582")
(effects
(font
(size 1.016 1.016)
(thickness 0.2032)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "4c745c78-8bd7-420e-b613-cba84ba8eabd")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "747af484-4315-42c3-86da-daf74d6acc1f")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(fp_circle
(center 0 0)
(end 12.065 -11.938)
(stroke
(width 0.15)
(type solid)
)
(fill no)
(layer "F.SilkS")
(uuid "fadb3a80-bd42-46d5-a578-59c82654b74b")
)
(fp_circle
(center 0 0)
(end 17 3)
(stroke
(width 0.05)
(type solid)
)
(fill no)
(layer "F.CrtYd")
(uuid "56da88f3-c0d6-4a07-bb9d-db848d9fc3a3")
)
(pad "1" connect custom
(at -11.081 -0.025 90)
(size 1.397 1.397)
(layers "F.Cu" "F.Mask")
(solder_mask_margin 0.5)
(zone_connect 0)
(thermal_bridge_angle 45)
(options
(clearance convexhull)
(anchor rect)
)
(primitives
(gr_line
(start 6 1.9)
(end 6 13.9)
(width 2)
)
(gr_line
(start -6 1.9)
(end -6 13.9)
(width 2)
)
(gr_line
(start 0 -0.1)
(end 0 18)
(width 2)
)
(gr_arc
(start -9.9 7.9)
(mid -0.049149 -0.19988)
(end 9.880067 7.803745)
(width 2)
)
)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "f1cc4ca6-bc2d-452b-a8de-984cacb70ed1")
)
(pad "2" connect custom
(at 10.509 -0.025 270)
(size 3 3)
(layers "F.Cu" "F.Mask")
(zone_connect 0)
(options
(clearance outline)
(anchor circle)
)
(primitives
(gr_line
(start 3 0.5)
(end 3 17)
(width 2)
)
(gr_line
(start -3 0.5)
(end -3 17)
(width 2)
)
(gr_arc
(start -9.9 7.9)
(mid -1.506614 -0.086997)
(end 8.869415 5.068492)
(width 2)
)
(gr_arc
(start -15 7.9)
(mid 0.011791 -5.232741)
(end 15.003099 7.923378)
(width 2)
)
(gr_line
(start 0 0)
(end 0 -5)
(width 2)
)
)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "ee9d8514-5204-48ad-9d95-6ed7007255ca")
)
(embedded_fonts no)
(model "discret/capa_2pas_5x5mm.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,349 +0,0 @@
(footprint "DIP-14__300_ELL"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "14 pins DIL package, elliptical pads")
(tags "DIL")
(property "Reference" "REF**"
(at -5.08 -1.27 0)
(layer "F.SilkS")
(uuid "45ed8fad-2c78-4905-bf91-089fcd728fc3")
(effects
(font
(size 1.524 1.143)
(thickness 0.3048)
)
)
)
(property "Value" "DIP-14_300_ELL"
(at 5.88 13.872 0)
(layer "F.SilkS")
(uuid "60e06751-30cf-49f7-b4f5-c22082bf717f")
(effects
(font
(size 1.524 1.143)
(thickness 0.3048)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "ba845116-42f2-4e24-b05e-a1aaf3a3cbdb")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "ba63316e-9fea-4007-b7c1-e8a11197d583")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole board_only)
(fp_line
(start -10 -6)
(end -9 -6)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "0d9ff7b4-1534-4c45-aa75-7adcfb13f021")
)
(fp_line
(start -10 7)
(end -10 -6)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "12724cdd-c74e-4346-9334-87868b3a737e")
)
(fp_line
(start -9 -6)
(end -3 -6)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "689826f3-da2f-4530-b098-fe05d846e04c")
)
(fp_line
(start -3 -6)
(end 2 -11)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "2e1b43e3-314e-494d-8814-8840d748eeba")
)
(fp_line
(start -3 7)
(end -10 7)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "4bac45ab-4012-4bc8-bca3-1b4398819483")
)
(fp_line
(start 2 -11)
(end 15 -11)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "6bd66ed8-a43c-4ffe-ad61-96373caf5cf5")
)
(fp_line
(start 2 12)
(end -3 7)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "5ea919af-256e-4602-bbc8-9757d7ccfbc1")
)
(fp_line
(start 15 -11)
(end 19 -7)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "197b8f06-9810-44f4-b41b-b68342061def")
)
(fp_line
(start 15 12)
(end 2 12)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "190ef9c3-690f-481a-ac26-f4cb44a15842")
)
(fp_line
(start 19 -7)
(end 19 8)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "f6169eb0-76e1-4548-bac0-6f394c974c36")
)
(fp_line
(start 19 8)
(end 15 12)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "bb905d8c-54fa-4274-a2cd-02279e260e7f")
)
(fp_line
(start -10 -11)
(end 19 -11)
(stroke
(width 0.15)
(type solid)
)
(layer "F.CrtYd")
(uuid "cfa3c3dd-093d-4dce-84eb-75f9c01e89db")
)
(fp_line
(start -10 12)
(end -10 -11)
(stroke
(width 0.15)
(type solid)
)
(layer "F.CrtYd")
(uuid "484790a4-afec-40f8-a7f3-cbc8d96a6264")
)
(fp_line
(start 19 -11)
(end 19 12)
(stroke
(width 0.15)
(type solid)
)
(layer "F.CrtYd")
(uuid "efaf65c9-66d4-4add-8dad-70d2f76f1ea8")
)
(fp_line
(start 19 12)
(end -10 12)
(stroke
(width 0.15)
(type solid)
)
(layer "F.CrtYd")
(uuid "2fd8e49e-8090-42e1-9bd1-f0c14c3e129b")
)
(pad "1" thru_hole rect
(at -8.2 3.8)
(size 1.5748 2.286)
(drill 0.8128)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "8037547c-78a2-4417-a7c2-c56a0fc7df47")
)
(pad "2" thru_hole oval
(at -5.08 3.81)
(size 1.5748 2.286)
(drill 0.8128)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "28aecd46-a146-4130-a492-41652d45a33d")
)
(pad "3" thru_hole trapezoid
(at -7.62 -3.81)
(size 1.5748 2.286)
(rect_delta 0 1)
(drill 0.8128)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "6ef914d5-25f4-4575-a2ac-f063701ee2ec")
)
(pad "4" thru_hole oval
(at -5.08 -3.81 30)
(size 1.5748 2.286)
(drill 0.8128)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "e938f7cd-3f41-40e0-bffc-7023611704df")
)
(pad "5" connect custom
(at 8 10)
(size 1 1)
(layers "F.Cu" "F.Mask")
(zone_connect 0)
(options
(clearance convexhull)
(anchor circle)
)
(primitives
(gr_circle
(center 0 -10)
(end 2.5 -10)
(width 1)
(fill no)
)
(gr_circle
(center 0 -10)
(end 5 -10)
(width 1)
(fill no)
)
(gr_circle
(center 0 -10)
(end 7.5 -10)
(width 1)
(fill no)
)
(gr_circle
(center 0 -10)
(end 10 -10)
(width 1)
(fill no)
)
(gr_line
(start 0 0)
(end 0 -7.5)
(width 1)
)
)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "eab41a12-d540-48ce-81cb-190bdc9a2ba9")
)
(embedded_fonts no)
(model "dil/dil_14.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,164 +0,0 @@
(footprint "DO-214AB"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Jedec DO-214AB diode package. Designed according to Fairchild SS32 datasheet.")
(tags "DO-214AB diode")
(property "Reference" "REF**"
(at 0 -4.2 0)
(layer "F.SilkS")
(uuid "15ca22b9-fb15-445f-aabd-07d65a70732c")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "R"
(at 0 4.6 0)
(layer "F.Fab")
(uuid "8731b146-7b99-4df0-bad7-f1280f1c9120")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "042b0677-6ead-4e39-ba10-c9f4ac7178c2")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "01cf8795-7b9c-4d76-90b3-750c378fa3bf")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_line
(start -4.8 -3.2)
(end 3.5 -3.2)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "98ee4eb4-2a96-427f-86af-6590bda73985")
)
(fp_line
(start 3.5 3.2)
(end -4.8 3.2)
(stroke
(width 0.15)
(type solid)
)
(layer "F.SilkS")
(uuid "70e3a385-0347-44c0-81f1-3acb71af8d48")
)
(fp_line
(start -5.15 -3.45)
(end 5.15 -3.45)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "08710bed-b51c-4767-b3de-8ef1bb0fabae")
)
(fp_line
(start -5.15 3.45)
(end -5.15 -3.45)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "1e5de1db-fd73-4617-a2cb-c99b7d895b4e")
)
(fp_line
(start 5.15 -3.45)
(end 5.15 3.45)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "16fa0d09-b6e0-4e73-9e6d-e7b755da6f92")
)
(fp_line
(start 5.15 3.45)
(end -5.15 3.45)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "1fcd6268-b6ac-4dee-9d00-fbd0cf1bbe00")
)
(pad "1" smd roundrect
(at -3.6 0)
(size 2.6 3.2)
(layers "F.Cu" "F.Mask" "F.Paste")
(roundrect_rratio 0.1)
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "bcc3c200-ccf2-4002-b6e8-a1b01f6f399f")
)
(pad "2" smd circle
(at 3.048 -1.524)
(size 2.6 2.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(teardrops
(best_length_ratio 0.5)
(max_length 1)
(best_width_ratio 1)
(max_width 2)
(curved_edges yes)
(filter_ratio 0.9)
(enabled yes)
(allow_two_segments yes)
(prefer_zone_connections yes)
)
(uuid "ab75b0c0-03ac-419f-aab7-ff005c59950b")
)
(embedded_fonts no)
(model "Diodes_SMD.3dshapes/DO-214AB.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 0.39 0.39 0.39)
)
(rotate
(xyz 0 0 180)
)
)
)
-4
View File
@@ -1,4 +0,0 @@
(fp_lib_table
(version 7)
(lib (name "custom_pads_test")(type "KiCad")(uri "${KIPRJMOD}/custom_pads_test.pretty")(options "")(descr ""))
)
+1 -2
View File
@@ -1,4 +1,3 @@
(sym_lib_table
(version 7)
(lib (name "custom_pads_test")(type "KiCad")(uri "${KIPRJMOD}/custom_pads_test.kicad_sym")(options "")(descr ""))
(lib (name "custom_pads_schlib")(type "KiCad")(uri "${KIPRJMOD}/custom_pads_schlib.kicad_sym")(options "")(descr ""))
)
+241 -111
View File
@@ -1,7 +1,7 @@
(kicad_pcb
(version 20241229)
(version 20240108)
(generator "pcbnew")
(generator_version "9.0")
(generator_version "8.0")
(general
(thickness 1.6)
(legacy_teardrops no)
@@ -9,25 +9,25 @@
(paper "A4")
(layers
(0 "F.Cu" signal "top_cu")
(2 "B.Cu" signal "bottom_cu")
(9 "F.Adhes" user "F.Adhesive")
(11 "B.Adhes" user "B.Adhesive")
(13 "F.Paste" user)
(15 "B.Paste" user)
(5 "F.SilkS" user "F.Silkscreen")
(7 "B.SilkS" user "B.Silkscreen")
(1 "F.Mask" user)
(3 "B.Mask" user)
(17 "Dwgs.User" user "User.Drawings")
(19 "Cmts.User" user "User.Comments")
(21 "Eco1.User" user "User.Eco1")
(23 "Eco2.User" user "User.Eco2")
(25 "Edge.Cuts" user)
(27 "Margin" user)
(31 "F.CrtYd" user "F.Courtyard")
(29 "B.CrtYd" user "B.Courtyard")
(35 "F.Fab" user)
(33 "B.Fab" user)
(31 "B.Cu" signal "bottom_cu")
(32 "B.Adhes" user "B.Adhesive")
(33 "F.Adhes" user "F.Adhesive")
(34 "B.Paste" user)
(35 "F.Paste" user)
(36 "B.SilkS" user "B.Silkscreen")
(37 "F.SilkS" user "F.Silkscreen")
(38 "B.Mask" user)
(39 "F.Mask" user)
(40 "Dwgs.User" user "User.Drawings")
(41 "Cmts.User" user "User.Comments")
(42 "Eco1.User" user "User.Eco1")
(43 "Eco2.User" user "User.Eco2")
(44 "Edge.Cuts" user)
(45 "Margin" user)
(46 "B.CrtYd" user "B.Courtyard")
(47 "F.CrtYd" user "F.Courtyard")
(48 "B.Fab" user)
(49 "F.Fab" user)
)
(setup
(stackup
@@ -75,10 +75,9 @@
)
(pad_to_mask_clearance 0)
(allow_soldermask_bridges_in_footprints no)
(tenting front back)
(pcbplotparams
(layerselection 0x00000000_00000000_00000000_000000af)
(plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000)
(layerselection 0x00000f0_80000001)
(plot_on_all_layers_selection 0x0000000_00000000)
(disableapertmacros no)
(usegerberextensions no)
(usegerberattributes yes)
@@ -88,6 +87,7 @@
(dashed_line_gap_ratio 3.000000)
(svgprecision 6)
(plotframeref no)
(viasonmask no)
(mode 1)
(useauxorigin no)
(hpglpennumber 1)
@@ -95,20 +95,16 @@
(hpglpendiameter 15.000000)
(pdf_front_fp_property_popups yes)
(pdf_back_fp_property_popups yes)
(pdf_metadata yes)
(pdf_single_document no)
(dxfpolygonmode yes)
(dxfimperialunits yes)
(dxfusepcbnewfont yes)
(psnegative no)
(psa4output no)
(plot_black_and_white yes)
(plotreference yes)
(plotvalue yes)
(plotfptext yes)
(plotinvisibletext no)
(sketchpadsonfab no)
(plotpadnumbers no)
(hidednponfab no)
(sketchdnponfab yes)
(crossoutdnponfab yes)
(subtractmaskfromsilk no)
(outputformat 1)
(mirror no)
@@ -131,7 +127,7 @@
(net 11 "unconnected-(P8-Pad1)")
(net 12 "Net-(U1A-G)")
(net 13 "Net-(U1B-K)")
(footprint "Footprints:CP_Radial_D10.0mm_P5.00mm"
(footprint "Capacitor_THT:CP_Radial_D10.0mm_P5.00mm"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000054a581e5")
(at 141.605 99.695 90)
@@ -159,6 +155,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "382983a7-ee7c-4313-82a0-cd203d7a23e8")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 90)
(unlocked yes)
@@ -168,7 +176,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -181,7 +188,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2117,7 +2123,7 @@
(width 0.12)
(type solid)
)
(fill no)
(fill none)
(layer "F.SilkS")
(uuid "258ecd5d-ba52-4323-a896-a66a2aadf72e")
)
@@ -2128,7 +2134,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "4fd5af4b-4245-4f95-90e1-8dc724dc4e4c")
)
@@ -2159,7 +2165,7 @@
(width 0.1)
(type solid)
)
(fill no)
(fill none)
(layer "F.Fab")
(uuid "bdde8555-0701-4481-85f3-e3e4c405ff73")
)
@@ -2194,7 +2200,6 @@
(pintype "passive")
(uuid "ddeafcc4-fac1-48aa-a9d5-a388bf01a059")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/CP_Radial_D10.0mm_P5.00mm.wrl"
(offset
(xyz 0 0 0)
@@ -2207,7 +2212,7 @@
)
)
)
(footprint "Footprints:C_Disc_D4.7mm_W2.5mm_P5.00mm"
(footprint "Capacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mm"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000054a581ea")
(at 137.16 125.095 90)
@@ -2235,6 +2240,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "9fa00c27-a1fc-4e00-a784-a5b676567a11")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 90)
(unlocked yes)
@@ -2244,7 +2261,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2257,7 +2273,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2437,7 +2452,6 @@
(pintype "passive")
(uuid "434f4a07-999c-4c64-a829-a4342b3a5aca")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/C_Disc_D4.7mm_W2.5mm_P5.00mm.wrl"
(offset
(xyz 0 0 0)
@@ -2478,6 +2492,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "1e895d03-959b-42ee-87c2-2faef3e77b66")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -2487,7 +2513,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2500,7 +2525,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2515,7 +2539,7 @@
(width 0.15)
(type solid)
)
(fill no)
(fill none)
(layer "Cmts.User")
(uuid "4969424e-fc1f-420e-9c32-9913477f1434")
)
@@ -2526,7 +2550,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "0e3e3107-3fbd-4db1-933c-bad046ea7045")
)
@@ -2552,7 +2576,6 @@
(pintype "passive+no_connect")
(uuid "344b68cd-a8b0-4964-89b9-749801da5c3e")
)
(embedded_fonts no)
)
(footprint "Footprints:MountingHole_3.2mm_M3_DIN965_Pad"
(layer "F.Cu")
@@ -2582,6 +2605,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "b8d38a1e-e245-4c13-b007-0192c8cb8646")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -2591,7 +2626,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2604,7 +2638,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2619,7 +2652,7 @@
(width 0.15)
(type solid)
)
(fill no)
(fill none)
(layer "Cmts.User")
(uuid "357f6710-7915-4de2-bce2-ddad7ffd83a6")
)
@@ -2630,7 +2663,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "e73e9944-25e6-443b-aa58-5e7111a9542b")
)
@@ -2656,7 +2689,6 @@
(pintype "passive+no_connect")
(uuid "e71faccf-d887-486c-a426-242f3bc2bebe")
)
(embedded_fonts no)
)
(footprint "Footprints:MountingHole_3.2mm_M3_DIN965_Pad"
(layer "F.Cu")
@@ -2686,6 +2718,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "66f50165-897c-4a7c-87f6-8d1543b1da67")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -2695,7 +2739,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2708,7 +2751,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -2723,7 +2765,7 @@
(width 0.15)
(type solid)
)
(fill no)
(fill none)
(layer "Cmts.User")
(uuid "3a7e4919-9df1-48d6-a9f6-22fe705104ba")
)
@@ -2734,7 +2776,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "68947465-20a9-441a-92c6-1c4a40ed9311")
)
@@ -2760,9 +2802,8 @@
(pintype "passive+no_connect")
(uuid "f4ac570c-5d1b-4481-8a1c-82f0cf4dcaaa")
)
(embedded_fonts no)
)
(footprint "Footprints:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000054a58213")
(at 136.271 107.95 -90)
@@ -2790,8 +2831,20 @@
)
)
)
(property "Footprint" ""
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "f8085564-9999-447a-9120-b030b904c2b4")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -2799,12 +2852,11 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -2812,7 +2864,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -3012,7 +3063,6 @@
(pintype "passive")
(uuid "58fbc74c-6eca-4aaa-9941-3e7756811e38")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
@@ -3025,7 +3075,7 @@
)
)
)
(footprint "Footprints:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000054a58218")
(at 156.21 95.885 180)
@@ -3053,6 +3103,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 180)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "c4b884b6-1a92-4ebd-981e-ca3132f9f8c2")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 180)
(unlocked yes)
@@ -3062,7 +3124,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -3075,7 +3136,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -3275,7 +3335,6 @@
(pintype "passive")
(uuid "d5df32dc-6c81-4b69-bdcb-79b78c9cb647")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
@@ -3288,7 +3347,7 @@
)
)
)
(footprint "Footprints:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-000054a58222")
(at 164.465 117.475 -90)
@@ -3316,8 +3375,20 @@
)
)
)
(property "Footprint" ""
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d9bfc6f2-2ed7-4247-aab7-39e3b93d3d54")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -3325,12 +3396,11 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -3338,7 +3408,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -3538,7 +3607,6 @@
(pintype "passive")
(uuid "237d5d44-fd22-4dab-93dd-3f87c398aeaf")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
@@ -3569,7 +3637,7 @@
)
)
(property "Value" "OUT"
(at 2.5 7.5 270)
(at 2.5 7.5 -90)
(layer "F.Fab")
(uuid "65f929aa-69b9-4d98-a044-f5bcba4f1fa7")
(effects
@@ -3579,8 +3647,20 @@
)
)
)
(property "Footprint" ""
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "ef4ca903-b83e-4f9f-9924-8cf7b1e41178")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -3588,12 +3668,11 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -3601,7 +3680,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -3760,7 +3838,7 @@
(uuid "04f4d0dc-5d6e-4c61-9b81-f0b15d839afa")
)
(fp_text user "${REFERENCE}"
(at 2.7 2.75 270)
(at 2.7 2.75 -90)
(layer "F.Fab")
(uuid "70fa3a97-6353-42cf-b946-cc7c0c8d02fe")
(effects
@@ -3792,7 +3870,6 @@
(pintype "passive")
(uuid "e99f56de-529e-492f-a24a-0cba9f0cc86a")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset
(xyz 0 0 0)
@@ -3812,7 +3889,7 @@
(descr "Altech AK300 serie terminal block (Script generated with StandardBox.py) (http://www.altechcorp.com/PDFS/PCBMETRC.PDF)")
(tags "Altech AK300 serie connector")
(property "Reference" "P3"
(at 2.489 -7.43 270)
(at 2.489 -7.43 -90)
(layer "F.SilkS")
(uuid "02e5a7b1-7d8c-489f-8433-9aadf895de6d")
(effects
@@ -3823,7 +3900,7 @@
)
)
(property "Value" "POWER"
(at 2.5 7.5 270)
(at 2.5 7.5 -90)
(layer "F.Fab")
(uuid "7e89ba4e-23c0-43b1-abd9-965acfa17cb1")
(effects
@@ -3833,8 +3910,20 @@
)
)
)
(property "Footprint" ""
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "d550e1ad-8242-4ec6-898c-014ed7a01cf8")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -3842,12 +3931,11 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 270)
(at 0 0 -90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
@@ -3855,7 +3943,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4014,7 +4101,7 @@
(uuid "ac8faa98-6671-459a-8d7c-8dc6e1c331ff")
)
(fp_text user "${REFERENCE}"
(at 2.7 2.75 270)
(at 2.7 2.75 -90)
(layer "F.Fab")
(uuid "41b13464-8e72-4def-a331-5d9bb51ba6f9")
(effects
@@ -4046,7 +4133,6 @@
(pintype "passive")
(uuid "3fdadd90-878d-4ae5-b745-a995af1fd466")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset
(xyz 0 0 0)
@@ -4087,6 +4173,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "65cebb37-55d7-40ad-ba61-a43c402822cb")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -4096,7 +4194,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4109,7 +4206,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4300,7 +4396,6 @@
(pintype "passive")
(uuid "c8a3dfdc-1f64-457c-968b-294e9ed86941")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset
(xyz 0 0 0)
@@ -4313,7 +4408,7 @@
)
)
)
(footprint "Footprints:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
(layer "F.Cu")
(uuid "00000000-0000-0000-0000-00005a33370f")
(at 133.985 125.095 180)
@@ -4341,6 +4436,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 180)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "ccd05968-0d0e-4682-a198-efa2f3609731")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 180)
(unlocked yes)
@@ -4350,7 +4457,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4363,7 +4469,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4563,7 +4668,6 @@
(pintype "passive")
(uuid "587d6891-33ea-463a-b75d-744f879246c9")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
@@ -4604,6 +4708,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "8da18a02-c509-4816-9955-7de01407f113")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -4613,7 +4729,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4626,7 +4741,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4641,7 +4755,7 @@
(width 0.12)
(type solid)
)
(fill no)
(fill none)
(layer "F.SilkS")
(uuid "3740888a-cee5-487c-9aeb-a26dbd05cbd3")
)
@@ -4652,7 +4766,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "71f6f59e-fef5-4293-ad74-357de6313efc")
)
@@ -4663,7 +4777,7 @@
(width 0.1)
(type solid)
)
(fill no)
(fill none)
(layer "F.Fab")
(uuid "9b7c5890-6d2f-413b-8eb2-527fe4da88ff")
)
@@ -4777,7 +4891,6 @@
(pintype "input")
(uuid "16b5f9b7-8f48-404c-82f4-861d94de7c41")
)
(embedded_fonts no)
(model "${KIPRJMOD}/3d_shapes/ecc83.wrl"
(offset
(xyz 0 0 0)
@@ -4818,6 +4931,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 90)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "1b667d8a-a3bb-43f2-bda8-b3d2ad1852a1")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 90)
(unlocked yes)
@@ -4827,7 +4952,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -4840,7 +4964,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -5031,7 +5154,6 @@
(pintype "passive")
(uuid "db9237f9-114e-4120-b2d2-4152d767eb57")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset
(xyz 0 0 0)
@@ -5072,6 +5194,18 @@
)
)
)
(property "Footprint" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "e02915bf-3acc-4316-8731-476ec7ea69c0")
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
@@ -5081,7 +5215,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -5094,7 +5227,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@@ -5109,7 +5241,7 @@
(width 0.15)
(type solid)
)
(fill no)
(fill none)
(layer "Cmts.User")
(uuid "bc27e896-5029-4ce8-ae9d-c614ceb74a4f")
)
@@ -5120,7 +5252,7 @@
(width 0.05)
(type solid)
)
(fill no)
(fill none)
(layer "F.CrtYd")
(uuid "764a218d-e2f8-42fb-9305-9696f145cb5d")
)
@@ -5146,7 +5278,6 @@
(pintype "passive+no_connect")
(uuid "21304fa0-8617-428a-9dfd-966010a238e6")
)
(embedded_fonts no)
)
(gr_line
(start 173.355 90.17)
@@ -6152,5 +6283,4 @@
)
)
)
(embedded_fonts no)
)
)
+17 -43
View File
@@ -11,9 +11,9 @@
"copper_text_italic": false,
"copper_text_size_h": 1.524,
"copper_text_size_v": 2.032,
"copper_text_thickness": 0.3048,
"copper_text_thickness": 0.30479999999999996,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
@@ -24,7 +24,7 @@
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
@@ -45,7 +45,7 @@
"silk_text_italic": false,
"silk_text_size_h": 1.524,
"silk_text_size_v": 1.524,
"silk_text_thickness": 0.3048,
"silk_text_thickness": 0.30479999999999996,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
@@ -70,20 +70,15 @@
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "warning",
"hole_clearance": "error",
"hole_near_hole": "error",
"hole_to_hole": "error",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
@@ -93,11 +88,9 @@
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "warning",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "warning",
"overlapping_pads": "warning",
"padstack": "error",
@@ -113,9 +106,7 @@
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
@@ -130,29 +121,27 @@
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.01,
"min_groove_width": 0.0,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.12,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.2,
"min_via_annular_width": 0.05,
"min_via_diameter": 0.4,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
"td_onviapad": true
}
],
"teardrop_parameters": [
@@ -235,7 +224,6 @@
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
@@ -431,15 +419,10 @@
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
@@ -452,14 +435,9 @@
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
@@ -476,12 +454,12 @@
},
"meta": {
"filename": "ecc83-pp.kicad_pro",
"version": 3
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"bus_width": 12.0,
"clearance": 0.4,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
@@ -491,16 +469,15 @@
"microvia_drill": 0.127,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8,
"via_diameter": 1.2,
"via_drill": 0.6,
"wire_width": 6
"wire_width": 6.0
}
],
"meta": {
"version": 4
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
@@ -522,7 +499,6 @@
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
@@ -576,7 +552,6 @@
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": false,
"name": "Grouped By Value",
"sort_asc": true,
"sort_field": "Référence"
@@ -623,7 +598,6 @@
},
"page_layout_descr_file": "",
"plot_directory": "",
"space_save_all_events": true,
"spice_adjust_passive_values": false,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
@@ -637,7 +611,7 @@
"sheets": [
[
"28f865a0-4433-4a53-bbd7-b62f276848e4",
"Root"
"Racine"
]
],
"text_variables": {}
+191 -217
View File
@@ -1,7 +1,7 @@
(kicad_sch
(version 20250114)
(version 20231120)
(generator "eeschema")
(generator_version "9.0")
(generator_version "8.0")
(uuid "28f865a0-4433-4a53-bbd7-b62f276848e4")
(paper "A4")
(title_block
@@ -10,10 +10,8 @@
(rev "0.1")
)
(lib_symbols
(symbol "ecc83-pp:C"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:C"
(pin_numbers hide)
(pin_names
(offset 0.254)
)
@@ -75,7 +73,7 @@
(symbol "C_0_1"
(polyline
(pts
(xy -2.032 0.762) (xy 2.032 0.762)
(xy -2.032 -0.762) (xy 2.032 -0.762)
)
(stroke
(width 0.508)
@@ -87,7 +85,7 @@
)
(polyline
(pts
(xy -2.032 -0.762) (xy 2.032 -0.762)
(xy -2.032 0.762) (xy 2.032 0.762)
)
(stroke
(width 0.508)
@@ -136,16 +134,11 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:CONN_1"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:CONN_1"
(pin_numbers hide)
(pin_names
(offset 0.762)
(hide yes)
)
(offset 0.762) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -237,13 +230,10 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:CONN_2"
(symbol "ecc83_schlib:CONN_2"
(pin_names
(offset 1.016)
(hide yes)
)
(offset 1.016) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -339,12 +329,9 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:CP"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:CP"
(pin_numbers hide)
(pin_names
(offset 0.254)
)
@@ -461,6 +448,17 @@
(type none)
)
)
(rectangle
(start 2.286 -0.508)
(end -2.286 -1.016)
(stroke
(width 0)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 2.286 1.016)
(end -2.286 1.016)
@@ -483,17 +481,6 @@
(type none)
)
)
(rectangle
(start 2.286 -0.508)
(end -2.286 -1.016)
(stroke
(width 0)
(type default)
)
(fill
(type outline)
)
)
)
(symbol "CP_1_1"
(pin passive line
@@ -533,9 +520,8 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:ECC83"
(symbol "ecc83_schlib:ECC83"
(pin_names
(offset 0)
)
@@ -593,6 +579,30 @@
)
)
(symbol "ECC83_0_1"
(arc
(start -5.08 -2.54)
(mid 0 -7.5979)
(end 5.08 -2.54)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 5.08 2.54) (xy 5.08 -2.54)
)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy -5.08 2.54) (xy -5.08 -2.54) (xy -5.08 -2.54)
@@ -606,33 +616,9 @@
)
)
(arc
(start -5.08 2.54)
(start 5.08 2.54)
(mid 0 7.5979)
(end 5.08 2.54)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(arc
(start 5.08 -2.54)
(mid 0 -7.5979)
(end -5.08 -2.54)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 5.08 2.54) (xy 5.08 -2.54)
)
(end -5.08 2.54)
(stroke
(width 0)
(type default)
@@ -681,18 +667,6 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy -1.905 0) (xy -3.175 0)
@@ -717,18 +691,6 @@
(type none)
)
)
(arc
(start -2.54 -5.08)
(mid 0 -3.0968)
(end 2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.905 0) (xy 3.175 0)
@@ -741,6 +703,48 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(arc
(start 2.54 -5.08)
(mid 0 -3.0968)
(end -2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "6"
(effects
(font
(size 1.016 1.016)
)
)
)
)
(pin input line
(at -7.62 0 0)
(length 2.54)
@@ -777,24 +781,6 @@
)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "6"
(effects
(font
(size 1.016 1.016)
)
)
)
)
)
(symbol "ECC83_2_0"
(polyline
@@ -835,18 +821,6 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy -1.905 0) (xy -3.175 0)
@@ -871,18 +845,6 @@
(type none)
)
)
(arc
(start -2.54 -5.08)
(mid 0 -3.0968)
(end 2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.905 0) (xy 3.175 0)
@@ -895,6 +857,48 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(arc
(start 2.54 -5.08)
(mid 0 -3.0968)
(end -2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "1"
(effects
(font
(size 1.016 1.016)
)
)
)
)
(pin input line
(at -7.62 0 0)
(length 2.54)
@@ -931,30 +935,12 @@
)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "1"
(effects
(font
(size 1.016 1.016)
)
)
)
)
)
(symbol "ECC83_3_1"
(arc
(start -2.54 -6.35)
(start 0 -6.35)
(mid -1.27 -5.5651)
(end 0 -6.35)
(end -2.54 -6.35)
(stroke
(width 0)
(type default)
@@ -964,9 +950,9 @@
)
)
(arc
(start 0 -6.35)
(start 2.54 -6.35)
(mid 1.27 -5.5651)
(end 2.54 -6.35)
(end 0 -6.35)
(stroke
(width 0)
(type default)
@@ -993,24 +979,6 @@
)
)
)
(pin input line
(at 0 -11.43 90)
(length 5.08)
(name "F2"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "9"
(effects
(font
(size 1.016 1.016)
)
)
)
)
(pin input line
(at 2.54 -11.43 90)
(length 5.08)
@@ -1029,10 +997,27 @@
)
)
)
(pin input line
(at 0 -11.43 90)
(length 5.08)
(name "F2"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "9"
(effects
(font
(size 1.016 1.016)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:GND"
(symbol "ecc83_schlib:GND"
(power)
(pin_names
(offset 0)
@@ -1099,8 +1084,7 @@
(symbol "GND_1_1"
(pin power_in line
(at 0 0 270)
(length 0)
(hide yes)
(length 0) hide
(name "GND"
(effects
(font
@@ -1117,17 +1101,12 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:PWR_FLAG"
(symbol "ecc83_schlib:PWR_FLAG"
(power)
(pin_numbers
(hide yes)
)
(pin_numbers hide)
(pin_names
(offset 0)
(hide yes)
)
(offset 0) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -1207,12 +1186,9 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:R"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:R"
(pin_numbers hide)
(pin_names
(offset 0)
)
@@ -1320,7 +1296,6 @@
)
)
)
(embedded_fonts no)
)
)
(junction
@@ -1758,7 +1733,7 @@
(uuid "eb6832ef-d0fe-479d-8f32-b253c6621b1a")
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 157.48 85.09 180)
(unit 1)
(exclude_from_sim no)
@@ -1824,7 +1799,7 @@
)
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 154.94 127 0)
(unit 1)
(exclude_from_sim no)
@@ -1890,7 +1865,7 @@
)
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 144.78 127 0)
(unit 1)
(exclude_from_sim no)
@@ -1956,7 +1931,7 @@
)
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 185.42 85.09 0)
(unit 1)
(exclude_from_sim no)
@@ -2022,7 +1997,7 @@
)
)
(symbol
(lib_id "ecc83-pp:C")
(lib_id "ecc83_schlib:C")
(at 175.26 76.2 270)
(unit 1)
(exclude_from_sim no)
@@ -2088,7 +2063,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 127 110.49 180)
(unit 1)
(exclude_from_sim no)
@@ -2154,7 +2129,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 207.01 78.74 0)
(unit 1)
(exclude_from_sim no)
@@ -2220,7 +2195,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 41.91 53.34 0)
(mirror y)
(unit 1)
@@ -2287,7 +2262,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CP")
(lib_id "ecc83_schlib:CP")
(at 86.36 57.15 0)
(mirror y)
(unit 1)
@@ -2356,7 +2331,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 41.91 91.44 180)
(unit 1)
(exclude_from_sim no)
@@ -2422,7 +2397,7 @@
)
)
(symbol
(lib_id "ecc83-pp:PWR_FLAG")
(lib_id "ecc83_schlib:PWR_FLAG")
(at 53.34 55.88 270)
(unit 1)
(exclude_from_sim no)
@@ -2487,7 +2462,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 144.78 132.08 0)
(unit 1)
(exclude_from_sim no)
@@ -2553,7 +2528,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 154.94 132.08 0)
(unit 1)
(exclude_from_sim no)
@@ -2619,7 +2594,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 185.42 90.17 0)
(unit 1)
(exclude_from_sim no)
@@ -2685,7 +2660,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 195.58 83.82 0)
(unit 1)
(exclude_from_sim no)
@@ -2751,7 +2726,7 @@
)
)
(symbol
(lib_id "ecc83-pp:ECC83")
(lib_id "ecc83_schlib:ECC83")
(at 160.02 64.77 0)
(unit 1)
(exclude_from_sim no)
@@ -2838,7 +2813,7 @@
)
)
(symbol
(lib_id "ecc83-pp:ECC83")
(lib_id "ecc83_schlib:ECC83")
(at 157.48 107.95 0)
(unit 2)
(exclude_from_sim no)
@@ -2926,7 +2901,7 @@
)
)
(symbol
(lib_id "ecc83-pp:ECC83")
(lib_id "ecc83_schlib:ECC83")
(at 63.5 74.93 0)
(unit 3)
(exclude_from_sim no)
@@ -3014,7 +2989,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 86.36 62.23 0)
(mirror y)
(unit 1)
@@ -3081,7 +3056,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 158.75 177.8 0)
(unit 1)
(exclude_from_sim yes)
@@ -3146,7 +3121,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 158.75 180.34 0)
(unit 1)
(exclude_from_sim yes)
@@ -3211,7 +3186,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 158.75 182.88 0)
(unit 1)
(exclude_from_sim yes)
@@ -3276,7 +3251,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 158.75 185.42 0)
(unit 1)
(exclude_from_sim yes)
@@ -3341,7 +3316,7 @@
)
)
(symbol
(lib_id "ecc83-pp:PWR_FLAG")
(lib_id "ecc83_schlib:PWR_FLAG")
(at 76.2 49.53 0)
(unit 1)
(exclude_from_sim no)
@@ -3406,7 +3381,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 50.8 57.15 0)
(mirror y)
(unit 1)
@@ -3473,7 +3448,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 138.43 116.84 0)
(unit 1)
(exclude_from_sim no)
@@ -3541,5 +3516,4 @@
(page "1")
)
)
(embedded_fonts no)
)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+18 -44
View File
@@ -11,9 +11,9 @@
"copper_text_italic": false,
"copper_text_size_h": 1.524,
"copper_text_size_v": 2.032,
"copper_text_thickness": 0.3048,
"copper_text_thickness": 0.30479999999999996,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
@@ -24,7 +24,7 @@
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
@@ -45,7 +45,7 @@
"silk_text_italic": false,
"silk_text_size_h": 1.524,
"silk_text_size_v": 1.524,
"silk_text_thickness": 0.3048,
"silk_text_thickness": 0.30479999999999996,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
@@ -70,20 +70,15 @@
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"hole_to_hole": "error",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
@@ -93,11 +88,9 @@
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "warning",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "warning",
"overlapping_pads": "warning",
"padstack": "error",
@@ -113,9 +106,7 @@
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
@@ -127,32 +118,30 @@
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.2,
"min_clearance": 0.19999999999999998,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.01,
"min_groove_width": 0.0,
"min_hole_clearance": 0.0,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.12,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.2,
"min_via_annular_width": 0.05,
"min_via_diameter": 0.4,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
"td_onviapad": true
}
],
"teardrop_parameters": [
@@ -235,7 +224,6 @@
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
@@ -431,15 +419,10 @@
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
@@ -452,14 +435,9 @@
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
@@ -471,12 +449,12 @@
},
"meta": {
"filename": "ecc83-pp_v2.kicad_pro",
"version": 3
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"bus_width": 12.0,
"clearance": 0.508,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
@@ -486,16 +464,15 @@
"microvia_drill": 0.127,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8636,
"via_diameter": 1.905,
"via_drill": 0.635,
"wire_width": 6
"wire_width": 6.0
}
],
"meta": {
"version": 4
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
@@ -517,7 +494,6 @@
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
@@ -571,7 +547,6 @@
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": false,
"name": "Grouped By Value",
"sort_asc": true,
"sort_field": "Référence"
@@ -618,7 +593,6 @@
},
"page_layout_descr_file": "",
"plot_directory": "",
"space_save_all_events": true,
"spice_adjust_passive_values": false,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
@@ -632,7 +606,7 @@
"sheets": [
[
"e63e39d7-6ac0-4ffd-8aa3-1841a4541b55",
"Root"
"Racine"
]
],
"text_variables": {}
+190 -216
View File
@@ -1,7 +1,7 @@
(kicad_sch
(version 20250114)
(version 20231120)
(generator "eeschema")
(generator_version "9.0")
(generator_version "8.0")
(uuid "e63e39d7-6ac0-4ffd-8aa3-1841a4541b55")
(paper "A4")
(title_block
@@ -10,10 +10,8 @@
(rev "0.1")
)
(lib_symbols
(symbol "ecc83-pp:C"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:C"
(pin_numbers hide)
(pin_names
(offset 0.254)
)
@@ -75,7 +73,7 @@
(symbol "C_0_1"
(polyline
(pts
(xy -2.032 0.762) (xy 2.032 0.762)
(xy -2.032 -0.762) (xy 2.032 -0.762)
)
(stroke
(width 0.508)
@@ -87,7 +85,7 @@
)
(polyline
(pts
(xy -2.032 -0.762) (xy 2.032 -0.762)
(xy -2.032 0.762) (xy 2.032 0.762)
)
(stroke
(width 0.508)
@@ -136,16 +134,11 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:CONN_1"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:CONN_1"
(pin_numbers hide)
(pin_names
(offset 0.762)
(hide yes)
)
(offset 0.762) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -237,13 +230,10 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:CONN_2"
(symbol "ecc83_schlib:CONN_2"
(pin_names
(offset 1.016)
(hide yes)
)
(offset 1.016) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -339,12 +329,9 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:CP"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:CP"
(pin_numbers hide)
(pin_names
(offset 0.254)
)
@@ -461,6 +448,17 @@
(type none)
)
)
(rectangle
(start 2.286 -0.508)
(end -2.286 -1.016)
(stroke
(width 0)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 2.286 1.016)
(end -2.286 1.016)
@@ -483,17 +481,6 @@
(type none)
)
)
(rectangle
(start 2.286 -0.508)
(end -2.286 -1.016)
(stroke
(width 0)
(type default)
)
(fill
(type outline)
)
)
)
(symbol "CP_1_1"
(pin passive line
@@ -533,9 +520,8 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:ECC83"
(symbol "ecc83_schlib:ECC83"
(pin_names
(offset 0)
)
@@ -593,6 +579,30 @@
)
)
(symbol "ECC83_0_1"
(arc
(start -5.08 -2.54)
(mid 0 -7.5979)
(end 5.08 -2.54)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 5.08 2.54) (xy 5.08 -2.54)
)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy -5.08 2.54) (xy -5.08 -2.54) (xy -5.08 -2.54)
@@ -606,33 +616,9 @@
)
)
(arc
(start -5.08 2.54)
(start 5.08 2.54)
(mid 0 7.5979)
(end 5.08 2.54)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(arc
(start 5.08 -2.54)
(mid 0 -7.5979)
(end -5.08 -2.54)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 5.08 2.54) (xy 5.08 -2.54)
)
(end -5.08 2.54)
(stroke
(width 0)
(type default)
@@ -681,18 +667,6 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy -1.905 0) (xy -3.175 0)
@@ -717,18 +691,6 @@
(type none)
)
)
(arc
(start -2.54 -5.08)
(mid 0 -3.0968)
(end 2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.905 0) (xy 3.175 0)
@@ -741,6 +703,48 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(arc
(start 2.54 -5.08)
(mid 0 -3.0968)
(end -2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "6"
(effects
(font
(size 1.016 1.016)
)
)
)
)
(pin input line
(at -7.62 0 0)
(length 2.54)
@@ -777,24 +781,6 @@
)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "6"
(effects
(font
(size 1.016 1.016)
)
)
)
)
)
(symbol "ECC83_2_0"
(polyline
@@ -835,18 +821,6 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy -1.905 0) (xy -3.175 0)
@@ -871,18 +845,6 @@
(type none)
)
)
(arc
(start -2.54 -5.08)
(mid 0 -3.0968)
(end 2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.905 0) (xy 3.175 0)
@@ -895,6 +857,48 @@
(type none)
)
)
(polyline
(pts
(xy -2.54 5.08) (xy 2.794 5.08) (xy 2.794 5.08)
)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(arc
(start 2.54 -5.08)
(mid 0 -3.0968)
(end -2.54 -5.08)
(stroke
(width 0.254)
(type default)
)
(fill
(type none)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "1"
(effects
(font
(size 1.016 1.016)
)
)
)
)
(pin input line
(at -7.62 0 0)
(length 2.54)
@@ -931,30 +935,12 @@
)
)
)
(pin passive line
(at 0 10.16 270)
(length 2.54)
(name "A"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "1"
(effects
(font
(size 1.016 1.016)
)
)
)
)
)
(symbol "ECC83_3_1"
(arc
(start -2.54 -6.35)
(start 0 -6.35)
(mid -1.27 -5.5651)
(end 0 -6.35)
(end -2.54 -6.35)
(stroke
(width 0)
(type default)
@@ -964,9 +950,9 @@
)
)
(arc
(start 0 -6.35)
(start 2.54 -6.35)
(mid 1.27 -5.5651)
(end 2.54 -6.35)
(end 0 -6.35)
(stroke
(width 0)
(type default)
@@ -993,24 +979,6 @@
)
)
)
(pin input line
(at 0 -11.43 90)
(length 5.08)
(name "F2"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "9"
(effects
(font
(size 1.016 1.016)
)
)
)
)
(pin input line
(at 2.54 -11.43 90)
(length 5.08)
@@ -1029,10 +997,27 @@
)
)
)
(pin input line
(at 0 -11.43 90)
(length 5.08)
(name "F2"
(effects
(font
(size 1.016 1.016)
)
)
)
(number "9"
(effects
(font
(size 1.016 1.016)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:GND"
(symbol "ecc83_schlib:GND"
(power)
(pin_names
(offset 0)
@@ -1099,8 +1084,7 @@
(symbol "GND_1_1"
(pin power_in line
(at 0 0 270)
(length 0)
(hide yes)
(length 0) hide
(name "GND"
(effects
(font
@@ -1117,17 +1101,12 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:PWR_FLAG"
(symbol "ecc83_schlib:PWR_FLAG"
(power)
(pin_numbers
(hide yes)
)
(pin_numbers hide)
(pin_names
(offset 0)
(hide yes)
)
(offset 0) hide)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
@@ -1207,12 +1186,9 @@
)
)
)
(embedded_fonts no)
)
(symbol "ecc83-pp:R"
(pin_numbers
(hide yes)
)
(symbol "ecc83_schlib:R"
(pin_numbers hide)
(pin_names
(offset 0)
)
@@ -1320,7 +1296,6 @@
)
)
)
(embedded_fonts no)
)
)
(junction
@@ -1804,7 +1779,7 @@
(uuid "f8e03794-c689-4595-98ea-97c11378efd7")
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 165.1 82.55 180)
(unit 1)
(exclude_from_sim no)
@@ -1870,7 +1845,7 @@
)
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 162.56 134.62 0)
(unit 1)
(exclude_from_sim no)
@@ -1936,7 +1911,7 @@
)
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 152.4 134.62 0)
(unit 1)
(exclude_from_sim no)
@@ -2002,7 +1977,7 @@
)
)
(symbol
(lib_id "ecc83-pp:R")
(lib_id "ecc83_schlib:R")
(at 193.04 90.17 0)
(unit 1)
(exclude_from_sim no)
@@ -2068,7 +2043,7 @@
)
)
(symbol
(lib_id "ecc83-pp:C")
(lib_id "ecc83_schlib:C")
(at 185.42 73.66 270)
(unit 1)
(exclude_from_sim no)
@@ -2134,7 +2109,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 135.89 109.22 180)
(unit 1)
(exclude_from_sim no)
@@ -2200,7 +2175,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 212.09 76.2 0)
(unit 1)
(exclude_from_sim no)
@@ -2266,7 +2241,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 77.47 48.26 0)
(mirror y)
(unit 1)
@@ -2333,7 +2308,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CP")
(lib_id "ecc83_schlib:CP")
(at 104.14 53.34 0)
(unit 1)
(exclude_from_sim no)
@@ -2401,7 +2376,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_2")
(lib_id "ecc83_schlib:CONN_2")
(at 77.47 93.98 0)
(mirror y)
(unit 1)
@@ -2468,7 +2443,7 @@
)
)
(symbol
(lib_id "ecc83-pp:PWR_FLAG")
(lib_id "ecc83_schlib:PWR_FLAG")
(at 93.98 55.88 0)
(unit 1)
(exclude_from_sim no)
@@ -2533,7 +2508,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 152.4 139.7 0)
(unit 1)
(exclude_from_sim no)
@@ -2599,7 +2574,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 162.56 139.7 0)
(unit 1)
(exclude_from_sim no)
@@ -2665,7 +2640,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 193.04 96.52 0)
(unit 1)
(exclude_from_sim no)
@@ -2731,7 +2706,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 199.39 82.55 0)
(unit 1)
(exclude_from_sim no)
@@ -2797,7 +2772,7 @@
)
)
(symbol
(lib_id "ecc83-pp:ECC83")
(lib_id "ecc83_schlib:ECC83")
(at 167.64 58.42 0)
(unit 1)
(exclude_from_sim no)
@@ -2884,7 +2859,7 @@
)
)
(symbol
(lib_id "ecc83-pp:ECC83")
(lib_id "ecc83_schlib:ECC83")
(at 165.1 106.68 0)
(unit 2)
(exclude_from_sim no)
@@ -2971,7 +2946,7 @@
)
)
(symbol
(lib_id "ecc83-pp:ECC83")
(lib_id "ecc83_schlib:ECC83")
(at 99.06 77.47 0)
(unit 3)
(exclude_from_sim no)
@@ -3058,7 +3033,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 160.02 167.64 0)
(unit 1)
(exclude_from_sim yes)
@@ -3123,7 +3098,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 160.02 170.18 0)
(unit 1)
(exclude_from_sim yes)
@@ -3188,7 +3163,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 160.02 172.72 0)
(unit 1)
(exclude_from_sim yes)
@@ -3253,7 +3228,7 @@
)
)
(symbol
(lib_id "ecc83-pp:CONN_1")
(lib_id "ecc83_schlib:CONN_1")
(at 160.02 175.26 0)
(unit 1)
(exclude_from_sim yes)
@@ -3318,7 +3293,7 @@
)
)
(symbol
(lib_id "ecc83-pp:PWR_FLAG")
(lib_id "ecc83_schlib:PWR_FLAG")
(at 93.98 43.18 0)
(unit 1)
(exclude_from_sim no)
@@ -3383,7 +3358,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 104.14 63.5 0)
(unit 1)
(exclude_from_sim no)
@@ -3447,7 +3422,7 @@
)
)
(symbol
(lib_id "ecc83-pp:GND")
(lib_id "ecc83_schlib:GND")
(at 147.32 115.57 0)
(unit 1)
(exclude_from_sim no)
@@ -3515,5 +3490,4 @@
(page "1")
)
)
(embedded_fonts no)
)
)
+517
View File
@@ -0,0 +1,517 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (id 0) (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "C" (id 1) (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 0.9652 -3.81 0)
(effects (font (size 0.762 0.762)))
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_fp_filters" "C? C_????_* C_???? SMD*_c Capacitor*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "C_0_1"
(polyline
(pts
(xy -2.032 -0.762)
(xy 2.032 -0.762)
)
(stroke (width 0.508) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -2.032 0.762)
(xy 2.032 0.762)
)
(stroke (width 0.508) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "C_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "CONN_1" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes)
(property "Reference" "P" (id 0) (at 2.032 0 0)
(effects (font (size 1.016 1.016)) (justify left))
)
(property "Value" "CONN_1" (id 1) (at 0 1.397 0)
(effects (font (size 0.762 0.762)) hide)
)
(property "Footprint" "MountingHole:MountingHole_3.2mm_M3_DIN965_Pad" (id 2) (at 0 -1.27 0)
(effects (font (size 0.254 0.254)))
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "CONN_1_0_1"
(polyline
(pts
(xy -0.762 0)
(xy -1.27 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(circle (center 0 0) (radius 0.7874)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "CONN_1_1_1"
(pin passive line (at -3.81 0 0) (length 2.54)
(name "1" (effects (font (size 1.524 1.524))))
(number "1" (effects (font (size 1.524 1.524))))
)
)
)
(symbol "CONN_2" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "P" (id 0) (at -1.27 0 90)
(effects (font (size 1.016 1.016)))
)
(property "Value" "CONN_2" (id 1) (at 1.27 0 90)
(effects (font (size 1.016 1.016)))
)
(property "Footprint" "" (id 2) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "CONN_2_0_1"
(rectangle (start -2.54 3.81) (end 2.54 -3.81)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "CONN_2_1_1"
(pin passive inverted (at -8.89 2.54 0) (length 6.35)
(name "P1" (effects (font (size 1.524 1.524))))
(number "1" (effects (font (size 1.524 1.524))))
)
(pin passive inverted (at -8.89 -2.54 0) (length 6.35)
(name "PM" (effects (font (size 1.524 1.524))))
(number "2" (effects (font (size 1.524 1.524))))
)
)
)
(symbol "CP" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "C" (id 0) (at 0.635 2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "CP" (id 1) (at 0.635 -2.54 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "" (id 2) (at 0.9652 -3.81 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "cap capacitor" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Polarised capacitor" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "CP_*" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "CP_0_1"
(rectangle (start -2.286 0.508) (end -2.286 1.016)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start -2.286 0.508) (end 2.286 0.508)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.778 2.286)
(xy -0.762 2.286)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.27 2.794)
(xy -1.27 1.778)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 2.286 -0.508) (end -2.286 -1.016)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type outline))
)
(rectangle (start 2.286 1.016) (end -2.286 1.016)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(rectangle (start 2.286 1.016) (end 2.286 0.508)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "CP_1_1"
(pin passive line (at 0 3.81 270) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 2.794)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "ECC81" (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 3.302 7.874 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "ECC81" (id 1) (at 6.7056 -7.8486 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "VALVE-NOVAL_P" (id 2) (at 6.1976 -9.652 0)
(effects (font (size 0.762 0.762)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_locked" "" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(symbol "ECC81_0_1"
(arc (start -5.08 -2.54) (mid 0 -7.62) (end 5.08 -2.54)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 5.08 2.54)
(xy 5.08 -2.54)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -5.08 2.54)
(xy -5.08 -2.54)
(xy -5.08 -2.54)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(arc (start 5.08 2.54) (mid 0 7.62) (end -5.08 2.54)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "ECC81_1_0"
(polyline
(pts
(xy -2.54 -5.08)
(xy -2.54 -7.62)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0 5.08)
(xy 0 7.62)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "ECC81_1_1"
(polyline
(pts
(xy -5.08 0)
(xy -3.175 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.905 0)
(xy -3.175 0)
)
(stroke (width 0.1524) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -0.635 0)
(xy 0.635 0)
)
(stroke (width 0.1524) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 1.905 0)
(xy 3.175 0)
)
(stroke (width 0.1524) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -2.54 5.08)
(xy 2.794 5.08)
(xy 2.794 5.08)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(arc (start 2.54 -5.08) (mid 0 -3.0968) (end -2.54 -5.08)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(pin passive line (at 0 10.16 270) (length 2.54)
(name "A" (effects (font (size 1.016 1.016))))
(number "6" (effects (font (size 1.016 1.016))))
)
(pin input line (at -7.62 0 0) (length 2.54)
(name "G" (effects (font (size 1.016 1.016))))
(number "7" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -2.54 -10.16 90) (length 2.54)
(name "K" (effects (font (size 1.016 1.016))))
(number "8" (effects (font (size 1.016 1.016))))
)
)
(symbol "ECC81_2_0"
(polyline
(pts
(xy -2.54 -5.08)
(xy -2.54 -7.62)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 0 5.08)
(xy 0 7.62)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "ECC81_2_1"
(polyline
(pts
(xy -5.08 0)
(xy -3.175 0)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -1.905 0)
(xy -3.175 0)
)
(stroke (width 0.1524) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -0.635 0)
(xy 0.635 0)
)
(stroke (width 0.1524) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 1.905 0)
(xy 3.175 0)
)
(stroke (width 0.1524) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy -2.54 5.08)
(xy 2.794 5.08)
(xy 2.794 5.08)
)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(arc (start 2.54 -5.08) (mid 0 -3.0968) (end -2.54 -5.08)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
(pin passive line (at 0 10.16 270) (length 2.54)
(name "A" (effects (font (size 1.016 1.016))))
(number "1" (effects (font (size 1.016 1.016))))
)
(pin input line (at -7.62 0 0) (length 2.54)
(name "G" (effects (font (size 1.016 1.016))))
(number "2" (effects (font (size 1.016 1.016))))
)
(pin passive line (at -2.54 -10.16 90) (length 2.54)
(name "K" (effects (font (size 1.016 1.016))))
(number "3" (effects (font (size 1.016 1.016))))
)
)
(symbol "ECC81_3_1"
(arc (start 0 -6.35) (mid -1.27 -5.5651) (end -2.54 -6.35)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(arc (start 2.54 -6.35) (mid 1.27 -5.5651) (end 0 -6.35)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
(pin input line (at -2.54 -11.43 90) (length 5.08)
(name "F1" (effects (font (size 1.016 1.016))))
(number "4" (effects (font (size 1.016 1.016))))
)
(pin input line (at 2.54 -11.43 90) (length 5.08)
(name "F1" (effects (font (size 1.016 1.016))))
(number "5" (effects (font (size 1.016 1.016))))
)
(pin input line (at 0 -11.43 90) (length 5.08)
(name "F2" (effects (font (size 1.016 1.016))))
(number "9" (effects (font (size 1.016 1.016))))
)
)
)
(symbol "ECC83" (extends "ECC81")
(property "Reference" "U" (id 0) (at 3.302 7.874 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "ECC83" (id 1) (at 8.89 -7.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "VALVE-NOVAL_P" (id 2) (at 10.16 -8.89 0)
(effects (font (size 0.762 0.762)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
)
(symbol "GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "#PWR" (id 0) (at 0 -6.35 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "GND" (id 1) (at 0 -3.81 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "GND_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 -1.27)
(xy 1.27 -1.27)
(xy 0 -2.54)
(xy -1.27 -1.27)
(xy 0 -1.27)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "GND_1_1"
(pin power_in line (at 0 0 270) (length 0) hide
(name "GND" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
(property "Reference" "#FLG" (id 0) (at 0 2.413 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "PWR_FLAG" (id 1) (at 0 4.572 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(symbol "PWR_FLAG_0_0"
(pin power_out line (at 0 0 90) (length 0)
(name "pwr" (effects (font (size 0.508 0.508))))
(number "1" (effects (font (size 0.508 0.508))))
)
)
(symbol "PWR_FLAG_0_1"
(polyline
(pts
(xy 0 0)
(xy 0 1.27)
(xy -1.905 2.54)
(xy 0 3.81)
(xy 1.905 2.54)
(xy 0 1.27)
)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type none))
)
)
)
(symbol "R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "R" (id 0) (at 2.032 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "R" (id 1) (at 0 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (id 2) (at -1.778 0 90)
(effects (font (size 0.762 0.762)))
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 0.762 0.762)))
)
(property "ki_fp_filters" "R_* Resistor_*" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "R_0_1"
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type none))
)
)
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.27)
(name "~" (effects (font (size 1.524 1.524))))
(number "1" (effects (font (size 1.524 1.524))))
)
(pin passive line (at 0 -3.81 90) (length 1.27)
(name "~" (effects (font (size 1.524 1.524))))
(number "2" (effects (font (size 1.524 1.524))))
)
)
)
)
@@ -1,246 +1,65 @@
(footprint "Altech_AK300_1x02_P5.00mm_45-Degree"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Altech AK300 serie terminal block (Script generated with StandardBox.py) (http://www.altechcorp.com/PDFS/PCBMETRC.PDF)")
(tags "Altech AK300 serie connector")
(property "Reference" "REF**"
(at 0 -7.2 0)
(layer "F.SilkS")
(uuid "f668ae95-72d5-478e-8e29-6976957e88d1")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "IN"
(at 2.5 7.5 0)
(layer "F.Fab")
(uuid "f052de58-b666-4520-8cfc-5d5e44742081")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "bb7b92d7-d6f3-45f7-8634-1b1008d317d5")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "1295af40-e5df-49d7-881e-c304392033aa")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start -3 -6.5)
(end 0 -6.5)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "0aec1412-9508-4f77-9feb-a600563c07f3")
)
(fp_line
(start -3 -3.5)
(end -3 -6.5)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "03c457bc-45e5-4f65-81d5-9154cf0a99f9")
)
(fp_line
(start -2.62 -6.12)
(end -2.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "b225ac49-35d1-44f4-900e-9b6a43b52503")
)
(fp_line
(start -2.62 -6.12)
(end 7.62 -6.12)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "93f93325-b1aa-49dd-b19d-a8af38cf25ee")
)
(fp_line
(start -2.62 6.62)
(end 7.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c641413a-9cd3-4717-a60a-1498e6518ea0")
)
(fp_line
(start 7.62 -6.12)
(end 7.62 6.62)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "eea5a3c7-482a-44ce-961b-6bf34d161444")
)
(fp_line
(start -2.75 -6.25)
(end -2.75 6.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "c9712f4a-93fd-46f6-8296-2aed13555658")
)
(fp_line
(start -2.75 -6.25)
(end 7.75 -6.25)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "5ae61a3a-1542-4af8-aeda-6e9315bbd6b5")
)
(fp_line
(start -2.75 6.75)
(end 7.75 6.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "d112cef4-83db-4929-bdcc-9419899839d6")
)
(fp_line
(start 7.75 -6.25)
(end 7.75 6.75)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "1505bafd-5ac8-47b7-af2b-08ffb381b8d2")
)
(fp_line
(start -2.5 -5.5)
(end -2 -6)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "951bd5e3-fddb-46eb-85bc-74d4feb78848")
)
(fp_line
(start -2.5 6.5)
(end -2.5 -5.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "259547a5-49a4-4334-aaef-6c3bb6991ebf")
)
(fp_line
(start -2 -6)
(end 7.5 -6)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "26c44e55-b13b-46ce-872a-4c77376d244d")
)
(fp_line
(start 7.5 -6)
(end 7.5 6.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "dcef28de-896e-43cd-a4ab-e10421d032c8")
)
(fp_line
(start 7.5 6.5)
(end -2.5 6.5)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "be86e1c3-dc44-44a6-9c29-52746085cf4b")
)
(fp_text user "${REFERENCE}"
(at 2.7 2.75 0)
(layer "F.Fab")
(uuid "b6685002-56ab-465c-beb2-0ff5507a1e4f")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole rect
(at 0 0)
(size 3 3)
(drill 1.5)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "52cc78fc-0cff-45da-acd5-da98cbfbee77")
)
(pad "2" thru_hole circle
(at 5 0)
(size 3 3)
(drill 1.5)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "c279e659-509e-4229-ae40-413ac3663930")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
(footprint "Altech_AK300_1x02_P5.00mm_45-Degree" (version 20231007) (generator pcbnew)
(layer "F.Cu")
(descr "Altech AK300 serie terminal block (Script generated with StandardBox.py) (http://www.altechcorp.com/PDFS/PCBMETRC.PDF)")
(tags "Altech AK300 serie connector")
(property "Reference" "REF**" (at 0 -7.2 0) (layer "F.SilkS") (tstamp a5df8920-619f-4660-a7c0-9508f32d19b4)
(effects (font (size 1 1) (thickness 0.15)))
)
(property "Value" "Altech_AK300_1x02_P5.00mm_45-Degree" (at 2.5 7.5 0) (layer "F.Fab") (tstamp 51453d5b-8416-42d5-b697-37789f4390a1)
(effects (font (size 1 1) (thickness 0.15)))
)
(property "Footprint" "" (at 0 0 0 unlocked) (layer "F.Fab") hide (tstamp b84c4e03-a220-4a41-a08b-b7d1c5018166)
(effects (font (size 1.27 1.27)))
)
(property "Datasheet" "" (at 0 0 0 unlocked) (layer "F.Fab") hide (tstamp ffd9bc13-d027-46d3-a8e0-6eeb63e135e0)
(effects (font (size 1.27 1.27)))
)
(property "Description" "" (at 0 0 0 unlocked) (layer "F.Fab") hide (tstamp 0ee04152-28c7-4a61-b57e-2ad030d2d4fa)
(effects (font (size 1.27 1.27)))
)
(attr through_hole)
(fp_line (start -3 -6.5) (end 0 -6.5)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 269d3deb-834e-4030-9629-d3b88a7fc6d5))
(fp_line (start -3 -3.5) (end -3 -6.5)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4205dc7a-1e0f-4422-98b3-b344195e257d))
(fp_line (start -2.62 -6.12) (end -2.62 6.62)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e0e280ec-e337-46a9-861f-0352b117b3fe))
(fp_line (start -2.62 -6.12) (end 7.62 -6.12)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0cbe3b5b-03b5-4fa0-925a-acc1dfb3bf99))
(fp_line (start -2.62 6.62) (end 7.62 6.62)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 13a2fea4-8e48-41e4-b6a6-93746b51f682))
(fp_line (start 7.62 -6.12) (end 7.62 6.62)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 515d0375-b55d-4dee-a820-984401ced53c))
(fp_line (start -2.75 -6.25) (end -2.75 6.75)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ef6e32a3-d29f-4cbf-9f58-723e537a1e24))
(fp_line (start -2.75 -6.25) (end 7.75 -6.25)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a7a74fce-83cb-4739-8e68-82f2daa7759d))
(fp_line (start -2.75 6.75) (end 7.75 6.75)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1f62026d-4a9c-4648-9df9-e60eae9cd645))
(fp_line (start 7.75 -6.25) (end 7.75 6.75)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp fb01da13-418b-4730-8e9b-5ba48399db96))
(fp_line (start -2.5 -5.5) (end -2 -6)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cd42fdf4-fa58-4289-9d17-121d91d375b0))
(fp_line (start -2.5 6.5) (end -2.5 -5.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ef0f0afa-4b02-48fc-9750-48812233ccd6))
(fp_line (start -2 -6) (end 7.5 -6)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 54671b36-0cd1-4fd4-b650-272b43c9ee0d))
(fp_line (start 7.5 -6) (end 7.5 6.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 28b598e9-d5f0-4188-8951-9972dfb7a861))
(fp_line (start 7.5 6.5) (end -2.5 6.5)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dc887006-597c-468f-bd9d-8325fdff62e7))
(fp_text user "${REFERENCE}" (at 2.7 2.75 0) (layer "F.Fab") (tstamp 55eb1839-920b-46d1-8156-4370d0955915)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad "1" thru_hole rect (at 0 0) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask")
(tstamp 4e8019aa-c96c-4a28-ae71-397c1e99912c)
)
(pad "2" thru_hole circle (at 5 0) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask")
(tstamp 20f544b6-a2ac-4778-acab-426e32bf0925)
)
(model "${KICAD6_3DMODEL_DIR}/TerminalBlock_Altech.3dshapes/Altech_AK300_1x02_P5.00mm_45-Degree.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,256 +0,0 @@
(footprint "C_Axial_L12.0mm_D6.5mm_P20.00mm_Horizontal"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "C, Axial series, Axial, Horizontal, pin pitch=20mm, , length*diameter=12*6.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B300/STYROFLEX.pdf")
(tags "C Axial series Axial Horizontal pin pitch 20mm length 12mm diameter 6.5mm")
(property "Reference" "REF**"
(at 10 -4.37 0)
(layer "F.SilkS")
(uuid "b83bcf58-379c-4d58-b293-b0a930dcc7d1")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "680nF"
(at 10 4.37 0)
(layer "F.Fab")
(uuid "c023b25a-4ddb-4254-8ecf-fcd615bed6fc")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "b0861605-352e-476e-a6bf-275528032e6a")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "45b09c6f-379c-4967-bd54-3efd63bf4d8b")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 1.04 0)
(end 3.88 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "ea1ec9d2-ad83-4b47-a116-5a0e3adeeea3")
)
(fp_line
(start 3.88 -3.37)
(end 3.88 3.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "4a7e7adc-b64b-485b-907c-fb4254a61f2d")
)
(fp_line
(start 3.88 3.37)
(end 16.12 3.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "de144ba9-5359-4eac-b64b-130b173320e2")
)
(fp_line
(start 16.12 -3.37)
(end 3.88 -3.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "529348f7-4e30-41c9-a9cd-c9b46494c4b0")
)
(fp_line
(start 16.12 3.37)
(end 16.12 -3.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "7c7dd159-6b77-4b9a-ab10-6ad80dc4c373")
)
(fp_line
(start 18.96 0)
(end 16.12 0)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "a9e033e0-62bc-4d30-ad57-b893dba3cddc")
)
(fp_line
(start -1.05 -3.5)
(end -1.05 3.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "6cfb29db-1274-4253-bb0c-ec8e93c241e8")
)
(fp_line
(start -1.05 3.5)
(end 21.05 3.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "b3093a69-73db-4716-9a3c-f8917aed49f1")
)
(fp_line
(start 21.05 -3.5)
(end -1.05 -3.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "9a3555bb-81a1-4eb3-943b-cb1370bb6ff1")
)
(fp_line
(start 21.05 3.5)
(end 21.05 -3.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "5896332d-115a-4680-b183-33316ac47be5")
)
(fp_line
(start 0 0)
(end 4 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "9cc106dd-fed6-4ca9-8c9f-0fdb5cd231ec")
)
(fp_line
(start 4 -3.25)
(end 4 3.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "09bbc43e-363d-4848-9f59-70cbbf94b1a7")
)
(fp_line
(start 4 3.25)
(end 16 3.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "9e4332aa-15fa-4c2e-9414-77cd18522cc8")
)
(fp_line
(start 16 -3.25)
(end 4 -3.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "280c3032-48d7-4abd-a51d-45da284071ea")
)
(fp_line
(start 16 3.25)
(end 16 -3.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "7ad9f7a0-8f37-4a02-a907-7f5aef4a8c16")
)
(fp_line
(start 20 0)
(end 16 0)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "1f196516-6e50-49f4-9d0a-ff36c360bfa3")
)
(fp_text user "${REFERENCE}"
(at 10 0 0)
(layer "F.Fab")
(uuid "6856631d-c27e-4850-a422-27434e08d676")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "630b5808-630c-45ce-97eb-55cc5fa49592")
)
(pad "2" thru_hole oval
(at 20 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "35c03f30-5af1-4743-9777-808f4e4d666a")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/C_Axial_L12.0mm_D6.5mm_P20.00mm_Horizontal.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,236 +0,0 @@
(footprint "C_Disc_D4.7mm_W2.5mm_P5.00mm"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "C, Disc series, Radial, pin pitch=5.00mm, , diameter*width=4.7*2.5mm^2, Capacitor, http://www.vishay.com/docs/45233/krseries.pdf")
(tags "C Disc series Radial pin pitch 5.00mm diameter 4.7mm width 2.5mm Capacitor")
(property "Reference" "REF**"
(at 2.5 -2.5 0)
(layer "F.SilkS")
(uuid "359e5157-422b-48e5-900d-6280d6c0e9c7")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "680nF"
(at 2.5 2.5 0)
(layer "F.Fab")
(uuid "819dd1a4-f040-49c0-ab38-f9267460fbd3")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "1ef6befc-99fd-426d-8ebe-175eb66bed91")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "8028324e-bcbf-47a6-8851-07316585c1fd")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start 0.03 -1.37)
(end 0.03 -1.055)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "77c7d895-c487-4f44-803e-6808c0f01d9f")
)
(fp_line
(start 0.03 -1.37)
(end 4.97 -1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "2fb290fb-2593-48c9-a587-47fb489a2f88")
)
(fp_line
(start 0.03 1.055)
(end 0.03 1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "13cfae95-6232-464d-a103-a114b6c89a88")
)
(fp_line
(start 0.03 1.37)
(end 4.97 1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "e335b557-5f39-47be-8e37-325917a95f1a")
)
(fp_line
(start 4.97 -1.37)
(end 4.97 -1.055)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6a3e828b-4e8f-48ac-afda-8fd2038cdb87")
)
(fp_line
(start 4.97 1.055)
(end 4.97 1.37)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6e0ec8ae-c24a-4af1-b4d7-4df2e2f93d8a")
)
(fp_line
(start -1.05 -1.5)
(end -1.05 1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "9ce0ec6a-4e92-45db-9a88-fb0bc9d18b15")
)
(fp_line
(start -1.05 1.5)
(end 6.05 1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "80c9f314-dd6f-4d73-b930-3582313dc49b")
)
(fp_line
(start 6.05 -1.5)
(end -1.05 -1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "1b3ab0f9-fb16-44fc-8224-6b728e60b757")
)
(fp_line
(start 6.05 1.5)
(end 6.05 -1.5)
(stroke
(width 0.05)
(type solid)
)
(layer "F.CrtYd")
(uuid "52942795-140f-451e-ae6b-b00feb6df661")
)
(fp_line
(start 0.15 -1.25)
(end 0.15 1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "f6254046-96ac-49a0-ae70-6fb64d612190")
)
(fp_line
(start 0.15 1.25)
(end 4.85 1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "f7ced40c-d6b4-47af-b7da-4cd174dfccab")
)
(fp_line
(start 4.85 -1.25)
(end 0.15 -1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "6cf92062-e7ac-4be8-b1e8-7e0491c8e6a2")
)
(fp_line
(start 4.85 1.25)
(end 4.85 -1.25)
(stroke
(width 0.1)
(type solid)
)
(layer "F.Fab")
(uuid "4c8d4874-0e41-487a-bbda-98366a456f9b")
)
(fp_text user "${REFERENCE}"
(at 2.5 0 0)
(layer "F.Fab")
(uuid "7693c9f1-771d-4c24-bd44-ceab2d657a09")
(effects
(font
(size 0.94 0.94)
(thickness 0.141)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "2c338077-7ea7-4170-89cc-e935ec7e550b")
)
(pad "2" thru_hole circle
(at 5 0)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "29980109-2633-4a1a-9e11-2831dea5f81e")
)
(embedded_fonts no)
(model "${KICAD6_3DMODEL_DIR}/Capacitor_THT.3dshapes/C_Disc_D4.7mm_W2.5mm_P5.00mm.wrl"
(offset
(xyz 0 0 0)
)
(scale
(xyz 1 1 1)
)
(rotate
(xyz 0 0 0)
)
)
)
@@ -1,99 +1,23 @@
(footprint "MountingHole_3.2mm_M3_DIN965_Pad"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(descr "Mounting Hole 3.2mm, M3, DIN965")
(tags "mounting hole 3.2mm m3 din965")
(property "Reference" "REF**"
(at 0 -3.8 0)
(layer "F.SilkS")
(uuid "cb46684d-67b4-40b5-8ce0-a3dce4720a7c")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Value" "CONN_1"
(at 4.81 -3.34 0)
(layer "F.Fab")
(uuid "0bdcfaec-30b9-4c94-8f77-933ad01e444d")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "57f97f3d-bf91-43b2-93d2-f5c5f08c3ded")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(unlocked yes)
(layer "F.Fab")
(hide yes)
(uuid "612de7d1-ac1a-4f60-8ded-30206bc961c3")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole exclude_from_pos_files exclude_from_bom)
(fp_circle
(center 0 0)
(end 2.8 0)
(stroke
(width 0.15)
(type solid)
)
(fill no)
(layer "Cmts.User")
(uuid "cbbb8750-e16f-4b47-b3e0-96abe9a7400e")
)
(fp_circle
(center 0 0)
(end 3.05 0)
(stroke
(width 0.05)
(type solid)
)
(fill no)
(layer "F.CrtYd")
(uuid "17f85070-95bf-4598-8bc8-86e574802947")
)
(fp_text user "${REFERENCE}"
(at 0 0 0)
(layer "F.Fab")
(uuid "1cda2a3a-0309-4169-900b-bccb489afeb7")
(effects
(font
(size 1 1)
(thickness 0.15)
)
)
)
(pad "1" thru_hole circle
(at 0 0)
(size 5.6 5.6)
(drill 3.2)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "f83519af-94a9-42e1-9e18-aa84769f7256")
)
(embedded_fonts no)
(footprint "MountingHole_3.2mm_M3_DIN965_Pad" (version 20220427) (generator pcbnew)
(layer "F.Cu")
(descr "Mounting Hole 3.2mm, M3, DIN965")
(tags "mounting hole 3.2mm m3 din965")
(attr through_hole exclude_from_pos_files exclude_from_bom)
(fp_text reference "REF**" (at 0 -3.8) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp b9876f71-0e96-425b-9bd7-06557d4a46aa)
)
(fp_text value "MountingHole_3.2mm_M3_DIN965_Pad" (at 0 3.8) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 6900a814-a5b2-45eb-bb93-b38f9327f7b4)
)
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp fadc61ba-f885-4643-a287-3b23f9f82685)
)
(fp_circle (center 0 0) (end 2.8 0)
(stroke (width 0.15) (type solid)) (fill none) (layer "Cmts.User") (tstamp 955dfb6a-0078-4e36-a17b-29ffef82101d))
(fp_circle (center 0 0) (end 3.05 0)
(stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 7c3f3c61-2bfd-40ab-bf30-ab489db2bdcc))
(pad "1" thru_hole circle (at 0 0) (size 5.6 5.6) (drill 3.2) (layers *.Cu *.Mask) (tstamp 4bf03971-0604-4386-9440-7d22631cb33e))
)

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