|
KiCad PCB EDA Suite
|
#include <cstdint>#include <map>#include <optional>#include <string>#include <vector>#include <sch_io/orcad/orcad_records.h>#include <sch_io/orcad/orcad_stream.h>#include <sch_io/orcad/orcad_structures.h>Go to the source code of this file.
Functions | |
| std::optional< ORCAD_PRIMITIVE > | OrcadReadPrimitive (ORCAD_STREAM &aStream) |
| Consumes one primitive and its optional preamble. | |
| std::optional< ORCAD_SYMBOL_PIN > | OrcadReadSymbolPin (ORCAD_STRUCT_READER &aReader) |
| A zero byte marks an empty pin slot and returns nullopt. | |
| ORCAD_SYMBOL_DEF | OrcadReadSymbolDef (ORCAD_STRUCT_READER &aReader, const ORCAD_PREFIXES &aPrefixes, bool aWithPins) |
| Set aWithPins to read the trailing pin and property lists. | |
| ORCAD_SYMBOL_DEF | OrcadReadSthInPages0 (ORCAD_STRUCT_READER &aReader, const ORCAD_PREFIXES &aPrefixes) |
| ORCAD_DRAWN_INSTANCE | OrcadReadDrawnInstance (ORCAD_STRUCT_READER &aReader, const ORCAD_PREFIXES &aPrefixes) |
| ORCAD_DEVICE | OrcadReadDevice (ORCAD_STRUCT_READER &aReader) |
| ORCAD_PACKAGE | OrcadReadPackage (ORCAD_STRUCT_READER &aReader, const ORCAD_PREFIXES &aPrefixes) |
| void | OrcadParseCache (const std::vector< char > &aData, const std::vector< std::string > &aStrings, const ORCAD_WARN_FN &aWarn, std::map< std::string, ORCAD_SYMBOL_DEF > &aSymbols, std::map< std::string, ORCAD_PACKAGE > &aPackages) |
| The first entry is the default; later entries become variants. | |
| void | OrcadParseSymbolStream (const std::vector< char > &aData, const std::vector< std::string > &aStrings, std::map< std::string, ORCAD_SYMBOL_DEF > &aSymbols) |
| Throws IO_ERROR for invalid framing or trailing bytes. | |
| void | OrcadParsePackageStream (const std::vector< char > &aData, const std::vector< std::string > &aStrings, std::map< std::string, ORCAD_SYMBOL_DEF > &aSymbols, std::map< std::string, ORCAD_PACKAGE > &aPackages) |
| Package streams contain counted PartCells and LibraryParts, followed by one Package. | |
| void | OrcadMergeCacheStreams (std::map< std::string, ORCAD_SYMBOL_DEF > &aSymbols, std::map< std::string, ORCAD_PACKAGE > &aPackages, std::map< std::string, ORCAD_SYMBOL_DEF > &&aExtraSymbols, std::map< std::string, ORCAD_PACKAGE > &&aExtraPackages) |
| Existing symbols gain variants. | |
| void | OrcadMergeSymbolGeneralProperties (std::map< std::string, ORCAD_SYMBOL_DEF > &aSymbols, const std::map< std::string, ORCAD_SYMBOL_DEF > &aMetadataSymbols) |
| void OrcadMergeCacheStreams | ( | std::map< std::string, ORCAD_SYMBOL_DEF > & | aSymbols, |
| std::map< std::string, ORCAD_PACKAGE > & | aPackages, | ||
| std::map< std::string, ORCAD_SYMBOL_DEF > && | aExtraSymbols, | ||
| std::map< std::string, ORCAD_PACKAGE > && | aExtraPackages ) |
Existing symbols gain variants.
Existing packages retain their cache definition.
Definition at line 910 of file orcad_cache.cpp.
References name.
Referenced by SCH_IO_ORCAD::loadOlbSymbols(), and SCH_IO_ORCAD::LoadSchematicFile().
| void OrcadMergeSymbolGeneralProperties | ( | std::map< std::string, ORCAD_SYMBOL_DEF > & | aSymbols, |
| const std::map< std::string, ORCAD_SYMBOL_DEF > & | aMetadataSymbols ) |
Definition at line 960 of file orcad_cache.cpp.
References name.
Referenced by BOOST_AUTO_TEST_CASE(), and SCH_IO_ORCAD::LoadSchematicFile().
| void OrcadParseCache | ( | const std::vector< char > & | aData, |
| const std::vector< std::string > & | aStrings, | ||
| const ORCAD_WARN_FN & | aWarn, | ||
| std::map< std::string, ORCAD_SYMBOL_DEF > & | aSymbols, | ||
| std::map< std::string, ORCAD_PACKAGE > & | aPackages ) |
The first entry is the default; later entries become variants.
A body error preserves earlier entries and resumes at the declared structure end.
Definition at line 732 of file orcad_cache.cpp.
References ORCAD_STREAM::AtEnd(), cacheSectionAcceptsType(), ORCAD_PREFIXES::end, ORCAD_STREAM::ExpectByte(), ORCAD_STREAM::GetOffset(), group, IO_ERROR::Problem(), ORCAD_STREAM::ReadLzt(), ORCAD_STRUCT_READER::ReadPrefixes(), ORCAD_STREAM::ReadU16(), ORCAD_STREAM::ReadU32(), ORCAD_STREAM::ReadU8(), ORCAD_STREAM::Remaining(), ORCAD_STREAM::Seek(), ORCAD_STREAM::Size(), ORCAD_PREFIXES::start, storeFramedRecord(), THROW_IO_ERROR, and THROW_IO_ERRORF.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), SCH_IO_ORCAD::loadOlbSymbols(), and SCH_IO_ORCAD::LoadSchematicFile().
| void OrcadParsePackageStream | ( | const std::vector< char > & | aData, |
| const std::vector< std::string > & | aStrings, | ||
| std::map< std::string, ORCAD_SYMBOL_DEF > & | aSymbols, | ||
| std::map< std::string, ORCAD_PACKAGE > & | aPackages ) |
Package streams contain counted PartCells and LibraryParts, followed by one Package.
Definition at line 830 of file orcad_cache.cpp.
References ORCAD_PREFIXES::end, ORCAD_STREAM::GetOffset(), name, ORCAD_SYMBOL_DEF::name, ORCAD_ST_LIBRARY_PART, ORCAD_ST_PACKAGE, ORCAD_ST_PART_CELL, OrcadReadSymbolDef(), ORCAD_SYMBOL_DEF::props, ORCAD_STRUCT_READER::PropsDict(), ORCAD_STREAM::ReadLzt(), ORCAD_STRUCT_READER::ReadPrefixes(), ORCAD_STREAM::ReadU16(), ORCAD_STREAM::Remaining(), ORCAD_STREAM::Seek(), and THROW_IO_ERROR.
Referenced by SCH_IO_ORCAD::loadOlbSymbols(), and SCH_IO_ORCAD::LoadSchematicFile().
| void OrcadParseSymbolStream | ( | const std::vector< char > & | aData, |
| const std::vector< std::string > & | aStrings, | ||
| std::map< std::string, ORCAD_SYMBOL_DEF > & | aSymbols ) |
Throws IO_ERROR for invalid framing or trailing bytes.
Definition at line 812 of file orcad_cache.cpp.
References ORCAD_STREAM::AtEnd(), ORCAD_STRUCT_READER::ReadPrefixes(), storeFramedRecord(), THROW_IO_ERROR, THROW_IO_ERRORF, and ORCAD_PREFIXES::typeId.
Referenced by SCH_IO_ORCAD::loadOlbSymbols().
| ORCAD_DEVICE OrcadReadDevice | ( | ORCAD_STRUCT_READER & | aReader | ) |
Definition at line 609 of file orcad_cache.cpp.
References config, ORCAD_PREFIXES::end, ORCAD_STREAM::GetOffset(), ORCAD_ST_DEVICE, ORCAD_STREAM::PeekMatches(), ORCAD_DEVICE::pinIgnore, ORCAD_DEVICE::pinNumbers, ORCAD_STREAM::ReadLzt(), ORCAD_STRUCT_READER::ReadPrefixes(), ORCAD_STREAM::ReadU16(), ORCAD_STREAM::ReadU8(), ORCAD_DEVICE::refDes, ORCAD_STREAM::Seek(), ORCAD_STREAM::Skip(), ORCAD_STRUCT_READER::Stream(), and ORCAD_DEVICE::unitRef.
Referenced by OrcadReadPackage().
| ORCAD_DRAWN_INSTANCE OrcadReadDrawnInstance | ( | ORCAD_STRUCT_READER & | aReader, |
| const ORCAD_PREFIXES & | aPrefixes ) |
Definition at line 506 of file orcad_cache.cpp.
References ORCAD_SYMBOL_DEF::bbox, ORCAD_DRAWN_INSTANCE::dbId, ORCAD_DRAWN_INSTANCE::displayProps, ORCAD_PREFIXES::end, flag, ORCAD_STREAM::GetOffset(), ORCAD_DRAWN_INSTANCE::h, ORCAD_BLOCK_PIN::name, ORCAD_DRAWN_INSTANCE::name, ORCAD_BLOCK_PIN::noConnect, ORCAD_ST_LIBRARY_PART, OrcadReadDisplayPropList(), OrcadReadSymbolDef(), pin, ORCAD_DRAWN_INSTANCE::pins, ORCAD_SYMBOL_DEF::pins, ORCAD_BLOCK_PIN::portType, ORCAD_DRAWN_INSTANCE::props, ORCAD_STRUCT_READER::PropsDict(), ORCAD_STREAM::ReadI16(), ORCAD_STREAM::ReadLzt(), ORCAD_STRUCT_READER::ReadPrefixes(), ORCAD_STRUCT_READER::ReadStructure(), ORCAD_STREAM::ReadU16(), ORCAD_STREAM::ReadU32(), ORCAD_STREAM::ReadU8(), ORCAD_DRAWN_INSTANCE::reference, ORCAD_STRUCT_READER::Resolve(), result, ORCAD_STREAM::Seek(), ORCAD_STREAM::Skip(), ORCAD_PREFIXES::stops, ORCAD_STRUCT_READER::Stream(), THROW_IO_ERRORF, ORCAD_DRAWN_INSTANCE::w, ORCAD_BLOCK_PIN::x, ORCAD_BBOX::x1, ORCAD_DRAWN_INSTANCE::x1, ORCAD_BBOX::x2, ORCAD_BLOCK_PIN::y, ORCAD_BBOX::y1, ORCAD_DRAWN_INSTANCE::y1, and ORCAD_BBOX::y2.
Referenced by ORCAD_STRUCT_READER::ReadStructure().
| ORCAD_PACKAGE OrcadReadPackage | ( | ORCAD_STRUCT_READER & | aReader, |
| const ORCAD_PREFIXES & | aPrefixes ) |
Definition at line 646 of file orcad_cache.cpp.
References ORCAD_PACKAGE::devices, ORCAD_PREFIXES::end, ORCAD_STREAM::GetOffset(), ORCAD_PACKAGE::name, OrcadReadDevice(), ORCAD_PACKAGE::pcbFootprint, ORCAD_PACKAGE::props, ORCAD_STRUCT_READER::PropsDict(), ORCAD_STREAM::ReadLzt(), ORCAD_STREAM::ReadU16(), ORCAD_PACKAGE::refDes, ORCAD_STREAM::Seek(), ORCAD_PACKAGE::sourceLib, and ORCAD_STRUCT_READER::Stream().
| std::optional< ORCAD_PRIMITIVE > OrcadReadPrimitive | ( | ORCAD_STREAM & | aStream | ) |
Consumes one primitive and its optional preamble.
Throws IO_ERROR for invalid framing or length. Returns nullopt for a recognized body that is not supported.
Definition at line 316 of file orcad_cache.cpp.
References ORCAD_STREAM::GetOffset(), ORCAD_PRIM_SYMBOL_VECTOR, ORCAD_STREAM::ReadU8(), and THROW_IO_ERRORF.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and OrcadReadSymbolDef().
| ORCAD_SYMBOL_DEF OrcadReadSthInPages0 | ( | ORCAD_STRUCT_READER & | aReader, |
| const ORCAD_PREFIXES & | aPrefixes ) |
Definition at line 500 of file orcad_cache.cpp.
References OrcadReadSymbolDef().
Referenced by ORCAD_STRUCT_READER::ReadStructure().
| ORCAD_SYMBOL_DEF OrcadReadSymbolDef | ( | ORCAD_STRUCT_READER & | aReader, |
| const ORCAD_PREFIXES & | aPrefixes, | ||
| bool | aWithPins ) |
Set aWithPins to read the trailing pin and property lists.
Definition at line 377 of file orcad_cache.cpp.
References ORCAD_SYMBOL_DEF::bbox, ORCAD_SYMBOL_DEF::color, ORCAD_PREFIXES::end, ORCAD_SYMBOL_DEF::generalFlags, ORCAD_STREAM::GetOffset(), ORCAD_SYMBOL_DEF::name, ORCAD_ST_LIBRARY_PART, OrcadReadPrimitive(), OrcadReadSymbolPin(), ORCAD_STREAM::PeekMatches(), pin, ORCAD_SYMBOL_DEF::pins, ORCAD_SYMBOL_DEF::primitives, ORCAD_SYMBOL_DEF::props, ORCAD_STRUCT_READER::PropsDict(), ORCAD_STREAM::ReadI16(), ORCAD_STREAM::ReadLzt(), ORCAD_STRUCT_READER::ReadStructure(), ORCAD_STREAM::ReadU16(), ORCAD_STREAM::ReadU32(), save, ORCAD_STREAM::Seek(), ORCAD_STREAM::Skip(), ORCAD_SYMBOL_DEF::sourceLib, ORCAD_PREFIXES::stops, ORCAD_STRUCT_READER::Stream(), ORCAD_PREFIXES::typeId, ORCAD_SYMBOL_DEF::typeId, ORCAD_BBOX::x1, ORCAD_BBOX::x2, ORCAD_BBOX::y1, and ORCAD_BBOX::y2.
Referenced by BOOST_AUTO_TEST_CASE(), OrcadParsePackageStream(), OrcadReadDrawnInstance(), OrcadReadSthInPages0(), and storeFramedRecord().
| std::optional< ORCAD_SYMBOL_PIN > OrcadReadSymbolPin | ( | ORCAD_STRUCT_READER & | aReader | ) |
A zero byte marks an empty pin slot and returns nullopt.
Definition at line 335 of file orcad_cache.cpp.
References ORCAD_PREFIXES::end, ORCAD_STREAM::ExpectByte(), ORCAD_STREAM::GetOffset(), ORCAD_ST_SYMBOL_PIN_BUS, ORCAD_ST_SYMBOL_PIN_SCALAR, OrcadReadDisplayPropList(), PASSIVE, ORCAD_STREAM::PeekU8(), pin, ORCAD_STREAM::ReadI32(), ORCAD_STREAM::ReadLzt(), ORCAD_STRUCT_READER::ReadPrefixes(), ORCAD_STREAM::ReadU16(), ORCAD_STREAM::ReadU32(), ORCAD_STREAM::Seek(), ORCAD_STREAM::Skip(), ORCAD_STRUCT_READER::Stream(), THROW_IO_ERRORF, and ORCAD_PREFIXES::typeId.
Referenced by BOOST_AUTO_TEST_CASE(), and OrcadReadSymbolDef().