feat: DoIP (iso 13400) client support#114
Draft
Magolves wants to merge 36 commits intodriftregion:mainfrom
Draft
feat: DoIP (iso 13400) client support#114Magolves wants to merge 36 commits intodriftregion:mainfrom
Magolves wants to merge 36 commits intodriftregion:mainfrom
Conversation
chore: Add CMakeList.txt doc: Add notes on setting up build env chore: Add option UDS_TP_DOIP feat: Add DoIP header chore: Add source files; integrate files into amalgate.py fix: Begin impl of DoIP transport fix: Pass tp pointer to all functions, remove global instance feat: Add test code fix: Update target address in DoIP client initialization chore: Ignore example binaries WIP WIP: Corrected doip_poll/recv feat: Add DOIP_DIAG_HEADER_SIZE fix: Align return values of send/recv/poll to expected values (not finished) test: Use sequence from wdbi/rdbi test test: Use verbose level chore: Update amalgated code doc: describe state machine
…ypes doc: Add poll states fix: Fix doip_tp_poll to return proper status fix: Add doip_store_uds_response refactor: Simplify DoIP address extraction with macro test: Rename source files, update Makefile fix: Fix DOIP_ADDRESS macro test: Add test script for doip test style: Rename global vars fix: Respond properly to keep-alive requests test: Add option to poll forever to test keep-alive
fix: Fix compiler warnings style: Code cleanup, adjust style, add README doc: Add comments and refs to iso13400 doc: Add DoIP client to mainpage chore: Add DoIP client test to CI
|
Owner
|
Thanks @Magolves for this PR! I have not given this PR the full review it deserves but a few things stick out:
Do you intend to merge this PR or is this a demo? |
Author
Thanks for the hints - I will follow up on this
My intention was to merge it some day, yes. |
Owner
I am glad to hear. If a DoIP module is to be included in iso14229 in the future, these are my expectations:
Please consider whether these goals are consistent with your own. Thanks! |
chore: Fix build of discovery example
- Updated DoIPClient to use function pointers for TCP and UDP transport methods, allowing for easier testing with mock implementations. - Introduced DoIPTcpTransport and DoIPUdpTransport structures to encapsulate transport-specific data and methods. - Replaced direct calls to transport functions with calls through the new function pointers. - Implemented mock transport functions for both TCP and UDP to facilitate unit testing without actual network dependencies. - Enhanced error handling and logging for transport initialization and operations. - Updated related functions and headers to reflect the new transport structure and function pointer usage.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.





Add DoIP (ISO 13400) Transport Layer Support
This PR implements DoIP (Diagnostic over IP - ISO 13400) as a new transport layer for UDS, enabling diagnostic communication over TCP/IP networks.
Features
src/tp/doip/)Implementation Details
Testing
-Wall -Wpedantic -Wextraexamples/doip_client/test.sh)Code Quality
Missing Features
src/tp/doip/(currently only in examples)Related Standards
Testing Instructions: