KiCad PCB EDA Suite
Loading...
Searching...
No Matches
COPLANAR_UI Class Reference

UI wrapper for an ungrounded coplanar waveguide. More...

#include <coplanar.h>

Inheritance diagram for COPLANAR_UI:
TRANSLINE GROUNDEDCOPLANAR_UI

Public Member Functions

 COPLANAR_UI ()
 
void setProperty (enum PRMS_ID aPrmId, double aValue)
 Set a named property to the given value, access through the application.
 
double getProperty (enum PRMS_ID aPrmId)
 Return a property value.
 
void SetExtraParameter (enum EXTRA_PRMS_ID aPrmId, double aValue)
 Setter for panel-level parameters that are shared across every calculator type.
 
void checkProperties ()
 Check the input parameters (ie: negative length).
 
void setResult (int aLine, double aValue, const char *aText)
 Put the text into the given result line.
 
void setResult (int aLine, const char *aText)
 
bool isSelected (enum PRMS_ID aPrmId)
 Return true if the param aPrmId is selected.
 
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

void getProperties () override
 Pushes back-metal flag and common UI parameters into the calculator.
 
double skin_depth ()
 Calculate skin depth.
 
void setErrorLevel (PRMS_ID, char)
 Set an error / warning level for a given parameter.
 
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)
 Convert a TRANSLINE_STATUS status to a PCB Calculation status.
 

Protected Attributes

COPLANAR m_calc
 
double m_parameters [EXTRA_PRMS_COUNT]
 

Private Member Functions

void show_results () override
 Show results.
 
void showAnalyze () override
 Show synthesis results and checks for errors / warnings.
 
void showSynthesize () override
 Show analysis results and checks for errors / warnings.
 
void calcAnalyze () override
 Computation for analysis.
 
void calcSynthesize () override
 Computation for synthesis.
 

Detailed Description

UI wrapper for an ungrounded coplanar waveguide.

The math lives in the shared COPLANAR class; this class only shuttles parameters between the legacy UI array and the calculator.

Definition at line 36 of file pcb_calculator/transline/coplanar.h.

Constructor & Destructor Documentation

◆ COPLANAR_UI()

COPLANAR_UI::COPLANAR_UI ( )

Definition at line 28 of file pcb_calculator/transline/coplanar.cpp.

References TRANSLINE::Init(), and TRANSLINE::m_Name.

Member Function Documentation

◆ analyze()

void TRANSLINE::analyze ( )
inherited

◆ calcAnalyze()

void COPLANAR_UI::calcAnalyze ( )
overrideprivatevirtual

Computation for analysis.

Reimplemented from TRANSLINE.

Definition at line 79 of file pcb_calculator/transline/coplanar.cpp.

References m_calc.

◆ calcSynthesize()

void COPLANAR_UI::calcSynthesize ( )
overrideprivatevirtual

Computation for synthesis.

Reimplemented from TRANSLINE.

Definition at line 85 of file pcb_calculator/transline/coplanar.cpp.

References DEFAULT, and m_calc.

◆ checkProperties()

void TRANSLINE::checkProperties ( )
inherited

Check the input parameters (ie: negative length).

Does not check for incompatibility between values as this depends on the line shape.

Definition at line 154 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().

◆ convertParameterStatusCode()

◆ getProperties()

◆ getProperty()

double TRANSLINE::getProperty ( enum PRMS_ID aPrmId)
inherited

Return a property value.

Definition at line 134 of file transline.cpp.

References GetPropertyInDialog().

Referenced by getProperties().

◆ Init()

◆ isSelected()

bool TRANSLINE::isSelected ( enum PRMS_ID aPrmId)
inherited

◆ pushSoldermaskParameters()

void TRANSLINE::pushSoldermaskParameters ( TRANSLINE_CALCULATION_BASE & aCalc,
bool aIncludeFillsGaps = false ) const
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 284 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().

◆ setErrorLevel()

◆ SetExtraParameter()

void TRANSLINE::SetExtraParameter ( enum EXTRA_PRMS_ID aPrmId,
double aValue )
inlineinherited

Setter for panel-level parameters that are shared across every calculator type.

Definition at line 104 of file transline.h.

References m_parameters.

◆ setProperty()

◆ setResult() [1/2]

void TRANSLINE::setResult ( int aLine,
const char * aText )
inherited

Definition at line 122 of file transline.cpp.

References SetResultInDialog().

◆ setResult() [2/2]

◆ show_results()

void COPLANAR_UI::show_results ( )
overrideprivatevirtual

◆ showAnalyze()

void COPLANAR_UI::showAnalyze ( )
overrideprivatevirtual

Show synthesis results and checks for errors / warnings.

Reimplemented from TRANSLINE.

Definition at line 91 of file pcb_calculator/transline/coplanar.cpp.

References ANG_L, ANG_L_PRM, TRANSLINE::convertParameterStatusCode(), m_calc, PHYS_LEN, PHYS_LEN_PRM, PHYS_S, PHYS_S_PRM, PHYS_WIDTH, PHYS_WIDTH_PRM, TRANSLINE::setErrorLevel(), TRANSLINE::setProperty(), Z0, and Z0_PRM.

◆ showSynthesize()

void COPLANAR_UI::showSynthesize ( )
overrideprivatevirtual

◆ skin_depth()

double TRANSLINE::skin_depth ( )
protectedinherited

Calculate skin depth.

$ \frac{1}{\sqrt{ \pi \cdot f \cdot \mu \cdot \sigma }} $

Definition at line 250 of file transline.cpp.

References FREQUENCY_PRM, m_parameters, M_PI, MU0, MURC_PRM, and SIGMA_PRM.

Referenced by getProperties().

◆ synthesize()

void TRANSLINE::synthesize ( )
virtualinherited

Member Data Documentation

◆ errCol

KIGFX::COLOR4D TRANSLINE::errCol = KIGFX::COLOR4D( 1, 0.63, 0.63, 1 )
inherited

Definition at line 161 of file transline.h.

Referenced by setErrorLevel().

◆ m_calc

◆ m_Name

◆ m_parameters

◆ okCol

KIGFX::COLOR4D TRANSLINE::okCol = KIGFX::COLOR4D( 1, 1, 1, 1 )
inherited

Definition at line 163 of file transline.h.

Referenced by Init(), and setErrorLevel().

◆ warnCol

KIGFX::COLOR4D TRANSLINE::warnCol = KIGFX::COLOR4D( 1, 1, 0.57, 1 )
inherited

Definition at line 162 of file transline.h.

Referenced by setErrorLevel().


The documentation for this class was generated from the following files: