Hi Nick, Thank you for testing the patch. I have just committed it to the master branch.
Regards, Orson On 10/17/2016 08:59 AM, Nick Østergaard wrote: > Hi Maciej > > It looks like your patchs works for the windows build. At least I > don't get the errors that Wayne mentioned and I see a square wave with > the patch applied. So committing that will essentially fix the > nightlies. > > Additionally I noticed a small bug with the plot view. When resizing > the window in any size, the y-axis will increase in value, which will > make the graph smaller. This does not happen when maximizing the > window. > > 2016-10-14 15:30 GMT+02:00 Maciej Sumiński <[email protected]>: >> Yes, I override three Spice variables: >> >> - unset interactive >> Disable interactive mode. You should expect hang ups when the option is >> enabled and you get an error during parameter evaluation (it asks you >> whether you want to continue, but there is no way to confirm). >> >> - set noaskquit >> Do not ask the user whether to quit the simulation. >> >> - set nomoremode >> Disables stopping output until a return key is pressed whenever there is >> a large number of lines to be displayed. >> >> I hope these three settings are reasonable. I override them as they have >> no meaning when ngspice is used as a shared library, but in a different >> configuration they cause troubles. Note that I do not put them into any >> config files, these options are set only when simulation is run in KiCad. >> >> Regards, >> Orson >> >> On 10/14/2016 03:12 PM, Wayne Stambaugh wrote: >>> I didn't look that carefully but are you overriding any settings from >>> the user config? I would prefer that you didn't so I don't spend time >>> trying to figure out why my config settings are not being respected. >>> >>> On 10/13/2016 11:13 AM, Maciej Sumiński wrote: >>>> It still loads the original configuration files (when possible) and >>>> afterwards it checks a few extra locations (relative to the executed >>>> binary path). This gives a chance to package maintainers to provide a >>>> proper spinit file. If it fails to find a custom spinit file, but it >>>> detects a path to codemodel libraries correctly, it will just load them. >>>> >>>> Regards, >>>> Orson >>>> >>>> On 10/13/2016 04:08 PM, Wayne Stambaugh wrote: >>>>> Does this patch override the users configuration or does it just solve >>>>> the default configuration issue on windows and osx? If so, that's not a >>>>> good thing. I'm fine if respects the users config. I still stand by my >>>>> original investigation that this is a package configuration issue, not a >>>>> broken code issue but if no one is willing to resolve those issues and >>>>> your patch respects the user config, then I'm OK with it. >>>>> >>>>> On 10/13/2016 9:49 AM, Maciej Sumiński wrote: >>>>>> Finally, I could get back to the issue. If we really focus about the >>>>>> consequences, the real problem is not that spinit is not processed, but >>>>>> the codemodel libraries are not loaded. >>>>>> >>>>>> Looking at the default spinit file: >>>>>> - most of the lines are comments >>>>>> - one causes problems ('set interactive', has to be unset later) >>>>>> - three others have no special meaning in shared library mode (aliases >>>>>> and 'set x11lineararcs') >>>>>> - the only meaningful lines are the ones that load codemodel libraries >>>>>> >>>>>> To fix the problem, there is a patch which: >>>>>> - Allows ngspice to load the default spinit/.spiceinit files (no changes >>>>>> here). >>>>>> >>>>>> - Looks for codemodel files in a few paths relative to eeschema >>>>>> executable. If a valid path is found, then an ngspice variable __CMPATH >>>>>> is set. >>>>>> >>>>>> - After the default initialization, looks for spiceinit (note it is >>>>>> spiceinit not .spiceinit) file in a few paths relative to eeschema >>>>>> executable. If one is found, then it is executed. If we decide to >>>>>> provide our spiceinit file (see the attachment), then thanks to __CMPATH >>>>>> variable we can point to the right codemodel directory. >>>>>> >>>>>> - If no spiceinit was found, but we know the correct path to codemodels, >>>>>> then they are simply loaded. >>>>>> >>>>>> - Unsets a few variables which may cause simulator hangups. >>>>>> >>>>>> Once the patch is committed, codemodels should work out of the box for >>>>>> the common msys2 builds and nightly Windows installers, even without a >>>>>> custom spiceinit. If OSX bundles provide codemodel libraries, then there >>>>>> is a chance it will work for them as well, otherwise we can add another >>>>>> search path. >>>>>> >>>>>> I know it may look like an ugly hack, but sincerely I have no better >>>>>> idea at the moment. I am going to leave it here for comments for a few >>>>>> days, if there are no objections, I will commit the changes. >>>>>> >>>>>> Regards, >>>>>> Orson >>>>>> >>>>>> On 10/06/2016 05:53 PM, Wayne Stambaugh wrote: >>>>>>> I have some additional information that may prove useful: >>>>>>> >>>>>>> 1) Using relative paths in the spinit file does not work on windows. >>>>>>> >>>>>>> 2) Placing a spinit file in the path where the ngspice and libngspice >>>>>>> binaries reside works with no need to set any environment variables. >>>>>>> >>>>>>> Option 2 could be used by the installer. The installer itself would >>>>>>> have to create the spinit file by substituting the install path for the >>>>>>> path of the .cm files. I'm not sure if this would work on osx. Maybe >>>>>>> one of our osx devs could test this. If it does, than that would >>>>>>> resolve the simulation init issues. >>>>>>> >>>>>>> I've attached a simple circuit that demonstrates the issue. When the >>>>>>> .cm files are not located, the simulation will run with the following >>>>>>> warnings and cause the output of the op-amp to be an impossibly high >>>>>>> 260V: >>>>>>> >>>>>>> Error on line 0 : >>>>>>> a$poly$e.xu1.eos %vd [ xu1.53 xu1.98 ] %vd ( xu1.3 net-_u1-pad1_ ) >>>>>>> a$poly$e.xu1.eos >>>>>>> MIF-ERROR - unable to find definition of model a$poly$e.xu1.eos >>>>>>> Warning: Model issue on line 0 : >>>>>>> .model a$poly$e.xu1.eos spice2poly coef = [ 1.7e-3 1 ] ... >>>>>>> Unknown model type spice2poly - ignored >>>>>>> Error on line 0 : >>>>>>> a$poly$e.xu1.eref1 %vd [ vdd 0 0 0 ] %vd ( xu1.98 0 ) a$poly$e.xu1.eref1 >>>>>>> MIF-ERROR - unable to find definition of model a$poly$e.xu1.eref1 >>>>>>> Warning: Model issue on line 0 : >>>>>>> .model a$poly$e.xu1.eref1 spice2poly coef = [ 0 0.5 0.5 ] ... >>>>>>> Unknown model type spice2poly - ignored >>>>>>> Error on line 0 : >>>>>>> a$poly$e.xu1.eref2 %vd [ net-_u1-pad1_ 0 /out 0 ] %vd ( xu1.97 0 ) >>>>>>> a$poly$e.xu1.eref2 >>>>>>> MIF-ERROR - unable to find definition of model a$poly$e.xu1.eref2 >>>>>>> Warning: Model issue on line 0 : >>>>>>> .model a$poly$e.xu1.eref2 spice2poly coef = [ 0 0.5 0.5 ] ... >>>>>>> Unknown model type spice2poly - ignored >>>>>>> Error on line 0 : >>>>>>> a$poly$e.xu1.eo3 %vd [ xu1.98 xu1.30 ] %vd ( vdd xu1.42 ) >>>>>>> a$poly$e.xu1.eo3 >>>>>>> MIF-ERROR - unable to find definition of model a$poly$e.xu1.eo3 >>>>>>> Warning: Model issue on line 0 : >>>>>>> .model a$poly$e.xu1.eo3 spice2poly coef = [ 0.7175 0.5 ] ... >>>>>>> Unknown model type spice2poly - ignored >>>>>>> Error on line 0 : >>>>>>> a$poly$e.xu1.eo4 %vd [ xu1.30 xu1.98 ] %vd ( xu1.44 0 ) a$poly$e.xu1.eo4 >>>>>>> MIF-ERROR - unable to find definition of model a$poly$e.xu1.eo4 >>>>>>> Warning: Model issue on line 0 : >>>>>>> .model a$poly$e.xu1.eo4 spice2poly coef = [ 0.7355 0.5 ] ... >>>>>>> Unknown model type spice2poly - ignored >>>>>>> Reducing trtol to 1 for xspice 'A' devices >>>>>>> Doing analysis at TEMP = 27.000000 and TNOM = 27.000000 >>>>>>> Warning: vv3: no DC value, transient time 0 value used >>>>>>> >>>>>>> Let me know if you have any other questions or comments. >>>>>>> >>>>>>> Cheers, >>>>>>> >>>>>>> Wayne >>>>>>> >>>>>>> On 10/6/2016 10:56 AM, Nick Østergaard wrote: >>>>>>>> Hi Maciej >>>>>>>> >>>>>>>> In the latest nightlies they are now stored in lib/ngspice/ >>>>>>>> >>>>>>>> I guess that should equate to a relative path to the executables to >>>>>>>> ../lib/ngspice/*.cm, given that the exe's are in the bin folder on the >>>>>>>> same level as lib. >>>>>>>> >>>>>>>> So feel free to submit your fix. Also, are there any demos that make >>>>>>>> use of those cm libs such that it can be tested? >>>>>>>> >>>>>>>> Nick >>>>>>>> >>>>>>>> 2016-10-05 23:16 GMT+02:00 Maciej Sumiński <[email protected]>: >>>>>>>>> Hi Nick, >>>>>>>>> >>>>>>>>> Are the .cm files included in the Windows nightlies installer? If so, >>>>>>>>> could you tell me what is the relative path to the directory storing >>>>>>>>> them? The easiest way to fix the problem is to send a few commands to >>>>>>>>> ngspice before a simulation starts. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Orson >>>>>>>>> >>>>>>>>> On 10/05/2016 10:23 PM, Nick Østergaard wrote: >>>>>>>>>> Is this really needed? What exactly does the .cm files provide? >>>>>>>>>> >>>>>>>>>> When I run the latest nightly I can run the allen key demo without >>>>>>>>>> problems as far as I can see. Maybe some other simulation modes do >>>>>>>>>> not work properly? >>>>>>>>>> >>>>>>>>>> 2016-09-30 14:37 GMT+02:00 Wayne Stambaugh <[email protected]>: >>>>>>>>>>> That would work as a long term solution as well. I was trying to at >>>>>>>>>>> least prove that it can be done without make changes to the current >>>>>>>>>>> code. Until a full solution is implemented, users (me) will have >>>>>>>>>>> an >>>>>>>>>>> interim solution if they want to use the spice simulator. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> >>>>>>>>>>> Wayne >>>>>>>>>>> >>>>>>>>>>> On 9/30/2016 3:40 AM, Maciej Sumiński wrote: >>>>>>>>>>>> We have also discussed on IRC another possibility, which is >>>>>>>>>>>> loading the >>>>>>>>>>>> extensions manually instead of having ngspice process its >>>>>>>>>>>> initialization >>>>>>>>>>>> file (spinit). This way we can adjust the paths during runtime. >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Orson >>>>>>>>>>>> >>>>>>>>>>>> On 09/29/2016 08:51 PM, Wayne Stambaugh wrote: >>>>>>>>>>>>> After much cursing and many config attempts, I finally have a >>>>>>>>>>>>> working >>>>>>>>>>>>> spice simulation solution on windows. I'm guessing similar >>>>>>>>>>>>> parallels >>>>>>>>>>>>> can be applied to osx as well. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Option A: running from a mingw32 or mingw64 terminal. >>>>>>>>>>>>> >>>>>>>>>>>>> 1) copy the installed spinit file (by default will be in >>>>>>>>>>>>> ${MINGW-PACKAGE-PREFIX}/share/ngspice/scripts) to ~/.spiceinit. >>>>>>>>>>>>> 2) change the msys2 paths (/mingw##) in ~/.spiceinit to absolute >>>>>>>>>>>>> windows >>>>>>>>>>>>> paths with / not \ (in my case C:/msys64/mingw##). >>>>>>>>>>>>> 3) Launch kicad.exe from the terminal. >>>>>>>>>>>>> >>>>>>>>>>>>> I realize this is not very elegant and will only work with either >>>>>>>>>>>>> the 64 >>>>>>>>>>>>> or 32 bit mingw (not both without editing .spiceinit) but it >>>>>>>>>>>>> works and >>>>>>>>>>>>> is handy for mingw users. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Option B: configuring windows and run kicad from a shortcut. >>>>>>>>>>>>> >>>>>>>>>>>>> 1) locate the installed spinit file >>>>>>>>>>>>> ($INSTALL_PATH/share/ngspice/scripts) and change the msys2 paths >>>>>>>>>>>>> (/mingw##) to absolute windows paths with / not \ (in my case >>>>>>>>>>>>> C:/msys64/mingw##). >>>>>>>>>>>>> 2) Run kicad, open the config paths dialog, and add an environment >>>>>>>>>>>>> variable SPICE_LIB_DIR with path to the spinit file minus the last >>>>>>>>>>>>> "scripts" path ($INSTALL_PATH/share/ngspice). >>>>>>>>>>>>> >>>>>>>>>>>>> I also tried copying the .spiceinit file from option A to >>>>>>>>>>>>> %USERPROFILE% >>>>>>>>>>>>> but that did not work when launching kicad from a shortcut. >>>>>>>>>>>>> >>>>>>>>>>>>> Option B a cleaner solution but still requires some configuration >>>>>>>>>>>>> by the >>>>>>>>>>>>> user. This is going to be an interesting problem to solve for our >>>>>>>>>>>>> package devs. We need to figure out a way to generate or modify >>>>>>>>>>>>> the >>>>>>>>>>>>> spinit file base on where it gets installed by the installer on >>>>>>>>>>>>> platforms where this is relevant. We will also either have to >>>>>>>>>>>>> set an >>>>>>>>>>>>> the SPICE_LIB_DIR environment variable or teach ngspice how to >>>>>>>>>>>>> find the >>>>>>>>>>>>> correct spinit file at run time. >>>>>>>>>>>>> >>>>>>>>>>>>> At least now windows users have a way to have the same functional >>>>>>>>>>>>> spice >>>>>>>>>>>>> simulation as linux users. >>>>>>>>>>>>> >>>>>>>>>>>>> Cheers, >>>>>>>>>>>>> >>>>>>>>>>>>> Wayne >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>>>>>> Post to : [email protected] >>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>>>>>>>> Post to : [email protected] >>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>>>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>>>>> >>>>>> >>>> >>>> >>> >>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

