]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Solved ticket #88.
authorpete <devnull@localhost>
Mon, 21 Jun 2010 13:53:56 +0000 (15:53 +0200)
committerpete <devnull@localhost>
Mon, 21 Jun 2010 13:53:56 +0000 (15:53 +0200)
Fixed BYTES_TO_DTC macro problem on 8-bit architecture.

diagnostic/Dcm/Dcm_Dsp.c

index e9423954ba7e2ed6f2cfaa9d181752dda37307ca..aa5aa02c1f73aca3fdff8a2607a0eb18a30616b4 100644 (file)
 /*\r
  * Macros\r
  */\r
-#define BYTES_TO_DTC(hb, mb, lb)       (((hb) << 16) | ((mb) << 8) | (lb))\r
-#define DTC_HIGH_BYTE(dtc)                     (((dtc)>> 16) & 0xFF)\r
-#define DTC_MID_BYTE(dtc)                      (((dtc)>> 8) & 0xFF)\r
-#define DTC_LOW_BYTE(dtc)                      ((dtc) & 0xFF)\r
+#define BYTES_TO_DTC(hb, mb, lb)       (((uint32)(hb) << 16) | ((uint32)(mb) << 8) | (uint32)(lb))\r
+#define DTC_HIGH_BYTE(dtc)                     (((uint32)(dtc) >> 16) & 0xFF)\r
+#define DTC_MID_BYTE(dtc)                      (((uint32)(dtc) >> 8) & 0xFF)\r
+#define DTC_LOW_BYTE(dtc)                      ((uint32)(dtc) & 0xFF)\r
 \r
 \r
 typedef struct {\r
@@ -1088,7 +1088,13 @@ void DspDcmConfirmation(PduIdType confirmPduId)
        if (dspUdsEcuResetData.resetPending) {\r
                if (confirmPduId == dspUdsEcuResetData.resetPduId) {\r
                        dspUdsEcuResetData.resetPending = FALSE;\r
+#if ( MCU_PERFORM_RESET_API == STD_ON )\r
                        Mcu_PerformReset();\r
+#else\r
+#if (DCM_DEV_ERROR_DETECT == STD_ON)\r
+                       Det_ReportError(MODULE_ID_DCM, 0, DCM_UDS_RESET, DCM_E_NOT_SUPPORTED);\r
+#endif\r
+#endif\r
                }\r
        }\r
 }\r