|
KiCad PCB EDA Suite
|
#include <c_microstrip.h>
Public Member Functions | |
| C_MICROSTRIP () | |
| void | setProperty (enum PRMS_ID aPrmId, double aValue) |
| double | getProperty (enum PRMS_ID aPrmId) |
| void | SetExtraParameter (enum EXTRA_PRMS_ID aPrmId, double aValue) |
| Setter for panel-level parameters that are shared across every calculator type. | |
| void | checkProperties () |
| @function checkProperties | |
| void | setResult (int, double, const char *) |
| void | setResult (int, const char *) |
| bool | isSelected (enum PRMS_ID aPrmId) |
| void | Init () |
| virtual void | synthesize () |
| void | analyze () |
Public Attributes | |
| const char * | m_Name |
| KIGFX::COLOR4D | errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 ) |
| KIGFX::COLOR4D | warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 ) |
| KIGFX::COLOR4D | okCol = KIGFX::COLOR4D( 1, 1, 1, 1 ) |
Protected Member Functions | |
| double | skin_depth () |
| @function skin_depth calculate skin depth | |
| void | setErrorLevel (PRMS_ID, char) |
| @function setErrorLevel | |
| void | pushSoldermaskParameters (TRANSLINE_CALCULATION_BASE &aCalc, bool aIncludeFillsGaps=false) const |
| Push the mask-eligible subset of soldermask parameters (PRESENT, THICKNESS, EPSILONR, TAND) into the supplied calculator. | |
Static Protected Member Functions | |
| static char | convertParameterStatusCode (TRANSLINE_STATUS aStatus) |
| Converts a TRANSLINE_PARAMETER status to a PCB Calculation status. | |
Protected Attributes | |
| double | m_parameters [EXTRA_PRMS_COUNT] |
Private Member Functions | |
| void | calcAnalyze () override |
| Computation for analysis. | |
| void | calcSynthesize () override |
| Computation for synthesis. | |
| void | showAnalyze () override |
| Shows synthesis results and checks for errors / warnings. | |
| void | showSynthesize () override |
| Shows analysis results and checks for errors / warnings. | |
| void | show_results () override |
| Shows results. | |
| void | getProperties () override |
| @function getProperties | |
Private Attributes | |
| COUPLED_MICROSTRIP | m_calc |
Definition at line 33 of file c_microstrip.h.
| C_MICROSTRIP::C_MICROSTRIP | ( | ) |
Definition at line 28 of file c_microstrip.cpp.
References TRANSLINE::Init(), and TRANSLINE::m_Name.
|
inherited |
Definition at line 242 of file transline.cpp.
References calcAnalyze(), checkProperties(), getProperties(), show_results(), and showAnalyze().
|
overrideprivatevirtual |
Computation for analysis.
Reimplemented from TRANSLINE.
Definition at line 35 of file c_microstrip.cpp.
References m_calc.
|
overrideprivatevirtual |
Computation for synthesis.
Reimplemented from TRANSLINE.
Definition at line 41 of file c_microstrip.cpp.
|
inherited |
@function checkProperties
Checks the input parameters (ie: negative length). Does not check for incompatibility between values as this depends on the line shape.
Definition at line 168 of file transline.cpp.
References EPSILONR_PRM, FREQUENCY_PRM, H_PRM, H_T_PRM, m_parameters, MUR_PRM, MURC_PRM, RHO_PRM, setErrorLevel(), STRIPLINE_A_PRM, T_PRM, TAND_PRM, TRANSLINE_WARNING, TWISTEDPAIR_EPSILONR_ENV_PRM, and TWISTEDPAIR_TWIST_PRM.
Referenced by analyze(), and synthesize().
|
staticprotectedinherited |
Converts a TRANSLINE_PARAMETER status to a PCB Calculation status.
Definition at line 300 of file transline.cpp.
References OK, TRANSLINE_ERROR, TRANSLINE_OK, TRANSLINE_WARNING, TS_ERROR, and WARNING.
Referenced by C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), COAX_UI::showAnalyze(), COPLANAR_UI::showAnalyze(), MICROSTRIP_UI::showAnalyze(), RECTWAVEGUIDE_UI::showAnalyze(), STRIPLINE_UI::showAnalyze(), TWISTEDPAIR_UI::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), COAX_UI::showSynthesize(), COPLANAR_UI::showSynthesize(), MICROSTRIP_UI::showSynthesize(), RECTWAVEGUIDE_UI::showSynthesize(), STRIPLINE_UI::showSynthesize(), and TWISTEDPAIR_UI::showSynthesize().
|
overrideprivatevirtual |
@function getProperties
Get all properties from the UI. Computes some extra ones.
Reimplemented from TRANSLINE.
Definition at line 105 of file c_microstrip.cpp.
References ANG_L, ANG_L_PRM, DIELECTRIC_MODEL_PRM, DIELECTRIC_MODEL_SEL, EPSILONR, EPSILONR_PRM, EPSILONR_SPEC_FREQ, EPSILONR_SPEC_FREQ_PRM, FREQUENCY, FREQUENCY_PRM, TRANSLINE::getProperties(), H, H_PRM, H_T, H_T_PRM, m_calc, TRANSLINE::m_parameters, MURC, MURC_PRM, PHYS_LEN, PHYS_LEN_PRM, PHYS_S, PHYS_S_PRM, PHYS_WIDTH, PHYS_WIDTH_PRM, TRANSLINE::pushSoldermaskParameters(), ROUGH, ROUGH_PRM, SIGMA, SIGMA_PRM, SKIN_DEPTH, SKIN_DEPTH_PRM, T, T_PRM, TAND, TAND_PRM, Z0_E, Z0_E_PRM, Z0_O, and Z0_O_PRM.
|
inherited |
Definition at line 139 of file transline.cpp.
References GetPropertyInDialog().
Referenced by getProperties().
|
inherited |
Definition at line 76 of file transline.cpp.
References DIELECTRIC_MODEL_PRM, EPSILONR_SPEC_FREQ_PRM, EXTRA_PRMS_COUNT, m_parameters, okCol, SOLDERMASK_EPSILONR_PRM, SOLDERMASK_FILLS_GAPS_PRM, SOLDERMASK_PRESENT_PRM, SOLDERMASK_TAND_PRM, and SOLDERMASK_THICKNESS_PRM.
Referenced by C_MICROSTRIP::C_MICROSTRIP(), C_STRIPLINE::C_STRIPLINE(), COAX_UI::COAX_UI(), COPLANAR_UI::COPLANAR_UI(), MICROSTRIP_UI::MICROSTRIP_UI(), RECTWAVEGUIDE_UI::RECTWAVEGUIDE_UI(), STRIPLINE_UI::STRIPLINE_UI(), TRANSLINE(), and TWISTEDPAIR_UI::TWISTEDPAIR_UI().
|
inherited |
Definition at line 118 of file transline.cpp.
References IsSelectedInDialog().
Referenced by COAX_UI::getProperties(), COPLANAR_UI::getProperties(), RECTWAVEGUIDE_UI::getProperties(), TWISTEDPAIR_UI::getProperties(), COAX_UI::showSynthesize(), COPLANAR_UI::showSynthesize(), RECTWAVEGUIDE_UI::showSynthesize(), and TWISTEDPAIR_UI::showSynthesize().
|
protectedinherited |
Push the mask-eligible subset of soldermask parameters (PRESENT, THICKNESS, EPSILONR, TAND) into the supplied calculator.
Callers that need the CPW-only FILLS_GAPS flag pass aIncludeFillsGaps = true. Mask-ineligible calculators (stripline, coax, waveguide, twisted pair) do not override GetSoldermaskFillingG so these writes are harmless no-ops on those backends; this helper is purely a deduplication aid for the four eligible subclasses (microstrip, c_microstrip, coplanar).
Definition at line 313 of file transline.cpp.
References m_parameters, TRANSLINE_CALCULATION_BASE::SetParameter(), SOLDERMASK_EPSILONR, SOLDERMASK_EPSILONR_PRM, SOLDERMASK_FILLS_GAPS, SOLDERMASK_FILLS_GAPS_PRM, SOLDERMASK_PRESENT, SOLDERMASK_PRESENT_PRM, SOLDERMASK_TAND, SOLDERMASK_TAND_PRM, SOLDERMASK_THICKNESS, and SOLDERMASK_THICKNESS_PRM.
Referenced by C_MICROSTRIP::getProperties(), COPLANAR_UI::getProperties(), and MICROSTRIP_UI::getProperties().
|
protectedinherited |
@function setErrorLevel
set an error / warning level for a given parameter.
| aP | parameter |
| aErrorLevel | Error level |
Definition at line 289 of file transline.cpp.
References errCol, okCol, SetPropertyBgColorInDialog(), TRANSLINE_ERROR, TRANSLINE_WARNING, and warnCol.
Referenced by checkProperties(), getProperties(), C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), COAX_UI::showAnalyze(), COPLANAR_UI::showAnalyze(), MICROSTRIP_UI::showAnalyze(), RECTWAVEGUIDE_UI::showAnalyze(), STRIPLINE_UI::showAnalyze(), TWISTEDPAIR_UI::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), COAX_UI::showSynthesize(), COPLANAR_UI::showSynthesize(), MICROSTRIP_UI::showSynthesize(), RECTWAVEGUIDE_UI::showSynthesize(), STRIPLINE_UI::showSynthesize(), and TWISTEDPAIR_UI::showSynthesize().
|
inlineinherited |
Setter for panel-level parameters that are shared across every calculator type.
Definition at line 98 of file transline.h.
References m_parameters.
|
inherited |
Definition at line 108 of file transline.cpp.
References SetPropertyInDialog().
Referenced by C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), COAX_UI::showAnalyze(), COPLANAR_UI::showAnalyze(), MICROSTRIP_UI::showAnalyze(), RECTWAVEGUIDE_UI::showAnalyze(), STRIPLINE_UI::showAnalyze(), TWISTEDPAIR_UI::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), COAX_UI::showSynthesize(), COPLANAR_UI::showSynthesize(), MICROSTRIP_UI::showSynthesize(), RECTWAVEGUIDE_UI::showSynthesize(), STRIPLINE_UI::showSynthesize(), and TWISTEDPAIR_UI::showSynthesize().
|
inherited |
Definition at line 126 of file transline.cpp.
References SetResultInDialog(), and text.
|
inherited |
Definition at line 132 of file transline.cpp.
References SetResultInDialog(), and text.
Referenced by COAX_UI::show_results(), COPLANAR_UI::show_results(), RECTWAVEGUIDE_UI::show_results(), TWISTEDPAIR_UI::show_results(), C_MICROSTRIP::showAnalyze(), C_STRIPLINE::showAnalyze(), MICROSTRIP_UI::showAnalyze(), STRIPLINE_UI::showAnalyze(), C_MICROSTRIP::showSynthesize(), C_STRIPLINE::showSynthesize(), MICROSTRIP_UI::showSynthesize(), and STRIPLINE_UI::showSynthesize().
|
overrideprivatevirtual |
|
overrideprivatevirtual |
Shows synthesis results and checks for errors / warnings.
Reimplemented from TRANSLINE.
Definition at line 47 of file c_microstrip.cpp.
References ANG_L, ANG_L_PRM, ATTEN_COND_EVEN, ATTEN_COND_ODD, ATTEN_DILECTRIC_EVEN, ATTEN_DILECTRIC_ODD, TRANSLINE::convertParameterStatusCode(), EPSILON_EFF_EVEN, EPSILON_EFF_ODD, m_calc, PHYS_LEN, PHYS_LEN_PRM, PHYS_S, PHYS_S_PRM, PHYS_WIDTH, PHYS_WIDTH_PRM, TRANSLINE::setErrorLevel(), TRANSLINE::setProperty(), TRANSLINE::setResult(), SKIN_DEPTH, UNIT_MICRON, UNIT_PROP_DELAY_EVEN, UNIT_PROP_DELAY_ODD, Z0_E, Z0_E_PRM, Z0_O, Z0_O_PRM, and Z_DIFF.
|
overrideprivatevirtual |
Shows analysis results and checks for errors / warnings.
Reimplemented from TRANSLINE.
Definition at line 76 of file c_microstrip.cpp.
References ANG_L, ANG_L_PRM, ATTEN_COND_EVEN, ATTEN_COND_ODD, ATTEN_DILECTRIC_EVEN, ATTEN_DILECTRIC_ODD, TRANSLINE::convertParameterStatusCode(), EPSILON_EFF_EVEN, EPSILON_EFF_ODD, m_calc, PHYS_LEN, PHYS_LEN_PRM, PHYS_S, PHYS_S_PRM, PHYS_WIDTH, PHYS_WIDTH_PRM, TRANSLINE::setErrorLevel(), TRANSLINE::setProperty(), TRANSLINE::setResult(), SKIN_DEPTH, UNIT_MICRON, UNIT_PROP_DELAY_EVEN, UNIT_PROP_DELAY_ODD, Z0_E, Z0_E_PRM, Z0_O, Z0_O_PRM, and Z_DIFF.
|
protectedinherited |
@function skin_depth calculate skin depth

Definition at line 267 of file transline.cpp.
References FREQUENCY_PRM, m_parameters, M_PI, MU0, MURC_PRM, and SIGMA_PRM.
Referenced by getProperties().
|
virtualinherited |
Definition at line 251 of file transline.cpp.
References calcSynthesize(), checkProperties(), getProperties(), show_results(), and showSynthesize().
|
inherited |
Definition at line 137 of file transline.h.
Referenced by setErrorLevel().
|
private |
Definition at line 46 of file c_microstrip.h.
Referenced by calcAnalyze(), calcSynthesize(), getProperties(), showAnalyze(), and showSynthesize().
|
inherited |
Definition at line 93 of file transline.h.
Referenced by C_MICROSTRIP::C_MICROSTRIP(), C_STRIPLINE::C_STRIPLINE(), COAX_UI::COAX_UI(), COPLANAR_UI::COPLANAR_UI(), GROUNDEDCOPLANAR_UI::GROUNDEDCOPLANAR_UI(), MICROSTRIP_UI::MICROSTRIP_UI(), RECTWAVEGUIDE_UI::RECTWAVEGUIDE_UI(), STRIPLINE_UI::STRIPLINE_UI(), TRANSLINE(), and TWISTEDPAIR_UI::TWISTEDPAIR_UI().
|
protectedinherited |
Definition at line 142 of file transline.h.
Referenced by checkProperties(), C_MICROSTRIP::getProperties(), C_STRIPLINE::getProperties(), COAX_UI::getProperties(), COPLANAR_UI::getProperties(), MICROSTRIP_UI::getProperties(), RECTWAVEGUIDE_UI::getProperties(), STRIPLINE_UI::getProperties(), getProperties(), TWISTEDPAIR_UI::getProperties(), Init(), pushSoldermaskParameters(), SetExtraParameter(), skin_depth(), and TRANSLINE().
|
inherited |
Definition at line 139 of file transline.h.
Referenced by Init(), and setErrorLevel().
|
inherited |
Definition at line 138 of file transline.h.
Referenced by setErrorLevel().