Browse Source
Make the source file to the specctra freerouter help panel be html, not *.h
Make the source file to the specctra freerouter help panel be html, not *.h
This makes it easier to preview the page in a browser. Then autogenerate the *.h file from the html using a CMake script.pull/1/head
5 changed files with 114 additions and 27 deletions
-
8CHANGELOG.txt
-
12CMakeModules/Html2C.cmake
-
23pcbnew/CMakeLists.txt
-
73pcbnew/dialog_freeroute_exchange_help.html
-
25pcbnew/dialog_freeroute_exchange_help_html.h
@ -0,0 +1,12 @@ |
|||
|
|||
# CMake script file to process a text file by wrapping every line in double quotes. |
|||
# Input file must not abuse quotes, staying with single quotes is probably best. |
|||
|
|||
set( lines "" ) |
|||
file( STRINGS ${inputFile} lines ) |
|||
|
|||
file( WRITE ${outputFile} "// Do not edit this file, it is autogenerated by CMake from an HTML file\n" ) |
|||
|
|||
foreach( line ${lines} ) |
|||
file( APPEND ${outputFile} "\"" ${line} "\"\n" ) |
|||
endforeach( line ${lines} ) |
@ -0,0 +1,73 @@ |
|||
<html> |
|||
<!-- This file is used to autogenerate a *.h file, but you can load it into a browser to preview --> |
|||
<h1>Freerouter Guidelines:</h1> |
|||
<ol> |
|||
<li> in pcbnew: establish the number of layers, and save the new *.brd file.</li><br> |
|||
|
|||
<li> in a text editor: load the board (*.brd) file, and edit the layer names and types. |
|||
These should look something like this: |
|||
<ul> |
|||
<li>Layer[0] Back signal</li> |
|||
<li>Layer[1] Power power</li> |
|||
<li>Layer[2] V2_Signal signal</li> |
|||
<li>Layer[3] H1_Signal signal</li> |
|||
<li>Layer[4] Ground power</li> |
|||
<li>Layer[15] Front signal</li> |
|||
|
|||
</ul><br> |
|||
Notice that after the layer name there is a layer type field, either 'signal' or 'power'. |
|||
Any layer identified as 'power' will be removed from the layer menu in Freerouter, |
|||
as this will be assumed to contain a power zone. |
|||
</li><br> |
|||
|
|||
<li> in pcbnew: re-load the board, and establish board perimeter.</li><br> |
|||
|
|||
<li> in pcbnew: load in the netlist so you have all the components defined and instantiated.</li><br> |
|||
|
|||
<li> in pcbnew: establish any zones, inclusive of net association.</li><br> |
|||
|
|||
<li> in pcbnew: do the degree of component placements you are comfortable with. |
|||
It is a little easier to accurately position components in pcbnew than in |
|||
freerouter, but either will work.</li><br> |
|||
|
|||
<li> in pcbnew: set up the netclasses. Power traces might be a little thicker |
|||
than signal traces. If so, add a netclass called 'power'. |
|||
Make its traces thicker than what you establish for netclass 'Default'. |
|||
Set trace width, spacing and vias for each netclass.</li><br> |
|||
|
|||
<li> in pcbnew: export to DSN.</li><br> |
|||
|
|||
<li> load up freerouter (keep it running for any subsequent iterations of 5) through 16) here).</li><br> |
|||
|
|||
<li> in freerouter: load the project's *.dsn file. Immediately after a load, all |
|||
components and traces (if any) will initially be 'fixed'. This is a 'lock |
|||
in place' toggle that you can undo by selecting a region with your mouse |
|||
and then selecting 'Unfix' from the menu. Occassionally you may want to |
|||
re-fix a trace or a part, if only temporarily. This keeps it locked in |
|||
place. |
|||
</li><br> |
|||
|
|||
<li> useful, not mandatory: in freerouter: set your move snap modulus, which seems |
|||
to default to 1 internal unit. |
|||
20 mils in x and in y is about reasonable.</li><br> |
|||
|
|||
<li> in freerouter: finish placing any components, you can change sides of a part |
|||
here also, rotate, whatever.</li><br> |
|||
|
|||
<li> in freerouter: route the board, and save frequently to a *.dsn file while |
|||
routing in case of power loss. Pick the menu option for saving a full *.dsn |
|||
file, not a session file (yet). The full freerouter *.dsn file is a superset |
|||
format, one that can be reloaded in the event of a power loss. Whereas the |
|||
*.ses file is not a complete design, but only with the *.brd file |
|||
constitutes a full design. So it is important to backup your work to a |
|||
*.dsn file while routing in case of power loss.</li><br> |
|||
|
|||
<li> in freerouter: when done, or when you want to back import, then save as a session file, *.ses.</li><br> |
|||
|
|||
<li> in pcbnew: backimport the session file</li><br> |
|||
|
|||
<li> in pcbnew: at this point the zones have to be refilled. One way to do that |
|||
is to simply run DRC.</li> |
|||
|
|||
</ol> |
|||
</html> |
@ -1,25 +0,0 @@ |
|||
"<b>Guidelines:</b><br><br>\ |
|||
<b>1)</b> in pcbnew: establish board perimeter.<br>\ |
|||
<b>2)</b> in pcbnew: establish any zones, inclusive of net association.<br>\ |
|||
<b>3)</b> in pcbnew: load in the netlist so you have all the components defined and instantiated.<br>\ |
|||
<b>4)</b> in pcbnew: do the degree of component placements you are comfortable with.<br>\ |
|||
It is a little easier to accurately position components in pcbnew than in freerouter, but either will work.<br>\ |
|||
<b>5)</b> in pcbnew: set up the netclasses. power traces might be a little thicker.<br>\ |
|||
so add a netclass called \"power\".<br>\ |
|||
Make its traces thicker than what you establish for netclass \"Default\".<br>\ |
|||
Set spacing and vias for each netclass.<br>\ |
|||
<b>6)</b> in pcbnew: export to DSN.<br>\ |
|||
<b>7)</b> load up freerouter (keep it running for any subsequent iterations of 6) through 14) here ).<br>\ |
|||
<b>8)</b> in freerouter: load the project's *.dsn file.<br>\ |
|||
<b>9)</b> useful, not mandatory: in freerouter: set your move snap modulus, which seems to default to 1 internal unit.<br>\ |
|||
20 mils in x and in y is about reasonable.<br>\ |
|||
<b>10)</b> in freerouter: finish placing any components, you can change sides of a part here also, rotate, whatever.<br>\ |
|||
<b>11)</b> in freerouter: route the board, save frequently to a *.dsn file<br>\ |
|||
while routing, in case of power loss, not yet a session file but a full *.dsn file.<br>\ |
|||
The full freerouter *.dsn file is a superset format,\ |
|||
one that fully defines the board and can be reloaded between power outages,\ |
|||
whereas the *.ses file is not a complete design,\ |
|||
but with the *.brd file constitutes a full design.<br>\ |
|||
<b>12)</b> in freerouter: when done, or when you want to back import, then save as a session file, *.ses.<br>\ |
|||
<b>13)</b> in pcbnew: backimport the session file<br>\ |
|||
<b>14)</b> in pcbnew: at this point the zones have to be refilled. One way to do that is to simply run DRC." |
Write
Preview
Loading…
Cancel
Save
Reference in new issue