Contents of this directory
--------------------------
examples.sln
	Visual Studio Solution regrouping projects 01_xxx to 14_xxx.

readme.txt
	This text file.

\01_server_response_ecu_reset_USDT
\02_client_request_ecu_reset_USDT
	The first example shows how to request an EcuReset service with USDT message through PCAN-UDS API.
	It is splitted in two parts: client (send request and receive response) and server (receive EcuReset request and send response).
	In addition, the client shows how to set new session information after a reset.

\03_server_response_ecu_reset_UUDT
\04_client_request_ecu_reset_UUDT
	This example composed of a client and a server presents the case of an UUDT EcuReset Request and an UUDT response.
	To properly handle this case, a configuration with specific CAN identifiers and flow control identifiers should be used.
	These identifiers must be filtered to be handled by the PCAN-UDS API.
	The function “UDS_AddCanIdFilter_2013” allows to do that.
	To wait the response, the “UDS_WaitForService_2013” function cannot be used (because it waits messages from a specific mapping and not from a specific CAN identifier).
	That is why the function “UDS_WaitForSingleMessage_2013” is used instead.

\05_server_simulator
\06_client_all_request
	This example shows a complete client/server simulator.
	The server can handle every request and creates fake responses for each of them.
	The client shows how to call every UDS services.

\07_read_write_uds
	This example shows how to use UDS to directly read and write messages. Theses low-level functions should not be used client side.
	It also demonstrates CAN FD initialization.

\08_read_write_uds_and_isotp
	This example shows that ISOTP messages can be sent on initialized UDS channels without being received by PCAN-UDS API.
	It also demonstrates CAN FD initialization.

\09_server_uds_and_isotp
\10_client_uds_and_isotp
	This example shows the concurrent use of UDS and ISOTP. Indeed, these API can work simultaneously.
	The server answer UDS TesterPresent service requests and answer “PING” ISOTP message by sending “PONG” response.
	The client sends in a thread ten TesterPresent requests and in another thread ten “PING” ISOTP messages.

\11_server_response_ReadDataByPeriodicIdentifier
\12_client_request_ReadDataByPeriodicIdentifier
	This example composed of a client and a server shows the use of the ReadDataByPeriodicIdentifier service within custom configuration.
	The service request use 29bits fixed normal addressing (from 0xF1 to 0xC1), while the responses (for each requested periodic data identifier)
	use 0x1F22C1F1 can identifier (UUDT).
	It also demonstrates CAN FD initialization and communication.

\13_server_uds_and_can
\14_client_uds_and_can
	This example composed of a client and a server shows how to read can frames among UDS requests using isotp on initialized UDS channels.
	The server answer UDS TesterPresent service requests and periodically send “PING” can messages.
	The client handles in a thread UDS TesterPresent requests/responses (using PCAN-UDS API)
	and in another thread read “PING” can messages and TesterPresent message (using PCAN-ISOTP API).
	Note: As all CAN messages are read, it is easier and faster to use PCANTP API than to configure UDS to read/write theses messages as UUDT messages.
		Because it will require to define a CAN identifier filtering for each CAN identifier that UDS should listen to.

\PCAN-UDS_1.x - backward compatibility
	This folder contains PCAN-UDS_1.x examples. These examples shows backward compatibility.
	\PUDSClient and \PUDSServer demonstrate UDS communications (all UDS requests of ISO-14229_2006 are tested).