Collapse VIA_TOO_SMALL and MICROVIA_TOO_SMALL into VIA_DIAMETER.

We'll also check too large in future....
This commit is contained in:
Jeff Young 2020-09-18 16:50:41 +01:00
parent f340636f70
commit 73fc00ee69
3 changed files with 1 additions and 18 deletions

View File

@ -90,10 +90,6 @@ DRC_ITEM DRC_ITEM::trackWidth( DRCE_TRACK_WIDTH,
_( "Track width outside allowed limits" ), _( "Track width outside allowed limits" ),
wxT( "track_width" ) ); wxT( "track_width" ) );
DRC_ITEM DRC_ITEM::viaTooSmall( DRCE_TOO_SMALL_VIA,
_( "Via size too small" ),
wxT( "via_too_small" ) );
DRC_ITEM DRC_ITEM::annulus( DRCE_ANNULUS, DRC_ITEM DRC_ITEM::annulus( DRCE_ANNULUS,
_( "Annulus" ), _( "Annulus" ),
wxT( "annulus" ) ); wxT( "annulus" ) );
@ -114,10 +110,6 @@ DRC_ITEM DRC_ITEM::padstack( DRCE_PADSTACK,
_( "Padstack is not valid" ), _( "Padstack is not valid" ),
wxT( "padstack" ) ); wxT( "padstack" ) );
DRC_ITEM DRC_ITEM::microviaTooSmall( DRCE_TOO_SMALL_MICROVIA,
_( "Micro via size too small" ),
wxT( "microvia_too_small" ) );
DRC_ITEM DRC_ITEM::microviaDrillTooSmall( DRCE_TOO_SMALL_MICROVIA_DRILL, DRC_ITEM DRC_ITEM::microviaDrillTooSmall( DRCE_TOO_SMALL_MICROVIA_DRILL,
_( "Micro via drill too small" ), _( "Micro via drill too small" ),
wxT( "microvia_drill_too_small" ) ); wxT( "microvia_drill_too_small" ) );
@ -189,12 +181,10 @@ std::vector<std::reference_wrapper<RC_ITEM>> DRC_ITEM::allItemTypes( {
DRC_ITEM::holeNearHole, DRC_ITEM::holeNearHole,
DRC_ITEM::holeClearance, DRC_ITEM::holeClearance,
DRC_ITEM::trackWidth, DRC_ITEM::trackWidth,
DRC_ITEM::viaTooSmall,
DRC_ITEM::annulus, DRC_ITEM::annulus,
DRC_ITEM::drillTooSmall, DRC_ITEM::drillTooSmall,
DRC_ITEM::viaHoleLargerThanPad, DRC_ITEM::viaHoleLargerThanPad,
DRC_ITEM::padstack, DRC_ITEM::padstack,
DRC_ITEM::microviaTooSmall,
DRC_ITEM::microviaDrillTooSmall, DRC_ITEM::microviaDrillTooSmall,
DRC_ITEM::keepout, DRC_ITEM::keepout,
DRC_ITEM::courtyardsOverlap, DRC_ITEM::courtyardsOverlap,
@ -229,13 +219,11 @@ std::shared_ptr<DRC_ITEM> DRC_ITEM::Create( int aErrorCode )
case DRCE_DRILLED_HOLES_TOO_CLOSE: return std::make_shared<DRC_ITEM>( holeNearHole ); case DRCE_DRILLED_HOLES_TOO_CLOSE: return std::make_shared<DRC_ITEM>( holeNearHole );
case DRCE_HOLE_CLEARANCE: return std::make_shared<DRC_ITEM>( holeClearance ); case DRCE_HOLE_CLEARANCE: return std::make_shared<DRC_ITEM>( holeClearance );
case DRCE_TRACK_WIDTH: return std::make_shared<DRC_ITEM>( trackWidth ); case DRCE_TRACK_WIDTH: return std::make_shared<DRC_ITEM>( trackWidth );
case DRCE_TOO_SMALL_VIA: return std::make_shared<DRC_ITEM>( viaTooSmall );
case DRCE_ANNULUS: return std::make_shared<DRC_ITEM>( annulus ); case DRCE_ANNULUS: return std::make_shared<DRC_ITEM>( annulus );
case DRCE_TOO_SMALL_DRILL: return std::make_shared<DRC_ITEM>( drillTooSmall ); case DRCE_TOO_SMALL_DRILL: return std::make_shared<DRC_ITEM>( drillTooSmall );
case DRCE_VIA_HOLE_BIGGER: return std::make_shared<DRC_ITEM>( viaHoleLargerThanPad ); case DRCE_VIA_HOLE_BIGGER: return std::make_shared<DRC_ITEM>( viaHoleLargerThanPad );
case DRCE_VIA_DIAMETER: return std::make_shared<DRC_ITEM>( viaDiameter ); case DRCE_VIA_DIAMETER: return std::make_shared<DRC_ITEM>( viaDiameter );
case DRCE_PADSTACK: return std::make_shared<DRC_ITEM>( padstack ); case DRCE_PADSTACK: return std::make_shared<DRC_ITEM>( padstack );
case DRCE_TOO_SMALL_MICROVIA: return std::make_shared<DRC_ITEM>( microviaTooSmall );
case DRCE_TOO_SMALL_MICROVIA_DRILL: return std::make_shared<DRC_ITEM>( microviaDrillTooSmall ); case DRCE_TOO_SMALL_MICROVIA_DRILL: return std::make_shared<DRC_ITEM>( microviaDrillTooSmall );
case DRCE_KEEPOUT: return std::make_shared<DRC_ITEM>( keepout ); case DRCE_KEEPOUT: return std::make_shared<DRC_ITEM>( keepout );
case DRCE_OVERLAPPING_FOOTPRINTS: return std::make_shared<DRC_ITEM>( courtyardsOverlap ); case DRCE_OVERLAPPING_FOOTPRINTS: return std::make_shared<DRC_ITEM>( courtyardsOverlap );

View File

@ -46,13 +46,11 @@ enum PCB_DRC_CODE {
DRCE_DRILLED_HOLES_TOO_CLOSE, // overlapping drilled holes break drill bits DRCE_DRILLED_HOLES_TOO_CLOSE, // overlapping drilled holes break drill bits
DRCE_HOLE_CLEARANCE, // DRCE_HOLE_CLEARANCE, //
DRCE_TRACK_WIDTH, // Track width is too small or too large DRCE_TRACK_WIDTH, // Track width is too small or too large
DRCE_TOO_SMALL_VIA, // Too small via size
DRCE_ANNULUS, // Via size and drill leave annulus too small or too large DRCE_ANNULUS, // Via size and drill leave annulus too small or too large
DRCE_TOO_SMALL_DRILL, // Too small via or pad drill DRCE_TOO_SMALL_DRILL, // Too small via or pad drill
DRCE_VIA_HOLE_BIGGER, // via's hole is bigger than its diameter DRCE_VIA_HOLE_BIGGER, // via's hole is bigger than its diameter
DRCE_VIA_DIAMETER, // Via diameter checks (min/max) DRCE_VIA_DIAMETER, // Via diameter checks (min/max)
DRCE_PADSTACK, // something is wrong with a pad or via stackup DRCE_PADSTACK, // something is wrong with a pad or via stackup
DRCE_TOO_SMALL_MICROVIA, // Too small micro via size
DRCE_TOO_SMALL_MICROVIA_DRILL, // Too small micro via drill DRCE_TOO_SMALL_MICROVIA_DRILL, // Too small micro via drill
DRCE_KEEPOUT, // A disallowed object is inside a keepout DRCE_KEEPOUT, // A disallowed object is inside a keepout
DRCE_OVERLAPPING_FOOTPRINTS, // footprint courtyards overlap DRCE_OVERLAPPING_FOOTPRINTS, // footprint courtyards overlap
@ -127,13 +125,11 @@ private:
static DRC_ITEM holeNearHole; static DRC_ITEM holeNearHole;
static DRC_ITEM holeClearance; static DRC_ITEM holeClearance;
static DRC_ITEM trackWidth; static DRC_ITEM trackWidth;
static DRC_ITEM viaTooSmall;
static DRC_ITEM annulus; static DRC_ITEM annulus;
static DRC_ITEM drillTooSmall; static DRC_ITEM drillTooSmall;
static DRC_ITEM viaHoleLargerThanPad; static DRC_ITEM viaHoleLargerThanPad;
static DRC_ITEM viaDiameter; static DRC_ITEM viaDiameter;
static DRC_ITEM padstack; static DRC_ITEM padstack;
static DRC_ITEM microviaTooSmall;
static DRC_ITEM microviaDrillTooSmall; static DRC_ITEM microviaDrillTooSmall;
static DRC_ITEM keepout; static DRC_ITEM keepout;
static DRC_ITEM courtyardsOverlap; static DRC_ITEM courtyardsOverlap;

View File

@ -30,8 +30,7 @@
Via diameter test. Via diameter test.
Errors generated: Errors generated:
- DRCE_TOO_SMALL_VIA - DRCE_VIA_DIAMETER
- DRCE_TOO_SMALL_MICROVIA
*/ */
class DRC_TEST_PROVIDER_VIA_DIAMETER : public DRC_TEST_PROVIDER class DRC_TEST_PROVIDER_VIA_DIAMETER : public DRC_TEST_PROVIDER