diff --git a/CanUds.c b/CanUds.c index f596d60..36e3482 100644 --- a/CanUds.c +++ b/CanUds.c @@ -1313,15 +1313,12 @@ static uint16_t TransferData_36(tCanUds *env) { // начало --------------------------- RequestTransferExit --------------------------------------------------------- static uint16_t RequestTransferExit_37(tCanUds *env) { + tRequestTransferExit_Request *com = (tRequestTransferExit_Request *) env->data->data; - tUdsServiceCommand *com = (tUdsServiceCommand *) env->data->data; + tRequestTransferExit_Response *requestTransferExit_Response = (tRequestTransferExit_Response *) env->dataResponse; + requestTransferExit_Response->ServiceId = UDS_RequestTransferExit | 0b1000000; - if (env->data->len < 2) { - return setResponseError(env, UDS_RequestTransferExit, UDS_error_incorrectMessageLengthOrInvalidFormat); - } - - - return 2; + return 1; } // конец --------------------------- RequestTransferExit --------------------------------------------------------- // конец --------------------------- RequestTransferExit --------------------------------------------------------- diff --git a/DownloadFile.h b/DownloadFile.h index 2dae3ad..068fdf4 100644 --- a/DownloadFile.h +++ b/DownloadFile.h @@ -33,6 +33,14 @@ typedef struct __attribute__ ((packed)) { uint8_t blockSequenceCounter; } tTransferData_Response; +typedef struct __attribute__ ((packed)) { + uint8_t ServiceId; +} tRequestTransferExit_Request; + +typedef struct __attribute__ ((packed)) { + uint8_t ServiceId; +} tRequestTransferExit_Response; + #pragma scalar_storage_order little-endian #endif //HVAC_M7_DOWNLOADFILE_H