Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ken0lg/diag-client-lib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diagnostic Client Library

CMake CodeQL

Diagnostic Client Library

Welcome to Diagnostic Client library which is developed based on motivation taken from Adaptive AUTOSAR Diagnostic Specification 20-11

Diagnostic Client library is developed keeping in mind the requirements needed on the diagnostic tester side. Some internal APIs is implemented based on API Reference mentioned in Adaptive AUTOSAR Diagnostic Specification 20-11

Overview

Diagnostic Client library acts as diagnostic tester library which can be easily linked with any application which wants to send any diagnostic request to server and diagnose the ECU.

Diagnostic Client library currently supports below Diagnostic Protocols :-

  • DoIP
  • UDS

The main advantage of Diagnostic Client library is that you can open multiple conversion(tester instance) for diagnosing multiple ECU at same time. You can check section how to use diag-client-lib for more details

Get Started

In this section, you can learn how to build and install Diagnostic Client Library and also learn how to use diag-client-lib

Build and Install

The following packages needs to be installed in order to build and install Diagnostic Client library:-

  • cmake
  • dlt-daemon
  • boost >= 1.78.0

Execute to install dependencies :-

sh .github/setup.sh 

Dependencies

Diagnostic Client Library has dependencies with BOOST library and COVESA DLT logging.

BOOST Library is used for asio operations and COVESA DLT logging is used for sending DLT logs to user.

In future use of BOOST library will be removed completely.

How to use diag-client-lib

Diagnostic Client Library has to be linked first either statically or dynamically with executable before usage.

Diagnostic Client shared library can be built by setting the below CMake Flag to ON

"BUILD_SHARED_LIBS" : "ON",

Main instance of Diagnostic Client Libary should be created using CreateDiagnosticClient function call and config json file path should be passed as parameter

std::unique_ptr<diag::client::DiagClient> diagclient =
            diag::client::CreateDiagnosticClient("etc/diag_client_config.json");

Multiple tester instance can be created using Diagnostic Client Libary main instance.

More information on the APIs to be used , check doc_api_definition documentation

More information on the diag client config json file, refer doc_config_json documentation

Check the example application Examples on how Diagnostic Client Library should be linked and used.

Known Defect

  • No defect is identified yet.

You can add new issues with label bug for notifying us about any defect in library.

Future Work

  • Support of Vehicle Discovery Phase (Vehicle Identification/ Announcement) will be added
  • DoIP with TLS
  • Remove Boost Library dependency

For adding more features you can add new issues with label enhancement so that we can work on it.

License

Full information of license is available in the LICENSE file of this project.

Boost License is available here LICENSE

Contact

Avijit Dey [email protected]

Author

  • Avijit Dey

About

Diagnostic Client library for diagnosing Automotive ECU, based on Adaptive Autosar Standard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.9%
  • CMake 4.0%
  • C 0.1%