KiCad PCB EDA Suite
Loading...
Searching...
No Matches
CADSTAR_PART_ENTRY Struct Reference

#include <cadstar_parts_lib_model.h>

Public Attributes

std::string m_Name
 
std::optional< std::string > m_Number
 
std::optional< std::string > m_Version
 
std::optional< std::string > m_Description
 
std::string m_Pcb_component
 
std::optional< std::string > m_Pcb_alternate
 
std::optional< std::string > m_Value
 
std::optional< std::string > m_PartDefinitionName
 
std::string m_ComponentStem = ""
 
std::optional< long > m_MaxPinCount
 
std::optional< std::string > m_SpicePartName
 
std::optional< std::string > m_SpiceModel
 
std::optional< std::string > m_AcceptancePartName
 
std::optional< std::string > m_AcceptanceText
 
bool m_GateSwappingAllowed = true
 
bool m_PinsVisible = true
 
std::map< long, std::string > m_PinNamesMap
 Map of pin identifiers to alphanumeric pin names Pin names can be a maximum of 10 characters (Typically used for naming of BGA pads - equivalent to KiCad Pin Numbers)
 
std::map< long, std::string > m_PinLabelsMap
 Map of pin identifiers to alphanumeric pin labels.
 
std::vector< std::vector< long > > m_PinEquivalences
 Groups of pins that are interchangeable with each other.
 
std::vector< CADSTAR_SWAP_GROUPm_InternalSwapGroup
 Groups of INTERNAL gates that are interchangeable with each other.
 
std::vector< CADSTAR_SWAP_GROUPm_ExternalSwapGroup
 Groups of EXTERNAL gates that are interchangeable with each other.
 
std::map< std::string, std::string > m_UserAttributes
 Star (*) line *<User-defined name> This line is ignored by CADSTAR.
 
std::map< std::string, CADSTAR_ATTRIBUTE_VALUEm_SchAttributes
 Dollar sign ($) line $[!]<SCM Attribute name>(<Attribute value>) Attributes related to the schematic symbol.
 
std::map< std::string, CADSTAR_ATTRIBUTE_VALUEm_PcbAttributes
 Percentage sign (%) line %[!]<PCB Attribute name>(<Attribute value>) Attributes related to the PCB component / footprint.
 
std::map< std::string, CADSTAR_ATTRIBUTE_VALUEm_SchAndPcbAttributes
 At symbol (@) line [@[!]<SCM/PCB Attribute name>(<Attribute value>)] Attributes related to the PCB component AND the schematic symbol.
 
std::map< std::string, CADSTAR_ATTRIBUTE_VALUEm_PartAttributes
 Tilde (~) line ~[!]<Parts Library Attribute Name>(<Attribute Value>) Attributes related to the Part itself.
 
std::vector< CADSTAR_PART_SYMBOL_ENTRYm_Symbols
 Symbols that form this part.
 
std::map< std::string, std::vector< CADSTAR_PART_PIN > > m_HiddenPins
 Pins with an implied electrical connection to a net, not part of any symbol (Note: we probably will need to import these into the first gate)
 

Detailed Description

Definition at line 49 of file cadstar_parts_lib_model.h.

Member Data Documentation

◆ m_AcceptancePartName

std::optional<std::string> CADSTAR_PART_ENTRY::m_AcceptancePartName

◆ m_AcceptanceText

std::optional<std::string> CADSTAR_PART_ENTRY::m_AcceptanceText

Definition at line 66 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE().

◆ m_ComponentStem

std::string CADSTAR_PART_ENTRY::m_ComponentStem = ""

◆ m_Description

std::optional<std::string> CADSTAR_PART_ENTRY::m_Description

◆ m_ExternalSwapGroup

std::vector<CADSTAR_SWAP_GROUP> CADSTAR_PART_ENTRY::m_ExternalSwapGroup

Groups of EXTERNAL gates that are interchangeable with each other.

E.g: *SYM SYM2 *EXT 1 3 *EXT 2 5

The gate described by pins 1 and 3 above, can be swapped internally with the gate decribed by pins 2 and 5 AND they can be swapped with same gates in another part

Definition at line 116 of file cadstar_parts_lib_model.h.

◆ m_GateSwappingAllowed

bool CADSTAR_PART_ENTRY::m_GateSwappingAllowed = true

Definition at line 68 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE().

◆ m_HiddenPins

std::map<std::string, std::vector<CADSTAR_PART_PIN> > CADSTAR_PART_ENTRY::m_HiddenPins

Pins with an implied electrical connection to a net, not part of any symbol (Note: we probably will need to import these into the first gate)

First = name of net (e.g. VCC/GND) Second = list of pins of the part that are connected to this net

Definition at line 172 of file cadstar_parts_lib_model.h.

Referenced by CADSTAR_LIB_PARSER_ACTION< HIDDEN_PIN_ENTRY >::apply0(), BOOST_AUTO_TEST_CASE(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_InternalSwapGroup

std::vector<CADSTAR_SWAP_GROUP> CADSTAR_PART_ENTRY::m_InternalSwapGroup

Groups of INTERNAL gates that are interchangeable with each other.

E.g: *SYM SYM1 *INT 1 3 *INT 2 5

The gate described by pins 1 and 3 above, can be swapped internally with the gate decribed by pins 2 and 5 but they CANNOT be swapped with gates in another part

Definition at line 104 of file cadstar_parts_lib_model.h.

◆ m_MaxPinCount

std::optional<long> CADSTAR_PART_ENTRY::m_MaxPinCount

Definition at line 60 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE().

◆ m_Name

std::string CADSTAR_PART_ENTRY::m_Name

◆ m_Number

std::optional<std::string> CADSTAR_PART_ENTRY::m_Number

◆ m_PartAttributes

std::map<std::string, CADSTAR_ATTRIBUTE_VALUE> CADSTAR_PART_ENTRY::m_PartAttributes

Tilde (~) line ~[!]<Parts Library Attribute Name>(<Attribute Value>) Attributes related to the Part itself.

It cannot be displayed on the PCB or schematic but it is used in CADSTAR to search for parts in the library browser Is set to read-only if exclamation mark (!) is present

Definition at line 158 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_PartDefinitionName

std::optional<std::string> CADSTAR_PART_ENTRY::m_PartDefinitionName

Definition at line 58 of file cadstar_parts_lib_model.h.

◆ m_Pcb_alternate

std::optional<std::string> CADSTAR_PART_ENTRY::m_Pcb_alternate

◆ m_Pcb_component

std::string CADSTAR_PART_ENTRY::m_Pcb_component

◆ m_PcbAttributes

std::map<std::string, CADSTAR_ATTRIBUTE_VALUE> CADSTAR_PART_ENTRY::m_PcbAttributes

Percentage sign (%) line %[!]<PCB Attribute name>(<Attribute value>) Attributes related to the PCB component / footprint.

Is set to read-only if exclamation mark (!) is present

Definition at line 140 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_PinEquivalences

std::vector<std::vector<long> > CADSTAR_PART_ENTRY::m_PinEquivalences

Groups of pins that are interchangeable with each other.

E.g: *EQU 2=1, 6=5, 8=9=10, 12=13

Definition at line 92 of file cadstar_parts_lib_model.h.

◆ m_PinLabelsMap

std::map<long, std::string> CADSTAR_PART_ENTRY::m_PinLabelsMap

Map of pin identifiers to alphanumeric pin labels.

Equivalent to KiCad Pin Names

E.g: *PLB 1=STROBE 2=OFFSET 3=OFFSET 5=+ 6=+v

Definition at line 85 of file cadstar_parts_lib_model.h.

Referenced by CADSTAR_LIB_PARSER_ACTION< PINLABEL_ENTRY >::apply0(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_PinNamesMap

std::map<long, std::string> CADSTAR_PART_ENTRY::m_PinNamesMap

Map of pin identifiers to alphanumeric pin names Pin names can be a maximum of 10 characters (Typically used for naming of BGA pads - equivalent to KiCad Pin Numbers)

E.g: *PNM 1=A1 2=A2 3=A3 4=B1 5=B2 6=B3

Definition at line 78 of file cadstar_parts_lib_model.h.

Referenced by CADSTAR_LIB_PARSER_ACTION< PINNAME_ENTRY >::apply0(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_PinsVisible

bool CADSTAR_PART_ENTRY::m_PinsVisible = true

◆ m_SchAndPcbAttributes

std::map<std::string, CADSTAR_ATTRIBUTE_VALUE> CADSTAR_PART_ENTRY::m_SchAndPcbAttributes

At symbol (@) line [@[!]<SCM/PCB Attribute name>(<Attribute value>)] Attributes related to the PCB component AND the schematic symbol.

Is set to read-only if exclamation mark (!) is present

Definition at line 148 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_SchAttributes

std::map<std::string, CADSTAR_ATTRIBUTE_VALUE> CADSTAR_PART_ENTRY::m_SchAttributes

Dollar sign ($) line $[!]<SCM Attribute name>(<Attribute value>) Attributes related to the schematic symbol.

Is set to read-only if exclamation mark (!) is present

Definition at line 132 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_SpiceModel

std::optional<std::string> CADSTAR_PART_ENTRY::m_SpiceModel

◆ m_SpicePartName

std::optional<std::string> CADSTAR_PART_ENTRY::m_SpicePartName

Definition at line 62 of file cadstar_parts_lib_model.h.

Referenced by BOOST_AUTO_TEST_CASE().

◆ m_Symbols

std::vector<CADSTAR_PART_SYMBOL_ENTRY> CADSTAR_PART_ENTRY::m_Symbols

◆ m_UserAttributes

std::map<std::string, std::string> CADSTAR_PART_ENTRY::m_UserAttributes

Star (*) line *<User-defined name> This line is ignored by CADSTAR.

Usually they are used by third party tools. These lines are treated as attributes of the Parts library (i.e. Attribute Type = Parts Library).

Definition at line 124 of file cadstar_parts_lib_model.h.

Referenced by CADSTAR_LIB_PARSER_ACTION< USER_PART_ATTRIBUTE >::apply(), BOOST_AUTO_TEST_CASE(), and CADSTAR_SCH_ARCHIVE_LOADER::loadLibPart().

◆ m_Value

std::optional<std::string> CADSTAR_PART_ENTRY::m_Value

◆ m_Version

std::optional<std::string> CADSTAR_PART_ENTRY::m_Version

The documentation for this struct was generated from the following file: