Обновление платы на V2
This commit is contained in:
parent
fdef801256
commit
8412a5f63b
540
CanUds.c
540
CanUds.c
|
|
@ -948,6 +948,10 @@ static uint16_t vUDS_check_Programming_Preconditions(tCanUds *env, eUdsRoutineCo
|
||||||
return 0xFF00 | UDS_error_sub_functionNotSupported;
|
return 0xFF00 | UDS_error_sub_functionNotSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env->CheckSum_BlockMain = false;
|
||||||
|
env->CheckSum_BlockCalib = false;
|
||||||
|
env->CheckSum_BlockMeta = false;
|
||||||
|
|
||||||
// env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
|
// env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
|
||||||
// return 4 + 1;
|
// return 4 + 1;
|
||||||
return 4;
|
return 4;
|
||||||
|
|
@ -985,8 +989,33 @@ static uint16_t vUDS_routine_Compare_Checksum(tCanUds *env, eUdsRoutineControlTy
|
||||||
|
|
||||||
if (crc32_calc == crc32_received) {
|
if (crc32_calc == crc32_received) {
|
||||||
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
|
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockMain) {
|
||||||
|
env->CheckSum_BlockMain = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockCalib) {
|
||||||
|
env->CheckSum_BlockCalib = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockMeta) {
|
||||||
|
env->CheckSum_BlockMeta = true;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
env->dataResponse[4] = UDS_routine_RoutineStartStopFailure;
|
env->dataResponse[4] = UDS_routine_RoutineStartStopFailure;
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockMain) {
|
||||||
|
env->CheckSum_BlockMain = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockCalib) {
|
||||||
|
env->CheckSum_BlockCalib = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockMeta) {
|
||||||
|
env->CheckSum_BlockMeta = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1052,6 +1081,8 @@ static uint16_t vUDS_routine_Erase_Memory(tCanUds *env, eUdsRoutineControlType u
|
||||||
return 4 + 1;
|
return 4 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern const char version_id[];
|
||||||
|
|
||||||
static uint16_t
|
static uint16_t
|
||||||
vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) {
|
vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) {
|
||||||
|
|
||||||
|
|
@ -1059,7 +1090,19 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType
|
||||||
return 0xFF00 | UDS_error_sub_functionNotSupported;
|
return 0xFF00 | UDS_error_sub_functionNotSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
|
char *version_id_main = (char *) (ADR_HEX_BlockMain + 0x400);
|
||||||
|
int result = memcmp(version_id_main, version_id, 9);
|
||||||
|
|
||||||
|
|
||||||
|
if ((env->CheckSum_BlockMain == false) || (env->CheckSum_BlockCalib) || (env->CheckSum_BlockMeta == false)) {
|
||||||
|
LoggerErrorStatic(LOGGER, LOG_SIGN, "At least one logical block missing");
|
||||||
|
env->dataResponse[4] = 4;
|
||||||
|
} else if (result != 0) {
|
||||||
|
LoggerErrorStatic(LOGGER, LOG_SIGN, "Software incompatibility");
|
||||||
|
env->dataResponse[4] = 3;
|
||||||
|
} else {
|
||||||
|
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
return 4 + 1;
|
return 4 + 1;
|
||||||
}
|
}
|
||||||
|
|
@ -1352,6 +1395,7 @@ static uint16_t RequestDownload_34(tCanUds *env) {
|
||||||
return setResponseError(env, UDS_RequestDownload, UDS_error_requestOutOfRange);
|
return setResponseError(env, UDS_RequestDownload, UDS_error_requestOutOfRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env->udsBlock = UDS_BlockInit;
|
||||||
|
|
||||||
if (com->memoryAddress == ADR_HEX_BlockMain) {
|
if (com->memoryAddress == ADR_HEX_BlockMain) {
|
||||||
env->udsBlock = UDS_BlockMain;
|
env->udsBlock = UDS_BlockMain;
|
||||||
|
|
@ -1365,6 +1409,10 @@ static uint16_t RequestDownload_34(tCanUds *env) {
|
||||||
env->udsBlock = UDS_BlockMeta;
|
env->udsBlock = UDS_BlockMeta;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (env->udsBlock == UDS_BlockInit) {
|
||||||
|
return setResponseError(env, UDS_RequestDownload, UDS_error_requestSequenceError);
|
||||||
|
}
|
||||||
|
|
||||||
env->AdrFlash = com->memoryAddress + 0x00100000 - (128 * 1024);
|
env->AdrFlash = com->memoryAddress + 0x00100000 - (128 * 1024);
|
||||||
env->SizeWriteFlash = 0;
|
env->SizeWriteFlash = 0;
|
||||||
env->DownloadFirmwareSize = com->memorySize;
|
env->DownloadFirmwareSize = com->memorySize;
|
||||||
|
|
@ -1528,253 +1576,253 @@ static uint16_t RequestTransferExit_37(tCanUds *env) {
|
||||||
|
|
||||||
|
|
||||||
static const eUds_com uds_com[256] = {
|
static const eUds_com uds_com[256] = {
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{DiagnosticSessionControl_10, "DiagnosticSessionControl_10", true},
|
{DiagnosticSessionControl_10, "DiagnosticSessionControl_10", true},
|
||||||
{ECUReset_11, "ECUReset_11", true},
|
{ECUReset_11, "ECUReset_11", true},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{UDS_ClearDiagnosticInformation_14, "UDS_ClearDiagnosticInformation_14", false},
|
{UDS_ClearDiagnosticInformation_14, "UDS_ClearDiagnosticInformation_14", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{UDS_ReadDTCInformation_19, "UDS_ReadDTCInformation_19", true},
|
{UDS_ReadDTCInformation_19, "UDS_ReadDTCInformation_19", true},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{ReadDataByIdentifier_22, "ReadDataByIdentifier_22", false},
|
{ReadDataByIdentifier_22, "ReadDataByIdentifier_22", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{SecurityAccess_27, "SecurityAccess_27", true},
|
{SecurityAccess_27, "SecurityAccess_27", true},
|
||||||
{CommunicationControl_28, "CommunicationControl_28", true},
|
{CommunicationControl_28, "CommunicationControl_28", true},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{WriteDataByIdentifier_2E, "WriteDataByIdentifier_2E", false},
|
{WriteDataByIdentifier_2E, "WriteDataByIdentifier_2E", false},
|
||||||
{InputOutputControlByIdentifier_2F, "InputOutputControlByIdentifier_2F", false},
|
{InputOutputControlByIdentifier_2F, "InputOutputControlByIdentifier_2F", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{Routine_Control_31, "Routine_Control_31", true},
|
{Routine_Control_31, "Routine_Control_31", true},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{RequestDownload_34, "RequestDownload_34", false},
|
{RequestDownload_34, "RequestDownload_34", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{TransferData_36, "TransferData_36", false},
|
{TransferData_36, "TransferData_36", false},
|
||||||
{RequestTransferExit_37, "RequestTransferExit_37", false},
|
{RequestTransferExit_37, "RequestTransferExit_37", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{TesterPresent_3E, "TesterPresent_3E", true},
|
{TesterPresent_3E, "TesterPresent_3E", true},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{ControlDTCSetting_85, "ControlDTCSetting_85", true},
|
{ControlDTCSetting_85, "ControlDTCSetting_85", true},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false},
|
{NULL, "", false},
|
||||||
{NULL, "", false}
|
{NULL, "", false}
|
||||||
};
|
};
|
||||||
|
|
||||||
void ReceivedTP_func(void *arg, tCanTP_data *data) {
|
void ReceivedTP_func(void *arg, tCanTP_data *data) {
|
||||||
|
|
|
||||||
5
CanUds.h
5
CanUds.h
|
|
@ -212,6 +212,10 @@ typedef struct {
|
||||||
uint32_t DownloadFirmwareSize;
|
uint32_t DownloadFirmwareSize;
|
||||||
eUdsBlock udsBlock;
|
eUdsBlock udsBlock;
|
||||||
|
|
||||||
|
bool CheckSum_BlockMain;
|
||||||
|
bool CheckSum_BlockCalib;
|
||||||
|
bool CheckSum_BlockMeta;
|
||||||
|
|
||||||
uint32_t CurrentBlockAdr;
|
uint32_t CurrentBlockAdr;
|
||||||
uint32_t CurrentBlockSize;
|
uint32_t CurrentBlockSize;
|
||||||
|
|
||||||
|
|
@ -230,7 +234,6 @@ typedef struct {
|
||||||
} eUds_com;
|
} eUds_com;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void CanUds_Init(
|
void CanUds_Init(
|
||||||
tCanUds *env,
|
tCanUds *env,
|
||||||
tDiagnostic *Diagnostic,
|
tDiagnostic *Diagnostic,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue