Simulation bug fixes.

1) Use C-locale when converting output of parsers to strings.

2) InferSimModel() must run on local copy of fields, not the fields in
the symbol (which might be different if they've already been edited in
the Symbol Properties Dialog, for instance).

3) InferSimModel() should accept a deviceType already set to RLC.

4) Don't output trailing decimal separators if there's no fraction.
This commit is contained in:
Jeff Young
2022-12-19 18:14:13 +00:00
parent f601c87cea
commit 58ce0bb804
6 changed files with 48 additions and 54 deletions
+2 -4
View File
@@ -203,10 +203,8 @@ SIM_LIBRARY::MODEL SIM_LIB_MGR::CreateModel( const SCH_SHEET_PATH* aSheetPath, S
wxString pinMap;
// Infer RLC and VI models if they aren't specified
if( SIM_MODEL::InferSimModel<SCH_SYMBOL, SCH_FIELD>( aSymbol, true,
SIM_VALUE_GRAMMAR::NOTATION::SI,
&deviceType, &modelType, &modelParams,
&pinMap ) )
if( SIM_MODEL::InferSimModel( aSymbol, &fields, true, SIM_VALUE_GRAMMAR::NOTATION::SI,
&deviceType, &modelType, &modelParams, &pinMap ) )
{
fields.emplace_back( &aSymbol, -1, SIM_MODEL::DEVICE_TYPE_FIELD );
fields.back().SetText( deviceType );