From cb2dfcde8352f6418b2081b63bd372bd99ab68fc Mon Sep 17 00:00:00 2001 From: Tomasz Wlostowski Date: Sat, 26 Sep 2020 22:42:09 +0200 Subject: [PATCH] drc: error codes for diff-pair related stuff --- pcbnew/drc/drc_item.cpp | 15 +++++++++++++-- pcbnew/drc/drc_item.h | 4 ++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pcbnew/drc/drc_item.cpp b/pcbnew/drc/drc_item.cpp index ac77dafdcb..f6678c517c 100644 --- a/pcbnew/drc/drc_item.cpp +++ b/pcbnew/drc/drc_item.cpp @@ -186,6 +186,14 @@ DRC_ITEM DRC_ITEM::tooManyVias( DRCE_TOO_MANY_VIAS, _( "Too many vias on a connection" ), wxT( "too_many_vias" ) ); +DRC_ITEM DRC_ITEM::diffPairGapOutOfRange( DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE, + _( "Differential pair gap out of range" ), + wxT( "diff_pair_gap_out_of_range" ) ); + +DRC_ITEM DRC_ITEM::diffPairUncoupledLengthTooLong( DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG, + _( "Differential uncoupled length too long" ), + wxT( "diff_pair_uncoupled_length_too_long" ) ); + std::vector> DRC_ITEM::allItemTypes( { DRC_ITEM::unconnectedItems, DRC_ITEM::shortingItems, @@ -222,7 +230,9 @@ std::vector> DRC_ITEM::allItemTypes( { DRC_ITEM::silkOverPad, DRC_ITEM::lengthOutOfRange, DRC_ITEM::skewOutOfRange, - DRC_ITEM::tooManyVias + DRC_ITEM::tooManyVias, + DRC_ITEM::diffPairGapOutOfRange, + DRC_ITEM::diffPairUncoupledLengthTooLong } ); @@ -267,7 +277,8 @@ std::shared_ptr DRC_ITEM::Create( int aErrorCode ) case DRCE_LENGTH_OUT_OF_RANGE: return std::make_shared( lengthOutOfRange ); case DRCE_SKEW_OUT_OF_RANGE: return std::make_shared( skewOutOfRange ); case DRCE_TOO_MANY_VIAS: return std::make_shared( tooManyVias ); - + case DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE: return std::make_shared( diffPairGapOutOfRange ); + case DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG: return std::make_shared( diffPairUncoupledLengthTooLong ); default: wxFAIL_MSG( "Unknown DRC error code" ); return nullptr; diff --git a/pcbnew/drc/drc_item.h b/pcbnew/drc/drc_item.h index b46b3bd14b..75434d94ad 100644 --- a/pcbnew/drc/drc_item.h +++ b/pcbnew/drc/drc_item.h @@ -74,6 +74,8 @@ enum PCB_DRC_CODE { DRCE_SKEW_OUT_OF_RANGE, DRCE_TOO_MANY_VIAS, + DRCE_DIFF_PAIR_GAP_OUT_OF_RANGE, + DRCE_DIFF_PAIR_UNCOUPLED_LENGTH_TOO_LONG, DRCE_LAST = DRCE_TOO_MANY_VIAS }; @@ -155,6 +157,8 @@ private: static DRC_ITEM lengthOutOfRange; static DRC_ITEM skewOutOfRange; static DRC_ITEM tooManyVias; + static DRC_ITEM diffPairGapOutOfRange; + static DRC_ITEM diffPairUncoupledLengthTooLong; private: DRC_RULE* m_violatingRule = nullptr;