KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcb_io_ipc2581.cpp File Reference
#include "pcb_io_ipc2581.h"
#include "ipc2581_types.h"
#include <base_units.h>
#include <bezier_curves.h>
#include <board.h>
#include <board_design_settings.h>
#include <board_stackup_manager/stackup_predefined_prms.h>
#include <build_version.h>
#include <callback_gal.h>
#include <connectivity/connectivity_data.h>
#include <connectivity/connectivity_algo.h>
#include <convert_basic_shapes_to_polygon.h>
#include <font/font.h>
#include <hash_eda.h>
#include <pcb_dimension.h>
#include <pcb_textbox.h>
#include <pgm_base.h>
#include <progress_reporter.h>
#include <settings/settings_manager.h>
#include <string_utils.h>
#include <wx_fstream_progress.h>
#include <geometry/shape_line_chain.h>
#include <geometry/shape_poly_set.h>
#include <geometry/shape_segment.h>
#include <wx/log.h>
#include <wx/numformatter.h>
#include <wx/xml/xml.h>

Go to the source code of this file.

Functions

static surfaceFinishType getSurfaceFinishType (const wxString &aFinish)
 
static bool isOppositeSideSilk (const FOOTPRINT *aFootprint, PCB_LAYER_ID aLayer)
 

Variables

static const wxChar traceIpc2581 [] = wxT( "KICAD_IPC_2581" )
 This program source code file is part of KiCad, a free EDA CAD application.
 
static const std::map< wxString, surfaceFinishTypesurfaceFinishMap
 Map KiCad surface finish strings to IPC-6012 surfaceFinishType enum.
 
static const std::map< surfaceFinishType, wxString > surfaceFinishTypeToString
 Map surfaceFinishType enum to IPC-2581 XML string values.
 

Function Documentation

◆ getSurfaceFinishType()

static surfaceFinishType getSurfaceFinishType ( const wxString & aFinish)
static

◆ isOppositeSideSilk()

static bool isOppositeSideSilk ( const FOOTPRINT * aFootprint,
PCB_LAYER_ID aLayer )
static

Variable Documentation

◆ surfaceFinishMap

const std::map<wxString, surfaceFinishType> surfaceFinishMap
static
Initial value:
=
{
{ wxEmptyString, surfaceFinishType::NONE },
{ wxT( "ENIG" ), surfaceFinishType::ENIG_N },
{ wxT( "ENEPIG" ), surfaceFinishType::ENEPIG_N },
{ wxT( "HAL SNPB" ), surfaceFinishType::S },
{ wxT( "HAL LEAD-FREE" ), surfaceFinishType::S },
{ wxT( "HARD GOLD" ), surfaceFinishType::G },
{ wxT( "IMMERSION TIN" ), surfaceFinishType::ISN },
{ wxT( "IMMERSION NICKEL" ), surfaceFinishType::N },
{ wxT( "IMMERSION SILVER" ), surfaceFinishType::IAG },
{ wxT( "IMMERSION GOLD" ), surfaceFinishType::DIG },
{ wxT( "HT_OSP" ), surfaceFinishType::HT_OSP },
{ wxT( "OSP" ), surfaceFinishType::OSP },
{ wxT( "NONE" ), surfaceFinishType::NONE },
{ wxT( "NOT SPECIFIED" ), surfaceFinishType::NONE },
{ wxT( "USER DEFINED" ), surfaceFinishType::NONE },
}
@ DIG
Direct Immersion Gold.
@ IAG
Immersion Silver.
@ ISN
Immersion Tin.
@ S
Solder (HASL/SMOBC)
@ HT_OSP
High Temperature OSP.
@ ENEPIG_N
ENEPIG for soldering (normal gold thickness)
@ NONE
No surface finish / not specified - skip coating layer generation.
@ OSP
Organic Solderability Preservative.
@ G
Gold (hard gold)
@ ENIG_N
ENIG for soldering (normal gold thickness)

Map KiCad surface finish strings to IPC-6012 surfaceFinishType enum.

Definition at line 63 of file pcb_io_ipc2581.cpp.

Referenced by getSurfaceFinishType().

◆ surfaceFinishTypeToString

const std::map<surfaceFinishType, wxString> surfaceFinishTypeToString
static
Initial value:
=
{
{ surfaceFinishType::ENIG_N, wxT( "ENIG-N" ) },
{ surfaceFinishType::ENEPIG_N, wxT( "ENEPIG-N" ) },
{ surfaceFinishType::OSP, wxT( "OSP" ) },
{ surfaceFinishType::HT_OSP, wxT( "HT_OSP" ) },
{ surfaceFinishType::IAG, wxT( "IAg" ) },
{ surfaceFinishType::ISN, wxT( "ISn" ) },
{ surfaceFinishType::G, wxT( "G" ) },
{ surfaceFinishType::N, wxT( "N" ) },
{ surfaceFinishType::DIG, wxT( "DIG" ) },
{ surfaceFinishType::S, wxT( "S" ) },
{ surfaceFinishType::OTHER, wxT( "OTHER" ) },
}
@ OTHER
Non-standard finish.

Map surfaceFinishType enum to IPC-2581 XML string values.

Definition at line 86 of file pcb_io_ipc2581.cpp.

Referenced by PCB_IO_IPC2581::generateCadSpecs().