Re: gEDA-user: Weird DRC error

2010-06-20 Thread myken
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

2010-06-20 Thread Maciej Pijanka
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

2010-06-20 Thread Maciej Pijanka
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

2010-06-20 Thread Rubén Gómez Antolí

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