Skip to content
This repository was archived by the owner on Dec 17, 2025. It is now read-only.

Commit da56154

Browse files
committed
doc: Add detailed server model example with down stream
1 parent 9139ac9 commit da56154

10 files changed

Lines changed: 437 additions & 582 deletions

File tree

.github/workflows/ci.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,17 @@ jobs:
187187
- name: Install Doxygen
188188
run: |
189189
sudo apt-get update
190-
sudo apt-get install -y doxygen graphviz
190+
sudo apt-get install -y doxygen graphviz plantuml default-jre
191191
192192
- name: Generate documentation
193193
run: |
194194
doxygen --version
195+
# Render PlantUML diagrams to SVG before running Doxygen (so Doxygen can include pre-rendered images)
196+
for p in doc/diagrams/*.puml; do
197+
if [ -f "$p" ]; then
198+
plantuml -tsvg -o doc/diagrams "${p}"
199+
fi
200+
done
195201
doxygen Doxyfile
196202
working-directory: ${{ github.workspace }}
197203
- name: List generated docs

Doxyfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ WARN_LOGFILE =
114114
#---------------------------------------------------------------------------
115115
INPUT = inc \
116116
src \
117+
doc \
117118
README.md
118119
INPUT_ENCODING = UTF-8
119120
INPUT_FILE_ENCODING =
@@ -140,7 +141,7 @@ EXAMPLE_PATH = examples
140141
EXAMPLE_PATTERNS = *.cpp \
141142
*.h
142143
EXAMPLE_RECURSIVE = NO
143-
IMAGE_PATH =
144+
IMAGE_PATH = doc/diagrams
144145
INPUT_FILTER =
145146
FILTER_PATTERNS =
146147
FILTER_SOURCE_FILES = NO
@@ -307,7 +308,7 @@ DOT_PATH =
307308
DOTFILE_DIRS =
308309
DIA_PATH =
309310
DIAFILE_DIRS =
310-
PLANTUML_JAR_PATH =
311+
PLANTUML_JAR_PATH = /usr/share/plantuml/plantuml.jar
311312
PLANTUML_CFG_FILE =
312313
PLANTUML_INCLUDE_PATH =
313314
DOT_GRAPH_MAX_NODES = 50

README.md

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ C/C++ library for Diagnostics over IP (DoIP) (fork from https://github.com/AVL-D
1111

1212
**CAUTION** The current API is under construction any may change at any time.
1313

14-
15-
16-
1714
## Dependencies
1815

1916
`libdoip` uses `spdlog`. The lib is downloaded automatically. Or you may install it locally via
@@ -25,18 +22,20 @@ sudo apt install libspdlog-dev
2522

2623
See [Logging](./doc/LOGGING.md) for details.
2724

28-
### Building Documentation Locally
25+
### Getting started
26+
27+
Quick start — read the generated tutorial for the example server:
2928

30-
To generate the documentation locally:
29+
- Online (published): https://magolves.github.io/libdoip/index.html
30+
- Local example page: see `doc/ExampleDoIPServer.md` (included in the Doxygen HTML under "Example DoIP Server Tutorial").
31+
- Example tutorial (direct): https://magolves.github.io/libdoip/ExampleDoIPServer.html
32+
33+
If you want to generate the docs locally, install Doxygen and Graphviz and
34+
run:
3135

3236
```bash
33-
# Install Doxygen and Graphviz
3437
sudo apt install doxygen graphviz
35-
36-
# Generate documentation
3738
doxygen Doxyfile
38-
39-
# Open the documentation
4039
xdg-open docs/html/index.html
4140
```
4241

@@ -76,7 +75,22 @@ sudo apt install doctest
7675
sudo tcpdump -i any udp port 13400 -X
7776
```
7877

78+
## Examples
79+
80+
The project includes a small example DoIP server demonstrating how to
81+
use the `DoIPServer` and `DoIPServerModel` APIs and how to register UDS
82+
handlers.
83+
84+
- Example source files: `examples/exampleDoIPServer.cpp`,
85+
`examples/ExampleDoIPServerModel.h`
86+
- Example tutorial (published): https://magolves.github.io/libdoip/ExampleDoIPServer.html
87+
88+
See the "Examples" section in the generated Doxygen main page for
89+
additional annotated links to these files.
90+
91+
7992
## References
93+
8094
- [ISO 13400-2:2019(en) Road vehicles — Diagnostic communication over Internet Protocol (DoIP) — Part 2: Transport protocol and network layer services](<https://www.iso.org/obp/ui/#iso:std:iso:13400:-2:ed-2:v1:en>)
8195
- [Specification of Diagnostic over IP](<https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticOverIP.pdf>)
8296
- [Diagnostics over Internet Protocol (DoIP)](<https://cdn.vector.com/cms/content/know-how/_application-notes/AN-IND-1-026_DoIP_in_CANoe.pdf>)

doc/DOCUMENTATION.md

Lines changed: 0 additions & 166 deletions
This file was deleted.

0 commit comments

Comments
 (0)