missing NULL terminator in set_config_x
[geda-gaf.git] / docs / wiki / gschem-projects.html
blob586636b465eea84410a4753cf85be6a7d983837a
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <h3 class="sectionedit1" id="gschem_schematic_capture_tool">Gschem schematic capture tool</h3>
14 <div class="level3">
16 </div>
18 <h5 id="libgeda_api_formalization">Libgeda API formalization</h5>
19 <div class="level5">
21 <p>
22 In this project, you would expand libgeda (if needed) to provide a complete enough guile interface to be able to do more complex database manipulations. One use would be to have a back annotation tool that used libgeda instead of relying on perl. The problem with perl is that you&#039;ve involved Yet Another Gschem Parser. This actually may be combined with the previous project about rewriting the gnetlist internals.
23 </p>
25 <p>
26 Difficulty = 3
27 </p>
29 </div>
31 <h5 id="show_hidden_attributes_for_selected_components">Show hidden attributes for selected components</h5>
32 <div class="level5">
34 <p>
35 In gschem, please add a why to show hidden text for just one symbol only. Currently [en] will show all the hidden text for all symbols and that makes a real visual mess. Implement this by just showing the hidden text for the currently selected symbols.
36 </p>
38 <p>
39 Difficulty = 1
40 </p>
42 </div>
44 <h5 id="constant_sized_handles_grips">Constant sized handles/grips</h5>
45 <div class="level5">
47 <p>
48 In gschem, the size of the handles for lines, nets, and objects scale with increasing zoom. Thus for small lines the handles overlap, and if I zoom in closely, it becomes very hard to pick the right object to manipulate. Please let the size of the handles be constant, regardless of the zoom factor. This is virtually how all vector graphics applications work.
49 </p>
51 <p>
52 Difficulty = 1
53 </p>
55 </div>
57 <h5 id="automatically_fill_in_global_attributes_in_gschem">Automatically fill in global attributes in gschem</h5>
58 <div class="level5">
60 <p>
61 In gschem, implement a mechanism that would (when turned enabled) automatically fill in proper global attributes for the design. These attributes could be the date of the last modification, name of the project, author, number of sheets, etc…
62 </p>
64 <p>
65 Difficulty = 1 to 2
66 </p>
68 </div>
70 <h5 id="improve_error_messages_in_gschem">Improve error messages in gschem</h5>
71 <div class="level5">
73 <p>
74 Improve error messages in gschem when a rc file doesn&#039;t load correctly. Currently the error messages are cryptic and not useful at all. There are several other places in gschem where the error messages could be vastly improved.
75 </p>
77 <p>
78 Difficulty = 1
79 </p>
81 </div>
83 <h5 id="global_search_and_replace">Global search and replace</h5>
84 <div class="level5">
86 <p>
87 Add a dialog box that lets you do a global search and replace. Currently you can do a find for a specific attribute, but several users have asked if gschem could also provide a way of doing a replace operation as well.
88 </p>
90 <p>
91 Difficulty = 1 to 2
92 </p>
94 </div>
96 <h5 id="improved_and_formalized_mechanism_for_forward_backward_annotation">Improved and formalized mechanism for forward/backward annotation</h5>
97 <div class="level5">
99 <p>
100 Add hooks into gschem needed to fully support things like backannotation of simulation results and click-to-plot results. Specifically, this would enable you to draw a schematic in gschem, then simulate it in ngspice without leaving gschem. The simulation plots would then appear in a graphical pop-up window.
101 </p>
104 Difficulty = 3
105 </p>
107 </div>
109 <h5 id="visual_feedback_for_attached_attributes">Visual feedback for attached attributes</h5>
110 <div class="level5">
113 In gschem, add some sort of visual feedback to tell the user which attribute is attached to which component. This would be useful since sometimes you move attributes/components around and things get a little bit separated distance wise.
114 </p>
117 Difficulty = 1 to 2
118 </p>
120 </div>
122 <h5 id="schematic_and_symbol_modes">Schematic and symbol modes</h5>
123 <div class="level5">
126 Add schematic and symbol modes to gschem. Right now users can do invalid things like add a net or bus inside a symbol and gschem allows this quite happily. If there was a symbol mode that disallowed certain actions, then users will not be able to hurt themselves so easily when creating symbols. Like wise a schematic mode wouldn&#039;t allow certain operations (such as adding a pin).
127 </p>
130 Difficulty = 2 to 3
131 </p>
133 </div>
135 <h5 id="movable_symbol_origin">Movable symbol origin</h5>
136 <div class="level5">
139 Add the ability to move the origin of a symbol in gschem. Right now the origin is always at 0,0 and users have to translate the symbol to the origin. It would be nice if the origin was movable so that you wouldn&#039;t have to translate the symbol manually anymore. This would also allow the user to pick the insert point of the symbol when adding components to a schematic.
140 </p>
143 Difficulty = 2 to 3
144 </p>
146 </div>
148 <h5 id="modify_instantiated_symbols_in_a_schematic">Modify instantiated symbols in a schematic</h5>
149 <div class="level5">
152 Add the ability to move pins/attributes/whatever on instantiated components in a schematic. This one is quite tricky, but it would allow for various things that people have been requesting (this might be a good foundation for a greatly improved back annotation mechanism from PCB).
153 </p>
156 Difficulty = 3 to 4
157 </p>
159 </div>
161 <h5 id="finer_grid_when_moving_attributes">Finer grid when moving attributes</h5>
162 <div class="level5">
165 In gschem, add a finer grid when moving attributes or text around.
166 </p>
169 Difficulty = 2
170 </p>
172 </div>
174 <h5 id="add_more_toolbar_buttons">Add more toolbar buttons</h5>
175 <div class="level5">
178 Adding some more useful buttons to the gschem toolbar. Typical functionalities that gschem does not have on the toolbar:
179 </p>
180 <ul>
181 <li class="level1"><div class="li"> Up/down schematic/symbol</div>
182 </li>
183 <li class="level2"><div class="li"> Add various graphical objects (maybe make these only appear in symbol editing mode)</div>
184 </li>
185 <li class="level2"><div class="li"> Edit component attributes</div>
186 </li>
187 <li class="level2"><div class="li"> Copy/paste/delete</div>
188 </li>
189 <li class="level2"><div class="li"> Page forward/back</div>
190 </li>
191 <li class="level2"><div class="li"> Component mirror/rotate</div>
192 </li>
193 <li class="level2"><div class="li"> Zoom in/out</div>
194 </li>
195 </ul>
198 It would be really nice if the toolbar buttons were configurable either on the fly or through an rc file.
199 </p>
202 Difficulty = 2 to 3
203 </p>
205 </div>
207 <h5 id="an_interactive_sub_sheet_generator">An Interactive Sub Sheet Generator</h5>
208 <div class="level5">
211 In gschem hierarchical design is accomplished by symbols in the top sheet that represent sub sheets. Currently these sub sheet symbols and the sub sheet itself have to be created manually. The purpose of this project is to design and implement an interactive generator of such symbols and sub sheets. It should work both strategies of hierachical design, bottom-up and top-down. Top-down refers to the case where the parent sheet is designed first and diverts into sub sheets. With bottom-up the sub sheets are designed first. The generator should accept user input on the number and the name of input and output signals. The generator may present a list of named net on the current sheet and let the user pick those that should link to the sub sheet. Power nets to be available on the sub sheet may be specified too. In case of a top-down approach the generator should additionally create a draft of the sub sheet with symbols for the in and out signals placed at some default position. The generator should integrate into the main <abbr title="Graphical User Interface">GUI</abbr> of gschem.
212 </p>
215 Some work has already been done to deal with the bottom-up case. See <a href="https://bugs.launchpad.net/geda/+bug/698670" class="urlextern" title="https://bugs.launchpad.net/geda/+bug/698670" rel="nofollow">the bash script geda_sch2sym</a> in the bug tracker. This may be used as a starting point. However, a restart from scratch would be welcome too.
216 </p>
219 Difficulty = 2
220 </p>
222 </div>
223 </body>
224 </html>