1515
1616\urlstyle {same}
1717
18- % This macro embeds the selected DSDL definition or the contents of a DSDL namespace into the document.
19- % It accepts one mandatory argument which is either a full DSDL type name, e.g. uavcan.node.Heartbeat,
20- % or a full type name glob expression, e.g., uavcan.node.*.
21- \newcommand {\DSDL }[1]{%
22- % Clean up beforehand to ensure clean initial state.
23- \immediate\write 18{rm -f ../*.tmp}%
24- % Invoke the target command and save the useful output into a file; ignore error output
25- \immediate\write 18{../render_dsdl.py #1 > ../dsdl.tmp}%
26- % Now, if the above command has failed, the output file would be empty. We remove empty file to escalate error.
27- % Escalation is very important as it allows us to abort compilation on failure instead of generating invalid
28- % documents silently.
29- \immediate\write 18{find .. -type f -name '*.tmp' -size 0 -delete}%
30- % Read the file. This command fails if the file was empty, which is exactly want we want.
31- \immediate \input {../dsdl.tmp }%
32- % Clean up afterwards to prevent accidental reuse if the command fails the next time we invoke it.
33- \immediate\write 18{rm -f ../*.tmp}%
34- }
35-
36- \newcommand {\DSDLReference }[1]{% We use detokenize to permit underscores
37- \mbox {\texttt {\detokenize {#1} }} (section~\ref {sec:dsdl: #1 } on page~\pageref {sec:dsdl: #1 })%
38- }
39-
40- \title {Specification v1.0}
18+ \title {Specification v1.1 DRAFT}
4119
4220\hbadness =10000
4321
@@ -56,18 +34,14 @@ \section*{Overview}
5634Features:
5735
5836\begin {itemize }
59- \item Democratic network -- no bus master , no single point of failure.
37+ \item Democratic network -- no central coordinator , no single point of failure.
6038 \item Publish/subscribe and request/response (RPC\footnote {Remote procedure call.}) com\- mu\- ni\- ca\- tion semantics.
6139 \item Efficient exchange of large data structures with automatic decomposition and reassembly.
6240 \item Lightweight, deterministic, easy to implement, and easy to validate.
6341 \item Suitable for deeply embedded, resource constrained, hard real-time systems.
6442 \item Supports dual and triply modular redundant transports.
65- \item Supports high-precision network-wide time syn\- chro\- ni\- za\- tion.
66- \item Provides rich data type and interface abstractions -- an interface description language is a core part of
67- the technology which allows deeply embedded sub-systems to interface with higher-level systems directly and
68- in a maintainable manner while enabling simulation and functional testing.
6943 \item The specification and high quality reference implementations in popular programming languages are free,
70- open source, and available for commercial use under the permissive MIT license .
44+ open source, and available for commercial use under permissive licenses .
7145\end {itemize }
7246
7347\BeginRightColumn
@@ -107,13 +81,12 @@ \section*{Limitation of liability}
10781\end {titlepage }
10882
10983\tableofcontents
110- \clearpage\onecolumn\ listoftables
111- \clearpage\onecolumn\ listoffigures
84+ \listoftables
85+ \listoffigures
11286
11387\mainmatter
11488
11589\input {introduction/introduction.tex }
116- \input {basic/basic.tex }
11790\input {transport/transport.tex }
11891
11992\end {document }
0 commit comments