User Tools

Site Tools


geda:usage

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
geda:usage [2012/02/20 15:14]
127.0.0.1 external edit
geda:usage [2012/03/21 18:29]
vzh Spelling
Line 30: Line 30:
  
 ====== What limitations exist for the gEDA tools? ====== ====== What limitations exist for the gEDA tools? ======
-The most important thing to keep in mind about gEDA’s limitations is this: GEDA is an open-source software project. It has some limitations,​ but unlike many instances of commerical ​software, its limitations are not artificial, arbitrary, or driven by marketeering. That is, gEDA is neither nagware, crippleware,​ demoware, nor “limited student edition”-ware. Any limitations to the gEDA tools exist because the programmers haven’t yet implemented that particular feature. Since the code is open for all to see and modify, anybody is welcome to implement a new feature or remove a limitation, and then submit their patches to the project. If you are a hacker and are interested in making a contribution to the gEDA project, consider tackling one of the limitations listed below! You will make a lot of friends, and earn international exposure! +The most important thing to keep in mind about gEDA’s limitations is this: GEDA is an open-source software project. It has some limitations,​ but unlike many instances of commercial ​software, its limitations are not artificial, arbitrary, or driven by marketeering. That is, gEDA is neither nagware, crippleware,​ demoware, nor “limited student edition”-ware. Any limitations to the gEDA tools exist because the programmers haven’t yet implemented that particular feature. Since the code is open for all to see and modify, anybody is welcome to implement a new feature or remove a limitation, and then submit their patches to the project. If you are a hacker and are interested in making a contribution to the gEDA project, consider tackling one of the limitations listed below! You will make a lot of friends, and earn international exposure! 
-  * Hierarchical bus support: Support for hierarchical ​busses ​doesn’t exist yet.+  * Hierarchical bus support: Support for hierarchical ​buses doesn’t exist yet.
   * Net and pin attributes in gattrib: Attaching routing attributes for nets and pins in gattrib remains TBD. (Net attributes are useful for high-speed design. For example, it’s often important that all tracks in a bus have the same electrical length. Unfortunately,​ it’s not clear that PCB will support these routing attributes right now.)   * Net and pin attributes in gattrib: Attaching routing attributes for nets and pins in gattrib remains TBD. (Net attributes are useful for high-speed design. For example, it’s often important that all tracks in a bus have the same electrical length. Unfortunately,​ it’s not clear that PCB will support these routing attributes right now.)
   * Backannotation from PCB to gschem. Support for pinswapping and modification of the design file in pcb with subsequent backanno to gschem is TBD.   * Backannotation from PCB to gschem. Support for pinswapping and modification of the design file in pcb with subsequent backanno to gschem is TBD.
Line 47: Line 47:
  
  
-====== What are the names and locations of the RC files used with gEDA/gaf applications? ​=======+====== What are the names and locations of the RC files used with gEDA/gaf applications?​ ======
 The various gEDA/gaf applications (gschem, gattrib, gnetlist, etc.) use a set of RC files to set various configurable options in the tools themselves. These RC files are read in by each application upon start-up. Philosophically,​ there are three places where a gEDA/gaf application looks for RC files: The various gEDA/gaf applications (gschem, gattrib, gnetlist, etc.) use a set of RC files to set various configurable options in the tools themselves. These RC files are read in by each application upon start-up. Philosophically,​ there are three places where a gEDA/gaf application looks for RC files:
   * In the system installation directory: **''​${prefix}/​share/​gEDA/''​**. This location holds RC files which are global to the entire system, and are common to all users. These RC files must be found and successfully loaded for the gEDA application to work properly. **''​${prefix}''​** is set to the path where you installed gEDA/gaf.   * In the system installation directory: **''​${prefix}/​share/​gEDA/''​**. This location holds RC files which are global to the entire system, and are common to all users. These RC files must be found and successfully loaded for the gEDA application to work properly. **''​${prefix}''​** is set to the path where you installed gEDA/gaf.
Line 91: Line 91:
   - We already have a parser for our file format. ​ It's lightweight & thoroughly debugged.   - We already have a parser for our file format. ​ It's lightweight & thoroughly debugged.
   - There are lots of legacy designs using the file format out there already. ​ People would scream if we switched file formats since their old designs would become obsolete. ​ And supporting two file formats -- old and new -- would be a major PITA.   - There are lots of legacy designs using the file format out there already. ​ People would scream if we switched file formats since their old designs would become obsolete. ​ And supporting two file formats -- old and new -- would be a major PITA.
-  - XML is a generalized file format. ​ Therefore, XML files tend to become bloated pigs.  The gEDA file format is light & well adapted to its purpose: representing graphical information ​pertainent ​to schematic diagrams in electronics.+  - XML is a generalized file format. ​ Therefore, XML files tend to become bloated pigs.  The gEDA file format is light & well adapted to its purpose: representing graphical information ​pertinent ​to schematic diagrams in electronics.
   - One purported benefit for XML files is that there are lots of open-source parsers for them available, making integration into libgeda trivial. ​ That's the theory, but in reality the job of a parser is to analyze and parse the input, and then stick it into datastructures suitable for use with the rest of gschem'​s code.  An open-source parser does about 1/3 of the job we need (i.e. reading & analyzing the file, and creating some kind of parse tree). ​ The rest of the job involves putting the stuff in the parse tree into libgeda'​s data structures. ​ That's lots of work.  Therefore, the purported advantage of the freely-available XML parser is a chimera. ​ Yes, XML may be of interest for a new program written from the ground up, but not for an existing program like gEDA.   - One purported benefit for XML files is that there are lots of open-source parsers for them available, making integration into libgeda trivial. ​ That's the theory, but in reality the job of a parser is to analyze and parse the input, and then stick it into datastructures suitable for use with the rest of gschem'​s code.  An open-source parser does about 1/3 of the job we need (i.e. reading & analyzing the file, and creating some kind of parse tree). ​ The rest of the job involves putting the stuff in the parse tree into libgeda'​s data structures. ​ That's lots of work.  Therefore, the purported advantage of the freely-available XML parser is a chimera. ​ Yes, XML may be of interest for a new program written from the ground up, but not for an existing program like gEDA.
   - GEDA developer time is better used on implementing new features like backannotation. ​ Using developer time on porting our file format to XML is a sideways move which doesn'​t provide the end user any more utility, but soaks up valuable developer time.   - GEDA developer time is better used on implementing new features like backannotation. ​ Using developer time on porting our file format to XML is a sideways move which doesn'​t provide the end user any more utility, but soaks up valuable developer time.
   - The other benefit of XML is that it is more-or-less human readable. ​ I'll grant that this is a valid assertion. ​ Our current file format is not readable by a human who has never read the documentation. ​ However, our current file format *is* ASCII, and is completely documented, so an essential reason for readability -- the ability to write scripts against the file -- is already taken care of.  Also, a human can certainly read the file format once he has taken the time to RTFM.  Human readability -- without knowing the file format -- is a "nice to have" which isn't high on my priority list.   - The other benefit of XML is that it is more-or-less human readable. ​ I'll grant that this is a valid assertion. ​ Our current file format is not readable by a human who has never read the documentation. ​ However, our current file format *is* ASCII, and is completely documented, so an essential reason for readability -- the ability to write scripts against the file -- is already taken care of.  Also, a human can certainly read the file format once he has taken the time to RTFM.  Human readability -- without knowing the file format -- is a "nice to have" which isn't high on my priority list.
 +
geda/usage.txt · Last modified: 2021/07/26 18:05 by bert