Separate actions for single track and differential pair length tuning.

This commit is contained in:
Alex Shvartzkop 2024-02-08 17:21:28 +03:00 committed by dsa-t
parent b4c361f5cc
commit f1caa262a6
7 changed files with 25 additions and 12 deletions

View File

@ -653,9 +653,6 @@ PCB_TUNING_PATTERN* PCB_TUNING_PATTERN::CreateNew( GENERATOR_TOOL* aTool,
DRC_CONSTRAINT constraint; DRC_CONSTRAINT constraint;
PCB_LAYER_ID layer = aStartItem->GetLayer(); PCB_LAYER_ID layer = aStartItem->GetLayer();
if( aMode == SINGLE && board->DpCoupledNet( aStartItem->GetNet() ) )
aMode = DIFF_PAIR;
PCB_TUNING_PATTERN* pattern = new PCB_TUNING_PATTERN( board, layer, aMode ); PCB_TUNING_PATTERN* pattern = new PCB_TUNING_PATTERN( board, layer, aMode );
switch( aMode ) switch( aMode )

View File

@ -356,7 +356,8 @@ void PCB_EDIT_FRAME::doReCreateMenuBar()
routeMenu->Add( PCB_ACTIONS::routeDiffPair ); routeMenu->Add( PCB_ACTIONS::routeDiffPair );
routeMenu->AppendSeparator(); routeMenu->AppendSeparator();
routeMenu->Add( PCB_ACTIONS::tuneLength ); routeMenu->Add( PCB_ACTIONS::tuneSingleTrack );
routeMenu->Add( PCB_ACTIONS::tuneDiffPair );
routeMenu->Add( PCB_ACTIONS::tuneSkew ); routeMenu->Add( PCB_ACTIONS::tuneSkew );
routeMenu->AppendSeparator(); routeMenu->AppendSeparator();

View File

@ -954,7 +954,8 @@ void PCB_EDIT_FRAME::setupUIConditions()
CURRENT_EDIT_TOOL( PCB_ACTIONS::placeFootprint ); CURRENT_EDIT_TOOL( PCB_ACTIONS::placeFootprint );
CURRENT_EDIT_TOOL( PCB_ACTIONS::routeSingleTrack); CURRENT_EDIT_TOOL( PCB_ACTIONS::routeSingleTrack);
CURRENT_EDIT_TOOL( PCB_ACTIONS::routeDiffPair ); CURRENT_EDIT_TOOL( PCB_ACTIONS::routeDiffPair );
CURRENT_EDIT_TOOL( PCB_ACTIONS::tuneLength ); CURRENT_EDIT_TOOL( PCB_ACTIONS::tuneSingleTrack);
CURRENT_EDIT_TOOL( PCB_ACTIONS::tuneDiffPair );
CURRENT_EDIT_TOOL( PCB_ACTIONS::tuneSkew ); CURRENT_EDIT_TOOL( PCB_ACTIONS::tuneSkew );
CURRENT_EDIT_TOOL( PCB_ACTIONS::drawVia ); CURRENT_EDIT_TOOL( PCB_ACTIONS::drawVia );
CURRENT_EDIT_TOOL( PCB_ACTIONS::drawZone ); CURRENT_EDIT_TOOL( PCB_ACTIONS::drawZone );

View File

@ -416,7 +416,8 @@ void PCB_EDIT_FRAME::ReCreateVToolbar()
if( !tuneGroup ) if( !tuneGroup )
{ {
tuneGroup = new ACTION_GROUP( "group.pcbTune", tuneGroup = new ACTION_GROUP( "group.pcbTune",
{ &PCB_ACTIONS::tuneLength, { &PCB_ACTIONS::tuneSingleTrack,
&PCB_ACTIONS::tuneDiffPair,
&PCB_ACTIONS::tuneSkew } ); &PCB_ACTIONS::tuneSkew } );
} }

View File

@ -3443,6 +3443,7 @@ void DRAWING_TOOL::setTransitions()
Go( &DRAWING_TOOL::ToggleHV45Mode, PCB_ACTIONS::toggleHV45Mode.MakeEvent() ); Go( &DRAWING_TOOL::ToggleHV45Mode, PCB_ACTIONS::toggleHV45Mode.MakeEvent() );
Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneLength.MakeEvent() ); Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneSingleTrack.MakeEvent() );
Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneDiffPair.MakeEvent() );
Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneSkew.MakeEvent() ); Go( &DRAWING_TOOL::PlaceTuningPattern, PCB_ACTIONS::tuneSkew.MakeEvent() );
} }

View File

@ -2294,19 +2294,30 @@ TOOL_ACTION PCB_ACTIONS::selectLayerPair( TOOL_ACTION_ARGS()
.Icon( BITMAPS::select_layer_pair ) .Icon( BITMAPS::select_layer_pair )
.Flags( AF_ACTIVATE ) ); .Flags( AF_ACTIVATE ) );
TOOL_ACTION PCB_ACTIONS::tuneLength( TOOL_ACTION_ARGS() TOOL_ACTION PCB_ACTIONS::tuneSingleTrack( TOOL_ACTION_ARGS()
.Name( "pcbnew.LengthTuner.TuneSingleTrack" ) .Name( "pcbnew.LengthTuner.TuneSingleTrack" )
.Scope( AS_GLOBAL ) .Scope( AS_GLOBAL )
.DefaultHotkey( '7' ) .DefaultHotkey( '7' )
.DefaultHotkeyAlt( '8' )
// Don't be tempted to remove "Modern Toolset only". It's in the legacy property name. // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
.LegacyHotkeyName( "Tune Single Track (Modern Toolset only)" ) .LegacyHotkeyName( "Tune Single Track (Modern Toolset only)" )
.FriendlyName( _( "Tune Length" ) ) .FriendlyName( _( "Tune length of a single track" ) )
.Tooltip( _( "Tune length of a single track or differential pair" ) ) .Tooltip( _( "Tune length of a single track" ) )
.Icon( BITMAPS::ps_tune_length ) .Icon( BITMAPS::ps_tune_length )
.Flags( AF_ACTIVATE ) .Flags( AF_ACTIVATE )
.Parameter( PNS::PNS_MODE_TUNE_SINGLE ) ); .Parameter( PNS::PNS_MODE_TUNE_SINGLE ) );
TOOL_ACTION PCB_ACTIONS::tuneDiffPair( TOOL_ACTION_ARGS()
.Name( "pcbnew.LengthTuner.TuneDiffPair" )
.Scope( AS_GLOBAL )
.DefaultHotkey( '8' )
// Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
.LegacyHotkeyName( "Tune Differential Pair Length (Modern Toolset only)" )
.FriendlyName( _( "Tune length of a differential pair" ) )
.Tooltip( _( "Tune length of a differential pair" ) )
.Icon( BITMAPS::ps_diff_pair_tune_length )
.Flags( AF_ACTIVATE )
.Parameter( PNS::PNS_MODE_TUNE_DIFF_PAIR ) );
TOOL_ACTION PCB_ACTIONS::tuneSkew( TOOL_ACTION_ARGS() TOOL_ACTION PCB_ACTIONS::tuneSkew( TOOL_ACTION_ARGS()
.Name( "pcbnew.LengthTuner.TuneDiffPairSkew" ) .Name( "pcbnew.LengthTuner.TuneDiffPairSkew" )
.Scope( AS_GLOBAL ) .Scope( AS_GLOBAL )

View File

@ -244,7 +244,8 @@ public:
/// Activation of the Push and Shove router (differential pair mode) /// Activation of the Push and Shove router (differential pair mode)
static TOOL_ACTION routeDiffPair; static TOOL_ACTION routeDiffPair;
static TOOL_ACTION tuneLength; static TOOL_ACTION tuneSingleTrack;
static TOOL_ACTION tuneDiffPair;
static TOOL_ACTION tuneSkew; static TOOL_ACTION tuneSkew;
static TOOL_ACTION routerUndoLastSegment; static TOOL_ACTION routerUndoLastSegment;