diff --git a/api/proto/common/types/project_settings.proto b/api/proto/common/types/project_settings.proto index b96ad35ff7..d6b685691f 100644 --- a/api/proto/common/types/project_settings.proto +++ b/api/proto/common/types/project_settings.proto @@ -51,7 +51,7 @@ message NetClassBoardSettings optional kiapi.common.types.Color color = 8; // Since: 10.0.0 - optional string tuning_profile = 9; + optional string delay_profile = 9; } message NetClassSchematicSettings diff --git a/common/dialogs/panel_setup_netclasses.cpp b/common/dialogs/panel_setup_netclasses.cpp index 42abae6f7e..9a17ff0f29 100644 --- a/common/dialogs/panel_setup_netclasses.cpp +++ b/common/dialogs/panel_setup_netclasses.cpp @@ -61,7 +61,7 @@ enum GRID_uVIADRILL, GRID_DIFF_PAIR_WIDTH, GRID_DIFF_PAIR_GAP, - GRID_TUNING_PROFILE, + GRID_DELAY_PROFILE, GRID_PCB_COLOR, GRID_FIRST_EESCHEMA, @@ -298,7 +298,7 @@ void PANEL_SETUP_NETCLASSES::loadNetclasses() [&]( int aRow, const NETCLASS* nc ) { m_netclassGrid->SetCellValue( aRow, GRID_NAME, nc->GetName() ); - m_netclassGrid->SetCellValue( aRow, GRID_TUNING_PROFILE, nc->GetTuningProfile() ); + m_netclassGrid->SetCellValue( aRow, GRID_DELAY_PROFILE, nc->GetDelayProfile() ); m_netclassGrid->SetOptionalUnitValue( aRow, GRID_WIREWIDTH, nc->GetWireWidthOpt() ); @@ -504,7 +504,7 @@ bool PANEL_SETUP_NETCLASSES::TransferDataFromWindow() nc->SetPriority( aRow ); nc->SetName( m_netclassGrid->GetCellValue( aRow, GRID_NAME ) ); - nc->SetTuningProfile( m_netclassGrid->GetCellValue( aRow, GRID_TUNING_PROFILE ) ); + nc->SetDelayProfile( m_netclassGrid->GetCellValue( aRow, GRID_DELAY_PROFILE ) ); nc->SetWireWidth( m_netclassGrid->GetOptionalUnitValue( aRow, GRID_WIREWIDTH ) ); nc->SetBusWidth( m_netclassGrid->GetOptionalUnitValue( aRow, GRID_BUSWIDTH ) ); @@ -1105,7 +1105,7 @@ void PANEL_SETUP_NETCLASSES::OnMoveNetclassDownClick( wxCommandEvent& event ) } -void PANEL_SETUP_NETCLASSES::UpdateTuningProfileNames( const std::vector& aNames ) const +void PANEL_SETUP_NETCLASSES::UpdateDelayProfileNames( const std::vector& aNames ) const { wxArrayString profileNames; profileNames.push_back( wxEmptyString ); @@ -1117,5 +1117,5 @@ void PANEL_SETUP_NETCLASSES::UpdateTuningProfileNames( const std::vectorSetEditor( new wxGridCellChoiceEditor( profileNames, false ) ); - m_netclassGrid->SetColAttr( GRID_TUNING_PROFILE, attr ); + m_netclassGrid->SetColAttr( GRID_DELAY_PROFILE, attr ); } diff --git a/common/netclass.cpp b/common/netclass.cpp index 8ac5bef80b..37f7c4d3dd 100644 --- a/common/netclass.cpp +++ b/common/netclass.cpp @@ -59,7 +59,7 @@ NETCLASS::NETCLASS( const wxString& aName, bool aInitWithDefaults ) : m_isDefaul SetName( aName ); SetPriority( -1 ); - SetTuningProfile( wxEmptyString ); + SetDelayProfile( wxEmptyString ); // Colors are a special optional case - always set, but UNSPECIFIED used in place of optional SetPcbColor( COLOR4D::UNSPECIFIED ); @@ -102,7 +102,7 @@ void NETCLASS::ResetParents() SetBusWidthParent( this ); SetSchematicColorParent( this ); SetLineStyleParent( this ); - SetTuningProfileParent( this ); + SetDelayProfileParent( this ); } @@ -180,8 +180,8 @@ void NETCLASS::Serialize( google::protobuf::Any &aContainer ) const if( m_pcbColor != COLOR4D::UNSPECIFIED ) PackColor( *board->mutable_color(), m_pcbColor ); - if( HasTuningProfile() ) - board->set_tuning_profile( m_TuningProfile ); + if( HasDelayProfile() ) + board->set_delay_profile( m_DelayProfile ); project::NetClassSchematicSettings* schematic = nc.mutable_schematic(); @@ -249,8 +249,8 @@ bool NETCLASS::Deserialize( const google::protobuf::Any &aContainer ) if( nc.board().has_color() ) m_pcbColor = UnpackColor( nc.board().color() ); - if( nc.board().has_tuning_profile() ) - m_TuningProfile = nc.board().tuning_profile(); + if( nc.board().has_delay_profile() ) + m_DelayProfile = nc.board().delay_profile(); if( nc.schematic().has_wire_width() ) m_wireWidth = nc.schematic().wire_width().value_nm(); diff --git a/common/project/net_settings.cpp b/common/project/net_settings.cpp index cc5d1966cd..64557b4c66 100644 --- a/common/project/net_settings.cpp +++ b/common/project/net_settings.cpp @@ -75,7 +75,7 @@ NET_SETTINGS::NET_SETTINGS( JSON_SETTINGS* aParent, const std::string& aPath ) : { "priority", nc->GetPriority() }, { "schematic_color", nc->GetSchematicColor( true ) }, { "pcb_color", nc->GetPcbColor( true ) }, - { "tuning_profile", nc->GetTuningProfile() } }; + { "tuning_profile", nc->GetDelayProfile() } }; auto saveInPcbUnits = []( nlohmann::json& json, const std::string& aKey, int aValue ) @@ -133,7 +133,7 @@ NET_SETTINGS::NET_SETTINGS( JSON_SETTINGS* aParent, const std::string& aPath ) : int priority = entry["priority"]; nc->SetPriority( priority ); - nc->SetTuningProfile( entry["tuning_profile"] ); + nc->SetDelayProfile( entry["tuning_profile"] ); if( auto value = getInPcbUnits( entry, "clearance" ) ) nc->SetClearance( *value ); @@ -928,10 +928,10 @@ void NET_SETTINGS::makeEffectiveNetclass( std::shared_ptr& effectiveNe effectiveNetclass->SetSchematicColorParent( nc ); } - if( nc->HasTuningProfile() ) + if( nc->HasDelayProfile() ) { - effectiveNetclass->SetTuningProfile( nc->GetTuningProfile() ); - effectiveNetclass->SetTuningProfileParent( nc ); + effectiveNetclass->SetDelayProfile( nc->GetDelayProfile() ); + effectiveNetclass->SetDelayProfileParent( nc ); } } @@ -1024,11 +1024,11 @@ bool NET_SETTINGS::addMissingDefaults( NETCLASS* nc ) const } // The tuning profile can be empty - only fill if a default tuning profile is set - if( !nc->HasTuningProfile() && m_defaultNetClass->HasTuningProfile() ) + if( !nc->HasDelayProfile() && m_defaultNetClass->HasDelayProfile() ) { addedDefault = true; - nc->SetTuningProfile( m_defaultNetClass->GetTuningProfile() ); - nc->SetTuningProfileParent( m_defaultNetClass.get() ); + nc->SetDelayProfile( m_defaultNetClass->GetDelayProfile() ); + nc->SetDelayProfileParent( m_defaultNetClass.get() ); } return addedDefault; diff --git a/common/project/time_domain_parameters.cpp b/common/project/time_domain_parameters.cpp index 4e981268f2..3b7bdf14bf 100644 --- a/common/project/time_domain_parameters.cpp +++ b/common/project/time_domain_parameters.cpp @@ -35,7 +35,7 @@ TIME_DOMAIN_PARAMETERS::TIME_DOMAIN_PARAMETERS( JSON_SETTINGS* aParent, const st aPath, false ) { auto saveViaOverrideConfigurationLine = - []( nlohmann::json& json_array, const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& item ) + []( nlohmann::json& json_array, const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& item ) { const nlohmann::json item_json = { { "signal_layer_from", LSET::Name( item.m_SignalLayerFrom ) }, { "signal_layer_to", LSET::Name( item.m_SignalLayerTo ) }, @@ -62,16 +62,16 @@ TIME_DOMAIN_PARAMETERS::TIME_DOMAIN_PARAMETERS( JSON_SETTINGS* aParent, const st int delay = entry["delay"]; - TUNING_PROFILE_VIA_OVERRIDE_ENTRY item{ static_cast( signalLayerFromId ), - static_cast( signalLayerToId ), - static_cast( viaLayerFromId ), - static_cast( viaLayerToId ), delay }; + DELAY_PROFILE_VIA_OVERRIDE_ENTRY item{ static_cast( signalLayerFromId ), + static_cast( signalLayerToId ), + static_cast( viaLayerFromId ), + static_cast( viaLayerToId ), delay }; return item; }; auto saveUserDefinedProfileConfigurationLine = - [&saveViaOverrideConfigurationLine]( nlohmann::json& json_array, const TIME_DOMAIN_TUNING_PROFILE& item ) + [&saveViaOverrideConfigurationLine]( nlohmann::json& json_array, const DELAY_PROFILE& item ) { nlohmann::json layer_velocities = nlohmann::json::array(); @@ -83,7 +83,7 @@ TIME_DOMAIN_PARAMETERS::TIME_DOMAIN_PARAMETERS( JSON_SETTINGS* aParent, const st nlohmann::json via_overrides = nlohmann::json::array(); - for( const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& viaOverride : item.m_ViaOverrides ) + for( const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& viaOverride : item.m_ViaOverrides ) { saveViaOverrideConfigurationLine( via_overrides, viaOverride ); } @@ -113,7 +113,7 @@ TIME_DOMAIN_PARAMETERS::TIME_DOMAIN_PARAMETERS( JSON_SETTINGS* aParent, const st traceDelays[static_cast( layerId )] = velocity; } - std::vector viaOverrides; + std::vector viaOverrides; for( const nlohmann::json& viaEntry : entry["via_overrides"] ) { @@ -123,8 +123,7 @@ TIME_DOMAIN_PARAMETERS::TIME_DOMAIN_PARAMETERS( JSON_SETTINGS* aParent, const st viaOverrides.push_back( readViaOverrideConfigurationLine( viaEntry ) ); } - TIME_DOMAIN_TUNING_PROFILE item{ profileName, viaPropDelay, std::move( traceDelays ), - std::move( viaOverrides ) }; + DELAY_PROFILE item{ profileName, viaPropDelay, std::move( traceDelays ), std::move( viaOverrides ) }; return item; }; diff --git a/include/dialogs/panel_setup_netclasses.h b/include/dialogs/panel_setup_netclasses.h index 8ab99f940f..b2e3c32ebf 100644 --- a/include/dialogs/panel_setup_netclasses.h +++ b/include/dialogs/panel_setup_netclasses.h @@ -48,7 +48,7 @@ public: void ImportSettingsFrom( const std::shared_ptr& aNetSettings ); - void UpdateTuningProfileNames( const std::vector& aNames ) const; + void UpdateDelayProfileNames( const std::vector& aNames ) const; private: void OnAddNetclassClick( wxCommandEvent& event ) override; diff --git a/include/netclass.h b/include/netclass.h index e79fb25b9c..21a8f43b9e 100644 --- a/include/netclass.h +++ b/include/netclass.h @@ -238,11 +238,11 @@ public: void SetPriority( int aPriority ) { m_Priority = aPriority; } int GetPriority() const { return m_Priority; } - bool HasTuningProfile() const { return !m_TuningProfile.empty(); } - void SetTuningProfile( const wxString& aTuningProfile ) { m_TuningProfile = aTuningProfile; } - wxString GetTuningProfile() const { return m_TuningProfile; } - void SetTuningProfileParent( NETCLASS* aParent ) { m_tuningProfileParent = aParent; } - NETCLASS* GetTuningProfileParent() const { return m_tuningProfileParent; } + bool HasDelayProfile() const { return !m_DelayProfile.empty(); } + void SetDelayProfile( const wxString& aDelayProfile ) { m_DelayProfile = aDelayProfile; } + wxString GetDelayProfile() const { return m_DelayProfile; } + void SetDelayProfileParent( NETCLASS* aParent ) { m_delayProfileParent = aParent; } + NETCLASS* GetDelayProfileParent() const { return m_delayProfileParent; } protected: bool m_isDefault; ///< Mark if this instance is the default netclass @@ -273,7 +273,7 @@ protected: COLOR4D m_pcbColor; ///< Optional PCB color override for this netclass - wxString m_TuningProfile; ///< The tuning profile name being used by this netclass + wxString m_DelayProfile; ///< The tuning profile name being used by this netclass // The NETCLASS providing each parameter NETCLASS* m_clearanceParent; @@ -290,7 +290,7 @@ protected: NETCLASS* m_busWidthParent; NETCLASS* m_schematicColorParent; NETCLASS* m_lineStyleParent; - NETCLASS* m_tuningProfileParent; + NETCLASS* m_delayProfileParent; }; #endif // CLASS_NETCLASS_H diff --git a/include/project/time_domain_parameters.h b/include/project/time_domain_parameters.h index 12d4145e2f..9bb2db9e7f 100644 --- a/include/project/time_domain_parameters.h +++ b/include/project/time_domain_parameters.h @@ -28,7 +28,7 @@ /** * Represents a single line in the time domain configuration via overrides configuration grid */ -struct TUNING_PROFILE_VIA_OVERRIDE_ENTRY +struct DELAY_PROFILE_VIA_OVERRIDE_ENTRY { PCB_LAYER_ID m_SignalLayerFrom; PCB_LAYER_ID m_SignalLayerTo; @@ -36,7 +36,7 @@ struct TUNING_PROFILE_VIA_OVERRIDE_ENTRY PCB_LAYER_ID m_ViaLayerTo; int m_Delay; - bool operator<( const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& other ) const + bool operator<( const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& other ) const { if( m_SignalLayerFrom != other.m_SignalLayerFrom ) return IsCopperLayerLowerThan( m_SignalLayerFrom, other.m_SignalLayerFrom ); @@ -58,12 +58,12 @@ struct TUNING_PROFILE_VIA_OVERRIDE_ENTRY /** * Represents a single line in the time domain configuration net class configuration grid */ -struct TIME_DOMAIN_TUNING_PROFILE +struct DELAY_PROFILE { - wxString m_ProfileName; - int m_ViaPropagationDelay; - std::map m_LayerPropagationDelays; - std::vector m_ViaOverrides; + wxString m_ProfileName; + int m_ViaPropagationDelay; + std::map m_LayerPropagationDelays; + std::vector m_ViaOverrides; }; @@ -83,15 +83,12 @@ public: void ClearDelayProfiles() { m_delayProfiles.clear(); } - void AddDelayProfile( TIME_DOMAIN_TUNING_PROFILE&& aTraceEntry ) - { - m_delayProfiles.emplace_back( std::move( aTraceEntry ) ); - } + void AddDelayProfile( DELAY_PROFILE&& aTraceEntry ) { m_delayProfiles.emplace_back( std::move( aTraceEntry ) ); } - const std::vector& GetDelayProfiles() const { return m_delayProfiles; } + const std::vector& GetDelayProfiles() const { return m_delayProfiles; } private: - std::vector m_delayProfiles; + std::vector m_delayProfiles; }; #endif // KICAD_NET_SETTINGS_H diff --git a/pcbnew/dialogs/dialog_board_setup.cpp b/pcbnew/dialogs/dialog_board_setup.cpp index 0556b20b24..0249fc0a17 100644 --- a/pcbnew/dialogs/dialog_board_setup.cpp +++ b/pcbnew/dialogs/dialog_board_setup.cpp @@ -297,7 +297,7 @@ void DIALOG_BOARD_SETUP::onPageChanged( wxBookCtrlEvent& aEvent ) } else if( page == m_netclassesPage || m_currentPage == m_timeDomainParametersPage ) { - m_netClasses->UpdateTuningProfileNames( m_timeDomainParameters->GetDelayProfileNames() ); + m_netClasses->UpdateDelayProfileNames( m_timeDomainParameters->GetDelayProfileNames() ); } else if( page == m_timeDomainParametersPage ) { diff --git a/pcbnew/dialogs/panel_setup_time_domain_parameters.cpp b/pcbnew/dialogs/panel_setup_time_domain_parameters.cpp index 4b2f7dee10..9da83d553e 100644 --- a/pcbnew/dialogs/panel_setup_time_domain_parameters.cpp +++ b/pcbnew/dialogs/panel_setup_time_domain_parameters.cpp @@ -110,15 +110,15 @@ bool PANEL_SETUP_TIME_DOMAIN_PARAMETERS::TransferDataToWindow() m_tracePropagationGrid->ClearRows(); m_viaPropagationGrid->ClearRows(); - const std::vector& delayProfiles = m_timeDomainParameters->GetDelayProfiles(); + const std::vector& delayProfiles = m_timeDomainParameters->GetDelayProfiles(); SyncCopperLayers( m_board->GetCopperLayerCount() ); - for( const TIME_DOMAIN_TUNING_PROFILE& profile : delayProfiles ) + for( const DELAY_PROFILE& profile : delayProfiles ) { addProfileRow( profile ); - for( const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& viaOverride : profile.m_ViaOverrides ) + for( const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& viaOverride : profile.m_ViaOverrides ) addViaRow( profile.m_ProfileName, viaOverride ); } @@ -137,7 +137,7 @@ bool PANEL_SETUP_TIME_DOMAIN_PARAMETERS::TransferDataFromWindow() for( int i = 0; i < m_tracePropagationGrid->GetNumberRows(); ++i ) { - TIME_DOMAIN_TUNING_PROFILE profile = getProfileRow( i ); + DELAY_PROFILE profile = getProfileRow( i ); wxString profileName = profile.m_ProfileName; for( int j = 0; j < m_viaPropagationGrid->GetNumberRows(); ++j ) @@ -153,7 +153,7 @@ bool PANEL_SETUP_TIME_DOMAIN_PARAMETERS::TransferDataFromWindow() } -void PANEL_SETUP_TIME_DOMAIN_PARAMETERS::addProfileRow( const TIME_DOMAIN_TUNING_PROFILE& aDelayProfile ) +void PANEL_SETUP_TIME_DOMAIN_PARAMETERS::addProfileRow( const DELAY_PROFILE& aDelayProfile ) { const int rowId = m_tracePropagationGrid->GetNumberRows(); m_tracePropagationGrid->AppendRows(); @@ -176,9 +176,9 @@ void PANEL_SETUP_TIME_DOMAIN_PARAMETERS::addProfileRow( const TIME_DOMAIN_TUNING } -TIME_DOMAIN_TUNING_PROFILE PANEL_SETUP_TIME_DOMAIN_PARAMETERS::getProfileRow( const int aRow ) +DELAY_PROFILE PANEL_SETUP_TIME_DOMAIN_PARAMETERS::getProfileRow( const int aRow ) { - TIME_DOMAIN_TUNING_PROFILE entry; + DELAY_PROFILE entry; entry.m_ProfileName = getProfileNameForProfileGridRow( aRow ); entry.m_ViaPropagationDelay = m_tracePropagationGrid->GetUnitValue( aRow, PROFILE_GRID_VIA_PROP_DELAY ); @@ -193,8 +193,8 @@ TIME_DOMAIN_TUNING_PROFILE PANEL_SETUP_TIME_DOMAIN_PARAMETERS::getProfileRow( co } -void PANEL_SETUP_TIME_DOMAIN_PARAMETERS::addViaRow( const wxString& aProfileName, - const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& aViaOverrideEntry ) const +void PANEL_SETUP_TIME_DOMAIN_PARAMETERS::addViaRow( const wxString& aProfileName, + const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& aViaOverrideEntry ) const { const int rowId = m_viaPropagationGrid->GetNumberRows(); m_viaPropagationGrid->AppendRows(); @@ -211,7 +211,7 @@ void PANEL_SETUP_TIME_DOMAIN_PARAMETERS::addViaRow( const wxString& } -TUNING_PROFILE_VIA_OVERRIDE_ENTRY PANEL_SETUP_TIME_DOMAIN_PARAMETERS::getViaRow( const int aRow ) +DELAY_PROFILE_VIA_OVERRIDE_ENTRY PANEL_SETUP_TIME_DOMAIN_PARAMETERS::getViaRow( const int aRow ) { // Get layer info const wxString signalLayerFrom = m_viaPropagationGrid->GetCellValue( aRow, VIA_GRID_SIGNAL_LAYER_FROM ); @@ -230,8 +230,8 @@ TUNING_PROFILE_VIA_OVERRIDE_ENTRY PANEL_SETUP_TIME_DOMAIN_PARAMETERS::getViaRow( if( IsCopperLayerLowerThan( viaLayerIdFrom, viaLayerIdTo ) ) std::swap( viaLayerIdFrom, viaLayerIdTo ); - const TUNING_PROFILE_VIA_OVERRIDE_ENTRY entry{ signalLayerIdFrom, signalLayerIdTo, viaLayerIdFrom, viaLayerIdTo, - m_viaPropagationGrid->GetUnitValue( aRow, VIA_GRID_DELAY ) }; + const DELAY_PROFILE_VIA_OVERRIDE_ENTRY entry{ signalLayerIdFrom, signalLayerIdTo, viaLayerIdFrom, viaLayerIdTo, + m_viaPropagationGrid->GetUnitValue( aRow, VIA_GRID_DELAY ) }; return entry; } @@ -611,13 +611,13 @@ bool PANEL_SETUP_TIME_DOMAIN_PARAMETERS::Validate() bool PANEL_SETUP_TIME_DOMAIN_PARAMETERS::validateViaRows() { - std::map> rowCache; + std::map> rowCache; for( int row = 0; row < m_viaPropagationGrid->GetNumberRows(); row++ ) { - TUNING_PROFILE_VIA_OVERRIDE_ENTRY entry = getViaRow( row ); + DELAY_PROFILE_VIA_OVERRIDE_ENTRY entry = getViaRow( row ); const wxString profileName = m_viaPropagationGrid->GetCellValue( row, VIA_GRID_PROFILE_NAME ); - std::set& viaOverrides = rowCache[profileName]; + std::set& viaOverrides = rowCache[profileName]; if( viaOverrides.contains( entry ) ) { diff --git a/pcbnew/dialogs/panel_setup_time_domain_parameters.h b/pcbnew/dialogs/panel_setup_time_domain_parameters.h index f3fcff49d0..90e310319c 100644 --- a/pcbnew/dialogs/panel_setup_time_domain_parameters.h +++ b/pcbnew/dialogs/panel_setup_time_domain_parameters.h @@ -118,16 +118,16 @@ private: bool validateViaRows(); /// Adds a tuning profile row with the given persisted parameters - void addProfileRow( const TIME_DOMAIN_TUNING_PROFILE& aDelayProfile ); + void addProfileRow( const DELAY_PROFILE& aDelayProfile ); /// Gets a tuning profile row as a set of persistable parameters - TIME_DOMAIN_TUNING_PROFILE getProfileRow( int aRow ); + DELAY_PROFILE getProfileRow( int aRow ); /// Adds a via override row with the given persisted parameters - void addViaRow( const wxString& aProfileName, const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& aViaOverrideEntry ) const; + void addViaRow( const wxString& aProfileName, const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& aViaOverrideEntry ) const; /// Gets a via override row as a set of persistable parameters - TUNING_PROFILE_VIA_OVERRIDE_ENTRY getViaRow( int aRow ); + DELAY_PROFILE_VIA_OVERRIDE_ENTRY getViaRow( int aRow ); /// Gets the profile name for the given profile grid row wxString getProfileNameForProfileGridRow( int aRow ) const; diff --git a/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.cpp b/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.cpp index 472e675e3e..ebf043cba7 100644 --- a/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.cpp +++ b/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.cpp @@ -39,17 +39,17 @@ TIME_DOMAIN_PARAMETERS_USER_DEFINED::GetPropagationDelays( const std::vectorGetTuningProfile(); - const TIME_DOMAIN_TUNING_PROFILE* tuningProfile = getTuningProfile( tuningProfileName ); + const wxString delayProfileName = aItems.front().GetEffectiveNetClass()->GetDelayProfile(); + const DELAY_PROFILE* delayProfile = GetDelayProfile( delayProfileName ); - if( !tuningProfile ) + if( !delayProfile ) return std::vector( aItems.size(), 0 ); std::vector propagationDelays; propagationDelays.reserve( aItems.size() ); for( const LENGTH_DELAY_CALCULATION_ITEM& item : aItems ) - propagationDelays.emplace_back( getPropagationDelay( item, aContext, tuningProfile ) ); + propagationDelays.emplace_back( getPropagationDelay( item, aContext, delayProfile ) ); return propagationDelays; } @@ -61,20 +61,19 @@ int64_t TIME_DOMAIN_PARAMETERS_USER_DEFINED::GetPropagationDelay( const LENGTH_D if( aItem.GetMergeStatus() == LENGTH_DELAY_CALCULATION_ITEM::MERGE_STATUS::MERGED_RETIRED ) return 0; - const wxString tuningProfileName = aItem.GetEffectiveNetClass()->GetTuningProfile(); - const TIME_DOMAIN_TUNING_PROFILE* tuningProfile = getTuningProfile( tuningProfileName ); + const wxString delayProfileName = aItem.GetEffectiveNetClass()->GetDelayProfile(); + const DELAY_PROFILE* delayProfile = GetDelayProfile( delayProfileName ); - if( !tuningProfile ) + if( !delayProfile ) return 0; - return getPropagationDelay( aItem, aContext, tuningProfile ); + return getPropagationDelay( aItem, aContext, delayProfile ); } -int64_t -TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay( const LENGTH_DELAY_CALCULATION_ITEM& aItem, - const TIME_DOMAIN_GEOMETRY_CONTEXT& aContext, - const TIME_DOMAIN_TUNING_PROFILE* aTuningProfile ) const +int64_t TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay( const LENGTH_DELAY_CALCULATION_ITEM& aItem, + const TIME_DOMAIN_GEOMETRY_CONTEXT& aContext, + const DELAY_PROFILE* aDelayProfile ) const { if( aItem.GetMergeStatus() == LENGTH_DELAY_CALCULATION_ITEM::MERGE_STATUS::MERGED_RETIRED ) return 0; @@ -83,7 +82,7 @@ TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay( const LENGTH_DELAY_CAL if( itemType == LENGTH_DELAY_CALCULATION_ITEM::TYPE::LINE ) { - const double delayUnit = aTuningProfile->m_LayerPropagationDelays.at( aItem.GetStartLayer() ); + const double delayUnit = aDelayProfile->m_LayerPropagationDelays.at( aItem.GetStartLayer() ); return static_cast( delayUnit * ( static_cast( aItem.GetLine().Length() ) / PCB_IU_PER_MM ) ); } @@ -95,7 +94,7 @@ TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay( const LENGTH_DELAY_CAL const PCB_LAYER_ID viaEndLayer = aItem.GetVia()->Padstack().EndLayer(); // First check for a layer-to-layer override - this assumes that the layers are already in CuStack() order - auto& viaOverrides = m_viaOverridesCache.at( aTuningProfile->m_ProfileName ); + auto& viaOverrides = m_viaOverridesCache.at( aDelayProfile->m_ProfileName ); const auto viaItr = viaOverrides.find( VIA_OVERRIDE_CACHE_KEY{ signalStartLayer, signalEndLayer, viaStartLayer, viaEndLayer } ); @@ -105,7 +104,7 @@ TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay( const LENGTH_DELAY_CAL // Otherwise, return the tuning profile default const double distance = m_lengthCalculation->StackupHeight( signalStartLayer, signalEndLayer ); - return static_cast( aTuningProfile->m_ViaPropagationDelay * ( distance / PCB_IU_PER_MM ) ); + return static_cast( aDelayProfile->m_ViaPropagationDelay * ( distance / PCB_IU_PER_MM ) ); } if( itemType == LENGTH_DELAY_CALCULATION_ITEM::TYPE::PAD ) @@ -117,15 +116,14 @@ TIME_DOMAIN_PARAMETERS_USER_DEFINED::getPropagationDelay( const LENGTH_DELAY_CAL } -const TIME_DOMAIN_TUNING_PROFILE* -TIME_DOMAIN_PARAMETERS_USER_DEFINED::getTuningProfile( const wxString& aTuningProfileName ) +const DELAY_PROFILE* TIME_DOMAIN_PARAMETERS_USER_DEFINED::GetDelayProfile( const wxString& aDelayProfileName ) { if( !m_cachesInitialised ) [[unlikely]] rebuildCaches(); - auto itr = m_tuningProfilesCache.find( aTuningProfileName ); + auto itr = m_delayProfilesCache.find( aDelayProfileName ); - if( itr != m_tuningProfilesCache.end() ) + if( itr != m_delayProfilesCache.end() ) return itr->second; return nullptr; @@ -136,8 +134,8 @@ int64_t TIME_DOMAIN_PARAMETERS_USER_DEFINED::GetTrackLengthForPropagationDelay( int64_t aDelay, const TIME_DOMAIN_GEOMETRY_CONTEXT& aContext ) { - const wxString tuningProfileName = aContext.NetClass->GetTuningProfile(); - const TIME_DOMAIN_TUNING_PROFILE* profile = getTuningProfile( tuningProfileName ); + const wxString delayProfileName = aContext.NetClass->GetDelayProfile(); + const DELAY_PROFILE* profile = GetDelayProfile( delayProfileName ); if( !profile ) return 0; @@ -151,8 +149,8 @@ TIME_DOMAIN_PARAMETERS_USER_DEFINED::GetTrackLengthForPropagationDelay( int64_t int64_t TIME_DOMAIN_PARAMETERS_USER_DEFINED::CalculatePropagationDelayForShapeLineChain( const SHAPE_LINE_CHAIN& aShape, const TIME_DOMAIN_GEOMETRY_CONTEXT& aContext ) { - const wxString tuningProfileName = aContext.NetClass->GetTuningProfile(); - const TIME_DOMAIN_TUNING_PROFILE* profile = getTuningProfile( tuningProfileName ); + const wxString delayProfileName = aContext.NetClass->GetDelayProfile(); + const DELAY_PROFILE* profile = GetDelayProfile( delayProfileName ); if( !profile ) return 0; @@ -164,20 +162,20 @@ int64_t TIME_DOMAIN_PARAMETERS_USER_DEFINED::CalculatePropagationDelayForShapeLi void TIME_DOMAIN_PARAMETERS_USER_DEFINED::rebuildCaches() { - m_tuningProfilesCache.clear(); + m_delayProfilesCache.clear(); m_viaOverridesCache.clear(); if( const PROJECT* project = m_board->GetProject() ) { TIME_DOMAIN_PARAMETERS* params = project->GetProjectFile().TimeDomainParameters().get(); - for( const TIME_DOMAIN_TUNING_PROFILE& profile : params->GetDelayProfiles() ) + for( const DELAY_PROFILE& profile : params->GetDelayProfiles() ) { - m_tuningProfilesCache[profile.m_ProfileName] = &profile; + m_delayProfilesCache[profile.m_ProfileName] = &profile; std::map& viaOverrides = m_viaOverridesCache[profile.m_ProfileName]; - for( const TUNING_PROFILE_VIA_OVERRIDE_ENTRY& viaOverride : profile.m_ViaOverrides ) + for( const DELAY_PROFILE_VIA_OVERRIDE_ENTRY& viaOverride : profile.m_ViaOverrides ) { viaOverrides[VIA_OVERRIDE_CACHE_KEY{ viaOverride.m_SignalLayerFrom, viaOverride.m_SignalLayerTo, viaOverride.m_ViaLayerFrom, viaOverride.m_ViaLayerTo }] = diff --git a/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.h b/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.h index a595cc3472..fa7799d374 100644 --- a/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.h +++ b/pcbnew/length_delay_calculation/time_domain_parameters_user_defined.h @@ -118,22 +118,22 @@ private: * * @param aItem the board item to query propagation delay for * @param aContext the geometry context in which to query to propagation delay - * @param aTuningProfile the time domain tuning profile for the given item + * @param aDelayProfile the time domain tuning profile for the given item */ int64_t getPropagationDelay( const LENGTH_DELAY_CALCULATION_ITEM& aItem, const TIME_DOMAIN_GEOMETRY_CONTEXT& aContext, - const TIME_DOMAIN_TUNING_PROFILE* aTuningProfile ) const; + const DELAY_PROFILE* aDelayProfile ) const; /** * Gets the tuning profile pointer for the given tuning profile name * - * @param aTuningProfileName the tuning profile name to return + * @param aDelayProfileName the tuning profile name to return * @returns Valid pointer to a tuning profile, or nullptr if no profile found */ - const TIME_DOMAIN_TUNING_PROFILE* getTuningProfile( const wxString& aTuningProfileName ); + const DELAY_PROFILE* GetDelayProfile( const wxString& aDelayProfileName ); /// Cached map of tuning profile names to per-layer time domain parameters - std::map m_tuningProfilesCache; + std::map m_delayProfilesCache; /// Cached per-tuning profile via overrides std::map> m_viaOverridesCache;