xcircuit-dev Mailing List for XCircuit (Page 14)
Brought to you by:
rtedwards
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(1) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(12) |
Feb
(20) |
Mar
(10) |
Apr
(7) |
May
(17) |
Jun
(8) |
Jul
(14) |
Aug
(1) |
Sep
(1) |
Oct
(2) |
Nov
(4) |
Dec
(6) |
2003 |
Jan
(11) |
Feb
(9) |
Mar
(6) |
Apr
(4) |
May
(4) |
Jun
(9) |
Jul
(14) |
Aug
(5) |
Sep
(22) |
Oct
(2) |
Nov
(4) |
Dec
(3) |
2004 |
Jan
(25) |
Feb
(33) |
Mar
(4) |
Apr
(18) |
May
(34) |
Jun
(58) |
Jul
(5) |
Aug
(10) |
Sep
(3) |
Oct
(5) |
Nov
(5) |
Dec
(3) |
2005 |
Jan
(3) |
Feb
(12) |
Mar
(17) |
Apr
(8) |
May
(7) |
Jun
(3) |
Jul
(20) |
Aug
(11) |
Sep
(11) |
Oct
(19) |
Nov
(22) |
Dec
(9) |
2006 |
Jan
(8) |
Feb
(27) |
Mar
(17) |
Apr
(13) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: R. T. E. <ti...@st...> - 2002-07-17 18:46:40
|
Dear Massimo, Thanks for the bug reports. I've been at a conference for several days, so your bug reports have been piling up. Here are the results: --------------------------------------------- 1) Start xcircuit 2) Load the attached bug?.lps library 3) Go to the bug? library ('l' command) 4) Edit the symbol bug? ('>' command) 5) Select the ? (only the '?') in the info label 'spice:R?' with the middle mouse key 6) Go to text -> unparameterize 7) segmentation fault --------------------------------------------- I can't get this one to crash. I *did* make a few changes to the "unparameterize" function code between version 2.5.4 and version 3.0 (2.5.5), so my best guess is that the problem got fixed already. --------------------------------------------- 1) run xcircuit 2) "Import Xcircuit ps" the attached example (bug.ps) 3) Go to Netlist -> Make Matching Symbol 4) Input the name of the symbol (i.e. "All") 5) Now instead to draw the symbol press "<" 6) Segmentation fault --------------------------------------------- Ouch. I see I missed something I was supposed to remove. "events.c" line 398: Remove lines 398 to 401 #ifdef SCHEMA if (xobjs.stack->thisinst->thisobject->symschem == topobject) pop_stack(&xobjs.stack); #endif and the problem will go away. However, the same change I made which made those two lines necessary also produces the strange behavior that when you go from a top page to the library, then edit (">") the library object, the page appears drawn in gray as if you pushed from the page and not the library. I'll have to find a fix, although the problem is minor. --------------------------------------------- 1) Load the attached library pippo1.lps 2) go to the library and ">" the nMesfet 3) insert an Info pin (I) and write "spice:Z? %pd %pg %ps ?" 4) Highlight (with the middle button) the first ? and parameterize it 5) Highlight the second ? and parameterize it 6) Segmentation fault. It is reproducible --------------------------------------------- Ouch again! "parameter.c", line 1105. Change: begpart = splitstring(textend, &thislabel->string, NULL); endpart = splitstring(textpos, &thislabel->string, NULL); to begpart = splitstring(textend, &thislabel->string, areastruct.topinstance); endpart = splitstring(textpos, &thislabel->string, areastruct.topinstance); This fixes the problems. The fixes will be reflected in the distribution as soon as the lab's ISP allows me to connect to the university machine again. . . (it amazes me that the entire internet seems to be available except for the connection between the university and its own research laboratory!) Regards, Tim |
From: Massimo G. <ga...@ti...> - 2002-07-16 21:51:55
|
Dear Tim, I think to have found another strange bug (starting from now I am numbering my bug reports, this is #1 :-) ) Case 1) Using: Xcircuit 3.0 dated 8 Jul 2002 + patch for Python (PyRun_StringFlags (...) ), compiled with ./configure --disable-focus-fix make make install 1) Load the attached library pippo1.lps 2) go to the library and ">" the nMesfet 3) insert an Info pin (I) and write "spice:Z? %pd %pg %ps ?" 4) Highlight (with the middle button) the first ? and parameterize it 5) Highlight the second ? and parameterize it 6) Segmentation fault. It is reproducible Case 2) Using Xcircuit 2.5 from Slackware package downloaded from your site This bug is not present. Case 3) Compiling like in Case1 without --disable-focus-fix exactly identical to Case 1) Case 4) Running the debugger (xxgdb) over the executable obtained in Case3) I get Program received signal SIGSEGV, Segmentation Fault [switching to Thread 1024 (LWP 5182)] linkstring (localinst=0x0, strstart=0x8268c50) at text.c:310 The line 310 of text.c is 310: if (localinst->thisobject->params[paramno]->type != XC_STRING) { 311: fprintf(stderr, "linkstring() error: parameter %d is not a substring!\n", 312: paramno); 313 return strstart->nextpart; 314 } I haven't the source code of the 2.5 version, so I cannot compare the differences. Anyway the error message (line 311:) is not printed on stderr. I hope you will able to get the error (bug). Hope this helps. Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: Massimo G. <ga...@ti...> - 2002-07-15 21:11:38
|
Dear Tim and xcircuit users, Try this 1) run xcircuit 2) "Import Xcircuit ps" the attached example (bug.ps) 3) Go to Netlist -> Make Matching Symbol 4) Input the name of the symbol (i.e. "All") 5) Now instead to draw the symbol press "<" 6) Segmentation fault Hope this helps Regards Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: Massimo G. <ga...@ti...> - 2002-07-10 21:56:34
|
Dear Tim and Xcircuit users, Try this. 1) Start xcircuit 2) Load the attached bug?.lps library 3) Go to the bug? library ('l' command) 4) Edit the symbol bug? ('>' command) 5) Select the ? (only the '?') in the info label 'spice:R?' with the middle mouse key 6) Go to text -> unparameterize 7) segmentation fault This bug is present in my Slackware 8.0 linux station. I don't know if the bug is present in other OS or distribution. (Slackware 8.0 is kernel 2.2.19 glibc 2.2.3 Xcircuit 2.5.4 pre-compiled slackware package from Tim's site. ) Another strange behaviour 1) Start Xcircuit from a shell prompt 2) Iconify it 3) you get X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 42 (X_SetInputFocus) Serial number of failed request: 9390 Current serial number in output stream: 9390 and the Xcircuit dies. Very strange. May be relate to the X (Xfree 4.1.0 and/or fvwm 2.5.5 window manager). Another issue: As I told in my last e-mail I cannot compile the new 3.0 (8 jul) version with python 2.0.1 due to lack of PyRun_StringsFlags symbol int the python library. I observed that the new Python 2.2.1 has this reference in the library. So definitevely I need to upgrade the Python package and/or toupgrade to Slackware 8.1. Anyway may be a good idea to put a warning in the web site about this issue, 2.0.1 is not enough! :-) I guess that the Slackware package in the web site was not compiled under pure Slackware 8.0 (that has python 2.0.1), it is impossible. Hope this helps Regards Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: Massimo G. <ga...@ti...> - 2002-07-08 21:43:22
|
Dear Tim and xcircuit users, I am trying to compile the new 3.0 version (8 jul) but I am unable (so far) to get an working executable. I am compiling under Slackware 8.0 with Phyton 2.0.1, Tcl/Tk 8.3.3 installed and Tclx 8.3.0 installed. Compiling after a ./configure make I get gcc -O2 -L/usr/X11R6/lib -L/usr/lib/python2.0/config -o xcircuit elements.o events.o filelist.o files.o fontfile.o formats.o functions.o help.o keybindings.o libraries.o menucalls.o netlist.o parameter.o python.o rcfile.o render.o schema.o selection.o text.o wrapper.o tkSimple.o xcircuit.o Xw/libxcXw.a -lXt -lm -lpython2.0 -lpthread -ldl -lutil -lm -lXpm -lX11 /usr/lib/python2.0/config/libpython2.0.a(posixmodule.o): In function `posix_tmpnam': posixmodule.o(.text+0x25fe): the use of `tmpnam_r' is dangerous, better use `mkstemp' /usr/lib/python2.0/config/libpython2.0.a(posixmodule.o): In function `posix_tempnam': posixmodule.o(.text+0x255a): the use of `tempnam' is dangerous, better use `mkstemp' python.o: In function `PyRun_ObjString': python.o(.text+0x33): undefined reference to `PyRun_StringFlags' collect2: ld returned 1 exit status make[1]: *** [xcircuit] Error 1 make[1]: Leaving directory `/user/gaspari/compile/xcircuit-3.0' make: *** [all-recursive] Error 1 Compiling after a ./configure --enable-wrapper make wrapper I get swig -tcl8 -o xcwrap.c xcwrap.i make: swig: Command not found make: *** [xcwrap.c] Error 127 I loooked in all the installed packaged, I have not found the required 'swig'. I never used Tcl/Tk so I will try to understand what is the required swig executable. In the first case I guess that you are using a new version of Python. Really the 'PyRun_StringFlags' is not defined in my libpython2.0.a Doing a nm libpython2.0.a I get the 'PyRun_String' reference but not the PyRun_StringFlags I have attached the two config.log files. I will try to understand more details tomorrow. In addition I am reporting a compilation warning too gcc -DPACKAGE=\"xcircuit\" -DVERSION=\"3.0\" -DPROTOTYPES=1 -DHAVE_LIBM=1 -DHAVE_LIBXT=1 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_U_CHAR=1 -DSCHEMA=1 -DSCHEM_FLAG=\"-schema\" -DLGF=1 -DINPUT_FOCUS=1 -DGS_EXEC=\"gs\" -DHAVE_PYTHON=1 -DHAVE_X11_XPM_H=1 -DHAVE_XPM=1 -I. -I. -IXw -DPROG_VERSION=3.0 -DTEMP_DIR=\"/tmp\" -DRESOURCES_DIR=\"/usr/local/share/xcircuit-3.0/app-defaults\" -DBUILTINS_DIR=\"/usr/local/share/xcircuit-3.0\" -DBUILTINS_FILE=\"\" -DUSER_RC_FILE=\".xcircuitrc\" -DPROLOGUE_DIR=\"/usr/local/share/xcircuit-3.0\" -DPROLOGUE_FILE=\"xcircps2.pro\" -DSTARTUP_FILE=\"xcstartup.py\" -DCONFIG_FILE=\"\" -DLGF_LIB=\"lgf.lps\" -I/usr/X11R6/include -DDOUBLEBUFFER -I/usr/include/python2.0 -g -O2 -c python.c python.c: In function `PyRun_ObjString': python.c:149: warning: assignment makes pointer from integer without a cast Hope this helps. Regards Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: Massimo G. <ga...@ti...> - 2002-07-03 21:34:01
|
Dear all, In my last bug report I wrote some key combination using bracket. The web interface of the sourceforge repository has trouble with this. Some characters are disappeared. So I repost in a different way two lines of my last e-mail . . . . 6) Go to the end of the string (after the parameter ?) and out of the angle bracket and press Alt+Enter 7) Press Alt+P and then "2" to add the second parameter (the model) . . . Sorry for the time waste. Bye Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: R. T. E. <ti...@st...> - 2002-07-03 17:35:31
|
Dear Massimo, There are effectively no differences between xcircuit-2.5.4 and xcircuit-3.0; the difference between the two versions is some experimental Tcl/Tk code that is not compiled by default. So, anyway, the bug you found is that the parameter numbers shown for selection when you use "alt-P" are wrong; the routine counts only the string parameters (not the numerical parameters), but forgot to add them to the parameter count when mapping the selection number back to the parameter number. Consequently, you get a numerical parameter inserted into the string, causing a core dump. Attached is a patch file which cures the problem. Thanks for the detailed bug report. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: ti...@st... | | Mailstop 4-234 (SRI) | web: http://bach.ece.jhu.edu/~tim | | JHU Applied Physics Laboratory | phone: (240) 228-4613 | | 11100 Johns Hopkins Road | fax: (240) 228-7636 | | Laurel, MD 20723-6099 | cell: (240) 461-3895 | +--------------------------------+-------------------------------------+ |
From: Massimo G. <ga...@ti...> - 2002-07-02 21:54:39
|
Dear Tim and Xcircuit users, May be I found a bug in Xcircuit (version 2.5.4 Slackware 8.0 libc 2.2.1 kernel 2.2). 1) "Load new library" the attached "pippo.lps" 2) go to the library page "pippo" 3) Look at the NPN 4) Put the cursor on it and press ">" to edit the symbol 5) put the cursor on the text label "Q?" and press "e" to edit 6) Go to the end of the string (after the parameter ?) and out of the <> and press <Alt-Enter> 7) Press <Alt-P> and then "2" to add the second parameter (the model) 8) Segmentation Fault Is the 3.0 affected? I haven't applied, so far, the patch for the "more than 9 parameters problem" reported few days ago. For the future I will compile Xcircuit with the -g option. So my reports will be clearer attaching stuff from the gnu debugger. Hope this helps Regards Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: R. T. E. <ti...@st...> - 2002-07-01 15:12:21
|
Dear Massimo, Oops, typo! I guess I never made a part with more than 9 parameters before, because the file reader will only look at the last digit. The fix is to change one word in files.c (in version 3.0, it's line 2772; it may be a few line numbers different in version 2.5.4): Change: else if (!strcmp(keyword, "beginparm")) { /* parameterized object */ short tmpnum, i; for (--keyptr; *keyptr == ' '; keyptr--); for (; isdigit(*keyptr) && (keyptr >= lineptr); keyptr--); ^^^^^^^ to: else if (!strcmp(keyword, "beginparm")) { /* parameterized object */ short tmpnum, i; for (--keyptr; *keyptr == ' '; keyptr--); for (; isdigit(*keyptr) && (keyptr >= buffer); keyptr--); ^^^^^^ Thanks for the detailed bug report. It made it very easy to track down the source of the problem. Regards, Tim |
From: Massimo G. <ga...@ti...> - 2002-06-28 16:23:09
|
Dear Xcircuit users I have discovered a bug (may be!) in xcircuit 2.5.4 downloaded from Tim's website (slackware package). Using Slackware 8.0 (kernel 2.2.18, libc 2.2.1, package locale not installed) I get trouble doing: A) I create a custom library (see attachment libok.lps) B) this library seems good. C) I run xcircuit, load the libok.lps D) Editing the virtual simbol I parameterize the position of the text label E) Seems good F) I save the library as libcrash.lps G) I close xcircuit and then run xcircuit again F) I load libcrash.lps then xcircuit get a crash saying readlabel() error: Parameter 2 exceeds declared number of parameters (1)! readlabel() error: Parameter 3 exceeds declared number of parameters (1)! readlabel() error: Parameter 4 exceeds declared number of parameters (1)! readlabel() error: Parameter 7 exceeds declared number of parameters (1)! readlabel() error: Parameter 5 exceeds declared number of parameters (1)! readlabel() error: Parameter 6 exceeds declared number of parameters (1)! readlabel() error: Parameter 6 exceeds declared number of parameters (1)! Segmentation fault But the line (0) (0) (k) (1) (0.0) (?) (1.0) 0 16 64 -64 11 beginparm is declaring eleven parameter and I have eleven parameter. I have recompiled 2.5.4 on my system but the errors and crash are always the same Is this bug affecting 3.0 too? Hope this helps. Regards Massimo -- ''~`` ( o o ) +------------------.oooO--(_)--Oooo.------------------+ | | | e-mail: address ga...@ti... | | PGP key available on keyserver | |PGP fingerprint16: | | 76 80 F2 F9 8D 70 F3 D1 42 2B CD 80 29 49 CB 25 | | | | .oooO | | ( ) Oooo. | +---------------------\ (----( )--------------------+ \_) ) / (_/ |
From: Mario E. M. <mar...@te...> - 2002-06-22 21:54:12
|
Hi Everybody. I'm trying to compile XCircuit for Solaris 8 intel architecture. I configure and then I "make" getting the following error: gcc -o menudep menudep.o ./ mksh: Fatal error: Cannot load command `./': Permisson denied Current working directory /export/home/mario/software/ingenieria/xcircuit-2.3.3 *** Error code 1 make: Fatal error: Command failed for target `menudep.h' Current working directory /export/home/mario/software/ingenieria/xcircuit-2.3.3 *** Error code 1 make: Fatal error: Command failed for target `all-recursive' $ Anybody can help me? I'm not a professional programmer, so I can't solve the problem myself. Thank you very much. |
From: Bryce D. <br...@tl...> - 2002-06-13 14:37:54
|
On Mon, 10 Jun 2002, R. Timothy Edwards wrote: > Dear Bryce, > Thanks for the bug report. The solution is: > > In functions.c, line 1272: change--- > [snip] > goto nextgen; > [snip] > nextgen: > I will make the change to the distribution. Thanks for the quick response. It fixed it! For those who like patches, the equivalent patch is attached. -Bryce |
From: R. T. E. <ti...@st...> - 2002-06-10 14:53:55
|
Dear Bryce, Thanks for the bug report. The solution is: In functions.c, line 1272: change--- ------------------------------------------------------------------- if ((*bboxgen)->type == LABEL) { labelptr btext = TOLABEL(bboxgen); if (btext->pin && !(btext->justify & PINVISIBLE)) { continue; } } #endif calcbboxsingle(bboxgen, thisinst, &llx, &lly, &urx, &ury); } if (newelement != NULL) break; } ------------------------------------------------------------------- to: ------------------------------------------------------------------- if ((*bboxgen)->type == LABEL) { labelptr btext = TOLABEL(bboxgen); if (btext->pin && !(btext->justify & PINVISIBLE)) { goto nextgen; } } #endif calcbboxsingle(bboxgen, thisinst, &llx, &lly, &urx, &ury); } nextgen: if (newelement != NULL) break; } ------------------------------------------------------------------- I will make the change to the distribution. Regards, Tim |
From: ken r. <ke...@24...> - 2002-06-07 18:35:09
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 i've seen this too. figured it was pilot error, i.e. i was "doing it wrong". - -ken - ------- On Thu, Jun 06, 2002 at 03:06:54AM -0400, Bryce Denney wrote: > I've added another source forge bug > > bug #565180: ] 2.5.4, 2.5.5: copying two pins -> freeze > http://sourceforge.net/tracker/index.php?func=detail&aid=565180&group_id=4952&atid=104952 > > Brief summary: > > Starting with version 2.5.4, xcircuit freezes when you copy more than one > pin at a time inside a module. Versions 2.5.3 and 2.4.0 do not have the > problem. > > To reproduce this, start up version 2.5.4 or later. Press 'L' for library > screen, click on ic_templates, click on any module and place a copy on > page 1. Then move the mouse over it and press '>' to descend into the > module. > > Now select two or more pins using the middle button. (Either by dragging > a box or by clicking on them.) Press 'c' to start a copy. Drag them to > another location and click the left button to place them. As soon as you > click, xcircuit freezes and no longer responds, redraws the screen, etc. > Escape and right button have no effect. The only way to stop the operation > is a Control-C to kill the process. > > Copying one pin at a time is ok. Copying two non-pin objects is ok. > Copying one pin and any number of non-pin objects is ok. But if your > selection includes 2 or more pins, the copy will crash the program. > > For more details, see the source forge bug report. > Has anyone else seen this? > > Thanks, > Bryce > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > _______________________________________________ > Xcircuit-dev mailing list > Xci...@li... > https://lists.sourceforge.net/lists/listinfo/xcircuit-dev - -- - --------------- Freedom of the press belongs to those who can afford to pay the hosting bill. Now, that means you! http://www.nearlyfreespeech.net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE9APzRe8HF+6xeOIcRApivAJ9Hp5/7ZHYQP1q2SH5jMyIzJAQ60QCg72wa 0CzYJYi1QvcvMSn4wlA/mms= =JkJU -----END PGP SIGNATURE----- |
From: Bryce D. <br...@tl...> - 2002-06-06 07:10:28
|
I've added another source forge bug bug #565180: ] 2.5.4, 2.5.5: copying two pins -> freeze http://sourceforge.net/tracker/index.php?func=detail&aid=565180&group_id=4952&atid=104952 Brief summary: Starting with version 2.5.4, xcircuit freezes when you copy more than one pin at a time inside a module. Versions 2.5.3 and 2.4.0 do not have the problem. To reproduce this, start up version 2.5.4 or later. Press 'L' for library screen, click on ic_templates, click on any module and place a copy on page 1. Then move the mouse over it and press '>' to descend into the module. Now select two or more pins using the middle button. (Either by dragging a box or by clicking on them.) Press 'c' to start a copy. Drag them to another location and click the left button to place them. As soon as you click, xcircuit freezes and no longer responds, redraws the screen, etc. Escape and right button have no effect. The only way to stop the operation is a Control-C to kill the process. Copying one pin at a time is ok. Copying two non-pin objects is ok. Copying one pin and any number of non-pin objects is ok. But if your selection includes 2 or more pins, the copy will crash the program. For more details, see the source forge bug report. Has anyone else seen this? Thanks, Bryce |
From: R. T. E. <ti...@st...> - 2002-06-03 19:10:16
|
Dear Zhengdao, Thanks for the update. Indeed, all the problems with input focus seem to be with "fvwm2". I have not heard of any other window manager having the same problem. Maybe I'll look into the fvwm source and see if I can find the error there. > I noticed that you have removed the "insert backspace" > menu item in xcircuit 5.3. The item is sometimes > useful, e.g., when one wants to have both superscript > and subscript (which can be done now only through > kerning). No, I got rid of it because I replaced it with something that works much better---try using "Tab Stop" to set a tab point, and "Tab backward" to jump back to it. For instance, X <Tab Stop> <Subscript> z <Normalscript> <Tab Backward> <Superscript> y gives you the subscript + superscript. Key sequence is: X <Alt-Tab> <Keypad-Minus> z <Keypad-Enter> <Shift-Tab> <Keypad-Plus> y The tabbing functions are more cleanly coded, give cleaner output, are valid under all conditions (the "backspace" function would screw up under certain conditions), and also allow the implementation of indented lists and so forth. If this breaks some of your drawings when trying to reload xcircuit ("Warning: Obsolete backspace command ommitted in text"), let me know and I'll hurry up and implement the few lines which should be all that's necessary to translate the former backspace command into a tab stop + tab backward combination (files.c, comment at line 1540). Regards, Tim |
From: R. T. E. <ti...@st...> - 2002-06-03 18:11:09
|
Dear Zhengdao, When the xcircuit is iconized, it crashes with an error message like the following: X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 42 (X_SetInputFocus) I've heard of this problem before on some window managers under Linux, but not on Solaris. Technically, it's a window manager error, because it should not be sending InputFocus events to an unmapped window. Unfortunately, adding XtIsRealized() to the routine doesn't make any difference. You can't get input focus in the main window by clicking on the title bar? It may be necessary to add an event handler to notify the program when the window has been iconified, instead of relying on XtIsRealized. I'll see what I can do about it. Regards, Tim |
From: Zhengdao W. <zhe...@ec...> - 2002-05-29 17:14:56
|
Hi there, I am using the latest xcircuit version 2.5.5 and encourter the following problem on sun solaris 2.8 system. When the xcircuit is iconized, it crashes with an error message like the following: X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 42 (X_SetInputFocus) Serial number of failed request: 10200 Current serial number in output stream: 10200 I tried to undefine the variable INPUT_FOCUS, but then I do not have the focus on the xcircuit window, which also means that I cannot input text into it. Any insights or solutions? Thanks! Zhengdao Wang |
From: Eric Y. C. <er...@al...> - 2002-05-29 17:03:41
|
Hi Tim. Thank you very much for the correction. I must have missed this going through the tutorial and just thought that ? was a special character. I will go back and give it another try. If this works, it should pretty much complete the flow. Thanks, Eric |
From: R. T. E. <ti...@st...> - 2002-05-29 15:57:55
|
Dear Eric, I think the problem is that you missed the instructions down at the bottom of tutorial step 14: "After creating the label, use the second mouse button to drag a select box over the question mark. Only the question mark should be highlighted. Then select menu item Text->Parameterize. As described earlier in the tutorial, the PCB netlister will use this parameterized string to determine a part number for the diode, or else the part number can be explicitly declared by editing the info label from each of the four instances of symbol "diode" that we will generate." A question mark is just a question mark. A *parameterized* question mark is a part number. It has to be a parameter of the symbol, or xcircuit can't supply a unique value for each instance of the object. So, the info label for the crystal should look like "pcb:X?" but when editing, the spelled-out version of the label in the message box should look like: "Font=Helvetica p c b : X Parameter(1)< ? >" I did this, stuck it into a simple circuit, and (with pin names changed from x.1, x.2 to simple numbers 1 and 2) I get a PCB output with "X1-1" and "X1-2". The difference shows up in the output file with the original having the definition for object "crystal" like this: /crystal { begingate . . . and the new one having this: /crystal { (?) 1 beginparm . . . Hopefully this clears up the problems. Regards, Tim |
From: Eric Y. C. <er...@al...> - 2002-05-29 00:11:03
|
Hi. I am almost done with setting up the XCircuit to pcb flow. The flow on standard parts works (but there still are some bugs, for example, rat lines in pcb will not refresh unless the program is restarted). Custom parts are now working, using some suggestions from the netlisting tutorials, but it is still a bit inconvenient managing the libraries. The remaining problem lies in generic parts that one is attempting to elevate to annotated status by adding info pins. It does not work. Adding a single info pin as recommended in Task 14 of the tutorial does not work, and adding multiple info pins as found by editing parts in analoglib2.lps does not work. The problem is that the "?" is propagated into the pcb netlist, where pcb is unable to resolve it. This occurs, for example, when one takes the crystal symbol ( -|[]|- , sort of), places an instance of it, and either edits the instance, or runs "m" on the instance to generate an object in the user library. If diagnostic printout is performed in writepcb() (in netlist.c), within parseinfo(), the place where the info pin is read may be checked. If the crystal is call X or xt, the token with a ? appears in the Page*.pcb file, without the ? being replaced by an incremented device index. This replacement works for R and C. It was found that entries in the postscript XCircuit file (schematic) contained the spurious "?" only for the new object, not for R and C, so the question mark was supposed to have been trimmed out before this time. That means that writepcb(), which is excuted much later does not have the bug. The bug is upstream. The code is difficult to navigate. Any ideas where the bug could be? Note that since the custom flow works, it should be possible to build the crystal object from scratch as was done above with ASCII art. Then, the suggestions from task 14 may be applied to add info pins so that pcb can use the netlisted output. This does work, but it is preferable to be able to transfer the symbols without having to redraw all of them. Any suggestions? Thanks, Eric |
From: Bob P. <bpa...@cs...> - 2002-05-22 16:42:56
|
>My feeling is that the problem lies in the LVS tools. It should not >be necessary to ensure a perfect correspondence between part numbers; >if two parts are 74HCT244s, then it should not make a difference that >the one on the PCB is labeled #1 and the one on the schematic is >labeled #2. For those here that might not know I work for a electronic contracting shop, http://www.matric.com/ . I get to deal with things like "#2 on schematic in upper left corner" is really "#49 in the middle of the PCB", on a daily basis for a living. IT DRIVES YOU INSANE! Especially in the repair department, dealing with that kind of thing if it comes back for service or upgrades. That insanity translates in to lost cash$ as the end result. Don't go there. #2 on the schematic MUST be #2 on the PCB. I missed the original message(s) on hierarchy so not sure how we got there but I've seen it handled this way in other programs, or I've missed the whole point of whats being discussed here (?): You draw a sub schematic, or object, and label things in side of it such as "D?". Then you place several of those objects on a higher level page. At some point you hit a button that says "Annotate" and all of the "?" are replaced with a unique sequential number. There is also a button that sets every thing back to "?" if you do a major revision. You will only ever have one D7 as the end result. In my mind that removes the issue of passing things through the layers, as there are only two levels. The level that we humans see in the schematic (object:designator), and the output netlist (designator:net). A part will be only one of two value "X?" or "Xnumber" at any time. If some one mannually makes two D7's when editing it should be flaged as an error. What XCircuit does inside of it self to deal with connectivity should be internal where we users don't care now it gets done. |
From: R. T. E. <ti...@st...> - 2002-05-22 14:31:46
|
Dear Eric, > I do agree that hierarchical > PCB layout processes are important, from the standpoint of simplicity. > But, on the other hand, hierarchical layout is often avoided unless it > is imposed by machine constraints. XCircuit has no problem flattening designs; it's really an issue of naming conventions. What xcircuit ends up with (and "magic", and other hierarchically-based layout tools) is a flat representation with hierarchical names such as rectifier1/diode3.1 and so forth. To give that diode a unique name from the top level, so that the diode is just "D7", say, is a great idea, but xcircuit can't handle passing parameters through several levels of hierarchy. I come back to this issue every now and then, as it is an extraordinarily useful concept that is extraordinarily difficult to implement. On top of that, the tutorials, and probably the xcircuit interface overall, have a clear VLSI bias, because that's what I do. Occasionally I build PCBs but I have yet to get into the habit of doing LVS on them. Usually, that's not especially useful, as most of my errors stem from misreading datasheets, where LVS won't do any good anyway. It's only when you get into 4+ layers on a PCB, or when you get into big production runs, that you get into situations where it becomes prohibitively expensive to fix errors on the board. > I redid the tutorial without the hierarchical > grouping, and it worked just fine. The reason I haven't worked too much on the hierarchy-to-PCB concept is that it works just fine if you start with a flat design in xcircuit. I should probably separate out the VLSI and PCB parts of the tutorial so that I can properly stress the use of hierarchy for VLSI but de-stress it for PCB layout. > Probably, pcb's are not all that hierarchical because if they were, > it might be less expensive to do the arrays in VLSI, gals or FPGA's. > If digital logic is used, it might just be easier to use one of > Lattices new ISP's. They even have a downloadable tool chain. Funny you should mention that. My "counterexample", the 34-channel biosonar frontend board, has more Lattice ISP chips on it than probably any other board ever built (104, to be exact. . . these are the ispPAC programmable analog chips, which is why there are so many of them). I made a subcell of 3 ispPAC chips, capacitors, and wiring, and copied it 34 times. In PCB, I had to be absolutely sure that subcell was correct before copying it, because further changes would have to be done to each part individually instead of once, to the subcell. Lattice's downloadable tool chain has been an annoyance from the start. For the analog chips, I wrote my own software so I could program all 102 chips at once, feeding them high-level parameters such as filter frequency and Q. I used one of their digital chips, the 6192FF, as an interface chip, but I can only compile the schematic on their Windows- only tool. I do the schematics in Windows, too. It nearly drove me to write an EDIF output style for xcircuit, but I just didn't have the time. Generally speaking, though, most people use FPGAs to implement great gobs of logic like state machines and glue logic, which isn't hierarchical at all. The benefit of the FPGA is that 1) you can fix it if it's wrong, and 2) you know all the timing delays for simulation without having to lay out the board. > Somehow, it seems that there should be a way to insure that the > parts correspond between the two tools. My feeling is that the problem lies in the LVS tools. It should not be necessary to ensure a perfect correspondence between part numbers; if two parts are 74HCT244s, then it should not make a difference that the one on the PCB is labeled #1 and the one on the schematic is labeled #2. Or for that matter, that the one on the schematic has a hierarchical name and the one on the PCB has a flat name. From this standpoint, I'd like to get into "pcb" sometime and fix the way it handles netlists. I've also been thinking about writing an inherently hierarchical LVS tool. For highly arrayed designs, it would be orders of magnitude faster, take less memory, and produce more meaningful results. Just another thing I'll get around to if I have the time. Regards, Tim |
From: Eric Y. C. <er...@al...> - 2002-05-18 03:35:19
|
Hi. I saw an e-mail in the archive dated around 10/2001 discussing the netlist to pcb layout flow. It discussed pin numbering/naming, and some hacks that are required. I am trying to work through the tutorial for xcircuit with the bridge rectifier. Recall that the bridge rectifier exercise defines a new user library element for the four diode structure. In the netlist, it looks like the top level instance name followed by a slash, then the diode name, then a dash and a pin number. For pcb, it would be most appropriate to construct an element which represents a bridge rectifier that one could buy at an electronics store (i.e. a square with 4 leads and a hole in the middle, maybe). If one does this, however, it would seem that its single instance should have a unique name (assigned in pcb) rather than the multitude of names in the input netlist (from xcircuit). Of course, one could always hand edit the .pcb input netlist, but is there a more elegant way to do this? Or is there something that I'm not seeing? I was wondering if there is a tutorial or "HOW-TO" for xcircuit-pcb integration. I searched google and did not find much of anything, but there was that suggestive and helpful e-mail in the archive. Anything else? Thanks, Eric |
From: Eric Y. C. <er...@al...> - 2002-05-15 03:35:48
|
Hi Tim. Do you need any help or investigation on this matter? Of course, my system does not have the LookupColor bug, but I can easily retrigger the limited color table size problem. How does removing the line help the case in which the pixel value that comes back from LookupColor is bogus? I first thought that the color table generation routine had problems, but it is in fact what saved the day when the colors were limited. Eric >Dear Eric, > >> The second thing that worked is to just revert the Cvt routine. > >Now I'll have to find a way to resolve the differences between the >old and the new versions of Cvt... > >> Obviously, the line was taken out for a reason, but I cannot figure out >> why. If there is a non-zero return code, .pixel should still be set, or >> else who knows what its value will be. > >There is at least one system out there where LookupColor returns a >completely bogus value in .pixel. It looks to me like a server error. >Now I'm stuck with the problem that getting around the sever error >breaks the code on systems with properly-working X servers. I may >be reduced to adding it as an ugly compile-time switch. > >Thanks for checking out the bug fix suggestions and reporting back. > > Regards, > Tim |