gEDA-user: Support for heterogeneous symbols?

2007-02-08 Thread fricker

Hi All,

I am evaluating gEDA and came across one feature I am extensively  
using today with a commercial EDA tool when dealing with large  
components, like SOC, FPGAs and ASICs: heterogeneous symbols.


I searched the doc, the mailing lists and the Web but could not find  
how I could create and use such symbols with gschem and gnetlist.


As Roger Williams defines it in his post: http://www.geda.seul.org/ 
mailinglist/geda-dev6/msg3.html


 Heterogeneous devices are non-identical symbols that represent
 different parts of the same device for REFDES and layout purposes.
 They can be tied together by the same 'HETERO=DEVICE1,DEVICE2...'
 attribute on each device.  Typical examples include:

   - large complex logic devices split between multiple symbols
 because of space constraints;

   - multi-function devices split so that each different functional
 block has its own symbol (relays, for instance);

Does gschem support such a way to deal with large devices?
If the answer is yes, then how?
If the answer is no, then how are people dealing with it?

Thanks,
_jP


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Zoom without cursor redraw in gschem (make it like PCB?)

2007-02-08 Thread Justyn Butler

Hi,

Does anyone know if there is a setting in gschem to prevent the cursor being
redrawn to the middle of the screen upon zooming in or out? I'm sorry if
this has been dealt with before, I googled to no avail.

My problem is that I use synergy (synergy2.sourceforge.net), a program for
sharing the mouse and keyboard between multiple machines. I happily move my
cursor off the right side of my PC screen and it smoothly moves into my
laptop screen from the left.

My laptop is where I have gEDA tools installed, and I use the keyboard and
mouse connected to my PC to work within it. But because synergy only knows
an absolute position of the mouse on the client screen, after a zoom the
mouse is redrawn in the centre of the screen by gschem, only to be pinged
back to it's original position by synergy.

I have used synergy for a long time, and this is the first app to have a
problem with it!

Another situation where gschem's zooming behaviour causes a problem is when
using it with graphics tablet or tablet pc (drawing schematics and PCB
layouts on a tablet pc is very nice!), because of course the cursor is
controlled by a stylus and therefore can't be relocated to the centre of the
screen.

I'm guessing that this behaviour has been designed to allow the cursor to be
moved over a particular point which can then be zoomed into by as much as
required, zooming into and out from this point. However other programs (PCB
for example) achieve this more elegantly without ripping the cursor up from
it's current position.

Any advice welcome.

thanks,
Justyn


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Support for heterogeneous symbols?

2007-02-08 Thread Lares Moreau
Yes, gschem supports heterogeneous symbols.
Just set refdes (u101) the same for all parts of the same device.  Further, if 
you'd like to have different labels for different symbol parts you can append 
lower case characters which are ignored by everything but are there for user 
convenience. (U101a, U101b, U101ioports, U53power, etc)

-Lares

On Thu, 8 Feb 2007 15:13:52 +0100
fricker [EMAIL PROTECTED] wrote:

 Hi All,

 I am evaluating gEDA and came across one feature I am extensively
 using today with a commercial EDA tool when dealing with large
 components, like SOC, FPGAs and ASICs: heterogeneous symbols.

 I searched the doc, the mailing lists and the Web but could not find
 how I could create and use such symbols with gschem and gnetlist.

 As Roger Williams defines it in his post: http://www.geda.seul.org/
 mailinglist/geda-dev6/msg3.html

   Heterogeneous devices are non-identical symbols that represent
   different parts of the same device for REFDES and layout purposes.
   They can be tied together by the same 'HETERO=DEVICE1,DEVICE2...'
   attribute on each device.  Typical examples include:
  
 - large complex logic devices split between multiple symbols
   because of space constraints;
  
 - multi-function devices split so that each different functional
   block has its own symbol (relays, for instance);

 Does gschem support such a way to deal with large devices?
 If the answer is yes, then how?
 If the answer is no, then how are people dealing with it?

 Thanks,
 _jP


 ___
 geda-user mailing list
 geda-user@moria.seul.org
 http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


pgpglOcQt2hVM.pgp
Description: PGP signature


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Support for heterogeneous symbols?

2007-02-08 Thread Michael Sokolov
fricker [EMAIL PROTECTED] wrote:

 I am evaluating gEDA and came across one feature I am extensively  
 using today with a commercial EDA tool when dealing with large  
 components, like SOC, FPGAs and ASICs: heterogeneous symbols.

 I searched the doc, the mailing lists and the Web but could not find  
 how I could create and use such symbols with gschem and gnetlist.

Ah yes, as the mailing list archives can attest, this was also one of my
first questions when I started using gEDA!  (No, I've never used any
commercial EDA tools because I refuse to use Weendoze or Solaris or
whatever other proprietary OS they require, but I've entered the HW eng
field from a software background after watching the HW engs I was
working with and wanting to do that too.  As my work has always been
with large microprocessor-based systems, all schematics I've ever seen
(for very complex microprocessor-based boards) use lots of heterogeneous
symbols.)

 Does gschem support such a way to deal with large devices?

Yes.  The schematics for the SDSL board that I've just captured and
getting ready to lay out make heavy use of heterogeneous symbols.  The
MC68302 microprocessor is split into 3 symbols, the SDSL transceiver
into 5, and the FLEX10K FPGA also into 5.

 If the answer is yes, then how?

Make separate and independent symbols.  Each symbol would cover a
subset of the device pins, and each pin would have its correct number,
so when this is done right each pin number will appear in exactly one of
the symbols.  Instantiate all these symbols on your schematic (can be
on the same page or different pages of a multipage non-hierarchical
schematic, the kind I'm used to) and give the same attributes,
particularly the refdes (and the footprint if you attach it at the
schematic level rather than in the symbol) to all symbol instances
describing parts of the same physical component.

HTH and welcome to Free EDA!

MS


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Re: dxf?

2007-02-08 Thread john

Igor2 wrote:
I'll need to find some way in the

HID API to provide interface for the user to run scripts (like tiling
scripts). For exporting it's easy, the export dialog is extensible. I
think there should be a similar Import interfce and a 3rd one, which I
can't find a good name for, to run plugin functions that would not
import/export but would change the PCB itself.


Of course.  I tested some of the first efforts you made.
You have a hook in the source code now so you can use
the GPMI library, right?  To me it seems the import interface
is just the idea of the outward acting HID API functions.  Once we get the
inward acting ones done, they would not have to be just one way... We could call 
it the external in out interface or some such language.  You are wanting
a no compile way to hook in -- that's great!  Perhaps a c coded plugin could do 
the interfacing to GPMI?  It would not be a very specific plugin, just a 
presenting of the internal function names so external scripts could use them by 
name and parameter list as in a subroutine call.


Does GPMI convert all the many ways in scripts to define a subroutine call to 
one form?  If so, that one form could be what the scriptio plugin transforms 
into a HID API function call.


I will help some more with testing.  I gave DJ's plugin code examples a look, ( 
   *  RenumberBlock  * Teardrops ), and they are maybe obvious to him, but the 
c language without comments was opaque to me...  I will welcome a script interface.


John Griessen


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Re: dxf?

2007-02-08 Thread DJ Delorie

 I will help some more with testing.  I gave DJ's plugin code examples a look, 
 ( 
 *  RenumberBlock  * Teardrops ), and they are maybe obvious to him, but 
 the 
 c language without comments was opaque to me...  I will welcome a script 
 interface.

The only thing you really need to understand is the very last bit:

static HID_Action teardrops_action_list[] = {
  {Teardrops, NULL, teardrops,
   NULL, NULL}
};

REGISTER_ACTIONS (teardrops_action_list)

void
pcb_plugin_init()
{
  register_teardrops_action_list();
}

If you read src/hid.h in pcb's source tree, it tells you all about how
these work.  The net result of the above, is to add an action called
Teardrops() to the master action list in pcb.  Once you've done that,
it is available to the :command window and the action-script command
line options, and with the lesstif hid, you can bind it to a menu
entry or hotkey.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Re: gEDA: inter page connectors

2007-02-08 Thread fricker
I googled the mailing lists to find a way to automatically number the  
inter page connections, i.e. to have the PAGES=? attribute on the  
page connector symbol being updated post schematic capture.


This is a purely visual cross-checking feature I am looking for.

Thanks,
_jP


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Re: dxf?

2007-02-08 Thread Igor2
On Thu, 8 Feb 2007 [EMAIL PROTECTED] wrote:

Igor2 wrote:
I'll need to find some way in the
 HID API to provide interface for the user to run scripts (like tiling
 scripts). For exporting it's easy, the export dialog is extensible. I
 think there should be a similar Import interfce and a 3rd one, which I
 can't find a good name for, to run plugin functions that would not
 import/export but would change the PCB itself.

Of course.  I tested some of the first efforts you made.

Yeah, I remember (thanx again), that was the pre-plugin ages. Now we have
a proper way doing all this.

You have a hook in the source code now so you can use
the GPMI library, right?  To me it seems the import interface
is just the idea of the outward acting HID API functions.  Once we get the
inward acting ones done, they would not have to be just one way... We could 
call 
it the external in out interface or some such language.  You are wanting
a no compile way to hook in -- that's great!  Perhaps a c coded plugin could 
do 
the interfacing to GPMI?  It would not be a very specific plugin, just a 
presenting of the internal function names so external scripts could use them 
by 
name and parameter list as in a subroutine call.

Yes, but actually it can be written more in a more elegant way. The plugin
needs to be only a thin wrapper that loads GPMI and the specific module
for the language you have your script in, then the script itself could
load small packges to access internal functions. I planned to have about
6-8 such packages, like one for manipulating the drawing, another related
to hid-registering and so on. This means a script doesn't need to load
tons of bloat it will never use.

Does GPMI convert all the many ways in scripts to define a subroutine call to 
one form?  If so, that one form could be what the scriptio plugin transforms 
into a HID API function call.

GPMI has an unified interface towards the scripts which covers calling
package functions from the script (which then can directly call pcb
internals) and delivering events to the script(s) (which actually may
result in function calls in the script, depending on hwo the script bound
the events). All this doesn't need any modification in the host app, if we
have the plugin support which we already have.

The only thing that needs modifications in PCB itself is the
GUI: currently I see no proper solution for displaying simple dialog boxes
similar to the exporter. Of course when I write a script for tiling I
could pretend that it's an exporter, register an exporting hid but then
instead of writing a file just call PCB interlans trough the interfacing
packages to modify the layout data, but it would just be an ugly hack :)

I will help some more with testing.  I gave DJ's plugin code examples a look, 
( 
*  RenumberBlock  * Teardrops ), and they are maybe obvious to him, but 
 the 
c language without comments was opaque to me...  I will welcome a script 
interface.


Ok, if we can meet on irc this weekend, and we could work out some way to
share the tasks. I think togehter we could make it all work in less time.




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Re: gEDA: inter page connectors

2007-02-08 Thread fricker

Hi All,

What I meant to ask was: is there a tool (like grenum for refdes=)  
that can be used to update the page= attribute of the inter page  
connectors?


Thanks,
_jP


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: pcb-20070208 snapshot

2007-02-08 Thread Dan McMahill

Hello,

I have uploaded a new pcb snapshot to sourceforge.

The release notes below don't really do justice to the huge amount of 
work that harry and DJ both put in between the last snapshot and now. 
harry implemented polygon clipping which has greatly improved how PCB 
deals with polygons.  Among other things issues with some board houses 
not fully supporting RS-274-X should not be a problem now.  Also islands 
in polygons created by cutting the polygon with traces are removed and 
the connectivity checker correctly deals with this case.


Just in time for this weekends code sprint!

Have fun

-Dan


Release Notes for PCB snapshot 20070208

- Add polygon clipping code.  This is a big change to how polygons are 
handled.
  The new code now removes islands and correctly identifies open 
circuits caused
  by a trace fully cutting through a polygon.  In addition, the 
RS-274-X output
  is now simpler and works with some board houses that use older 
non-conforming
  sofware.  Different styles for thermal reliefs are also now supported 
as part

  of the polygon clipper code.
- Add support for plugins
- Many improvements to the autorouter.
- Various improvements to the trace optimizer.
- Add a fontmode for editing pcb fonts
- Add progress() hook to HID structure
- Fix a bug with non-functional windows on some window managers commonly
  found on OS-X
- Add support for controlling pcb via dbus
- Fix various bugs which would cause a crash
- Add --scale for postscript scaling
- Intercept window manager delete events with the GTK gui
- Scan the .pcb file for a FileVersion value.  This is not written out yet
  but will be in future versions.
- Warn if non-manhattan lines are trying to become pads.
- Allow no-solder paste pads to support fiducials
- Report in mm or mils as selected by user
- Allow reordering of layers
- add some more QFN packages
- fix building with sun studio c compiler
- Made a pcb installation be relocatable.
- Convert the m4 libraries to newlib libraries as part of building a 
distfile.

  The m4 libraries are still considered the sources and as such are still
  distributed but this eliminates the need for m4 at runtime for 
footprints.

- Got rid of the pcb wrapper script around pcb-bin.
- Remove some old footprints of questionable naming, accuracy, or 
usefulness.

- Get the autosave/backup code working on all GUI's
- Fix some drill size rounding in the reports
- Changed the backup file name to be derived from the .pcb file name
- Added a command line option for DrawGrid
- Fix logic for adding new ratlines
- Fix gtk grid when board is flipped
- Add find and rip-up buttons to the netlist window
- Draw plated holes when exporting
- Fix some bugs when converting selection to element
- Fix build on cygwin
- Enhance the win32/build_pcb script used to generate a non-cygwin windows
  installer.
- Make pcb work under non-cygwin windows


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user