mirror of https://github.com/rusefi/openblt.git
Refs #335. Added XCP Connection Mode configuration setting to LibOpenBLT and BootCommander.
git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@366 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
parent
75c8698a55
commit
0e707de0ec
Binary file not shown.
|
@ -467,6 +467,8 @@ static void DisplayProgramUsage(void)
|
||||||
printf(" -t7=[timeout] Busy wait timer timeout in milliseconds as a 16-bit\n");
|
printf(" -t7=[timeout] Busy wait timer timeout in milliseconds as a 16-bit\n");
|
||||||
printf(" value (Default = 2000 ms).\n");
|
printf(" value (Default = 2000 ms).\n");
|
||||||
printf(" -sk=[file] Seed/key algorithm library filename (Optional).\n");
|
printf(" -sk=[file] Seed/key algorithm library filename (Optional).\n");
|
||||||
|
printf(" -cm=[value] Connection mode value sent in the XCP connect command,\n");
|
||||||
|
printf(" as a 8-bit value (Default=0).\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("XCP on RS232 settings (xcp_rs232):\n");
|
printf("XCP on RS232 settings (xcp_rs232):\n");
|
||||||
printf(" -d=[name] Name of the communication device. For example COM1 or\n");
|
printf(" -d=[name] Name of the communication device. For example COM1 or\n");
|
||||||
|
@ -563,6 +565,7 @@ static void DisplaySessionInfo(uint32_t sessionType, void const * sessionSetting
|
||||||
{
|
{
|
||||||
printf("None\n");
|
printf("None\n");
|
||||||
}
|
}
|
||||||
|
printf(" -> Connection mode: %hhu\n", xcpSettings->connectMode);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -832,7 +835,8 @@ static void * ExtractSessionSettingsFromCommandLine(int argc, char const * const
|
||||||
* -t4=[timeout] -> Erase memory timeout in milliseconds.
|
* -t4=[timeout] -> Erase memory timeout in milliseconds.
|
||||||
* -t5=[timeout] -> Program memory and reset timeout in milliseconds.
|
* -t5=[timeout] -> Program memory and reset timeout in milliseconds.
|
||||||
* -t7=[timeout] -> Busy wait timer timeout in milliseconds.
|
* -t7=[timeout] -> Busy wait timer timeout in milliseconds.
|
||||||
* -sk=[file] -> Seed/key algorithm library filename.
|
* -sk=[file] -> Seed/key algorithm library filename.
|
||||||
|
* -cm=[value] -> Connection mode parameter in XCP connect command.
|
||||||
*/
|
*/
|
||||||
/* Allocate memory for storing the settings and check the result. */
|
/* Allocate memory for storing the settings and check the result. */
|
||||||
result = malloc(sizeof(tBltSessionSettingsXcpV10));
|
result = malloc(sizeof(tBltSessionSettingsXcpV10));
|
||||||
|
@ -848,6 +852,7 @@ static void * ExtractSessionSettingsFromCommandLine(int argc, char const * const
|
||||||
xcpSettings->timeoutT5 = 1000;
|
xcpSettings->timeoutT5 = 1000;
|
||||||
xcpSettings->timeoutT7 = 2000;
|
xcpSettings->timeoutT7 = 2000;
|
||||||
xcpSettings->seedKeyFile = NULL;
|
xcpSettings->seedKeyFile = NULL;
|
||||||
|
xcpSettings->connectMode = 0;
|
||||||
/* Loop through all the command line parameters, just skip the 1st one because
|
/* Loop through all the command line parameters, just skip the 1st one because
|
||||||
* this is the name of the program, which we are not interested in.
|
* this is the name of the program, which we are not interested in.
|
||||||
*/
|
*/
|
||||||
|
@ -907,6 +912,15 @@ static void * ExtractSessionSettingsFromCommandLine(int argc, char const * const
|
||||||
/* Continue with next loop iteration. */
|
/* Continue with next loop iteration. */
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
/* Is this the -cm=[value] parameter? */
|
||||||
|
if ( (strstr(argv[paramIdx], "-cm=") != NULL) &&
|
||||||
|
(strlen(argv[paramIdx]) > 4) )
|
||||||
|
{
|
||||||
|
/* Extract the connection mode value. */
|
||||||
|
sscanf(&argv[paramIdx][4], "%hhu", &(xcpSettings->connectMode));
|
||||||
|
/* Continue with next loop iteration. */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -137,6 +137,7 @@ LIBOPENBLT_EXPORT void BltSessionInit(uint32_t sessionType,
|
||||||
xcpLoaderSettings.timeoutT4 = bltSessionSettingsXcpV10Ptr->timeoutT4;
|
xcpLoaderSettings.timeoutT4 = bltSessionSettingsXcpV10Ptr->timeoutT4;
|
||||||
xcpLoaderSettings.timeoutT5 = bltSessionSettingsXcpV10Ptr->timeoutT5;
|
xcpLoaderSettings.timeoutT5 = bltSessionSettingsXcpV10Ptr->timeoutT5;
|
||||||
xcpLoaderSettings.timeoutT7 = bltSessionSettingsXcpV10Ptr->timeoutT7;
|
xcpLoaderSettings.timeoutT7 = bltSessionSettingsXcpV10Ptr->timeoutT7;
|
||||||
|
xcpLoaderSettings.connectMode = bltSessionSettingsXcpV10Ptr->connectMode;
|
||||||
xcpLoaderSettings.transport = NULL;
|
xcpLoaderSettings.transport = NULL;
|
||||||
xcpLoaderSettings.transportSettings = NULL;
|
xcpLoaderSettings.transportSettings = NULL;
|
||||||
/* Link the correct transport layer. */
|
/* Link the correct transport layer. */
|
||||||
|
|
|
@ -116,6 +116,7 @@ typedef struct t_blt_session_settings_xcp_v10
|
||||||
uint16_t timeoutT5; /**< Program memory and reset timeout in milliseonds. */
|
uint16_t timeoutT5; /**< Program memory and reset timeout in milliseonds. */
|
||||||
uint16_t timeoutT7; /**< Busy wait timer timeout in milliseonds. */
|
uint16_t timeoutT7; /**< Busy wait timer timeout in milliseonds. */
|
||||||
char const * seedKeyFile; /**< Seed/key algorithm library filename. */
|
char const * seedKeyFile; /**< Seed/key algorithm library filename. */
|
||||||
|
uint8_t connectMode; /**< Connection mode parameter in XCP connect command.*/
|
||||||
} tBltSessionSettingsXcpV10;
|
} tBltSessionSettingsXcpV10;
|
||||||
|
|
||||||
/** \brief Structure layout of the XCP version 1.0 RS232 transport layer settings. The
|
/** \brief Structure layout of the XCP version 1.0 RS232 transport layer settings. The
|
||||||
|
|
|
@ -82,7 +82,8 @@ type
|
||||||
timeoutT4: Word; // Erase memory timeout in milliseonds.
|
timeoutT4: Word; // Erase memory timeout in milliseonds.
|
||||||
timeoutT5: Word; // Program memory and reset timeout in milliseonds.
|
timeoutT5: Word; // Program memory and reset timeout in milliseonds.
|
||||||
timeoutT7: Word; // Busy wait timer timeout in milliseonds.
|
timeoutT7: Word; // Busy wait timer timeout in milliseonds.
|
||||||
seedKeyFile: PAnsiChar; // Seed/key algorithm library filename.
|
seedKeyFile: PAnsiChar; // Seed/key algorithm library filename.
|
||||||
|
connectMode: Byte; // Connection mode parameter in XCP connect command.
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Structure layout of the XCP version 1.0 RS232 transport layer settings.
|
// Structure layout of the XCP version 1.0 RS232 transport layer settings.
|
||||||
|
|
|
@ -529,7 +529,7 @@ static bool XcpLoaderSendCmdConnect(void)
|
||||||
result = true;
|
result = true;
|
||||||
/* Prepare the command packet. */
|
/* Prepare the command packet. */
|
||||||
cmdPacket.data[0] = XCPLOADER_CMD_CONNECT;
|
cmdPacket.data[0] = XCPLOADER_CMD_CONNECT;
|
||||||
cmdPacket.data[1] = 0; /* normal mode */
|
cmdPacket.data[1] = xcpSettings.connectMode;
|
||||||
cmdPacket.len = 2;
|
cmdPacket.len = 2;
|
||||||
/* Send the packet. */
|
/* Send the packet. */
|
||||||
if (!xcpSettings.transport->SendPacket(&cmdPacket, &resPacket,
|
if (!xcpSettings.transport->SendPacket(&cmdPacket, &resPacket,
|
||||||
|
|
|
@ -91,7 +91,9 @@ typedef struct t_xcp_loader_settings
|
||||||
/** \brief Program memory and reset timeout in milliseonds. */
|
/** \brief Program memory and reset timeout in milliseonds. */
|
||||||
uint16_t timeoutT5;
|
uint16_t timeoutT5;
|
||||||
/** \brief Busy wait timer timeout in milliseonds. */
|
/** \brief Busy wait timer timeout in milliseonds. */
|
||||||
uint16_t timeoutT7;
|
uint16_t timeoutT7;
|
||||||
|
/** \brief Connection mode used in the XCP connect command. */
|
||||||
|
uint8_t connectMode;
|
||||||
/** \brief Pointer to the transport layer to use during protocol communications. */
|
/** \brief Pointer to the transport layer to use during protocol communications. */
|
||||||
tXcpTransport const * transport;
|
tXcpTransport const * transport;
|
||||||
/** \brief Pointer to the settings for the transport layer. */
|
/** \brief Pointer to the settings for the transport layer. */
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue