Re: gEDA-user: Weird DRC error
Hello DJ, Sorry, almost but not quite. If I apply the patch the DRC error in the original file disappears, but if I move the small polygon to the larger one keeping 6 mill distance no DRC error reappears. (DRC distance is set to 10 mill). If I make the distance between the two 5 mill then I get a DRC warning. I have looked in the source code and in my opinion the following code adjustment is also needed (in addition to your patch below): In the function IsLineInPolygon() -- if (!(lp = LinePoly (Line, Line-Thickness + Bloat ))) ++ if (!(lp = LinePoly (Line, Line-Thickness + (2 * Bloat) ))) Sorry for the clumsy way of showing this. The 2 * is needed because in LinePoly it will be divided by two. If I do this then it almost works ;-) If I move the two polygons 10.01 mill apart no DRC error appears and if I move the two polygons 10.00 mill apart a DRC error does appear (?). Looking at the log window I see Rules are minspace 10.01 But I have set it to 10.00 mill. Where does the 0.01 mill come from? I will keep looking at it but if I'm barking up the wrong tree please let me know. Regards, Robert On Sun, 2010-06-20 at 00:19 -0400, DJ Delorie wrote: Try this... diff --git a/src/find.c b/src/find.c index 6fb62b6..30a0bc5 100644 --- a/src/find.c +++ b/src/find.c @@ -2747,7 +2747,8 @@ IsPolygonInPolygon (PolygonTypePtr P1, PolygonTypePtr P2) line.Point1.X = v-point[0]; line.Point1.Y = v-point[1]; - line.Thickness = 2 * Bloat; + /* Bloat is added by IsLineInPolygon, don't add it here too. */ + line.Thickness = 0; line.Clearance = 0; line.Flags = NoFlags (); for (v = v-next; v != c-head; v = v-next) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: pcb crash
I was trying to draw some track between U4 and U2, pcb crashed, this is what i could get from gdb, pcb file attached. Program received signal SIGSEGV, Segmentation fault. hunt_named_node (model=0x852fa50, path=0x87adbf8, iter=0xbfffd35c, data=0xbfffd3a8) at hid/gtk/gui-netlist-window.c:841 841 if (node-ListEntry !strcmp (task-node_name, node-ListEntry)) (gdb) where #0 hunt_named_node (model=0x852fa50, path=0x87adbf8, iter=0xbfffd35c, data=0xbfffd3a8) at hid/gtk/gui-netlist-window.c:841 #1 0xb755c000 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #2 0x0852fa50 in ?? () #3 0x087adbf8 in ?? () #4 0xbfffd35c in ?? () #5 0xbfffd3a8 in ?? () #6 0x08566a00 in ?? () #7 0x0852fa50 in ?? () #8 0xbfffd338 in ?? () #9 0xbfffd320 in ?? () #10 0x0852fa50 in ?? () #11 0xbfffd35c in ?? () #12 0x087adbf8 in ?? () #13 0xb76a8d9c in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x087adbf8 in ?? () #15 0x0852fa50 in ?? () #16 0xbfffd378 in ?? () #17 0xb755c7eb in gtk_tree_model_foreach () from /usr/lib/libgtk-x11-2.0.so.0 Backtrace stopped: frame did not save the PC (gdb) p node $1 = (LibraryEntryType *) 0xb (gdb) p task No symbol task in current context. (gdb) p task-node_name No symbol task in current context. (gdb) p node-ListEntry Cannot access memory at address 0xb (gdb) p iter $2 = (GtkTreeIter *) 0xbfffd35c (gdb) p *iter $3 = {stamp = 453091645, user_data = 0x85b2050, user_data2 = 0x0, user_data3 = 0x0} -- Maciej Pijanka I don't fear computers, I fear lack of them -- Isaac Asimov ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb crash
On Sun, 20 Jun 2010, Maciej Pijanka wrote: I was trying to draw some track between U4 and U2, pcb crashed, this is what i could get from gdb, pcb file attached. It seems i forgot to attach pcb in previous email. Program received signal SIGSEGV, Segmentation fault. hunt_named_node (model=0x852fa50, path=0x87adbf8, iter=0xbfffd35c, data=0xbfffd3a8) at hid/gtk/gui-netlist-window.c:841 841 if (node-ListEntry !strcmp (task-node_name, node-ListEntry)) (gdb) where #0 hunt_named_node (model=0x852fa50, path=0x87adbf8, iter=0xbfffd35c, data=0xbfffd3a8) at hid/gtk/gui-netlist-window.c:841 #1 0xb755c000 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #2 0x0852fa50 in ?? () #3 0x087adbf8 in ?? () #4 0xbfffd35c in ?? () #5 0xbfffd3a8 in ?? () #6 0x08566a00 in ?? () #7 0x0852fa50 in ?? () #8 0xbfffd338 in ?? () #9 0xbfffd320 in ?? () #10 0x0852fa50 in ?? () #11 0xbfffd35c in ?? () #12 0x087adbf8 in ?? () #13 0xb76a8d9c in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x087adbf8 in ?? () #15 0x0852fa50 in ?? () #16 0xbfffd378 in ?? () #17 0xb755c7eb in gtk_tree_model_foreach () from /usr/lib/libgtk-x11-2.0.so.0 Backtrace stopped: frame did not save the PC (gdb) p node $1 = (LibraryEntryType *) 0xb (gdb) p task No symbol task in current context. (gdb) p task-node_name No symbol task in current context. (gdb) p node-ListEntry Cannot access memory at address 0xb (gdb) p iter $2 = (GtkTreeIter *) 0xbfffd35c (gdb) p *iter $3 = {stamp = 453091645, user_data = 0x85b2050, user_data2 = 0x0, user_data3 = 0x0} -- Maciej Pijanka I don't fear computers, I fear lack of them -- Isaac Asimov -- Maciej Pijanka I don't fear computers, I fear lack of them -- Isaac Asimov # release: pcb 1.99z # date:Sun Jun 20 17:46:50 2010 # user:agaran (Agaran) # host:debshine # To read pcb files, the pcb version (or the cvs source date) must be = the file version FileVersion[20070407] PCB[ 16 20] Grid[2500.00 0 0 1] Cursor[0 5 0.00] PolyArea[2.00] Thermal[0.50] DRC[1000 1000 1000 800 1500 1000] Flags(showdrc,nameonpcb,autodrc,uniquename,clearnew,snappin) Groups(1,c:2,s:3) Styles[Signal,1000,3600,2000,1000:Power,2000,6000,1500,1500:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600] Symbol(' ' 18) ( ) Symbol('!' 12) ( SymbolLine(0 45 0 50 8) SymbolLine(0 10 0 35 8) ) Symbol('' 12) ( SymbolLine(0 10 0 20 8) SymbolLine(10 10 10 20 8) ) Symbol('#' 12) ( SymbolLine(0 35 20 35 8) SymbolLine(0 25 20 25 8) SymbolLine(15 20 15 40 8) SymbolLine(5 20 5 40 8) ) Symbol('$' 12) ( SymbolLine(15 15 20 20 8) SymbolLine(5 15 15 15 8) SymbolLine(0 20 5 15 8) SymbolLine(0 20 0 25 8) SymbolLine(0 25 5 30 8) SymbolLine(5 30 15 30 8) SymbolLine(15 30 20 35 8) SymbolLine(20 35 20 40 8) SymbolLine(15 45 20 40 8) SymbolLine(5 45 15 45 8) SymbolLine(0 40 5 45 8) SymbolLine(10 10 10 50 8) ) Symbol('%' 12) ( SymbolLine(0 15 0 20 8) SymbolLine(0 15 5 10 8) SymbolLine(5 10 10 10 8) SymbolLine(10 10 15 15 8) SymbolLine(15 15 15 20 8) SymbolLine(10 25 15 20 8) SymbolLine(5 25 10 25 8) SymbolLine(0 20 5 25 8) SymbolLine(0 50 40 10 8) SymbolLine(35 50 40 45 8) SymbolLine(40 40 40 45 8) SymbolLine(35 35 40 40 8) SymbolLine(30 35 35 35 8) SymbolLine(25 40 30 35 8) SymbolLine(25 40 25 45 8) SymbolLine(25 45 30 50 8) SymbolLine(30 50 35 50 8) ) Symbol('' 12) ( SymbolLine(0 45 5 50 8) SymbolLine(0 15 0 25 8) SymbolLine(0 15 5 10 8) SymbolLine(0 35 15 20 8) SymbolLine(5 50 10 50 8) SymbolLine(10 50 20 40 8) SymbolLine(0 25 25 50 8) SymbolLine(5 10 10 10 8) SymbolLine(10 10 15 15 8) SymbolLine(15 15 15 20 8) SymbolLine(0 35 0 45 8) ) Symbol(''' 12) ( SymbolLine(0 20 10 10 8) ) Symbol('(' 12) ( SymbolLine(0 45 5 50 8) SymbolLine(0 15 5 10 8) SymbolLine(0 15 0 45 8) ) Symbol(')' 12) ( SymbolLine(0 10 5 15 8) SymbolLine(5 15 5 45 8) SymbolLine(0 50 5 45 8) ) Symbol('*' 12) ( SymbolLine(0 20 20 40 8) SymbolLine(0 40 20 20 8) SymbolLine(0 30 20 30 8) SymbolLine(10 20 10 40 8) ) Symbol('+' 12) ( SymbolLine(0 30 20 30 8) SymbolLine(10 20 10 40 8) ) Symbol(',' 12) ( SymbolLine(0 60 10 50 8) ) Symbol('-' 12) ( SymbolLine(0 30 20 30 8) ) Symbol('.' 12) ( SymbolLine(0 50 5 50 8) ) Symbol('/' 12) ( SymbolLine(0 45 30 15 8) ) Symbol('0' 12) ( SymbolLine(0 45 5 50 8) SymbolLine(0 15 0 45 8) SymbolLine(0 15 5 10 8) SymbolLine(5 10 15 10 8) SymbolLine(15 10 20 15 8) SymbolLine(20 15 20 45 8) SymbolLine(15 50 20 45
Re: gEDA-user: RMS Waveform of a signal
Hello: El 18/06/10 12:49, Dan McMahill escribió: On 6/16/2010 10:43 AM, Rubén Gómez Antolí wrote: [...] I'm not completly sure but, these are true when the signal is regular and periodic. I'm not sure what definition you have in mind for regular. Sorry about, I'm so bad with english (you know) and try to make it simply (and in many times wrong). Regular as without strange distorsions, and expresable with a common ecuation, like a sine wave, for example. [...] Sincerily, I thought that this are more usual, but there are very few references on web and nothing in how to obtain in free world (at least, I can't find it). RMS is usually not defined as time-varying. Usually you'd just find sqrt(average_over_time(signal^2)) and for something which is not periodic (like say a digitally modulated carrier with random data), you just average over enough time to where if you did it again later you'd get about the same answer. That RMS() function in the paper just uses a shorter window. In other words what they do is compute: sqrt(low_pass_filter(signal(t)*signal(t)) My guess is that the lowpass filter they use for the measurement is just a moving average meaning the impulse response is a rectangular pulse with a width of say 1/10 or so of the width of the waveform display. I'm afraid that I don't have idea how they implement these RMS, and possibly you are true. Perhaps we need the voodoo, how says Armin. I can tell you that the method used in my last mail almost fits the graph that I want. Possibly is wrong in mathematical terms, and is most correct use the aproaching [1,2]U[3,4]U...[n-1,n] intervals and expand it by spline to all the time analysis. In other way, the solution gave by Holger in Ngspice list, fits the graph wanted. So in octave you'd just square the signal, use the filter() function, and then sqrt. The trick is something like octave usually doesn't work on non-uniformly sampled data like what you'd get out of a simulator. Can I ask you how to use the filter() function? I see its needs a three vectors... and I want to test your method. -Dan Best regards. Salud y Revolución. Lobo. -- Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux, para no atar mis manos con las cadenas del soft propietario. - Desde El Ejido, en Almería, usuario registrado Linux #294013 http://www.counter.li.org ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user