KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ipc2581_function_mode.h File Reference
#include <bitset>
#include <initializer_list>
#include <optional>
#include <vector>
#include <layer_ids.h>
#include <wx/string.h>

Go to the source code of this file.

Classes

class  IPC2581::SECTION_SET
 Set of schema sections. More...
 
class  IPC2581::SUPPRESS_SET
 Set of removed attributes. More...
 
struct  IPC2581::CONFLICT
 A requested combination that no legal file can hold. More...
 
struct  IPC2581::RESOLVE_RESULT
 

Namespaces

namespace  IPC2581
 

Enumerations

enum class  IPC2581::SECTION {
  IPC2581::PADSTACKS , IPC2581::BOM_AVL , IPC2581::PACKAGES , IPC2581::COMPONENTS ,
  IPC2581::STACKUP , IPC2581::PROFILE , IPC2581::SOLDERMASK , IPC2581::SOLDERPASTE ,
  IPC2581::SILKSCREEN , IPC2581::DRILL_ROUT , IPC2581::DOCUMENTATION , IPC2581::OUTER_COPPER ,
  IPC2581::INNER_COPPER , IPC2581::DIELECTRIC , IPC2581::MISC_FAB , IPC2581::LOGICAL_NET ,
  IPC2581::PHYSICAL_NET , IPC2581::DFX , IPC2581::COUNT
}
 Schema sections of the IPC-2581C function mode table, Table 4 p 80. More...
 
enum class  IPC2581::MODE {
  IPC2581::USERDEF , IPC2581::BOM , IPC2581::STACKUP , IPC2581::FABRICATION ,
  IPC2581::ASSEMBLY , IPC2581::TEST , IPC2581::STENCIL , IPC2581::DFX ,
  IPC2581::COUNT
}
 Columns of Table 4. More...
 
enum class  IPC2581::SECTION_RULE { IPC2581::EXCLUDED , IPC2581::RULE_OPTIONAL , IPC2581::REQUIRED }
 Table 4 cell values N O and Y. More...
 
enum class  IPC2581::REVISION { IPC2581::B , IPC2581::C }
 Schema revision The two revisions declare different identity constraints. More...
 
enum class  IPC2581::SUPPRESS {
  IPC2581::COMPONENT_REFDES , IPC2581::COMPONENT_PACKAGEREF , IPC2581::PINREF_COMPONENTREF , IPC2581::PAD_PADSTACKDEFREF ,
  IPC2581::BOM_REFDES , IPC2581::BOM_REFDES_LAYERREF , IPC2581::BOM_REFDES_PACKAGEREF , IPC2581::BOM_HEADER_STEPREF ,
  IPC2581::COUNT
}
 Optional attributes to remove when their schema section is absent. More...
 

Functions

char IPC2581::SectionKeyChar (SECTION aSection)
 Return the Table 4 key character for aSection.
 
std::optional< SECTIONIPC2581::SectionFromKeyChar (char aKey)
 Return the schema section for a Table 4 key character.
 
SECTION_RULE IPC2581::SectionRule (MODE aMode, SECTION aSection)
 Return the Table 4 cell for aMode and aSection.
 
SECTION_SET IPC2581::RequiredSections (MODE aMode)
 Schema sections that Table 4 marks Y for aMode.
 
SECTION_SET IPC2581::OptionalSections (MODE aMode)
 Schema sections that Table 4 marks O for aMode.
 
SECTION_SET IPC2581::RecommendedOptionalSections (MODE aMode)
 Optional schema sections that aMode selects by default.
 
SECTION_SET IPC2581::UnsupportedSections ()
 Schema sections that no KiCad board supplies.
 
SECTION_SET IPC2581::LegacySections ()
 Schema sections of the content that KiCad wrote before the function modes.
 
bool IPC2581::NeedsCadData (const SECTION_SET &aSet)
 True if an included schema section needs an Ecad/CadData element.
 
wxString IPC2581::SectionKeyString (const SECTION_SET &aSet)
 Give aSet as a sectionKey attribute value.
 
bool IPC2581::SectionSetFromKeyString (const wxString &aKey, SECTION_SET &aResult)
 Read a sectionKey attribute value Return false for an unknown character.
 
wxString IPC2581::ModeToken (MODE aMode)
 Table 4 function mode token such as FABRICATION.
 
std::optional< MODEIPC2581::ModeFromToken (const wxString &aToken)
 Read a Table 4 function mode token in upper case or in lower case.
 
bool IPC2581::ModeSupported (MODE aMode, REVISION aRevision)
 True if KiCad can write aMode for aRevision.
 
std::optional< SECTIONIPC2581::SectionForBoardLayer (PCB_LAYER_ID aLayer)
 Schema section that holds the artwork of aLayer.
 
std::optional< SECTIONIPC2581::SectionForLayerFunction (const wxString &aLayerFunction, const wxString &aSide=wxEmptyString)
 Schema section that holds the layers with aLayerFunction.
 
RESOLVE_RESULT IPC2581::ResolveSections (REVISION aRevision, MODE aMode, const SECTION_SET &aRequested)
 Compare aRequested with Table 4 and give the attributes to remove and the conflicts.