I used the latest PCAN_UDS version ,
when i added mapping ID,i Sent the UDS message ,but CANOE feedback the message error
As shown attachment ,
Below is my code ,
Code: Select all
private void AddMapping()
{
uds_mapping request_mapping = new uds_mapping();
request_mapping.can_id = 0x784;
request_mapping.can_id_flow_ctrl = 0x78C;
request_mapping.can_msgtype = cantp_can_msgtype.PCANTP_CAN_MSGTYPE_STANDARD;
request_mapping.nai.extension_addr = 0;
request_mapping.nai.protocol = uds_msgprotocol.PUDS_MSGPROTOCOL_ISO_15765_2_11B_NORMAL;
request_mapping.can_tx_dlc = 8;
request_mapping.nai.source_addr =
(UInt16)uds_address.PUDS_ADDRESS_ISO_15765_4_ADDR_TEST_EQUIPMENT;
request_mapping.nai.target_addr = (UInt16)uds_address.PUDS_ADDRESS_ISO_15765_4_ADDR_ECU_1;
request_mapping.nai.target_type = cantp_isotp_addressing.PCANTP_ISOTP_ADDRESSING_PHYSICAL;
uds_mapping response_mapping;
response_mapping = request_mapping;
response_mapping.can_id = request_mapping.can_id_flow_ctrl;
response_mapping.can_id_flow_ctrl = request_mapping.can_id;
response_mapping.nai.source_addr = request_mapping.nai.target_addr;
response_mapping.nai.target_addr = request_mapping.nai.source_addr;
uds_status status;
status = UDSApi.AddMapping_2013(cantp_handle.PCANTP_HANDLE_USBBUS1, ref request_mapping);
status = UDSApi.AddMapping_2013(cantp_handle.PCANTP_HANDLE_USBBUS1, ref response_mapping);
//status = UDSApi.GetMapping_2013(cantp_handle.PCANTP_HANDLE_USBBUS1, out response_mapping, 0x7BC, cantp_can_msgtype.PCANTP_CAN_MSGTYPE_STANDARD);
}
Code: Select all
#region UDS Service
private bool UDS_Boot_Process1()
{
uds_status result;
uds_msg request = new uds_msg();
uds_msg request_confirmation = new uds_msg();
uds_msg response = new uds_msg();
uds_msgconfig config = new uds_msgconfig();
UInt32 ResponseTimeOut = 2000;
// Set request message configuration
config.can_msgtype = cantp_can_msgtype.PCANTP_CAN_MSGTYPE_STANDARD;
config.nai.extension_addr = 0x0;
config.nai.protocol = uds_msgprotocol.PUDS_MSGPROTOCOL_ISO_15765_2_11B_NORMAL;
config.nai.source_addr = (UInt16)uds_address.PUDS_ADDRESS_ISO_15765_4_ADDR_TEST_EQUIPMENT;
config.nai.target_addr = (UInt16)uds_address.PUDS_ADDRESS_ISO_15765_4_ADDR_ECU_1;
config.nai.target_type = cantp_isotp_addressing.PCANTP_ISOTP_ADDRESSING_PHYSICAL;
config.type = uds_msgtype.PUDS_MSGTYPE_USDT;
result = UDSApi.SetValue_2013(cantp_handle.PCANTP_HANDLE_USBBUS1, uds_parameter.PUDS_PARAMETER_USE_NO_RESPONSE_AUTOMATIC_TESTER_PRESENT, ref ResponseTimeOut, sizeof(UInt32));
// Sends a physical DiagnosticSessionControl message
result = UDSApi.SvcDiagnosticSessionControl_2013(cantp_handle.PCANTP_HANDLE_USBBUS1, config,
out request, UDSApi.uds_svc_param_dsc.PUDS_SVC_PARAM_DSC_ECUEDS);
if (UDSApi.StatusIsOk_2013(result))
result = UDSApi.WaitForService_2013(cantp_handle.PCANTP_HANDLE_USBBUS1, ref request, out
response, out request_confirmation);
}
thanks!
----- EDIT by ADMINS -----
** Moved to an own Thread - do NEVER post new questions into an old posts with different questions **
See Forum Rules