Now i am able to exchange huge amount of data between ECU and PC using PEAK CAN ISO TP API with Standard CAN and Extended ID, PCANTP_ISOTP_FORMAT_FIXED_NORMAL, addressing format.
SO we are facing to read and write huge data ST time delay is introducing for every 8 bytes, to avoid this delay for 8 bytes we planned to use CAN FD where we can transfer 64bytes, for every 64 bytes ST time will be added by using this we can speed up data exchange.
but i have not found any example except 3.7.2 CANTP_InitializeFD_2016 pg no:229
as i got previous reply add mapping is not required does it mean if i initialization CANTP_InitializeFD_2016 is it enough? when i use FIXED_NORMAL.? if not how can i initialize CANFD for ISO TP?
viewtopic.php?f=181&t=7635&p=19767#p19767
in above link saying
Mappings are not required when using format FIXED_NORMAL, see user manual p.263 §4.4 ISO-TP Network Addressing Format.
Present configuration:
Code: Select all
cantp_status ISOTP_init(cantp_mapping* mapping, cantp_handle client_handle)
{
char version_buffer[500];
cantp_status res;
// Print version informations
CANTP_GetValue_2016(PCANTP_HANDLE_NONEBUS, PCANTP_PARAMETER_API_VERSION, version_buffer, 500);
printf("PCAN-ISO-TP API Version: %s\n\r", version_buffer);
// Initialize channels: CAN2.0 - 500Kbit/s
res = CANTP_Initialize_2016(client_handle, BAUDRATE, (cantp_hwtype)0, 0, 0);
printf("Initialize BAUDRATE: %s\n", STATUS_OK_KO(res));
// Change STmin value to 600us
// Create a simple physical mapping:
// - Source 0xF1 (client), target 0x01 (server)
// - Diagnostic message in a fixed normal format
mapping->can_msgtype = PCANTP_CAN_MSGTYPE_EXTENDED;
mapping->netaddrinfo.extension_addr = 0x00;
mapping->netaddrinfo.format = PCANTP_ISOTP_FORMAT_FIXED_NORMAL;
mapping->netaddrinfo.msgtype = PCANTP_ISOTP_MSGTYPE_DIAGNOSTIC;
mapping->netaddrinfo.source_addr = 0xF1;
mapping->netaddrinfo.target_addr = 0x01;
mapping->netaddrinfo.target_type = PCANTP_ISOTP_ADDRESSING_PHYSICAL;
//printf("Can tp initialze success\n\r");
return res;
}