Re: gEDA-user: PCB very slow on new laptop
I have recently got a new laptop, a Lenovo ThinkPad X201. However, I'm having a rather annoying problem with pcb. When trying to zoom in or scroll, it is incredibly slow - taking a second or more to do any action. Check out my last thread and see if that solves your problem. At least the system profiler will allow you to see where the program is burning up the CPU. Cory ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pads, mask and solder paste
Kai-Martin Knaak wrote: The solder paste pattern emitted by PCB seems to coincide exactly with the copper of the pads. This is a reasonable default. But there are use cases where a different solder paste size is better. 1) A pad completely covered with solder mask should not receive any solder paste. This kind of pads are useful a way to achieve tracks in footprints. Add the nopaste flag 2) Pads partly covered by solder mask should receive a solder mask pillow that corresponds to the hole in the mask, rather than to the pads copper dimensions. Such partly covered pads are useful as a heat sink. My way is to make the main pad nopaste and add smaller pads within the bigger pad. And my own question to add: is there a way to shrink all solder paste openings, say, 5%? Cory ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: If you also think the PCB lower-case letter 's' is ugly, here's a replacement
Hi all, I've always hated the lower-case letter 's' in PCB, but couldn't come up with a better one until now. And if anyone knows where I could put it to make gsch2pcb use it, I'd be much obliged. Cory Symbol('s' 10) ( SymbolLine(0 50 20 50 8) SymbolLine(20 50 25 45 8) SymbolLine(20 40 25 45 8) SymbolLine(5 40 20 40 8) SymbolLine(0 35 5 40 8) SymbolLine(0 35 5 30 8) SymbolLine(5 30 25 30 8) ) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: My Xorg uses large amounts of CPU when using PCB
Hi Peter, Thanks for your help. I tried your advice and found the problem. Turns out there must be some glitch in EXA acceleration that causes it to spend 96% of processor time doing memcpy; google led me to some people with memcpy problems related to EXA. So I changed to XAA acceleration and the problem is gone. Thank you, Cory Oh, and for the curious, this may be the bug: https://bugzilla.redhat.com/show_bug.cgi?id=242386 Peter Clifton wrote: On Thu, 2010-10-07 at 14:41 -0700, Cory Cross wrote: Laptop Desktop both run Debian unstable with Linux 2.6.32 for 686, Xorg 1.7.7 Laptop uses intel driver for 945GM/GMS/GME, 943/940GML Express Desktop uses open-source radeon driver for Radeon 9250 Are you using compositing? (e.g. compiz / kwin with desktop effects?) No. If I'm reading your hardware matrix right, the problem is with the machine with the Radeon card? Yes. I'm well out of date with ATI/AMD cards.. how fast is the 9250, are the drivers any good? A cursory search suggests they have full accelerated 3D support. I'm not sure how this transfers to accelerated 2D support, or importantly - whether the XOR operations PCB uses to redraw its cross-hair would be hardware accelerated. I'm noticing a trend for features which used to be the fastest way of doing something are sometimes less performant on newer hardware. It's several years old, AGP card. Full 3D hardware acceleration. I think the most useful debugging aid you could get to help diagnose the problem would be a trace from sysprof. snip Get a profile trace for the system whilst Xorg is thrashing, and let us see where the CPU time is going. Unfortunately, you may well have to install quite a lot of -dbg packages to get a meaningful backtrace. These are something us developers tend to accumulate over time, but I couldn't give you a canonical list of which -dbg packages you will need. Perhaps starting with xserver-xorg-core-dbg would be a good start. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: My Xorg uses large amounts of CPU when using PCB
Hi all, I don't know where to even start trying to figure out this problem. If you can give me a clue, I would very much appreciate it. I have identical builds of a recent git version pcb on my laptop and desktop and a few other machines. PCB runs just fine on everything but my desktop. On the laptop, Xorg uses ~10% more CPU than PCB (so, if pcb is ~11% CPU then Xorg has ~12% CPU). But on the desktop, just zooming causes ~90% CPU for Xorg and 4% for pcb. Playing with firefox doesn't cause Xorg to even hit 1%, so it's definitely an Xorg-pcb combination problem. Obviously, this causes extreme lag when using PCB. I've had this problem for a couple years across different versions of PCB, but I finally upgraded my desktop recently (was stuck on ~2yr-old debian for unrelated reasons) and expected the problem to go away. No such luck. It may have even gotten worse. My specs are below; perhaps there is some operation that PCB does that is ridiculously slow on radeon drivers? If this was PCB using up processor I'd know where to begin, but I know nothing about debugging Xorg... Thanks for any help you can offer, Cory Laptop Desktop both run Debian unstable with Linux 2.6.32 for 686, Xorg 1.7.7 Laptop uses intel driver for 945GM/GMS/GME, 943/940GML Express Desktop uses open-source radeon driver for Radeon 9250 Desktop is dual-monitor merged, but still has a problem with a single monitor setup. Using the vesa driver at a low refresh rate causes fast reaction, but Xorg is still using twice the CPU PCB is. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: gschem unresponsive to keyboard input
gene glick wrote: DJ Delorie wrote: Sounds like command-line mode, the : key. Press ENTER to run the command, or ESC to abort it ? I've had the very same thing happen to me too. Usually if I 'alt-tab' to another open window, then 'alt-tab' back. Something along those lines but I've never spent much time trying to get the exact sequence. I too have been unable to exit from the mode other than to restart the app. I always got bit by pressing the Tab key, it would move the focus to one of the GUI buttons at the top of the screen and nothing more would pop up in the status bar. Hard to figure out if you are not expecting it. Another quick hit to Tab and everything goes back to normal. Cory ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: liquid tin
How are you disposing of the leftover liquid? That looks to be a perfect solution to homemade boards. Thanks, Cory Cross DJ Delorie wrote: Got some from Ales, played with it today, promised I'd do a writeup for him :-) http://www.delorie.com/pcb/liquidtin/ ___ 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: et - symbol translate not working?
On a very recent (May 7th*) CVS version of gschem, doing et 0 results in most of the symbol going off the navigable workspace (negative coordinates?). Does anyone else have this problem? Thanks, Cory Cross *about. How do I find out what my current checked-out version is? ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: VMWare image of Ubuntu distribution of Linux with gEDA installed.
Steve Morss's VMWare image with gEDA is available on my server until people use up too much bandwidth. That will happen after 50 downloads Bit Torrent? ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Multiple open pages in gschem
Peter Clifton wrote: Do you use multiple windows running from the same copy of gschem? Yes, frequently with dual monitors. Do you use multiple running copies of gschem? Occasionally to view an unrelated project, to remember how I did things in another circuit, but only temporarily. Do you use these for related schematics? (Do you tend to have multiple pages from the same design?) No multiple copies for the same design, but yes for multiple windows How much use do you make of hierarchy traversal? (Schematic or symbol down, up, page next, page previous)? Frequently for everything but schematic down (I thought it wasn't implemented?) For testing, I've got a version of gschem which just opens a pages in a flat list. These can be traversed using toolbar buttons, just like a document viewer. This significantly simplifies some code, and UI presentation issues for a complex nested hierarchy. So, the current page manager but no nesting? I'm fine with it; the nesting doesn't add any value AFAICT. I'm also considering it might be best to launch a new window for each hierarchy level, reserving multiple pages in one window to tie directly to the case where a single level of hierarchy has multiple pages. /Me thinks of the furor over GNOME's file manager windows... (I dislike it, if you're wondering) Example screenshots are at: They look fine to me, as long as you don't get rid of the keyboard shortcuts :) Cory Cross ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: My footprint generator
Hi all, I coded up this footprint generator for SMT caps, with the data stored in a template file. It should be readily extensible for different types (the function= attribute is the name of the method to call). Would one of you be willing to look at the footprint to see if it is what you want to include in gEDA? I'm willing to perfect this tool and make it a valuable addition to gEDA. Sorry Perl-heads, but I don't know it well enough so it's in Python. You can generate all the footprints by feeding the .fpt file to the standard-in of the python program. Datasheet for cap: http://www.chemi-con.co.jp/pdf/catalog/al-e1001g/al-mva-e-060905.pdf Thanks, Cory Cross p.s. If attachments don't go across the list, I'll paste the (rather small) files to one of those sites and resend the link. Element[ MVA smt electrolytic cap, E55 case 0 0 -15511 14433 0 100 ] ( Pad[-11677 0 -6692 0 7874 1200 9074 Positive 1 square] Pad[11677 0 6692 0 7874 1200 9074 Negative 2 square] ElementLine [-17614 9389 -17614 -9389 1000] ElementLine [-17614 9389 -15614 12433 1000] ElementLine [-17614 -9389 -15614 -12433 1000] ElementLine [-15614 12433 17614 12433 1000] ElementLine [-15614 -12433 17614 -12433 1000] ElementLine [17614 12433 17614 -12433 1000] ElementLine [18614 6216 18614 -6216 2000] ) system=mm function=smt_polarized_cap MVA_D55`MVA smt electrolytic cap, D55 case`4`5.2`4.3`4.3`5.1`2`1 MVA_E55`MVA smt electrolytic cap, E55 case`5`5.2`5.3`5.3`5.9`2`1.4 MVA_F55`MVA smt electrolytic cap, F55 case`6.3`5.2`6.6`6.6`7.2`2`1.9 MVA_F60`MVA smt electrolytic cap, F60 case`6.3`5.7`6.6`6.6`7.2`2`1.9 MVA_F80`MVA smt electrolytic cap, F80 case`6.3`7.7`6.6`6.6`7.2`2`1.9 MVA_HA0`MVA smt electrolytic cap, HA0 case`8`10.0`8.3`8.3`9.0`2.8`3.1 MVA_JA0`MVA smt electrolytic cap, JA0 case`10`10.0`10.3`10.3`11.0`2.8`4.5 MVA_KE0`MVA smt electrolytic cap, KE0 case`12.5`13.5`13.0`13.0`13.7`3.6`4.2 MVA_KG5`MVA smt electrolytic cap, KG5 case`12.5`16.0`13.0`13.0`13.7`3.6`4.2 MVA_LH0`MVA smt electrolytic cap, LH0 case`16`16.5`17.0`17.0`18.0`3.6`6.5 MVA_LN0`MVA smt electrolytic cap, LN0 case`16`21.5`17.0`17.0`18.0`3.6`6.5 MVA_MH0`MVA smt electrolytic cap, MH0 case`18`16.5`19.0`19.0`20.0`3.6`6.5 MVA_MN0`MVA smt electrolytic cap, MN0 case`18`21.5`19.0`19.0`20.0`3.6`6.5#!/usr/bin/env python from string import atof class FpGenerator: def save( self ): f = open( self.SAVEDIR + self.filename, 'w' ) f.write( self.element ) f.close() if __name__ == '__main__': import sys sys.stderr.write('Saved to ' + self.SAVEDIR + self.filename + '\n' ) def getMilth( self, value ): if ( self.system == 'inch' ): return int(value * 10) elif ( self.system == 'mm' ): return int(value * 3937.0079) elif ( self.system == 'mil' ): return int(value * 100) def smt_polarized_cap(self, fileptr): for line in fileptr.readlines(): ll = line.split('`') (diameter, height, width, length, pin_to_pin_length, pad_width, pin_spacing_length) = [self.getMilth(atof(inval.strip())) for inval in ll[2:]] filename = ll[0] + '.fp' #Set up the beginning of the element string, with description # and mark point of (0,0) element = 'Element[ ' + ll[1] + ' 0 0 ' #Calculate where to place the text, append to element string, and add rest of header element += str( -1 - pin_spacing_length ) + ' ' + str( 4000 + width/2 ) + ' 0 100 ]\n(' #Generate pads (square) ph = pad_header = '\n\tPad[' extra_pad_length = 4000 pad_length = extra_pad_length + pin_to_pin_length/2 - pin_spacing_length/2 if(pad_width pad_length): x_coord = pad_length/2 + pin_spacing_length/2 y_coord = pad_width/2 - pad_length/2 x2_coord = x_coord else: x_coord = pin_to_pin_length/2 + extra_pad_length - pad_width/2 x2_coord = pin_spacing_length/2 + pad_width/2 y_coord = 0 trace_width = min(pad_length,pad_width) element += ph + ' '.join([str(i) for i in (-x_coord, y_coord, -x2_coord, -y_coord, trace_width, 1200, trace_width+1200)]) + ' Positive 1 square]' element += ph + ' '.join([str(i) for i in (x_coord, y_coord, x2_coord, -y_coord, trace_width, 1200, trace_width+1200)]) + ' Negative 2 square]' #Generate silkscreen outline sh = silk_header = '\n\tElementLine [' silk_line_space = 2000 ##Left line, element += sh + ' '.join([str(int(i)) for i in (-((pin_to_pin_length/2+extra_pad_length) + silk_line_space), .9*width/2, -((pin_to_pin_length/2+extra_pad_length) + silk_line_space), -.9*width/2, 1000)]) + ']' ##Mitered corners element