Fixed bug in FlipLayerMask
- Offset for internal copper layers was incorrect - Incorrect mask was used
This commit is contained in:
parent
7e0fa329d0
commit
363fc598c0
|
@ -554,20 +554,25 @@ LSET FlipLayerMask( LSET aMask, int aCopperLayersCount )
|
|||
|
||||
if( aCopperLayersCount >= 4 ) // Internal layers exist
|
||||
{
|
||||
LSET internalMask = aMask & ~LSET::InternalCuMask();
|
||||
LSET internalMask = aMask & LSET::InternalCuMask();
|
||||
|
||||
if( internalMask != LSET::InternalCuMask() )
|
||||
{ // the mask does not include all internal layers. Therefore
|
||||
{
|
||||
// the mask does not include all internal layers. Therefore
|
||||
// the flipped mask for internal copper layers must be built
|
||||
|
||||
int innerLayerCnt = aCopperLayersCount -2;
|
||||
|
||||
for( int ii = 0; ii < innerLayerCnt; ii++ )
|
||||
{
|
||||
//TODO there is a problem with this code
|
||||
if( internalMask[innerLayerCnt - ii + In1_Cu] )
|
||||
if( internalMask[innerLayerCnt - ii] )
|
||||
{
|
||||
newMask.set( ii + In1_Cu );
|
||||
}
|
||||
else
|
||||
{
|
||||
newMask.reset( ii + In1_Cu );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue