parser: refactor (von drei auf zwei prozess-modell)
[hwmod.git] / spec / sm / rs232-ts.tex
1 % http://ftp.univie.ac.at/packages/tex/graphics/pstricks/base/doc/pstricks-doc.pdf
2 % http://www.tug.org/PSTricks/main.cgi?file=doc/docs
3
4 % 18:59:41 <martinp> http://pastebin.com/tcp16Gp minimales "sample"
5 % 01:53:07 <martinp> die nodes werden deine lieblinge sein ;)
6 % 01:53:19 <martinp> ncline, ncarc und nccircle
7 % 01:53:32 <martinp> angle und arcangle als parameter sind ganz nützlich ;)
8 % 01:54:08 <martinp> rest siehst eh in dem "sample" von mir ;)
9 % 01:55:08 <martinp> aja, was du auf jedenfall vermeiden solltest sind leere reihen in der psmatrix
10 % 01:55:14 <martinp> da kommt dann immer blödsinn raus
11 % 01:55:39 <martinp> wennst mehr platz zwischen den nodes brauchst solltest colsep und rowsep verändern
12 % 01:56:02 <martinp> eine \mbox{ } als knoten hab ich noch nicht probiert, könnte vlt aber auch gehen
13 % 01:56:40 <martinp> \ncarc[arcangle=20]{rs}{i}^{bla} setzt bla als label über die linie
14 % 01:56:45 <martinp> \ncarc[arcangle=20]{rs}{i}_{bla} unter die linie
15 % 01:57:07 <martinp> die ncput in dem sample in die linie (ohne * wird die linie auch nicht ausgeblendet)
16 % 01:57:55 <martinp> ^ und _ sind eigentlich nur abkürzungen für naput oder so in die richtung
17 % 01:58:13 <martinp> [npos=.4] ist auch ganz nett für die puts, damit veränderst die pos. der label auf der 
18 %                    linie (zwischen start und ende)
19 % 01:58:33 <martinp> und wennst böse kanten hast die du stark biegen musst
20 % 01:59:03 <martinp> da ist es besser ncurv zu erhöhen als den arcangle (zumindest ab einem bestimmten arcangle 
21 %                    auch die einzige möglichkeit mehr "kurve" zu bekommen)
22 \documentclass{minimal}
23 \pagestyle{empty}
24
25 \usepackage{pstricks}
26 \usepackage{pst-node}
27
28 \begin{document}
29
30 \begin{psmatrix}[mnode=oval, colsep=2.5cm, rowsep=2.5cm]
31 [mnode=R,name=vars]{int bc := 0;} &
32 [name=ws]{\shortstack{\textbf{write}\\\textbf{startbit}\\txd:=0;}} &
33 [name=wb]{\shortstack{\textbf{write}\\wait BT;\\bc++;}} \\
34 %%
35 [mnode=R,name=res]{sys\_res\_n} &
36 [name=idle]{\shortstack{\textbf{idle}\\bc:=0;}} &
37 [name=wsp]{\shortstack{\textbf{write}\\\textbf{stopbit}\\txd:=1;}} \\
38 \end{psmatrix}
39
40 \psset{arrows=->, shortput=nab}
41
42 \ncline[linestyle=dotted]{res}{idle}
43 %% transmit
44 \ncline{idle}{ws}\ncput*[npos=.50]{tx\_new = 1}
45 \ncline{ws}{wb}
46 \nccircle[angle=0]{wb}{.7cm}\ncput*{$bc<8$}
47 \ncline{wb}{wsp}\ncput*{$bc \ge 8$}
48 \ncline{wsp}{idle}
49 \end{document}