From e08290b1f2fc3c1177f2e8f3ebe1af533cc03d23 Mon Sep 17 00:00:00 2001 From: Saya Sugiura Date: Mon, 8 Jul 2019 10:02:02 +0900 Subject: doc: Improve README.md This includes improvement of markdown formatting as well as changes in description itself. Signed-off-by: Saya Sugiura --- README.md | 116 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 64 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 267a607..b2644a7 100644 --- a/README.md +++ b/README.md @@ -6,23 +6,29 @@ Code quality: [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/ ## Overview -This component provides a log and trace interface, based on the -standardised protocol specified in the AUTOSAR standard 4.0 DLT. -This software can be used by GENIVI components and other applications as logging framework. +This component provides a log and trace interface, based on the standardised +protocol specified in the AUTOSAR standard 4.0 DLT. This software can be used +by GENIVI components and other applications as logging framework. DLT basically consists of 3 components: -- **DLT Library**: Enables DLT logging for DLT user applications and temporary storage of log messages if daemon isn't available. -- **DLT Daemon**: Receiving log messages from DLT user applications and temporary storage of log messages if client isn't available. Transmit log messages to DLT Client and response to control messages. -- **DLT Client**: Receiving and storage of log messages from DLT Daemon into one single trace file and sending control message +- **DLT Library**: Enables DLT logging for DLT user applications and temporary + storage of log messages if daemon isn't available. +- **DLT Daemon**: Receiving log messages from DLT user applications and + temporary storage of log messages if client isn't available. Transmit log + messages to DLT Client and response to control messages. +- **DLT Client**: Receiving and storing log messages from DLT Daemon into one + single trace file and sending control message ![alt text](doc/images/dlt_overview.png "DLT Overview") -Furthermore, the repository contains several adaptors, console utilities as well as test applications. +Furthermore, the repository contains several adaptors, console utilities as well +as test applications. ## Build and install -The following packages need to be installed in order to be able to build and install DLT daemon: +The following packages need to be installed in order to be able to build and +install DLT daemon: - cmake - zlib @@ -40,7 +46,7 @@ cd build cmake .. make optional: sudo make install -optional: sudo ldconfig` +optional: sudo ldconfig ``` ### Configuration @@ -49,63 +55,61 @@ optional: sudo ldconfig` Option | Value | Comment :--- | :--- | :--- -BUILD_SHARED_LIBS | ON | Set to OFF to build static libraries -DLT_IPC |"FIFO" | Set to either "UNIX_SOCKET" or "FIFO" -WITH_DLT_USE_IPv6 | ON | Set to ON for IPv6 support -WITH_DLT_EXAMPLES | ON | Set to ON to build src/examples binaries -DLT_USER | genivi | Set user for process not run as root -WITH_CHECK_CONFIG_FILE | OFF | Set to ON to create a configure file of CheckIncludeFiles and CheckFunctionExists -CMAKE_INSTALL_PREFIX | /usr/local -CMAKE_BUILD_TYPE | RelWithDebInfo +BUILD\_SHARED\_LIBS | ON | Set to OFF to build static libraries +DLT\_IPC |"FIFO" | Set to either "UNIX\_SOCKET" or "FIFO" +WITH\_DLT\_USE\_IPv6 | ON | Set to ON for IPv6 support +WITH\_DLT\_EXAMPLES | ON | Set to ON to build src/examples binaries +DLT\_USER | genivi | Set user for process not run as root +WITH\_CHECK\_CONFIG\_FILE | OFF | Set to ON to create a configure file of CheckIncludeFiles and CheckFunctionExists +CMAKE\_INSTALL\_PREFIX | /usr/local +CMAKE\_BUILD\_TYPE | RelWithDebInfo #### Command Line Tool Options Option | Value | Comment :--- | :--- | :--- -WITH_DLT_ADAPTOR | OFF | Set to ON to build src/adaptor binaries -WITH_DLT_CONSOLE | ON | Set to ON to build src/console binaries -WITH_DLT_SYSTEM | OFF | Set to ON to build src/system binaries -WITH_DLT_LOGSTORAGE_CTRL_UDEV | OFF | PROTOTYPE! Set to ON to build -WITH_DLT_LOGSTORAGE_CTRL_PROP | OFF | PROTOTYPE! Set to ON to build logstorage control application with proprietary support -WITH_DLT_KPI | OFF | Set to ON to build src/kpi binaries +WITH\_DLT\_ADAPTOR | OFF | Set to ON to build src/adaptor binaries +WITH\_DLT\_CONSOLE | ON | Set to ON to build src/console binaries +WITH\_DLT\_SYSTEM | OFF | Set to ON to build src/system binaries +WITH\_DLT\_LOGSTORAGE\_CTRL\_UDEV | OFF | PROTOTYPE! Set to ON to build +WITH\_DLT\_KPI | OFF | Set to ON to build src/kpi binaries #### Linux OS Integration Options Option | Value | Comment :--- | :--- | :--- -WITH_SYSTEMD | OFF | Set to ON to run CMakeLists.txt in systemd -WITH_SYSTEMD_WATCHDOG | OFF | Set to ON to use the systemd watchdog in dlt-daemon -WITH_SYSTEMD_JOURNAL | OFF | Set to ON to use the systemd journal in dlt-system -WITH_DLT_DBUS | OFF | Set to ON to build src/dbus binaries +WITH\_SYSTEMD | OFF | Set to ON to run CMakeLists.txt in systemd +WITH\_SYSTEMD\_WATCHDOG | OFF | Set to ON to use the systemd watchdog in dlt-daemon +WITH\_SYSTEMD\_JOURNAL | OFF | Set to ON to use the systemd journal in dlt-system +WITH\_DLT\_DBUS | OFF | Set to ON to build src/dbus binaries #### Documentation Options Option | Value | Comment :--- | :--- | :--- -WITH_DOC | OFF | Set to ON to build documentation target -WITH_MAN | OFF | Set to OFF to skip building of man pages +WITH\_DOC | OFF | Set to ON to build documentation target +WITH\_MAN | OFF | Set to OFF to skip building of man pages #### Test Options Option | Value | Comment :--- | :--- | :--- -WITH_TESTSCRIPTS | OFF | Set to ON to run CMakeLists.txt in test scripts -WITH_DLT_TESTS | ON | Set to ON to build src/test binaries -WITH_DLTTEST | OFF | Set to ON to build with modifications to test User-Daemon communication with corrupt messages -WITH_DLT_UNIT_TESTS | OFF | Set to ON to build unit test binaries -WITH_GPROF | OFF | Set \-pg to compile flag +WITH\_TESTSCRIPTS | OFF | Set to ON to run CMakeLists.txt in test scripts +WITH\_DLT\_TESTS | ON | Set to ON to build src/test binaries +WITH\_DLTTEST | OFF | Set to ON to build with modifications to test User-Daemon communication with corrupt messages +WITH\_DLT\_UNIT\_TESTS | OFF | Set to ON to build unit test binaries +WITH\_GPROF | OFF | Set \-pg to compile flag #### Experimental Features Options Option | Value | Comment :--- | :--- | :--- -WITH_DLT_SHM_ENABLE | OFF | Set to OFF to use FIFO as IPC from user to daemon -WITH_DLT_CXX11_EXT | OFF | Set to ON to build C++11 extensions -WITH_DLT_COREDUMPHANDLER | OFF | EXPERIMENTAL! Set to ON to build src/core_dump_handler binaries. EXPERIMENTAL +WITH\_DLT\_SHM\_ENABLE | OFF | Set to OFF to use FIFO as IPC from user to daemon +WITH\_DLT\_CXX11\_EXT | OFF | Set to ON to build C++11 extensions +WITH\_DLT\_COREDUMPHANDLER | OFF | EXPERIMENTAL! Set to ON to build src/core\_dump\_handler binaries. EXPERIMENTAL -In order to change these options, you can modify these values -with cmake, do the appropriate changes in CmakeList.txt or via -the commandline for cmake +In order to change these options, you can modify these values with cmake, do the +appropriate changes in CmakeList.txt or via the commandline for cmake Change a value with: cmake -D\=\, E.g. @@ -131,10 +135,7 @@ All text based documentation will be replaced with by Markdown-based documentati Old documentation (not maintained - will be removed in future releases): -- DLT User Manual: doc/dlt\_user\_manual.txt -- DLT Cheatsheet: doc/dlt_cheatsheet.txt - DLT Design Specification: doc/dlt\_design\_specification.txt -- DLT Compilation of all documentation: doc/dlt_book.txt ### API Documentation @@ -156,8 +157,11 @@ make doc - [dlt-convert(1)](doc/dlt-convert.1.md) - [dlt-sortbytimestamp(1)](doc/dlt-sortbytimestamp.1.md) - [dlt-receive(1)](doc/dlt-receive.1.md) +- [dlt-control(1)](doc/dlt-control.1.md) - [dlt-logstorage-ctrl(1)](doc/dlt-logstorage-ctrl.1.md) - [dlt-passive-node-ctrl(1)](doc/dlt-passive-node-ctrl.1.md) +- [dlt-adaptor-stdin(1)](doc/dlt-adaptor-stdin.1.md) +- [dlt-adaptor-udp(1)](doc/dlt-adaptor-udp.1.md) The man pages are generated with *pandoc*. @@ -174,24 +178,30 @@ The generated man pages overwrite the existing ones. ## Contribution -Start working, best practice is to commit smaller, compilable pieces during the work that makes it easier to handle later on. +Start working, best practice is to commit smaller, compilable pieces during the +work that makes it easier to handle later on. -If you want to commit your changes, create a [Pull Request](https://github.com/genivi/dlt-daemon/pulls) in Github. +If you want to commit your changes, create a +[Pull Request](https://github.com/genivi/dlt-daemon/pulls) in Github. ### Coding Rules Before contributing code, run uncrustify to harmonize code style. Configuration: util/uncrustify.cfg -uncrustify version: 0.68_f +uncrustify version: 0.68\_f ## Known issues -List of open issues can be found on [Github](https://github.com/GENIVI/dlt-daemon/issues) +List of open issues can be found on +[Github](https://github.com/GENIVI/dlt-daemon/issues) -- DLT library: Usage of dlt\_user\_log\_write\_float64() and DLT_FLOAT64() leads to "Illegal instruction (core dumped)" on ARM target. -- DLT library: Nested calls to DLT\_LOG\_ ... are not supported, and will lead to a deadlock. -- For Non linux platforms [eg: QNX] IPC supported is UNIX_SOCKET. For Linux Platforms both IPC FIFO and UNIX_SOCKET are supported +- DLT library: Usage of dlt\_user\_log\_write\_float64() and DLT\_FLOAT64() + leads to "Illegal instruction (core dumped)" on ARM target. +- DLT library: Nested calls to DLT\_LOG\_ ... are not supported, and will lead + to a deadlock. +- For Non linux platforms [eg: QNX] IPC supported is UNIX\_SOCKET. For Linux + Platforms both IPC FIFO and UNIX\_SOCKET are supported ## Software/Hardware @@ -199,8 +209,10 @@ Developed and tested with Ubuntu Linux 16 64-bit / Intel PC ## License -Full information on the license for this software is available in the "LICENSE" file. -Full information on the license for the cityhash code is available in "COPYING" file in src/core\_dump\_handler/cityhash_c. +Full information on the license for this software is available in the "LICENSE" +file. +Full information on the license for the cityhash code is available in "COPYING" +file in src/core\_dump\_handler/cityhash\_c. ## Mailinglist -- cgit v1.2.1