Commit Graph

935 Commits

Author SHA1 Message Date
Alex Shvartzkop 08e6e0258f IBIS: add stub for Model Spec; support empty strings in line with keywords. 2023-11-29 00:24:34 +03:00
Jeff Young 196e05bc51 Borrow parts of simulator's separator-detection algorithm.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15248
2023-11-20 13:47:24 +00:00
Jeff Young 32806a3b8b Make sure plot tab gets its SpicePlotName updated.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16013
2023-11-04 15:45:08 +00:00
Jeff Young 1c746f0134 Correctly parse fft commands with linearize in them.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16011
2023-11-04 15:45:08 +00:00
Jeff Young 6b29c346b9 When presented with empty text we don't want to Normalize() the SIM_VALUE.
But we *do* need to update NUMERICAL_EVALUATOR::m_originalText by
calling NUMERICAL_EVALUATOR::Process().

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15871
2023-10-27 16:59:28 +01:00
Seth Hillbrand 1290cf6241 Fix missing random sim command
(cherry picked from commit 3ce4a5bf7f)
2023-10-26 09:47:43 -07:00
Alex Shvartzkop 71fb1afe4c Add ngspice lib paths for when running from build dir. 2023-10-22 19:58:17 +03:00
Jeff Young 68e46ecad5 Don't set modified flag when updating measurement format internally.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15909
2023-10-21 14:26:31 +01:00
Jeff Young eff4e2cc9c Convert windows file paths to unix notation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15888
2023-10-21 13:33:22 +01:00
Jeff Young 12118b6246 Make sure measurements are updated from grid before saving workbook.
Also fixes a typo when loading measurements.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15909
2023-10-20 17:36:17 +01:00
Jeff Young 62eaa7e1c7 Signals already have gain/phase broken out; user-defined signals don't.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15903
2023-10-20 14:09:46 +01:00
Marek Roszko bee6e6be01 AddMenuLanguageList should live in EDA_BASE_FRAME, its only user 2023-10-16 19:49:52 -04:00
Wayne Stambaugh b5eee9dd7e Coverity warning fixes. 2023-10-16 17:04:14 -04:00
Jeff Young 0b06a1376b Don't turn an empty string into a '0'.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15871
2023-10-13 19:07:45 +01:00
Marek Roszko 0fe2e06949 Fix ambiguous cast compiler errors on MSVC 2023-10-12 19:07:12 -04:00
Jeff Young e9bdfe7210 Save trace colors during session.
My first thought was to move the color out of the TRACE, which is
really a view object.  However we can't make signals a first-class
citizen either, because they change depending on what the current
simulation tab is and so (for instance) we can only load in the
workbook signals for the current tab.  Hours later I backed it all
out and arrived at this simpler, less "correct" solution.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14231
2023-10-04 17:13:08 +01:00
Jeff Young ed4d66e76b Remove dead code. 2023-10-04 17:13:08 +01:00
Jeff Young 0c055e15b7 Keep user-defined signals separate.
They can't be plotted till the end of the sim.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15803
2023-10-03 12:59:49 +01:00
Jeff Young 827942c560 Clarity. 2023-10-03 12:59:49 +01:00
Jeff Young 2dfdf0682f Don't ask for empty data. 2023-10-03 12:59:49 +01:00
Jeff Young a475b01a90 Remove ic parameter from voltage-controlled sources.
It was never supported by ngspice (or LTspice or pspice).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15787
2023-10-01 12:16:25 +01:00
Jeff Young aab0696bb6 Zoom undo/redo for simulator.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14580
2023-09-26 13:19:41 +01:00
Jeff Young 463e7c3b30 Improve performance & responsiveness of sim updates.
The x-axis only needs to be fetched once per update.  Same for
redrawing the screen.  And there's no reason to fetch more y data
than we have x data for (which happens to subsequent traces as
the sim is still running as we're updating).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-22 21:40:52 +01:00
Jeff Young 2f475d99dd Don't update signals and measurements for each refresh.
We only need to do them on the final refresh.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-20 17:34:34 +01:00
Jeff Young 1ff279bf72 Don't auto-adjust time axis while sim is running.
Just use start and end time.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-20 17:34:34 +01:00
Jeff Young 8672cdb3bd Handle power operating points.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15689
2023-09-19 17:37:51 +01:00
Jeff Young ff88ed76f0 Hack to prevent timer event starvation on MSW.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
2023-09-19 17:04:05 +01:00
Alex Shvartzkop 1decd31baf Vertically center wxGrid cells by default. 2023-09-18 17:15:34 +03:00
Jeff Young e5bce16e31 Don't reset cursor x position during a sim refresh.
The sim may not be complete yet.  And even if it is, the user
didn't ask us to move their cursor.  Just leave it where it is
with an undefined y value.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15672
2023-09-17 19:23:46 +01:00
Jeff Young be4c89011c Don't confuse "significant digits" with "decimal places".
Also raises the default significant digits for cursors to 3.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15669
2023-09-17 12:42:06 +01:00
Jeff Young ede542f911 Collect comment lines into following spice unit.
This can't distinguish a header block comment in front of a file
with multiple spice units, and so will include that into the first
unit only.

Also fixes the pin assignments reference textbox to use a
fixed-width font as many .subckt's contain ASCII graphics for
pin definitions (not that it helps any with the test case from
the given bug).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15660
2023-09-15 20:08:45 +01:00
Jeff Young 4a59f0de43 Apply DC voltage source exception to current sources.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15626
2023-09-12 13:45:28 +01:00
Marek Roszko 11de95778b Unwrap the FROM_UTF8 macro in favor of direct function
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Jeff Young 7a2a2e2df0 Remove error-prone SetReporter() API. 2023-09-06 11:37:50 +01:00
Jeff Young 30a6d33177 Better fix for primary param in value field with other params in params field.
(Replaces 2c8178829982c6e15e443b5a7868b8c953d5126f.)
2023-08-30 00:53:01 +01:00
Jeff Young 2c81788299 HasAutofill should not preclude a primary parameter in the value field 2023-08-28 17:44:45 +01:00
Jeff Young 7f14b70ac3 Formatting. 2023-08-26 22:43:00 +01:00
Jeff Young 2d630a3c75 Remove useless assert. 2023-08-26 22:43:00 +01:00
Jeff Young 85240d590b Remove relative current measurements.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-18 13:40:52 +01:00
Jeff Young 684344c45c GUI-created measurements of AC gain signals should be gain, not abs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-17 17:42:17 +01:00
Jeff Young 981089bbd3 Show correct description and units for AC/SP measurements.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-17 13:32:46 +01:00
Jeff Young da031792af Add current signals to AC analyses.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15427
2023-08-16 17:24:59 +01:00
Jeff Young a6bceb8182 Don't set modified when loading workbook.
Also keep a shadow variable of the legend position so we can notice
when the mpWindow's OnMouseMove() handler changes it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15363
2023-08-09 12:09:29 +01:00
Jeff Young 1b080ed02f Get rid of SIM_NOTEBOOK. It's completely unnecessary. 2023-08-09 12:09:29 +01:00
Mike Williams bdecdce1b4 Exclude from Sim: move from field to attribute 2023-08-08 12:36:36 -04:00
Ian McInerney a3a701a95e Move preferences to an action instead of a wx event 2023-08-08 00:51:22 +01:00
Jeff Young ddbefe13cd Improve default margins. 2023-08-06 20:57:42 +01:00
Josue Huaroto cfa49b5250 Move units labels from ticks to axis label. 2023-08-04 22:41:50 +00:00
Jeff Young 8ac49d0bab General cleanup, coding standards, removal of dead code, etc. 2023-08-02 16:56:56 +01:00
Jeff Young f897b4bac1 Remove cover routines for std::vector.
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00