18 Commits

Author SHA1 Message Date
Fabien Corona
2757067986 check if models and submodels are compatbile 2025-02-28 16:18:55 +01:00
Fabien Corona
62d8cfbf9f ibis parser: implement [Add Submodel] 2025-02-28 16:18:11 +01:00
Jeff Young
9c757a4417 Naming conventions. 2025-01-14 12:24:24 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
John Beard
0d2371c9c3 IBIS: Constness and skipping copies
Lot of things can be const which makes the interface
a bit more legible and safe to use - lots of things are
accessing pointers that if they changed, would have wierd
and unpredicatable effects.

Probably of minor concern in practice, but a lot of strings
and vectors are being copied when they don't have to be.
Very crude profiling indicates this could save 30-50% of the time in
KIBIS::KIBIS after ParseFile, but this is incidental to
clarifying the API of the classes.

Report is const as it doesn't change the logical state of the
IBIS_ANY object (if m_reporter were a ref, it'd be mutable).

If a T* isn't null-checked inside a function, pass as ref
to show that the function expects and requires non-nullity.
2024-09-19 06:35:43 +01:00
John Beard
a08a78a285 IBIS: Fix broken polarity parsing
A copy-paste-o meant that this wasn't working and
was also trashing the enable variable.

Add a test that loads an IBS file in the QA directory
that demonstrates this is fixed.
2024-09-19 06:35:43 +01:00
Seth Hillbrand
343828c552 Fix invalid string compare in IBIS parser
strcmp returns 0 if strings are the same but compareIbisWord returns
True (1).

Adds an IBIS simulation QA test case to catch this in the future

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16223

(cherry picked from commit ef8b6bf9e1663dfc4af9f24137172f5a219dd42d)
2023-11-30 09:16:38 -08:00
Alex Shvartzkop
08e6e0258f IBIS: add stub for Model Spec; support empty strings in line with keywords. 2023-11-29 00:24:34 +03:00
Sergio Costas
181ae7f450 Change all bare isnan calls into std::isnan 2023-07-13 12:55:58 +00:00
Fabien Corona
8abb701727 IBIS: model type should not be case sensitive
Fixes #15068
2023-06-28 22:49:41 +02:00
aris-kimi
dca1281263 Fix some typos 2023-02-14 23:47:05 +02:00
Alex
81a55c42a1 Fix unintentional string change in IBIS parser. 2023-02-11 02:19:06 +03:00
jean-pierre charras
4065e413ea Ibis parser: do not report activity when there are no errors.
The dialog to add a library expects no message when there are no error.
Fixes #13794
https://gitlab.com/kicad/code/kicad/issues/13794
2023-02-06 12:55:52 +01:00
kliment
0f09172902 Eeschema: ibis_parser - Fix undefined behavior due to pointer aliasing in isNumberNA 2022-12-01 15:44:38 +00:00
jean-pierre charras
f3aff63726 Fix minor compil warnings 2022-11-29 20:05:58 +01:00
Fabien Corona
8498630876 Ibis: correctly load QA files up to v2.1 2022-11-20 19:10:46 +00:00
jean-pierre charras
ffd578ef70 Ibis parser: fix a collision name with a windows header (msys2 specific)
This is recurrent conflict. (fixed by changing INPUT to INPUT_SDT).
2022-11-08 17:35:57 +01:00
Fabien Corona
20b63f305e Sim: Ibis improvements and fixes
Follow-up after the KIBIS and KIBIS GUI merge requests.

- Move KIBIS from Pcbnew to Eeschema space,
- Make KIBIS obtain the Ku/Kd coefficients via the `SPICE_SIMULATOR` class instead of calling the `ngspice` executable via `system()`,
- Allow to toggle between differential and single-ended model in the GUI,
- Various GUI fixes and improvements.
2022-10-25 09:45:40 +00:00