← Back to team overview

kicad-developers team mailing list archive

Re: Additional parameters on simulation dialog


Hi Sylwester,

On 8/18/19 5:15 PM, Sylwester Kocjan wrote:
> Hi Wayne & KiCad devs,
> Apologies for previous message, wrong formatting made it unreadable.
> Let me repeat:
> I made some progress with simulation changes (see the attached patch).
> I fixed your findings (hopefully this is what you intended) and made
> further changes. Currently it is possible to set initial condition for
> capacitors and inductors in DIALOG_SPICE_MODEL.

You still have many coding policy violations.  Please use the
clang-format commit hook[1] provided to automatically fix your
formatting issues.


I cannot apply the patch due to merge conflicts.  Please rebase against
master so I can test it.

I suggest using "Spice_Initial_Condition" rather than "Spice_IC" as the
field name.  "IC" is ambiguous and could be confused with "Integrated

> At the same time I found a bug, I think fixing would require some
> architectural changes: 1. User adds initial condition to the element ->
> additional field "Spice_IC" is saved in component. 2. User opens SPICE
> options for component and removes initial condition. 3. In
> DIALOG_SPICE_MODEL::TransferDataFromWindow(), IC field from instance of
> DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnEditSpiceModel() wants to remove
> a row from wxGrid based on different number of  elements in
> DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::m_fields. 5. Before this happen,
> grid wants to be updated and calls FIELDS_GRID_TABLE<T>::GetValue() for
> a row that is going to be deleted -> wxCHECK( aRow < GetNumberRows(),
> wxEmptyString ) fails.

I believe this check is correct but maybe some can comment on this.

> This issue is reproducible in 100% cases on my machine with Linux and I
> think that something similar can occur with
> Best regards,
> Sylwester