Blame view

GUI/SW2/SRC/release-notes-v1.1.00.txt 8.56 KB
886c558b   Steve Greedy   SACAMOS Public Re...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
This release of gSpiceUI has some significant updates to the code and so has been designated as
version 1.1.00. The major changes in this release are :

 - An Operating Point panel has been introduced for NG-Spice.
 - Major re-work of the class PnlValue and related classes. Functionality is the same but the
   architecture is better and many subtle bugs have been addressed.
 - There are now two options for the main window layout in the Preferences dialogue.
 - The PnlValue class spin control repeat rate can now be set in the Preferences dialogue.
 - gSpiceUI can now be built against the latest version of wxWidgets ie. v3.0.02.
 - Show or disable tool tips now works.
 - Refinements of the OPTIONS dialogues (mostly more parameters are now supported).
 - All temperature values are now in Celcius (support for Kelvin and Fahrenheit has been dropped).
 - GNU-Cap FO analysis panel temporarily disabled.

The new NG-Spice Operating Point panel has been introduced for to mirror that in GNU-Cap. It is
implemented using the NG-Spice DC analysis command so the functionality provided by this command
is now spread across two analysis panels.

gSpiceUI can now be compiled against wxWidgets v3.0.x and development effort will now be focused on
this version of the library. The reason for the change is due to requests from users, it seems that
support for older versions of wxWidgets is being dropped by some Linux distributions. gSpiceUI can
still be compiled against wxWidgets v2.8.12 but may look prettier with wxWidgets v3.0.x.

The GNU-Cap Fourier analysis panel has temporarily been disabled. It's never really been properly
tested and now has some new bugs associated with it. In the interests of releasing v1.1.00 of
gSpiceUI I've decided to disable it rather than delay any further. I'm planning on providing the
same functionality for NG-Spice so both may appear together some time in the future.

I've decided to drop support for temperature values in Degrees Kelvin and Fahrenheit; it has never
really worked in gSpiceUI as far as I can recall anyway. Both NG-Spice & GNU-Cap only support Deg.C
and the data-sheets for various electronic components I've checked only mention Deg.C. I've
investigated the implications of supporting Deg.K & Deg.F properly in gSpiceUI and concluded it
would require significant effort and would add complexity to code which is already difficult to
follow. I don't think the effort required is justified given the maginal benefit to be gained. Let
me know if you disagree and why.

The following is an extract from the ChangeLog file associated with this release :

 * BugFix : In the NetList class the load file and load attributes operations have been separated to
            prevent redundant disk activity. SimnBase class has been modified in simpathy.
 * BugFix : In the Component class the type is determined based on the first character in the name
            eg. D1 is assumed to be a diode. If the component type couldn't be identified it was
            deemed invalid. This was a bit too harsh so now the component is assumed to be valid
            even if it's type can't be determined.
 * BugFix : The PnlValue control could be tripped up under certain circumstances if a value was
            manually entered (eg. enter 1.0V and decrement to 0.0V instead of 1000.0mV).
 * If a netlist loaded by gSpiceUI is found to be a valid simulation file it is now loaded into the
   Simulation console as well as the NetList console. Changes to FrmMain::bSimnLoad( ).
 * BugFix : In the simulation file an incorrect reference to schematic file/s could be included.
            This could occur if a .ckt wasn't derived from a .sch file.
 * gSpiceUI can now be compiled against wxWidgets v3.0.x or v2.8.12. Hence forth development will be
   based around wxWidgets v3.0.x so gSpiceUI may look prettier with this version of the library.
 * The delay between successive spin button control updates can now be set using the Preferences
   dialogue and the "Spin control period" parameter. Allowable values range from 20 to 400 mSec.
 * BugFix : Henry reported on 2010-10-04 that the command line option -g for importing schematic
            file/s was broken. This bug has now been rectified.
 * BugFix : If a PnlValue value outside the allowable range was manually entered, the spin buttons
            ceased to work. The event handlers now know what to do in this case.
 * Further development and testing of OPTIONS dialogue.
 * Comparison of floating point numbers isn't easy when the values are similar. Two new functions
   have been added to class CnvtType which compare floats ie. CnvtType::bIsEqual( ).
 * Significant upgrades to class PnlValue bSetValue( ) functions. This is due to testing done using
   the test application test_AppPnlValue.
 * It's not good practise to declare "using namespace" with global scope so all such declaration
   have been removed.
 * BugFix : The CnvtType class bParseFlt( ) functions could fail at certain boundary conditions
            around mantissa values of 1.0 and 10.0.
 * Added a test application directory src/tests. The first test application is test_AppPnlValue
   which is used to test the display control class PnlValue and all the classes it uses. It's
   getting too difficult to test GUI components inside gSpiceUI.
 * Support for temperature values in Degrees Kelvin and Fahrenheit has been dropped. Both NG-Spice
   and GNU-Cap only support Deg.C and the data-sheets for various electronic components I've checked
   only mention Deg.C. Supporting Deg.K & Deg.F properly in gSpiceUI would require significant
   effort which isn't justified given the maginal benefit to be gained.
 * Phase angle units are now set via the Preferences dialogue.
 * The preferences dialogue now includes an option to alter the main frame layout. Either the probes
   (nodes and components) lists extend the full height of the frame or (as normal) the text controls
   can expand to cover the full width of the frame at the expense of probe lists height.
 * BugFix : When setting a PnlValue the units where being ignored if the value to be set was zero.
            The function PnlValue::bSetValue( wxString & ) has been completely rewritten.
 * BugFix : If Source sychronization was enabled the sweep parameter units where not being updated
            for the DC analysis panels.
 * BugFix : In the class NbkNgSpice the result file width was not being calculated correctly meaning
            results could be lost.
 * In the classes CmdGnuCapOPT and DlgGcpCfgOPT have removed options which are no longer supported
   and included new options.
 * In Settings menu place Preferences item at the top.
 * Created a new class UnitsBase as a base class to ChoUnits and LblUnits.
 * Tidied up the layout of all configuration dialogues.
 * Created a new class LblUnits to be used as an attribute in the class PnlValue as the units label.
 * The layout of the analysis panels for both NG-Spice and GNU-Cap were showing a some bit rot.
   These panels have been updated.
 * Created a new class PnlLblTxt to replace some instances of the wxTextCtrl class. It provides much
   of the functionality of wxTextCtrl and adds a parameter name string displayed to the left of the
   wxTextCtrl control.
 * Created a new class PnlLblCho to replace some instances of the wxChoice class. It provides the
   functionality of wxChoice and adds a parameter name string displayed to the left of the wxChoice
   control.
 * Updates to the build system to suppress warnings when building with gcc and wxWidgets v2.8.12.
 * Convert all bool values to lower case "true" or "false" instead of upper case "TRUE" and "FALSE".
   There seems to be no reason to use upper case values hence the change.
 * BugFix : The class CnvtType was failing one test utility check. The method bIsFloat( ) was not
            detecting that a string like "123E-4" represents a float.
 * Updates to the build system for the test utilities (ie. in src/Makefile).
 * Change from the drawing package Xfig (and FIG drawing files converted to JPEG image files) to
   Inkscape (and SVG drawing files converted to PNG image files).
 * BugFix : Contributor "dcb" ran cppcheck on the gSpiceUI sources. Two non-sensical test
            expressions inside two if( ) statements were found in the file CmdGnuCapGEN.cpp. Both
            bugs have now been rectified. The rest of the sources passed the cppcheck tests OK.
 * Update to GPL license version 3.
 * Changed email address references.
 * gSpiceUI now responds appropriately if a binary file can't be found eg. gschem or gnetlist.
 * Major update of ConvertType class including a name change to CnvtType.
 * HTML documentation updates.
 * Many minor updates and bug fixes.