]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Merged in from default
authoreija <devnull@localhost>
Mon, 13 Dec 2010 13:49:52 +0000 (14:49 +0100)
committereija <devnull@localhost>
Mon, 13 Dec 2010 13:49:52 +0000 (14:49 +0100)
45 files changed:
arch/ppc/mpc55xx/kernel/irq_types.h
common/newlib_port.c
communication/CanIf/CanIf.c
communication/CanTp/CanTp.c
communication/ComM/ComM.c
communication/PduR/PduR.c
communication/PduR/PduR_If.c
diagnostic/Dcm/Dcm.c
diagnostic/Dcm/Dcm_Dsd.c
diagnostic/Dcm/Dcm_Dsl.c
diagnostic/Dcm/Dcm_Dsp.c
diagnostic/Dcm/Dcm_Internal.h
diagnostic/Dcm/Dcm_Lcfg.h
diagnostic/Dem/Dem.c
diagnostic/Dem/Dem_Lcfg.h
diagnostic/Dem/Dem_Types.h
diagnostic/Det/Det.c
include/Can.h
include/CanIf_Types.h
include/CanTp.h
include/CanTp_Types.h
include/ComM_Dcm.h
include/ComStack_Types.h
include/Com_Sched.h
include/Com_Types.h
include/Compiler.h
include/Dcm_Cbk.h
include/Dem.h
include/Det.h
include/EcuM.h
include/McuExtensions.h
include/Modules.h
include/Os.h
include/PduR.h
include/Platform_Types.h
include/Std_Types.h
include/generic/Cpu.h
scripts/compile_examples.sh [changed mode: 0755->0644]
scripts/rules.mk
system/kernel/include/alarm_i.h
system/kernel/include/internal.h
system/kernel/include/kernel.h
system/kernel/include/sched_table_i.h
system/kernel/include/sys.h
system/kernel/resource.c

index b6f477bd75dc5fdb6f79213df93859ddf4e4c964..dee0d0b1d5be2c0a601cd8663565387cd37e207b 100644 (file)
@@ -584,7 +584,7 @@ typedef enum
   DATA_TLB_EXCEPTION,\r
   INSTRUCTION_TLB_EXCEPTION,\r
   DEBUG_EXCEPTION,\r
-  NUMBER_OF_INTERRUPTS_AND_EXCEPTIONS,\r
+  NUMBER_OF_INTERRUPTS_AND_EXCEPTIONS\r
 }IrqType;\r
 \r
 typedef enum {\r
@@ -609,7 +609,7 @@ typedef enum {
   PERIPHERAL_CLOCK_ESCI_G,\r
   PERIPHERAL_CLOCK_ESCI_H,\r
   PERIPHERAL_CLOCK_IIC_A,\r
-  PERIPHERAL_CLOCK_MLB,\r
+  PERIPHERAL_CLOCK_MLB\r
 } McuE_PeriperalClock_t;\r
 \r
 \r
@@ -620,7 +620,7 @@ typedef enum {
 \r
 typedef enum {\r
        CPU_CORE0,\r
-       CPU_CORE1,\r
+       CPU_CORE1\r
 } Cpu_t;\r
 \r
 #define IRQ_INTERRUPT_OFFSET           0\r
index 002128fac5cecae02c06eba7d6abfd4e0339250e..ece0313baa0afe2f10504729ba2b4b9421025097 100644 (file)
@@ -475,10 +475,10 @@ void * sbrk( ptrdiff_t incr )
     unsigned char *prev_heap_end;\r
 \r
 /* initialize */\r
-    if( heap_end == 0 )\r
+    if( heap_end == 0 ){\r
        heap_end = _heap;\r
-\r
-       prev_heap_end = heap_end;\r
+    }\r
+    prev_heap_end = heap_end;\r
 \r
        if( heap_end + incr - _heap > HEAPSIZE ) {\r
        /* heap overflow - announce on stderr */\r
index 74ff8de573b9c9eb65704769027fd546895fc1ff..78031f50b7fde9c36095534382941cb946f323c5 100644 (file)
@@ -25,7 +25,7 @@
 \r
 #include "Can.h"\r
 #include "CanIf_Cbk.h"\r
-#include "string.h"\r
+#include <string.h>\r
 \r
 #include "debug.h"\r
 #include "PduR.h"\r
@@ -109,8 +109,9 @@ static CanIf_Arc_ChannelIdType CanIf_Arc_FindHrhChannel( Can_Arc_HRHType hrh )
     do\r
     {\r
       hrhConfig++;\r
-      if (hrhConfig->CanIfHrhIdSymRef == hrh)\r
+      if (hrhConfig->CanIfHrhIdSymRef == hrh){\r
         return hrhConfig->CanIfCanControllerHrhIdRef;\r
+      }\r
     } while(!hrhConfig->CanIf_Arc_EOL);\r
   } while(!hohConfig->CanIf_Arc_EOL);\r
 \r
@@ -244,8 +245,9 @@ Std_ReturnType CanIf_SetControllerMode(uint8 Controller,
     switch (oldMode)\r
     {\r
       case CANIF_CS_SLEEP:\r
-        if (Can_SetControllerMode(canControllerId, CAN_T_STOP) == CAN_NOT_OK)\r
+        if (Can_SetControllerMode(canControllerId, CAN_T_STOP) == CAN_NOT_OK){\r
           return E_NOT_OK;\r
+        }\r
         CanIf_Global.channelData[channel].ControllerMode = CANIF_CS_STOPPED;\r
         break;\r
       default:\r
@@ -254,8 +256,9 @@ Std_ReturnType CanIf_SetControllerMode(uint8 Controller,
     }\r
 \r
     CanIf_SetPduMode(channel, CANIF_SET_ONLINE);\r
-    if (Can_SetControllerMode(canControllerId, CAN_T_START) == CAN_NOT_OK)\r
+    if (Can_SetControllerMode(canControllerId, CAN_T_START) == CAN_NOT_OK){\r
       return E_NOT_OK;\r
+    }\r
     CanIf_Global.channelData[channel].ControllerMode = CANIF_CS_STARTED;\r
   }\r
   break;\r
@@ -264,8 +267,9 @@ Std_ReturnType CanIf_SetControllerMode(uint8 Controller,
   {\r
     switch (oldMode) {\r
       case CANIF_CS_STARTED:\r
-        if (Can_SetControllerMode(canControllerId, CAN_T_STOP) == CAN_NOT_OK)\r
+        if (Can_SetControllerMode(canControllerId, CAN_T_STOP) == CAN_NOT_OK){\r
           return E_NOT_OK;\r
+        }\r
         CanIf_Global.channelData[channel].ControllerMode = CANIF_CS_STOPPED;\r
         break;\r
       default:\r
@@ -273,8 +277,9 @@ Std_ReturnType CanIf_SetControllerMode(uint8 Controller,
         break;\r
     }\r
 \r
-    if (Can_SetControllerMode(canControllerId, CAN_T_SLEEP) == CAN_NOT_OK)\r
+    if (Can_SetControllerMode(canControllerId, CAN_T_SLEEP) == CAN_NOT_OK){\r
       return E_NOT_OK;\r
+    }\r
     CanIf_Global.channelData[channel].ControllerMode = CANIF_CS_SLEEP;\r
   }\r
 \r
@@ -283,8 +288,9 @@ Std_ReturnType CanIf_SetControllerMode(uint8 Controller,
     switch (oldMode)\r
     {\r
       case CANIF_CS_SLEEP:\r
-        if (Can_SetControllerMode(canControllerId, CAN_T_WAKEUP) == CAN_NOT_OK)\r
+        if (Can_SetControllerMode(canControllerId, CAN_T_WAKEUP) == CAN_NOT_OK){\r
           return E_NOT_OK;\r
+        }\r
         break;\r
       default:\r
         // Just fall through for other cases\r
@@ -292,9 +298,11 @@ Std_ReturnType CanIf_SetControllerMode(uint8 Controller,
     }\r
 \r
     CanIf_SetPduMode(channel, CANIF_SET_OFFLINE);\r
-    if (Can_SetControllerMode(canControllerId, CAN_T_STOP) == CAN_NOT_OK)\r
+    if (Can_SetControllerMode(canControllerId, CAN_T_STOP) == CAN_NOT_OK){\r
       return E_NOT_OK;\r
+    }\r
     CanIf_Global.channelData[channel].ControllerMode = CANIF_CS_STOPPED;\r
+    break;\r
   }\r
 \r
   case CANIF_CS_UNINIT:\r
@@ -373,18 +381,22 @@ Std_ReturnType CanIf_Transmit(PduIdType CanTxPduId,
   CanIf_Arc_ChannelIdType channel = txEntry->CanIfCanTxPduHthRef->CanIfCanControllerIdRef;\r
 \r
   // Get and verify the controller mode\r
-  if (CanIf_GetControllerMode(channel, &csMode) == E_NOT_OK)\r
+  if (CanIf_GetControllerMode(channel, &csMode) == E_NOT_OK){\r
     return E_NOT_OK;\r
+  }\r
 \r
-  if (csMode != CANIF_CS_STARTED)  // CANIF_161\r
+  if (csMode != CANIF_CS_STARTED){  // CANIF_161\r
     return E_NOT_OK;\r
+  }\r
 \r
   // Get and verify the PDU channel mode control\r
-  if (CanIf_GetPduMode(channel, &pduMode) == E_NOT_OK)\r
+  if (CanIf_GetPduMode(channel, &pduMode) == E_NOT_OK){\r
     return E_NOT_OK;\r
+  }\r
 \r
-  if ((pduMode != CANIF_GET_TX_ONLINE) && (pduMode != CANIF_GET_ONLINE))\r
+  if ((pduMode != CANIF_GET_TX_ONLINE) && (pduMode != CANIF_GET_ONLINE)){\r
     return E_NOT_OK;\r
+  }\r
 \r
   canPdu.id = txEntry->CanIfCanTxPduIdCanId;\r
 \r
@@ -394,8 +406,9 @@ Std_ReturnType CanIf_Transmit(PduIdType CanTxPduId,
 \r
   Can_ReturnType rVal = Can_Write(txEntry->CanIfCanTxPduHthRef->CanIfHthIdSymRef, &canPdu);\r
 \r
-  if (rVal == CAN_NOT_OK)\r
+  if (rVal == CAN_NOT_OK){\r
     return E_NOT_OK;\r
+  }\r
 \r
   if (rVal == CAN_BUSY)  // CANIF 082, CANIF 161\r
   {\r
@@ -483,46 +496,50 @@ Std_ReturnType CanIf_SetPduMode(uint8 Controller,
     CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE;\r
     break;\r
   case CANIF_SET_RX_OFFLINE:\r
-    if (oldMode == CANIF_GET_RX_ONLINE)\r
+    if (oldMode == CANIF_GET_RX_ONLINE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE;\r
-    else if (oldMode == CANIF_GET_ONLINE)\r
+    } else if (oldMode == CANIF_GET_ONLINE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_TX_ONLINE;\r
-    else if (oldMode == CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE_ACTIVE;\r
+    }\r
 \r
     // Other oldmodes don't care\r
     break;\r
   case CANIF_SET_RX_ONLINE:\r
-    if (oldMode == CANIF_GET_OFFLINE)\r
+    if (oldMode == CANIF_GET_OFFLINE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_RX_ONLINE;\r
-    else if (oldMode == CANIF_GET_TX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_TX_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_ONLINE;\r
-    else if (oldMode == CANIF_GET_OFFLINE_ACTIVE)\r
+    } else if (oldMode == CANIF_GET_OFFLINE_ACTIVE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE;\r
+    }\r
 \r
     // Other oldmodes don't care\r
     break;\r
   case CANIF_SET_TX_OFFLINE:\r
-    if (oldMode == CANIF_GET_TX_ONLINE)\r
+    if (oldMode == CANIF_GET_TX_ONLINE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE;\r
-    else if (oldMode == CANIF_GET_ONLINE)\r
+    } else if (oldMode == CANIF_GET_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_RX_ONLINE;\r
-    else if (oldMode == CANIF_GET_OFFLINE_ACTIVE)\r
+    } else if (oldMode == CANIF_GET_OFFLINE_ACTIVE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE;\r
-    else if (oldMode == CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_RX_ONLINE;\r
+    }\r
 \r
     // Other oldmodes don't care\r
     break;\r
   case CANIF_SET_TX_ONLINE:\r
-    if (oldMode == CANIF_GET_OFFLINE)\r
+    if (oldMode == CANIF_GET_OFFLINE){\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_TX_ONLINE;\r
-    else if (oldMode == CANIF_GET_RX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_RX_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_ONLINE;\r
-    else if (oldMode == CANIF_GET_OFFLINE_ACTIVE)\r
+    } else if (oldMode == CANIF_GET_OFFLINE_ACTIVE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_TX_ONLINE;\r
-    else if (oldMode == CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_ONLINE;\r
+    }\r
 \r
     // Other oldmodes don't care\r
     break;\r
@@ -531,14 +548,15 @@ Std_ReturnType CanIf_SetPduMode(uint8 Controller,
     break;\r
 \r
   case CANIF_SET_TX_OFFLINE_ACTIVE:\r
-    if (oldMode == CANIF_GET_OFFLINE)\r
+    if (oldMode == CANIF_GET_OFFLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE_ACTIVE;\r
-    else if (oldMode == CANIF_GET_RX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_RX_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE;\r
-    else if (oldMode == CANIF_GET_TX_ONLINE)\r
+    } else if (oldMode == CANIF_GET_TX_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE_ACTIVE;\r
-    else if (oldMode == CANIF_GET_ONLINE)\r
+    } else if (oldMode == CANIF_GET_ONLINE) {\r
       CanIf_Global.channelData[channel].PduMode = CANIF_GET_OFFLINE_ACTIVE_RX_ONLINE;\r
+    }\r
 \r
     // Other oldmodes don't care\r
     break;\r
@@ -587,8 +605,8 @@ void CanIf_SetDynamicTxId(PduIdType CanTxPduId, Can_IdType CanId)
   }\r
 \r
   // Check that this is an extended or standard id\r
-  if (((CanId & 0x80000000) && (txEntry->CanIfTxPduIdCanIdType == ARC_CAN_ID_TYPE_29)) ||\r
-      (((CanId & 0x80000000) == 0) && (txEntry->CanIfTxPduIdCanIdType == ARC_CAN_ID_TYPE_11)))\r
+  if (((CanId & U0x80000000) && (txEntry->CanIfTxPduIdCanIdType == ARC_CAN_ID_TYPE_29)) ||\r
+      (((CanId & U0x80000000) == 0) && (txEntry->CanIfTxPduIdCanIdType == ARC_CAN_ID_TYPE_11)))\r
   {\r
     // Update the CanID\r
     //txEntry->CanIfCanTxPduIdCanId = CanId;  // TODO How do we fix this from a const pointer\r
@@ -714,8 +732,8 @@ void CanIf_RxIndication(uint8 Hrh, Can_IdType CanId, uint8 CanDlc,
 \r
   if (CanIf_GetPduMode(channel, &mode) == E_OK)\r
   {\r
-    if (mode == CANIF_GET_OFFLINE || mode == CANIF_GET_TX_ONLINE ||\r
-        mode == CANIF_GET_OFFLINE_ACTIVE)\r
+    if ( (mode == CANIF_GET_OFFLINE) || (mode == CANIF_GET_TX_ONLINE) ||\r
+        (mode == CANIF_GET_OFFLINE_ACTIVE) )\r
     {\r
       // Receiver path is disabled so just drop it\r
       return;\r
index cdeb2f977326d42ebacd927f0fc1ec2f9f01f2fd..255a436090d72747fd532f81565e1e0a2ebcba83 100644 (file)
@@ -369,7 +369,7 @@ static inline PduLengthType getPduLength(
                break;\r
        case FIRST_FRAME:\r
                // Parse the data length form the first frame.\r
-               res = CanTpRxPduPtr->SduDataPtr[tpci_offset + 1] + (PduLengthType)((CanTpRxPduPtr->SduDataPtr[tpci_offset]) & 0xf << 8);\r
+               res = CanTpRxPduPtr->SduDataPtr[tpci_offset + 1] + ((PduLengthType)((CanTpRxPduPtr->SduDataPtr[tpci_offset]) & 0xf) << 8);\r
                break;\r
        default:\r
                res = 0; // TODO: maybe we should have an error code here.\r
@@ -421,7 +421,7 @@ static INLINE BufReq_ReturnType copySegmentToPduRRxBuffer(const CanTp_RxNSduType
        boolean error = FALSE;\r
        *bytesWrittenSuccessfully = 0;\r
 \r
-       while ((*bytesWrittenSuccessfully < segmentSize) && error == FALSE) {\r
+       while ((*bytesWrittenSuccessfully < segmentSize) && (!error)) {\r
                // Copy the data that resides in the buffer.\r
                if (rxRuntime->pdurBuffer != NULL) {\r
                        while ((*bytesWrittenSuccessfully < segmentSize ) && (rxRuntime->pdurBuffer->SduLength > rxRuntime->pdurBufferCount)) {\r
@@ -450,7 +450,7 @@ static INLINE BufReq_ReturnType copySegmentToPduRRxBuffer(const CanTp_RxNSduType
                        break;\r
                }\r
        }\r
-       return ret;\r
+       return ret; // 438 PC-lint: Sista värde på error används inte. OK. hittar  inget fel.\r
 }\r
 \r
 // - - - - - - - - - - - - - -\r
@@ -515,7 +515,7 @@ static INLINE Std_ReturnType canTansmitPaddingHelper(
 // - - - - - - - - - - - - - -\r
 \r
 static INLINE void sendFlowControlFrame(const CanTp_RxNSduType *rxConfig, CanTp_ChannelPrivateType *rxRuntime, BufReq_ReturnType flowStatus) {\r
-       int indexCount = 0;\r
+       uint8 indexCount = 0;\r
        Std_ReturnType ret = E_NOT_OK;\r
        PduInfoType pduInfo;\r
        uint8 sduData[8]; // Note that buffer in declared on the stack.\r
@@ -533,15 +533,15 @@ static INLINE void sendFlowControlFrame(const CanTp_RxNSduType *rxConfig, CanTp_
                sduData[indexCount++] = ISO15765_TPCI_FC | ISO15765_FLOW_CONTROL_STATUS_CTS;\r
                spaceFreePduRBuffer = rxRuntime->pdurBuffer->SduLength - rxRuntime->pdurBufferCount;\r
                if (rxConfig->CanTpAddressingFormant == CANTP_EXTENDED) { /** @req CANTP094 *//** @req CANTP095 */\r
-                       computedBs = spaceFreePduRBuffer / MAX_PAYLOAD_SF_EXT_ADDR + 1;  // + 1 is for local buffer.\r
+                       computedBs = (spaceFreePduRBuffer / MAX_PAYLOAD_SF_EXT_ADDR) + 1;  // + 1 is for local buffer.\r
                } else {\r
-                       computedBs = spaceFreePduRBuffer / MAX_PAYLOAD_SF_STD_ADDR + 1;  // + 1 is for local buffer.\r
+                       computedBs = (spaceFreePduRBuffer / MAX_PAYLOAD_SF_STD_ADDR) + 1;  // + 1 is for local buffer.\r
                }\r
                if (computedBs > rxConfig->CanTpBs) { // /** @req CANTP091 *//** @req CANTP084 */\r
                        computedBs = rxConfig->CanTpBs;\r
                }\r
                DEBUG( DEBUG_MEDIUM, "computedBs:%d\n", computedBs);\r
-               sduData[indexCount++] = computedBs;\r
+               sduData[indexCount++] = computedBs; // 734 PC-lint: Okej att casta till uint8?\r
                sduData[indexCount++] = (uint8) rxConfig->CanTpSTmin;\r
                rxRuntime->iso15765.nextFlowControlCount = computedBs;\r
                pduInfo.SduLength = indexCount;\r
@@ -573,7 +573,7 @@ static INLINE void sendFlowControlFrame(const CanTp_RxNSduType *rxConfig, CanTp_
 \r
 static INLINE void handleConsecutiveFrame(const CanTp_RxNSduType *rxConfig,\r
                CanTp_ChannelPrivateType *rxRuntime, const PduInfoType *rxPduData) {\r
-       int indexCount = 0;\r
+       uint8 indexCount = 0;\r
        uint8 segmentNumber = 0;\r
        uint8 extendedAddress = 0;\r
        PduLengthType bytesLeftToCopy = 0;\r
@@ -633,7 +633,7 @@ static INLINE void handleConsecutiveFrame(const CanTp_RxNSduType *rxConfig,
                                                DEBUG( DEBUG_MEDIUM, "Unexpected error, could not copy 'unaligned leftover' " "data to local buffer!\n");\r
                                        }\r
                                }\r
-                               if ( dataCopyFailure == FALSE ) {\r
+                               if ( !dataCopyFailure ) {\r
                                        rxRuntime->iso15765.framesHandledCount++;\r
                                        rxRuntime->iso15765.stateTimeoutCount = CANTP_CONVERT_MS_TO_MAIN_CYCLES(rxConfig->CanTpNbr);\r
                                        rxRuntime->iso15765.state = RX_WAIT_SDU_BUFFER;\r
@@ -659,7 +659,7 @@ static INLINE void handleConsecutiveFrame(const CanTp_RxNSduType *rxConfig,
                        }\r
                }\r
        }\r
-}\r
+} // 438, 550 PC-lint: extendAdress används inte. EN BUG? Behöver fixas\r
 \r
 // - - - - - - - - - - - - - -\r
 \r
@@ -671,8 +671,8 @@ static INLINE Std_ReturnType sendConsecutiveFrame(
        PduLengthType consecutiveFrameActualPayload = 0;\r
        PduLengthType remaningSduDataSize = 0;\r
        PduInfoType pduInfo;\r
-       int copyCount = 0;\r
-       int indexCount = 0;\r
+       uint16 copyCount = 0;\r
+       uint16 indexCount = 0;\r
 \r
        if (txConfig->CanTpAddressingMode == CANTP_EXTENDED) { /** @req CANTP094 *//** @req CANTP095 */\r
                sduData[indexCount++] = (uint8) txConfig->CanTpNTa->CanTpNTa; // Target address.\r
@@ -782,7 +782,7 @@ static INLINE void handleFlowControlFrame(const CanTp_TxNSduType *txConfig,
                case ISO15765_FLOW_CONTROL_STATUS_CTS:\r
 #if 1\r
                        {       // This construction is added to make the hcs12 compiler happy.\r
-                               const uint16 bs = txPduData->SduDataPtr[indexCount++];\r
+                               const uint8 bs = txPduData->SduDataPtr[indexCount++];\r
                                txRuntime->iso15765.BS = bs;\r
                                txRuntime->iso15765.nextFlowControlCount = bs;\r
                        }\r
@@ -815,7 +815,7 @@ static INLINE void handleFlowControlFrame(const CanTp_TxNSduType *txConfig,
        } else {\r
                DEBUG( DEBUG_MEDIUM, "Ignoring flow control, we do not expect it!");\r
        }\r
-}\r
+} // 438, 550 PC-lint: extendAdress används inte. EN BUG? Behöver fixas\r
 \r
 \r
 // - - - - - - - - - - - - - -\r
@@ -897,11 +897,13 @@ static INLINE void handleFirstFrame(const CanTp_RxNSduType *rxConfig,
        // Validate that that there is a reason for using the segmented transfers and\r
        // if not simply skip (single frame should have been used).\r
        if (rxConfig->CanTpAddressingFormant == CANTP_STANDARD) { /** @req CANTP094 *//** @req CANTP095 */\r
-               if (pduLength <= MAX_PAYLOAD_SF_STD_ADDR)\r
+               if (pduLength <= MAX_PAYLOAD_SF_STD_ADDR){\r
                        return;\r
+               }\r
        } else {\r
-               if (pduLength <= MAX_PAYLOAD_SF_EXT_ADDR)\r
+               if (pduLength <= MAX_PAYLOAD_SF_EXT_ADDR){\r
                        return;\r
+               }\r
        }\r
        // Validate that the SDU is full length in this first frame.\r
        if (rxPduData->SduLength < CANIF_PDU_MAX_LENGTH) {\r
@@ -984,7 +986,7 @@ static INLINE ISO15765FrameType calcRequiredProtocolFrameType(
 static INLINE Std_ReturnType sendSingleFrame(const CanTp_TxNSduType *txConfig,\r
                CanTp_ChannelPrivateType *txRuntime) {\r
        Std_ReturnType ret;\r
-       int indexCount = 0;\r
+       uint16 indexCount = 0;\r
        PduInfoType pduInfo;\r
        uint8 sduData[CANIF_PDU_MAX_LENGTH];\r
 \r
@@ -992,7 +994,7 @@ static INLINE Std_ReturnType sendSingleFrame(const CanTp_TxNSduType *txConfig,
        if (txConfig->CanTpAddressingMode == CANTP_EXTENDED) { /** @req CANTP094 *//** @req CANTP095 */\r
                sduData[indexCount++] = (uint8) txConfig->CanTpNTa->CanTpNTa; // Target address.\r
        }\r
-       sduData[indexCount++] = ISO15765_TPCI_SF | txRuntime->transferTotal;\r
+       sduData[indexCount++] = ISO15765_TPCI_SF | txRuntime->transferTotal; // 734 PC-lint: Okej att casta till uint8?\r
        for (int i = 0; i < txRuntime->transferTotal; i++) {\r
                sduData[indexCount++] = txRuntime->pdurBuffer->SduDataPtr[i];\r
        }\r
@@ -1008,8 +1010,8 @@ static INLINE Std_ReturnType sendSingleFrame(const CanTp_TxNSduType *txConfig,
 static INLINE Std_ReturnType sendFirstFrame(const CanTp_TxNSduType *txConfig,\r
                CanTp_ChannelPrivateType *txRuntime) {\r
        Std_ReturnType ret;\r
-       int indexCount = 0;\r
-       int i = 0;\r
+       uint8 indexCount = 0;\r
+       uint8 i = 0;\r
        PduInfoType pduInfo;\r
        uint8 sduData[CANIF_PDU_MAX_LENGTH];\r
 \r
@@ -1166,7 +1168,7 @@ Std_ReturnType FrTp_CancelTransmitRequest(PduIdType FrTpTxPduId,
 // - - - - - - - - - - - - - -\r
 \r
 \r
-void CanTp_Init()\r
+void CanTp_Init(void)\r
 {\r
        CanTp_ChannelPrivateType *runtimeData;\r
        const CanTp_TxNSduType *txConfigParams;\r
@@ -1253,32 +1255,36 @@ void CanTp_RxIndication_Main(PduIdType CanTpRxPduId,
                        DEBUG( DEBUG_MEDIUM, "calling handleSingleFrame!\n");\r
                        handleSingleFrame(rxConfigParams, runtimeParams, CanTpRxPduPtr);\r
                }\r
-               else\r
+               else{\r
                        DEBUG( DEBUG_MEDIUM, "Single frame received on ISO15765-Tx - is ignored!\n");\r
+               }\r
                break;\r
        }\r
        case FIRST_FRAME: {\r
                if (rxConfigParams != NULL) {\r
                        DEBUG( DEBUG_MEDIUM, "calling handleFirstFrame!\n");\r
                        handleFirstFrame(rxConfigParams, runtimeParams, CanTpRxPduPtr);\r
-               } else\r
+               }else{\r
                        DEBUG( DEBUG_MEDIUM, "First frame received on ISO15765-Tx - is ignored!\n");\r
+               }\r
                break;\r
        }\r
        case CONSECUTIVE_FRAME: {\r
                if (rxConfigParams != NULL) {\r
                        DEBUG( DEBUG_MEDIUM, "calling handleConsecutiveFrame!\n");\r
                        handleConsecutiveFrame(rxConfigParams, runtimeParams, CanTpRxPduPtr);\r
-               } else\r
+               } else {\r
                        DEBUG( DEBUG_MEDIUM, "Consecutive frame received on ISO15765-Tx - is ignored!\n");\r
+               }\r
                break;\r
        }\r
        case FLOW_CONTROL_CTS_FRAME: {\r
                if (txConfigParams != NULL) {\r
                        DEBUG( DEBUG_MEDIUM, "calling handleFlowControlFrame!\n");\r
                        handleFlowControlFrame(txConfigParams, runtimeParams, CanTpRxPduPtr);\r
-               } else\r
+               } else {\r
                        DEBUG( DEBUG_MEDIUM, "Flow control frame received on ISO15765-Rx - is ignored!\n");\r
+               }\r
                break;\r
        }\r
        case INVALID_FRAME: {\r
@@ -1293,7 +1299,7 @@ void CanTp_RxIndication_Main(PduIdType CanTpRxPduId,
 \r
 // - - - - - - - - - - - - - -\r
 \r
-void CanTp_TxConfirmation(PduIdType PduId) /** @req CANTP076 */\r
+void CanTp_TxConfirmation(PduIdType CanTpTxPduId) /** @req CANTP076 */\r
 {\r
        const CanTp_RxNSduType *rxConfigParams = NULL;\r
        const CanTp_TxNSduType *txConfigParams = NULL;\r
@@ -1302,25 +1308,25 @@ void CanTp_TxConfirmation(PduIdType PduId) /** @req CANTP076 */
 \r
        VALIDATE_NO_RV( CanTpRunTimeData.internalState == CANTP_ON,\r
                        SERVICE_ID_CANTP_TX_CONFIRMATION, CANTP_E_UNINIT ); /** @req CANTP031 */\r
-       VALIDATE_NO_RV( PduId < CANTP_NSDU_CONFIG_LIST_SIZE,\r
+       VALIDATE_NO_RV( CanTpTxPduId < CANTP_NSDU_CONFIG_LIST_SIZE,\r
                        SERVICE_ID_CANTP_TX_CONFIRMATION, CANTP_E_INVALID_TX_ID ); /** @req CANTP158 */\r
 \r
        /** @req CANTP236 */\r
-       if ( CanTpConfig.CanTpNSduList[PduId].direction == IS015765_TRANSMIT ) {\r
-               txConfigParams = (CanTp_TxNSduType*)&CanTpConfig.CanTpNSduList[PduId].configData;\r
+       if ( CanTpConfig.CanTpNSduList[CanTpTxPduId].direction == IS015765_TRANSMIT ) {\r
+               txConfigParams = (CanTp_TxNSduType*)&CanTpConfig.CanTpNSduList[CanTpTxPduId].configData;\r
                CanTpRunTimeData.runtimeDataList[txConfigParams->CanTpTxChannel].iso15765.NasNarPending = FALSE;\r
 #if (CANTP_IMMEDIATE_TX_CONFIRMATION == STD_OFF)\r
                CanTpRunTimeData.runtimeDataList[txConfigParams->CanTpTxChannel].iso15765.txConfirmed = TRUE;\r
 #endif\r
        } else {\r
-               rxConfigParams = (CanTp_RxNSduType*)&CanTpConfig.CanTpNSduList[PduId].configData;\r
+               rxConfigParams = (CanTp_RxNSduType*)&CanTpConfig.CanTpNSduList[CanTpTxPduId].configData;\r
                CanTpRunTimeData.runtimeDataList[rxConfigParams->CanTpRxChannel].iso15765.NasNarPending = FALSE;\r
        }\r
 }\r
 \r
 // - - - - - - - - - - - - - -\r
 \r
-void CanTp_Shutdown() /** @req CANTP202 *//** @req CANTP200 *//** @req CANTP010 */\r
+void CanTp_Shutdown(void) /** @req CANTP202 *//** @req CANTP200 *//** @req CANTP010 */\r
 {\r
        VALIDATE_NO_RV( CanTpRunTimeData.internalState == CANTP_ON,\r
                        SERVICE_ID_CANTP_SHUTDOWN, CANTP_E_UNINIT ); /** @req CANTP031 */\r
@@ -1348,7 +1354,7 @@ static inline boolean checkNasNarTimeout(CanTp_ChannelPrivateType *runtimeData)
 // - - - - - - - - - - - - - -\r
 \r
 \r
-void CanTp_MainFunction()\r
+void CanTp_MainFunction(void)\r
 {\r
        BufReq_ReturnType ret;\r
        CanTpFifoQueueItem item;\r
@@ -1386,8 +1392,9 @@ void CanTp_MainFunction()
                        case TX_WAIT_CAN_TP_TRANSMIT_CAN_TP_PROVIDE_TX_BUFFER:\r
                        {\r
                                TIMER_DECREMENT(txRuntimeListItem->iso15765.stateTimeoutCount); /** @req CANTP185 */\r
-                               if (txRuntimeListItem->iso15765.stateTimeoutCount == 0)\r
+                               if (txRuntimeListItem->iso15765.stateTimeoutCount == 0){\r
                                        PduR_CanTpTxConfirmation(txConfigListItem->PduR_PduId, NTFRSLT_E_NOT_OK); /** @req CANTP204 *//** @req CANTP185 */\r
+                               }\r
                                txRuntimeListItem->iso15765.state = IDLE;\r
                                txRuntimeListItem->mode = CANTP_TX_WAIT;\r
                                break;\r
index f0198719a73ca9251486740136223a59c30f86cc..7079dffce48f043806a4033750f7d9ea798ea22c 100644 (file)
@@ -341,11 +341,11 @@ void ComM_EcuM_WakeUpIndication( NetworkHandleType Channel ){
 // Diagnostic Communication Manager Callbacks\r
 // ------------------------------------------\r
 \r
-void ComM_DCM_ActiveDiagnostic(){\r
+void ComM_DCM_ActiveDiagnostic(void){\r
        COMM_VALIDATE_INIT(COMM_SERVICEID_DCM_ACTIVEDIAGNOSTIC);\r
 }\r
 \r
-void ComM_DCM_InactiveDiagnostic(){\r
+void ComM_DCM_InactiveDiagnostic(void){\r
        COMM_VALIDATE_INIT(COMM_SERVICEID_DCM_INACTIVEDIAGNOSTIC);\r
 }\r
 \r
index bcaec245a9b74e156418943876a7da5117f793c1..e070bc1942ccf458bde265796b7ab840fa8c6289 100644 (file)
@@ -37,7 +37,7 @@
 /*\r
  * The state of the PDU router.\r
  */\r
-PduR_StateType PduRState = PDUR_UNINIT;\r
+PduR_StateType PduRState = PDUR_UNINIT; // 960, 31 PC-Lint: Borde åtgärdas\r
 \r
 const PduR_PBConfigType * PduRConfig;\r
 \r
@@ -76,10 +76,9 @@ void PduR_Init (const PduR_PBConfigType* ConfigPtr) {
 \r
        // Initialize buffers.\r
        int bufferNr = 0;\r
-       int i = 0;\r
        PduRRoutingPath_type *path;\r
        PduRConfig->PduRRoutingTable->NRoutingPaths = 0;\r
-       for (i = 0; !PduRConfig->PduRRoutingTable->PduRRoutingPath[i].PduR_Arc_EOL && !failed; i++) {\r
+       for (int i = 0; (!PduRConfig->PduRRoutingTable->PduRRoutingPath[i].PduR_Arc_EOL) && (!failed); i++) {\r
                PduRConfig->PduRRoutingTable->NRoutingPaths++;\r
                path = &PduRConfig->PduRRoutingTable->PduRRoutingPath[i];\r
 \r
@@ -138,7 +137,7 @@ void PduR_BufferInc(PduRTxBuffer_type *Buffer, uint8 **ptr) {
        (*ptr) = (*ptr) + Buffer->Length;\r
 \r
        // TODO make more efficient without multiplication.\r
-       if (*ptr >= Buffer->Buffer + Buffer->Depth * Buffer->Length) {\r
+       if ( *ptr >= ( Buffer->Buffer + (Buffer->Depth * Buffer->Length) ) ) {\r
                *ptr = Buffer->Buffer;\r
        }\r
        //*val = (*val + 1) % Buffer->Depth;\r
@@ -191,12 +190,14 @@ void PduR_BufferFlush(PduRTxBuffer_type *Buffer) {
 \r
 uint8 PduR_BufferIsFull(PduRTxBuffer_type *Buffer) {\r
        imask_t state = McuE_EnterCriticalSection();\r
+       uint8 rv = 0;\r
        if (Buffer->NrItems < Buffer->Depth) {\r
-               return 0;\r
+               rv = 0;\r
        } else {\r
-               return 1;\r
+               rv = 1;\r
        }\r
        McuE_ExitCriticalSection(state);\r
+       return rv;\r
 }\r
 \r
 \r
index 5a2afcdb84df33fce70a67e07d641ad979f6edce..08f67e5cd71ad9496033d7e860af4e9462f360f1 100644 (file)
@@ -46,16 +46,16 @@ void PduR_LoIfRxIndication(PduIdType PduId, const uint8* SduPtr) {
                route->FctPtrs.TargetIndicationFctPtr(route->PduRDestPdu.DestPduId, SduPtr); // Send PDU to next receptor.\r
 \r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_NO_PROVISION) {\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_NO_PROVISION) ) {\r
                // This is a gateway request, but without any data provision (buffer usage).\r
                PduInfoType PduInfo = {\r
-                       .SduDataPtr = (uint8 *)SduPtr,\r
+                       .SduDataPtr = (uint8 *)SduPtr, // 926, 960 PC-Lint: Beror på att funktion PduR_LoIfRxIndication(...) fel-definerad TICKET 130\r
                        .SduLength = route->SduLength\r
                };\r
                route->FctPtrs.TargetTransmitFctPtr(route->PduRDestPdu.DestPduId, &PduInfo); // Send PDU to next receptor.\r
 \r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_TRIGGER_TRANSMIT) {\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_TRIGGER_TRANSMIT) ) {\r
                // Ths is a gateway request which uses trigger transmit data provision. PDUR255\r
                DEBUG(DEBUG_LOW,"\tUsing gateway mode with trigger transmit provision\n");\r
 \r
@@ -78,7 +78,7 @@ void PduR_LoIfRxIndication(PduIdType PduId, const uint8* SduPtr) {
                        }\r
                }\r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_DIRECT) {\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_DIRECT) ) {\r
                // This is a gateway request using a direct data provision fifo. PDUR258\r
                DEBUG(DEBUG_LOW,"\tUsing gateway mode with direct provision\n");\r
 \r
@@ -125,12 +125,12 @@ void PduR_LoIfTxConfirmation(PduIdType PduId) {
                // This is an ordinary request.\r
                route->FctPtrs.TargetConfirmationFctPtr(route->PduRDestPdu.DestPduId); // Forward confirmation\r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_NO_PROVISION) {\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_NO_PROVISION) ) {\r
                // A gateway request without provision. Just forward confirmation.\r
                route->FctPtrs.TargetConfirmationFctPtr(route->PduRDestPdu.DestPduId); // Forward confirmation\r
 \r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_TRIGGER_TRANSMIT) {\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_TRIGGER_TRANSMIT) ) {\r
                // The route is using gateway mode and trigger transmit data provision. PDUR256\r
                DEBUG(DEBUG_LOW,"\tUsing gateway mode with trigger transmit data provision.\n", PduId);\r
 \r
@@ -174,7 +174,7 @@ void PduR_LoIfTxConfirmation(PduIdType PduId) {
                }\r
 \r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_DIRECT) {\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_DIRECT) ) {\r
                // The route is using a direct data provision fifo. PDUR259\r
                DEBUG(DEBUG_LOW,"\tUsing gateway mode with direct data provision.\n", PduId);\r
 \r
@@ -228,7 +228,7 @@ void PduR_LoIfTriggerTransmit(PduIdType PduId, uint8* SduPtr) {
        if (route->PduR_GatewayMode == 0) { // This is an ordinary trigger.\r
                route->FctPtrs.TargetTriggerTransmitFctPtr(route->PduRDestPdu.DestPduId, SduPtr);\r
 \r
-       } else if (route->PduR_GatewayMode == 1 && route->PduRDestPdu.DataProvision == PDUR_TRIGGER_TRANSMIT) { // The route is using a trigger transmit fifo. PDUR256\r
+       } else if ( (route->PduR_GatewayMode == 1) && (route->PduRDestPdu.DataProvision == PDUR_TRIGGER_TRANSMIT) ) { // The route is using a trigger transmit fifo. PDUR256\r
                DEBUG(DEBUG_LOW,"\tUsing gateway mode with trigger transmit data provision.\n", PduId);\r
                memcpy((void *)SduPtr, (void *)route->PduRDestPdu.TxBufferRef->First, sizeof(uint8) * route->SduLength);\r
 \r
index 19c33928fa7f63b3b8db2ed64991211219867fb5..2172092f3c6491875844a0a6d625b568a3aec217 100644 (file)
@@ -14,7 +14,8 @@
  * -------------------------------- Arctic Core ------------------------------*/\r
 \r
 \r
-\r
+// 904 PC-Lint: OK. Allow VALIDATE, VALIDATE_RV and VALIDATE_NO_RV to return value.\r
+//lint -emacro(904,VALIDATE_RV,VALIDATE_NO_RV,VALIDATE)\r
 \r
 \r
 /*\r
index 61c0060a7f4ecda04615bb8ed5dd5fb638898a1e..227986d90808574a9f941c890e9aa730e531e9c7 100644 (file)
@@ -47,17 +47,18 @@ static boolean      suppressPosRspMsg;
  */\r
 \r
 \r
-static boolean askApplicationForServicePermission(uint8 *requestData, uint16 dataSize)\r
+static Std_ReturnType askApplicationForServicePermission(uint8 *requestData, uint16 dataSize)\r
 {\r
        Std_ReturnType returnCode = E_OK;\r
        const Dcm_DslServiceRequestIndicationType *serviceRequestIndication = DCM_Config.Dsl->DslServiceRequestIndication;\r
        Std_ReturnType result;\r
 \r
-       while (!serviceRequestIndication->Arc_EOL && (returnCode != E_REQUEST_NOT_ACCEPTED)) {\r
+       while ((!serviceRequestIndication->Arc_EOL) && (returnCode != E_REQUEST_NOT_ACCEPTED)) {\r
                if (serviceRequestIndication->Indication != NULL) {\r
                        result = serviceRequestIndication->Indication(requestData, dataSize);\r
-                       if (result != E_OK)\r
+                       if (result != E_OK){\r
                                returnCode = result;\r
+                       }\r
                }\r
                serviceRequestIndication++;\r
        }\r
@@ -144,7 +145,7 @@ static boolean lookupSid(uint8 sid, const Dcm_DsdServiceType **sidPtr)
        boolean returnStatus = TRUE;\r
        const Dcm_DsdServiceType *service = msgData.serviceTable->DsdService;\r
 \r
-       while ((service->DsdSidTabServiceId != sid) && !service->Arc_EOL) {\r
+       while ((service->DsdSidTabServiceId != sid) && (!service->Arc_EOL)) {\r
                service++;\r
        }\r
 \r
@@ -187,18 +188,20 @@ void DsdHandleRequest(void)
        currentSid = msgData.pduRxData->SduDataPtr[0];  /** @req DCM198 */\r
 \r
        /** @req DCM178 */\r
-       if (DCM_RESPOND_ALL_REQUEST || ((currentSid & 0x7F) < 0x40)) {          /** @req DCM084 */\r
+       if ((DCM_RESPOND_ALL_REQUEST == STD_ON) || ((currentSid & 0x7Fu) < 0x40)) {             /** @req DCM084 */\r
                if (lookupSid(currentSid, &sidConfPtr)) {               /** @req DCM192 */ /** @req DCM193 */ /** @req DCM196 */\r
                        // SID found!\r
                        if (DspCheckSessionLevel(sidConfPtr->DsdSidTabSessionLevelRef)) {                /** @req DCM211 */\r
                                if (DspCheckSecurityLevel(sidConfPtr->DsdSidTabSecurityLevelRef)) {      /** @req DCM217 */\r
-                                       if (DCM_REQUEST_INDICATION_ENABLED) {    /** @req DCM218 */\r
+                                       if (DCM_REQUEST_INDICATION_ENABLED == STD_ON) {  /** @req DCM218 */\r
                                                 result = askApplicationForServicePermission(msgData.pduRxData->SduDataPtr, msgData.pduRxData->SduLength);\r
+                                       } else {\r
+                                               result = E_OK;\r
                                        }\r
-                                       if (!DCM_REQUEST_INDICATION_ENABLED || result == E_OK) {\r
+                                       if (result == E_OK) {\r
                                                // Yes! All conditions met!\r
                                                // Check if response shall be suppressed\r
-                                               if (sidConfPtr->DsdSidTabSubfuncAvail && (msgData.pduRxData->SduDataPtr[1] & SUPPRESS_POS_RESP_BIT)) {  /** @req DCM204 */\r
+                                               if ( (sidConfPtr->DsdSidTabSubfuncAvail) && (msgData.pduRxData->SduDataPtr[1] & SUPPRESS_POS_RESP_BIT) ) {      /** @req DCM204 */\r
                                                        suppressPosRspMsg = TRUE;       /** @req DCM202 */\r
                                                        msgData.pduRxData->SduDataPtr[1] &= ~SUPPRESS_POS_RESP_BIT;     /** @req DCM201 */\r
                                                }\r
@@ -237,6 +240,7 @@ void DsdHandleRequest(void)
 }\r
 \r
 \r
+\r
 void DsdDspProcessingDone(Dcm_NegativeResponseCodeType responseCode)\r
 {\r
        if (responseCode == DCM_E_POSITIVERESPONSE) {\r
index 3d7278cdd518567cfe811894902df40ecbbfd138..affa9f6f25cd95c61e143392ce6f2eff6404782a 100644 (file)
@@ -30,7 +30,7 @@
 //#define USE_DEBUG_PRINTF\r
 #include "debug.h"\r
 \r
-#define DECREMENT(timer) { if (timer > 0) timer--; }\r
+#define DECREMENT(timer) { if (timer > 0){timer--;} }\r
 #define DCM_CONVERT_MS_TO_MAIN_CYCLES(x)  ((x)/DCM_MAIN_FUNCTION_PERIOD_TIME_MS)\r
 \r
 \r
@@ -141,7 +141,7 @@ static void changeDiagnosticSession(Dcm_DslRunTimeProtocolParametersType *runtim
 \r
 // - - - - - - - - - - -\r
 \r
-void DslResetSessionTimeoutTimer() {\r
+void DslResetSessionTimeoutTimer(void) {\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
        activeProtocol = DcmDslRunTimeData.activeProtocol;\r
@@ -383,7 +383,7 @@ static Std_ReturnType StartProtocolHelper(Dcm_ProtocolType protocolId) {
 static boolean isTesterPresentCommand(const PduInfoType *rxPdu) {\r
        boolean ret = FALSE;\r
        if ((rxPdu->SduDataPtr[0] == SID_TESTER_PRESENT) && (rxPdu->SduDataPtr[1] & SUPPRESS_POS_RESP_BIT)) {\r
-               return TRUE;\r
+               ret = TRUE;\r
        }\r
        return ret;\r
 }\r
@@ -420,7 +420,6 @@ void DslMain(void) {
        const Dcm_DslProtocolRowType *protocolRowEntry = NULL;\r
        const Dcm_DslProtocolTimingRowType *timeParams = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
-       int debug_count = 0;\r
 \r
        protocolRowEntry = DCM_Config.Dsl->DslProtocol->DslProtocolRowList;\r
        while (protocolRowEntry->Arc_EOL == FALSE) {\r
@@ -499,7 +498,6 @@ void DslMain(void) {
                        }\r
                }\r
                protocolRowEntry++;\r
-               debug_count++;\r
        }\r
 }\r
 \r
@@ -743,7 +741,7 @@ void DslTxConfirmation(PduIdType dcmTxPduId, NotifResultType result) {
                default:\r
                        break;\r
                }\r
-               if (externalBufferReleased == FALSE) {\r
+               if (!externalBufferReleased) {\r
                        switch (runtime->localTxBuffer.status) { // ### LOCAL TX BUFFER ###\r
                        case PROVIDED_TO_PDUR:\r
                                DEBUG( DEBUG_MEDIUM, "Released local buffer buffer OK!\n");\r
index e4ea1ae246d7d1f77fbef363d1e3a321ac8c9ff8..32a0b37361ff5ca7b60fc2006cdd84e617157131 100644 (file)
@@ -38,9 +38,9 @@
  * Macros\r
  */\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
+#define DTC_HIGH_BYTE(dtc)                     (((uint32)(dtc) >> 16) & 0xFFu)\r
+#define DTC_MID_BYTE(dtc)                      (((uint32)(dtc) >> 8) & 0xFFu)\r
+#define DTC_LOW_BYTE(dtc)                      ((uint32)(dtc) & 0xFFu)\r
 \r
 \r
 typedef struct {\r
@@ -79,7 +79,7 @@ boolean DspCheckSessionLevel(const Dcm_DspSessionRowType **sessionLevelRefTable)
        Dcm_SesCtrlType currentSession;\r
 \r
        DslGetSesCtrlType(&currentSession);\r
-       while (((*sessionLevelRefTable)->DspSessionLevel != currentSession) && !(*sessionLevelRefTable)->Arc_EOL) {\r
+       while ( ((*sessionLevelRefTable)->DspSessionLevel != currentSession) && (!(*sessionLevelRefTable)->Arc_EOL) ) {\r
                sessionLevelRefTable++;\r
        }\r
 \r
@@ -97,7 +97,7 @@ boolean DspCheckSecurityLevel(const Dcm_DspSecurityRowType    **securityLevelRefTab
        Dcm_SecLevelType currentSecurityLevel;\r
 \r
        DslGetSecurityLevel(&currentSecurityLevel);\r
-       while (((*securityLevelRefTable)->DspSecurityLevel != currentSecurityLevel) && !(*securityLevelRefTable)->Arc_EOL) {\r
+       while ( ((*securityLevelRefTable)->DspSecurityLevel != currentSecurityLevel) && (!(*securityLevelRefTable)->Arc_EOL) ) {\r
                securityLevelRefTable++;\r
        }\r
        if ((*securityLevelRefTable)->Arc_EOL) {\r
@@ -115,12 +115,16 @@ static Std_ReturnType askApplicationForSessionPermission(Dcm_SesCtrlType newSess
        Dcm_SesCtrlType currentSessionLevel;\r
        Std_ReturnType result;\r
 \r
-       while (!sesControl->Arc_EOL && (returnCode != E_SESSION_NOT_ALLOWED)) {\r
+       while ( (!sesControl->Arc_EOL) && (returnCode != E_SESSION_NOT_ALLOWED)) {\r
                if (sesControl->GetSesChgPermission != NULL) {\r
-                       Dcm_GetSesCtrlType(&currentSessionLevel);\r
-                       result = sesControl->GetSesChgPermission(currentSessionLevel ,newSessionLevel);\r
-                       if (result != E_OK) {\r
-                               returnCode = result;\r
+                       result = Dcm_GetSesCtrlType(&currentSessionLevel);\r
+                       if (result == E_OK) {\r
+                               result = sesControl->GetSesChgPermission(currentSessionLevel ,newSessionLevel);\r
+                               if (result != E_OK) {\r
+                                       returnCode = result;\r
+                               }\r
+                       } else {\r
+                               returnCode = E_NOT_OK;\r
                        }\r
                }\r
                sesControl++;\r
@@ -140,7 +144,7 @@ void DspUdsDiagnosticSessionControl(const PduInfoType *pduRxData, PduInfoType *p
        if (pduRxData->SduLength == 2) {\r
                reqSessionType = pduRxData->SduDataPtr[1];\r
                // Check if type exist in session table\r
-               while ((sessionRow->DspSessionLevel != reqSessionType) && !sessionRow->Arc_EOL) {\r
+               while ((sessionRow->DspSessionLevel != reqSessionType) && (!sessionRow->Arc_EOL) ) {\r
                        sessionRow++;\r
                }\r
 \r
@@ -274,21 +278,31 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x01_0x07_0x11_0x12(const
        }\r
 \r
        if (setDtcFilterResult == DEM_FILTER_ACCEPTED) {\r
+               Std_ReturnType result;\r
+               Dem_ReturnGetNumberOfFilteredDTCType getNumerResult;\r
                uint16 numberOfFilteredDtc;\r
                uint8 dtcStatusMask;\r
                TxDataType *txData = (TxDataType*)pduTxData->SduDataPtr;\r
 \r
                /** @req DCM376 */\r
-               Dem_GetNumberOfFilteredDtc(&numberOfFilteredDtc);\r
-               Dem_GetDTCStatusAvailabilityMask(&dtcStatusMask);\r
-\r
-               // Create positive response (ISO 14229-1 table 251)\r
-               txData->reportType = pduRxData->SduDataPtr[1];                                          // reportType\r
-               txData->dtcStatusAvailabilityMask = dtcStatusMask;                                      // DTCStatusAvailabilityMask\r
-               txData->dtcFormatIdentifier = Dem_GetTranslationType();                         // DTCFormatIdentifier\r
-               txData->dtcCountHighByte = (numberOfFilteredDtc >> 8);                          // DTCCount high byte\r
-               txData->dtcCountLowByte = (numberOfFilteredDtc & 0xFF);                         // DTCCount low byte\r
-               pduTxData->SduLength = 6;\r
+               getNumerResult = Dem_GetNumberOfFilteredDtc(&numberOfFilteredDtc);\r
+               if (getNumerResult == DEM_NUMBER_OK) {\r
+                       result = Dem_GetDTCStatusAvailabilityMask(&dtcStatusMask);\r
+                       if (result != E_OK) {\r
+                               dtcStatusMask = 0;\r
+                       }\r
+\r
+                       // Create positive response (ISO 14229-1 table 251)\r
+                       txData->reportType = pduRxData->SduDataPtr[1];                                          // reportType\r
+                       txData->dtcStatusAvailabilityMask = dtcStatusMask;                                      // DTCStatusAvailabilityMask\r
+                       txData->dtcFormatIdentifier = Dem_GetTranslationType();                         // DTCFormatIdentifier\r
+                       txData->dtcCountHighByte = (numberOfFilteredDtc >> 8);                          // DTCCount high byte\r
+                       txData->dtcCountLowByte = (numberOfFilteredDtc & 0xFFu);                        // DTCCount low byte\r
+                       pduTxData->SduLength = 6;\r
+               } else {\r
+                       // TODO: What to do?\r
+                       responseCode = DCM_E_GENERALREJECT;\r
+               }\r
        }\r
        else {\r
                responseCode = DCM_E_REQUESTOUTOFRANGE;\r
@@ -352,9 +366,13 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x02_0x0A_0x0F_0x13_0x15(c
                uint32 dtc;\r
                Dem_EventStatusExtendedType dtcStatus;\r
                uint16 nrOfDtcs = 0;\r
+               Std_ReturnType result;\r
 \r
                /** @req DCM377 */\r
-               Dem_GetDTCStatusAvailabilityMask(&dtcStatusMask);\r
+               result = Dem_GetDTCStatusAvailabilityMask(&dtcStatusMask);\r
+               if (result != E_OK) {\r
+                       dtcStatusMask = 0;\r
+               }\r
 \r
                // Create positive response (ISO 14229-1 table 252)\r
                txData->reportType = pduRxData->SduDataPtr[1];\r
@@ -375,7 +393,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x02_0x0A_0x0F_0x13_0x15(c
                                responseCode = DCM_E_REQUESTOUTOFRANGE;\r
                        }\r
                }\r
-               pduTxData->SduLength = 3 + nrOfDtcs * sizeof(dtcAndStatusRecordType);\r
+               pduTxData->SduLength = 3 + (nrOfDtcs * sizeof(dtcAndStatusRecordType));\r
        }\r
        else {\r
                responseCode = DCM_E_REQUESTOUTOFRANGE;\r
@@ -384,7 +402,8 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x02_0x0A_0x0F_0x13_0x15(c
        return responseCode;\r
 }\r
 \r
-\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x08(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -394,8 +413,11 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x08(const PduInfoType *pd
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x09(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -405,6 +427,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x09(const PduInfoType *pd
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
@@ -460,7 +483,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoTyp
                if (getStatusOfDtcResult == DEM_STATUS_OK) {\r
                        Dem_ReturnGetExtendedDataRecordByDTCType getExtendedDataRecordByDtcResult;\r
                        uint16 recNum;\r
-                       uint8 recLength;\r
+                       uint16 recLength;\r
                        uint16 txIndex = 6;\r
 \r
                        /** @req DCM297 */ /** @req DCM474 */ /** @req DCM386 */\r
@@ -470,7 +493,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoTyp
                        pduTxData->SduDataPtr[4] = DTC_LOW_BYTE(dtc);                                   // DTC low byte\r
                        pduTxData->SduDataPtr[5] = statusOfDtc;                                                 // DTC status\r
                        for (recNum = startRecNum; recNum <= endRecNum; recNum++) {\r
-                               recLength = pduTxData->SduLength - txIndex -1;  // Calculate what's left in buffer\r
+                               recLength = pduTxData->SduLength - (txIndex + 1);       // Calculate what's left in buffer\r
                                /** @req DCM296 */ /** @req DCM476 */ /** @req DCM382 */\r
                                getExtendedDataRecordByDtcResult = Dem_GetExtendedDataRecordByDTC(dtc, DEM_DTC_KIND_ALL_DTCS, dtcOrigin, recNum, &pduTxData->SduDataPtr[txIndex+1], &recLength);\r
                                if (getExtendedDataRecordByDtcResult == DEM_RECORD_OK) {\r
@@ -494,6 +517,8 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoTyp
 }\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x03(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -503,8 +528,11 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x03(const PduInfoType *pd
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x04(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -514,8 +542,11 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x04(const PduInfoType *pd
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x05(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -525,8 +556,11 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x05(const PduInfoType *pd
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x0B_0x0C_0x0D_0x0E(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -536,8 +570,11 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x0B_0x0C_0x0D_0x0E(const
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x14(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
@@ -547,6 +584,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x14(const PduInfoType *pd
 \r
        return responseCode;\r
 }\r
+//lint -restore\r
 \r
 \r
 void DspUdsReadDtcInformation(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
@@ -640,7 +678,7 @@ static boolean lookupDid(uint16 didNr, const Dcm_DspDidType **didPtr)
        const Dcm_DspDidType *dspDid = DCM_Config.Dsp->DspDid;\r
        boolean didFound = FALSE;\r
 \r
-       while ((dspDid->DspDidIdentifier != didNr) &&  !dspDid->Arc_EOL) {\r
+       while ((dspDid->DspDidIdentifier != didNr) &&  (!dspDid->Arc_EOL)) {\r
                dspDid++;\r
        }\r
 \r
@@ -664,7 +702,7 @@ static Dcm_NegativeResponseCodeType readDidData(const Dcm_DspDidType *didPtr, Pd
                                Dcm_NegativeResponseCodeType errorCode;\r
                                result = didPtr->DspDidConditionCheckReadFnc(&errorCode);\r
                                if ((result == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) {        /** @req DCM439 */\r
-                                       uint16 didLen;\r
+                                       uint16 didLen = 0;\r
                                        result = E_NOT_OK;\r
                                        if (didPtr->DspDidInfoRef->DspDidFixedLength) { /** @req DCM436 */\r
                                                didLen = didPtr->DspDidSize;\r
@@ -679,9 +717,9 @@ static Dcm_NegativeResponseCodeType readDidData(const Dcm_DspDidType *didPtr, Pd
                                        if (result == E_OK) {\r
                                                // Now ready for reading the data!\r
                                                if ((*txPos + didLen + 2) <= pduTxData->SduLength) {\r
-                                                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 8) & 0xFF;\r
+                                                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 8) & 0xFFu;\r
                                                        (*txPos)++;\r
-                                                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 0) & 0xFF;\r
+                                                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 0) & 0xFFu;\r
                                                        (*txPos)++;\r
                                                        result = didPtr->DspDidReadDataFnc(&pduTxData->SduDataPtr[*txPos]);     /** @req DCM437 */\r
                                                        *txPos += didLen;\r
@@ -736,11 +774,11 @@ void DspUdsReadDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduTx
        uint16 txPos = 1;\r
        uint16 i;\r
 \r
-       if ((pduRxData->SduLength - 1) % 2 == 0 ) {\r
+       if ( ((pduRxData->SduLength - 1) % 2) == 0 ) {\r
                nrOfDids = (pduRxData->SduLength - 1) / 2;\r
 \r
                for (i = 0; (i < nrOfDids) && (responseCode == DCM_E_POSITIVERESPONSE); i++) {\r
-                       didNr = (pduRxData->SduDataPtr[1+i*2] << 8) + pduRxData->SduDataPtr[2+i*2];\r
+                       didNr = (uint16)((uint16)pduRxData->SduDataPtr[1+(i*2)] << 8) + pduRxData->SduDataPtr[2+(i*2)];\r
                        if (lookupDid(didNr, &didPtr)) {        /** @req DCM438 */\r
                                responseCode = readDidData(didPtr, pduTxData, &txPos);\r
                        }\r
@@ -773,9 +811,9 @@ static Dcm_NegativeResponseCodeType readDidScalingData(const Dcm_DspDidType *did
                        Std_ReturnType result;\r
                        Dcm_NegativeResponseCodeType errorCode;\r
 \r
-                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 8) & 0xFF;\r
+                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 8) & 0xFFu;\r
                        (*txPos)++;\r
-                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 0) & 0xFF;\r
+                       pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 0) & 0xFFu;\r
                        (*txPos)++;\r
                        result = didPtr->DspDidGetScalingInfoFnc(&pduTxData->SduDataPtr[*txPos], &errorCode);   /** @req DCM394 */\r
                        *txPos += scalingInfoLen;\r
@@ -805,7 +843,7 @@ void DspUdsReadScalingDataByIdentifier(const PduInfoType *pduRxData, PduInfoType
        uint16 txPos = 1;\r
 \r
        if (pduRxData->SduLength == 3) {\r
-               didNr = (pduRxData->SduDataPtr[1] << 8) + pduRxData->SduDataPtr[2];\r
+               didNr = (uint16)((uint16)pduRxData->SduDataPtr[1] << 8) + pduRxData->SduDataPtr[2];\r
                if (lookupDid(didNr, &didPtr)) {\r
                        responseCode = readDidScalingData(didPtr, pduTxData, &txPos);\r
                }\r
@@ -837,7 +875,7 @@ static Dcm_NegativeResponseCodeType writeDidData(const Dcm_DspDidType *didPtr, c
                                Dcm_NegativeResponseCodeType errorCode;\r
                                result = didPtr->DspDidConditionCheckWriteFnc(&errorCode);      /** @req DCM471 */\r
                                if ((result == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) {\r
-                                       uint16 didLen;\r
+                                       uint16 didLen = 0;\r
                                        result = E_NOT_OK;\r
                                        if (didPtr->DspDidInfoRef->DspDidFixedLength) { /** @req DCM472 */\r
                                                didLen = didPtr->DspDidSize;\r
@@ -846,8 +884,7 @@ static Dcm_NegativeResponseCodeType writeDidData(const Dcm_DspDidType *didPtr, c
                                        else {\r
                                                if (didPtr->DspDidReadDataLengthFnc != NULL) {\r
                                                        result = didPtr->DspDidReadDataLengthFnc(&didLen);\r
-                                               }\r
-                                       }\r
+                                               }                                       }\r
 \r
                                        if (result == E_OK) {\r
                                                if (didLen == writeDidLen) {    /** @req DCM473 */\r
@@ -893,7 +930,7 @@ void DspUdsWriteDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduT
        uint16 didDataLength;\r
 \r
        didDataLength = pduRxData->SduLength - 3;\r
-       didNr = (pduRxData->SduDataPtr[1] << 8) + pduRxData->SduDataPtr[2];\r
+       didNr = (uint16)((uint16)pduRxData->SduDataPtr[1] << 8) + pduRxData->SduDataPtr[2];\r
        if (lookupDid(didNr, &didPtr)) {        /** @req DCM467 */\r
                responseCode = writeDidData(didPtr, pduRxData, didDataLength);\r
        }\r
@@ -903,8 +940,8 @@ void DspUdsWriteDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduT
 \r
        if (responseCode == DCM_E_POSITIVERESPONSE) {\r
                pduTxData->SduLength = 3;\r
-               pduTxData->SduDataPtr[1] = (didNr >> 8) & 0xFF;\r
-               pduTxData->SduDataPtr[2] = (didNr >> 0) & 0xFF;\r
+               pduTxData->SduDataPtr[1] = (didNr >> 8) & 0xFFu;\r
+               pduTxData->SduDataPtr[2] = (didNr >> 0) & 0xFFu;\r
        }\r
 \r
        DsdDspProcessingDone(responseCode);\r
@@ -918,7 +955,7 @@ void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)
 \r
        // Check sub function range (0x01 to 0x42)\r
        if ((pduRxData->SduDataPtr[1] >= 0x01) && (pduRxData->SduDataPtr[1] <= 0x42)) {\r
-               boolean isRequestSeed = pduRxData->SduDataPtr[1] & 0x01;\r
+               boolean isRequestSeed = pduRxData->SduDataPtr[1] & 0x01u;\r
                Dcm_SecLevelType requestedSecurityLevel = (pduRxData->SduDataPtr[1]-1)/2;\r
                Dcm_NegativeResponseCodeType getSeedErrorCode;\r
 \r
@@ -926,42 +963,48 @@ void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)
                        // requestSeed message\r
                        // Check if type exist in security table\r
                        const Dcm_DspSecurityRowType *securityRow = &DCM_Config.Dsp->DspSecurity->DspSecurityRow[0];\r
-                       while ((securityRow->DspSecurityLevel != requestedSecurityLevel) && !securityRow->Arc_EOL) {\r
+                       while ((securityRow->DspSecurityLevel != requestedSecurityLevel) && (!securityRow->Arc_EOL)) {\r
                                securityRow++;\r
                        }\r
                        if (!securityRow->Arc_EOL) {\r
                                // Check length\r
                                if (pduRxData->SduLength == (2 + securityRow->DspSecurityADRSize)) {    /** @req DCM321.RequestSeed */\r
                                        Dcm_SecLevelType activeSecLevel;\r
-                                       Dcm_GetSecurityLevel(&activeSecLevel);\r
-                                       if (requestedSecurityLevel == activeSecLevel) {         /** @req DCM323 */\r
-                                               pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
-                                               // If same level set the seed to zeroes\r
-                                               memset(&pduTxData->SduDataPtr[2], 0, securityRow->DspSecuritySeedSize);\r
-                                               pduTxData->SduLength = 2 + securityRow->DspSecuritySeedSize;\r
-                                       }\r
-                                       else {\r
-                                               // New security level ask for seed\r
-                                               if (securityRow->GetSeed != NULL) {\r
-                                                       Std_ReturnType getSeedResult;\r
-                                                       getSeedResult = securityRow->GetSeed(&pduRxData->SduDataPtr[2], &pduTxData->SduDataPtr[2], &getSeedErrorCode); /** @req DCM324.RequestSeed */\r
-                                                       if ((getSeedResult == E_OK) && (getSeedErrorCode == E_OK)) {\r
-                                                               // Everything ok add sub function to tx message and send it.\r
-                                                               pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
-                                                               pduTxData->SduLength = 2 + securityRow->DspSecuritySeedSize;\r
-\r
-                                                               dspUdsSecurityAccesData.reqSecLevel = requestedSecurityLevel;\r
-                                                               dspUdsSecurityAccesData.reqSecLevelRef = securityRow;\r
-                                                               dspUdsSecurityAccesData.reqInProgress = TRUE;\r
-                                                       }\r
-                                                       else {\r
-                                                               // GetSeed returned not ok\r
+                                       Std_ReturnType result;\r
+                                       result = Dcm_GetSecurityLevel(&activeSecLevel);\r
+                                       if (result == E_OK) {\r
+                                               if (requestedSecurityLevel == activeSecLevel) {         /** @req DCM323 */\r
+                                                       pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
+                                                       // If same level set the seed to zeroes\r
+                                                       memset(&pduTxData->SduDataPtr[2], 0, securityRow->DspSecuritySeedSize);\r
+                                                       pduTxData->SduLength = 2 + securityRow->DspSecuritySeedSize;\r
+                                               } else {\r
+                                                       // New security level ask for seed\r
+                                                       if (securityRow->GetSeed != NULL) {\r
+                                                               Std_ReturnType getSeedResult;\r
+                                                               getSeedResult = securityRow->GetSeed(&pduRxData->SduDataPtr[2], &pduTxData->SduDataPtr[2], &getSeedErrorCode); /** @req DCM324.RequestSeed */\r
+                                                               if ((getSeedResult == E_OK) && (getSeedErrorCode == E_OK)) {\r
+                                                                       // Everything ok add sub function to tx message and send it.\r
+                                                                       pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
+                                                                       pduTxData->SduLength = 2 + securityRow->DspSecuritySeedSize;\r
+\r
+                                                                       dspUdsSecurityAccesData.reqSecLevel = requestedSecurityLevel;\r
+                                                                       dspUdsSecurityAccesData.reqSecLevelRef = securityRow;\r
+                                                                       dspUdsSecurityAccesData.reqInProgress = TRUE;\r
+                                                               }\r
+                                                               else {\r
+                                                                       // GetSeed returned not ok\r
+                                                                       responseCode = DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT;\r
+                                                               }\r
+                                                       } else {\r
                                                                responseCode = DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT;\r
                                                        }\r
-                                               } else {\r
-                                                       responseCode = DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT;\r
                                                }\r
+                                       } else {\r
+                                               // TODO: What to do?\r
+                                               responseCode = DCM_E_GENERALREJECT;\r
                                        }\r
+\r
                                }\r
                                else {\r
                                        // Length not ok\r
index 8639c931773cbd9100f08fb4b9206ba556c8dc4e..1ddf866afabe4174245c74893099b1352c998640 100644 (file)
@@ -125,7 +125,7 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result);
 Std_ReturnType DslGetActiveProtocol(Dcm_ProtocolType *protocolId);\r
 void DslSetSecurityLevel(Dcm_SecLevelType secLevel);\r
 Std_ReturnType DslGetSecurityLevel(Dcm_SecLevelType *secLevel);\r
-void DslSetSesCtrlType(Dcm_SesCtrlType sesCtrlType);\r
+void DslSetSesCtrlType(Dcm_SesCtrlType sesCtrl);\r
 Std_ReturnType DslGetSesCtrlType(Dcm_SesCtrlType *sesCtrlType);\r
 BufReq_ReturnType DslProvideTxBuffer(PduIdType dcmTxPduId, const PduInfoType **pduInfoPtr, PduLengthType length);\r
 void DslTxConfirmation(PduIdType dcmTxPduId, NotifResultType result);\r
index 083c995e67929abdbddd1861a282e93e0079e1d0..1d4ac9cd20805e62615f1f40f5febe679e628dfe 100644 (file)
@@ -165,11 +165,11 @@ typedef struct {
 } Dcm_DspDidInfoType; /** @req DCM607 */\r
 \r
 // 10.2.22\r
-typedef struct _Dcm_DspDidType {\r
+typedef struct Dcm_DspDidType {\r
        boolean                                                                         DspDidUsePort;                                  // (1)\r
        uint16                                                                          DspDidIdentifier;                               // (1)          /** @req DCM602 */\r
        const Dcm_DspDidInfoType                                        *DspDidInfoRef;                                 // (1)          /** @req DCM604 */\r
-       const struct _Dcm_DspDidType                            **DspDidRef;                                    // (0..*)       /** @req DCM606 */\r
+       const struct Dcm_DspDidType                             **DspDidRef;                                    // (0..*)       /** @req DCM606 */\r
        uint16                                                                          DspDidSize;                                             // (1)          /** @req DCM605 */\r
        Dcm_CallbackReadDataLengthFncType                       DspDidReadDataLengthFnc;                // (0..1)       /** @req DCM671 */\r
        Dcm_CallbackConditionCheckReadFncType           DspDidConditionCheckReadFnc;    // (0..1)       /** @req DCM677 */\r
@@ -353,7 +353,7 @@ typedef struct {
 typedef enum\r
 {\r
        BUFFER_AVAILABLE,\r
-       BUFFER_BUSY,\r
+       BUFFER_BUSY\r
 }Dcm_DslBufferStatusType;\r
 \r
 \r
index 32cd6c124ee0061a8a355481e8d491612703e3c1..7e4f1328f29726e5c94392942a6a54bf2a21eaba 100644 (file)
@@ -13,7 +13,8 @@
  * for more details.\r
  * -------------------------------- Arctic Core ------------------------------*/\r
 \r
-\r
+// 904 PC-Lint: OK. Allow VALIDATE, VALIDATE_RV and VALIDATE_NO_RV to return value.\r
+//lint -emacro(904,VALIDATE_RV,VALIDATE_NO_RV,VALIDATE)\r
 \r
 \r
 \r
 #if  ( DEM_DEV_ERROR_DETECT == STD_ON )\r
 #include "Det.h"\r
 /** @req DEM117 */\r
-#define VALIDATE(_exp,_api,_err ) \\r
-        if( !(_exp) ) { \\r
-          Det_ReportError(MODULE_ID_DEM, 0, _api, _err); \\r
-          return E_NOT_OK; \\r
-        }\r
-\r
 #define VALIDATE_RV(_exp,_api,_err,_rv ) \\r
         if( !(_exp) ) { \\r
           Det_ReportError(MODULE_ID_DEM, 0, _api, _err); \\r
@@ -73,7 +68,6 @@
 #define DET_REPORTERROR(_x,_y,_z,_q) Det_ReportError(_x, _y, _z, _q)\r
 \r
 #else\r
-#define VALIDATE(_exp,_api,_err )\r
 #define VALIDATE_RV(_exp,_api,_err,_rv )\r
 #define VALIDATE_NO_RV(_exp,_api,_err )\r
 #define DET_REPORTERROR(_x,_y,_z,_q)\r
@@ -192,7 +186,7 @@ static ExtDataRecType               priMemExtDataBuffer[DEM_MAX_NUMBER_EXT_DATA_PRI_MEM] __at
  * Procedure:  zeroPriMemBuffers\r
  * Description:        Fill the primary buffers with zeroes\r
  */\r
-void demZeroPriMemBuffers(void)\r
+void demZeroPriMemBuffers(void) // 957 PC-Lint (MISRA 8.1): OK. Used only by DemTest\r
 {\r
        memset(priMemEventBuffer, 0, sizeof(priMemEventBuffer));\r
        memset(priMemFreezeFrameBuffer, 0, sizeof(priMemFreezeFrameBuffer));\r
@@ -207,16 +201,16 @@ void demZeroPriMemBuffers(void)
 static ChecksumType calcChecksum(void *data, uint16 nrOfBytes)\r
 {\r
        uint16 i;\r
-       uint8 *ptr = (uint8*)data;\r
+       uint8 *byte = (uint8*)data;\r
        ChecksumType sum = 0;\r
 \r
-       for (i = 0; i < nrOfBytes; i++)\r
-               sum += *ptr++;\r
-       sum ^= 0xaaaa;\r
+       for (i = 0; i < nrOfBytes; i++) {\r
+               sum += byte[i];\r
+       }\r
+       sum ^= 0xaaaau;\r
        return sum;\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  checkDtcKind\r
  * Description:        Return TRUE if "dtcKind" match the events DTCKind or "dtcKind"\r
@@ -270,22 +264,26 @@ static boolean checkDtcGroup(uint32 dtc, const Dem_EventParameterType *eventPara
 static boolean checkDtcOrigin(Dem_DTCOriginType dtcOrigin, const Dem_EventParameterType *eventParam)\r
 {\r
        boolean result = FALSE;\r
+       boolean dtcOriginFound = FALSE;\r
        uint16 i;\r
 \r
-       for (i = 0; (eventParam->EventClass->EventDestination[i] != dtcOrigin) && (i < DEM_MAX_NR_OF_EVENT_DESTINATION); i++);\r
+       for (i = 0;(i < DEM_MAX_NR_OF_EVENT_DESTINATION) && (!dtcOriginFound); i++){\r
+               dtcOriginFound = (eventParam->EventClass->EventDestination[i] == dtcOrigin);\r
+       }\r
 \r
-       if (i < DEM_MAX_NR_OF_EVENT_DESTINATION) {\r
+       if (dtcOriginFound) {\r
                result = TRUE;\r
        }\r
 \r
        return result;\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  checkDtcSeverityMask\r
  * Description:        Return TRUE if "dtcSeverityMask" match any of the events DTC severity otherwise FALSE.\r
  */\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static boolean checkDtcSeverityMask(Dem_DTCSeverityType dtcSeverityMask, const Dem_EventParameterType *eventParam)\r
 {\r
        boolean result = TRUE;\r
@@ -294,12 +292,15 @@ static boolean checkDtcSeverityMask(Dem_DTCSeverityType dtcSeverityMask, const D
 \r
        return result;\r
 }\r
+//lint -restore\r
 \r
 \r
 /*\r
  * Procedure:  checkDtcFaultDetectionCounterMask\r
  * Description:        TBD.\r
  */\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static boolean checkDtcFaultDetectionCounter(const Dem_EventParameterType *eventParam)\r
 {\r
        boolean result = TRUE;\r
@@ -308,7 +309,7 @@ static boolean checkDtcFaultDetectionCounter(const Dem_EventParameterType *event
 \r
        return result;\r
 }\r
-\r
+//lint -restore\r
 \r
 /*\r
  * Procedure:  lookupEventStatusRec\r
@@ -317,14 +318,15 @@ static boolean checkDtcFaultDetectionCounter(const Dem_EventParameterType *event
  */\r
 static void lookupEventStatusRec(Dem_EventIdType eventId, EventStatusRecType **const eventStatusRec)\r
 {\r
-       EventStatusRecType *eventStatusRecPtr = eventStatusBuffer;\r
+       uint8 i;\r
+       boolean eventIdFound = FALSE;\r
 \r
-       while ((eventStatusRecPtr->eventId != eventId) && (eventStatusRecPtr < &eventStatusBuffer[DEM_MAX_NUMBER_EVENT])) {\r
-               eventStatusRecPtr++;\r
+       for (i = 0; (i < DEM_MAX_NUMBER_EVENT) && (!eventIdFound); i++) {\r
+               eventIdFound = (eventStatusBuffer[i].eventId == eventId);\r
        }\r
 \r
-       if (eventStatusRecPtr < &eventStatusBuffer[DEM_MAX_NUMBER_EVENT]) {\r
-               *eventStatusRec = eventStatusRecPtr;\r
+       if (eventIdFound) {\r
+               *eventStatusRec = &eventStatusBuffer[i-1];\r
        } else {\r
                *eventStatusRec = NULL;\r
        }\r
@@ -338,15 +340,16 @@ static void lookupEventStatusRec(Dem_EventIdType eventId, EventStatusRecType **c
  */\r
 static void lookupEventIdParameter(Dem_EventIdType eventId, const Dem_EventParameterType **const eventIdParam)\r
 {\r
-       const Dem_EventParameterType *EventIdParamPtr = configSet->EventParameter;\r
+       const Dem_EventParameterType *EventIdParamList = configSet->EventParameter;\r
 \r
        // Lookup the correct event id parameters\r
-       while ((EventIdParamPtr->EventID != eventId) && !EventIdParamPtr->Arc_EOL) {\r
-               EventIdParamPtr++;\r
+       uint16 i=0;\r
+       while ((EventIdParamList[i].EventID != eventId) && (!EventIdParamList[i].Arc_EOL)) {\r
+               i++;\r
        }\r
 \r
-       if (!EventIdParamPtr->Arc_EOL) {\r
-               *eventIdParam = EventIdParamPtr;\r
+       if (!EventIdParamList[i].Arc_EOL) {\r
+               *eventIdParam = &EventIdParamList[i];\r
        } else {\r
                *eventIdParam = NULL;\r
        }\r
@@ -357,8 +360,9 @@ static void lookupEventIdParameter(Dem_EventIdType eventId, const Dem_EventParam
  * Procedure:  preDebounceNone\r
  * Description:        Returns the result of the debouncing.\r
  */\r
-static Dem_EventStatusType preDebounceNone(Dem_EventStatusType reportedStatus, EventStatusRecType* statusRecord) {\r
+static Dem_EventStatusType preDebounceNone(const Dem_EventStatusType reportedStatus, const EventStatusRecType* statusRecord) {\r
        Dem_EventStatusType returnCode;\r
+       (void)statusRecord;             // Just to get rid of PC-Lint warnings\r
 \r
        switch (reportedStatus) {\r
        case DEM_EVENT_STATUS_FAILED: /** @req DEM091.NoneFailed */\r
@@ -388,11 +392,11 @@ static Dem_EventStatusType preDebounceCounterBased(Dem_EventStatusType reportedS
        switch (reportedStatus) {\r
        case DEM_EVENT_STATUS_PREFAILED:\r
                if (statusRecord->faultDetectionCounter < DEBOUNCE_FDC_TEST_FAILED) {\r
-                       if (pdVars->JumpUp && (statusRecord->faultDetectionCounter < 0)) {\r
+                       if ((pdVars->JumpUp) && (statusRecord->faultDetectionCounter < 0)) {\r
                                statusRecord->faultDetectionCounter = 0;\r
                        } else {\r
-                               if (((sint16)statusRecord->faultDetectionCounter + pdVars->CountInStepSize) < DEBOUNCE_FDC_TEST_FAILED) {\r
-                                       statusRecord->faultDetectionCounter += pdVars->CountInStepSize;\r
+                               if (((sint16)statusRecord->faultDetectionCounter + (sint8)pdVars->CountInStepSize) < DEBOUNCE_FDC_TEST_FAILED) {\r
+                                       statusRecord->faultDetectionCounter += (sint8)pdVars->CountInStepSize;\r
                                } else {\r
                                        statusRecord->faultDetectionCounter = DEBOUNCE_FDC_TEST_FAILED;\r
                                }\r
@@ -402,11 +406,11 @@ static Dem_EventStatusType preDebounceCounterBased(Dem_EventStatusType reportedS
 \r
        case DEM_EVENT_STATUS_PREPASSED:\r
                if (statusRecord->faultDetectionCounter > DEBOUNCE_FDC_TEST_PASSED) {\r
-                       if (pdVars->JumpDown && (statusRecord->faultDetectionCounter > 0)) {\r
+                       if ((pdVars->JumpDown) && (statusRecord->faultDetectionCounter > 0)) {\r
                                statusRecord->faultDetectionCounter = 0;\r
                        } else {\r
-                               if (((sint16)statusRecord->faultDetectionCounter - pdVars->CountOutStepSize) > DEBOUNCE_FDC_TEST_PASSED) {\r
-                                       statusRecord->faultDetectionCounter -= pdVars->CountOutStepSize;\r
+                               if (((sint16)statusRecord->faultDetectionCounter - (sint8)pdVars->CountOutStepSize) > DEBOUNCE_FDC_TEST_PASSED) {\r
+                                       statusRecord->faultDetectionCounter -= (sint8)pdVars->CountOutStepSize;\r
                                } else {\r
                                        statusRecord->faultDetectionCounter = DEBOUNCE_FDC_TEST_PASSED;\r
                                }\r
@@ -508,7 +512,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
                        }\r
                        /** @req DEM036 */ /** @req DEM379.PendingSet */\r
                        eventStatusRecPtr->eventStatusExtended |= (DEM_TEST_FAILED | DEM_TEST_FAILED_THIS_OPERATION_CYCLE | DEM_TEST_FAILED_SINCE_LAST_CLEAR | DEM_PENDING_DTC);\r
-                       eventStatusRecPtr->eventStatusExtended &= ~(DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR | DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE);\r
+                       eventStatusRecPtr->eventStatusExtended &= (Dem_EventStatusExtendedType)~(DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR | DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE);\r
                }\r
 \r
                // Check test passed\r
@@ -517,8 +521,8 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
                                eventStatusRecPtr->errorStatusChanged = TRUE;\r
                        }\r
                        /** @req DEM036 */\r
-                       eventStatusRecPtr->eventStatusExtended &= ~DEM_TEST_FAILED;\r
-                       eventStatusRecPtr->eventStatusExtended &= ~(DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR | DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE);\r
+                       eventStatusRecPtr->eventStatusExtended &= (Dem_EventStatusExtendedType)~DEM_TEST_FAILED;\r
+                       eventStatusRecPtr->eventStatusExtended &= (Dem_EventStatusExtendedType)~(DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR | DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE);\r
                }\r
 \r
                // Copy the record\r
@@ -527,7 +531,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
        else {\r
                // Copy an empty record to return data\r
                eventStatusRec->eventId = DEM_EVENT_ID_NULL;\r
-               eventStatusRecPtr->faultDetectionCounter = 0;\r
+               eventStatusRec->faultDetectionCounter = 0;\r
                eventStatusRec->occurrence = 0;\r
                eventStatusRec->eventStatusExtended = DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE | DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR;\r
                eventStatusRec->errorStatusChanged = FALSE;\r
@@ -541,7 +545,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
  * Procedure:  mergeEventStatusRec\r
  * Description:        Update the occurrence counter of status, if not exist a new record is created\r
  */\r
-static void mergeEventStatusRec(EventRecType *eventRec)\r
+static void mergeEventStatusRec(const EventRecType *eventRec)\r
 {\r
        EventStatusRecType *eventStatusRecPtr;\r
        imask_t state = McuE_EnterCriticalSection();\r
@@ -631,7 +635,7 @@ static boolean lookupDtcEvent(uint32 dtc, EventStatusRecType **eventStatusRec)
 \r
        *eventStatusRec = NULL;\r
 \r
-       for (i = 0; (i < DEM_MAX_NUMBER_EVENT) && !dtcFound; i++) {\r
+       for (i = 0; (i < DEM_MAX_NUMBER_EVENT) && (!dtcFound); i++) {\r
                if (eventStatusBuffer[i].eventId != DEM_EVENT_ID_NULL) {\r
                        if (eventStatusBuffer[i].eventParamRef->DTCClassRef != NULL) {\r
 \r
@@ -669,11 +673,11 @@ static boolean matchEventWithDtcFilter(const EventStatusRecType *eventRec)
 \r
                                        // Check severity\r
                                        if ((dtcFilter.filterWithSeverity == DEM_FILTER_WITH_SEVERITY_NO)\r
-                                               || ((dtcFilter.filterWithSeverity == DEM_FILTER_WITH_SEVERITY_YES) && checkDtcSeverityMask(dtcFilter.dtcSeverityMask, eventRec->eventParamRef))) {\r
+                                               || ((dtcFilter.filterWithSeverity == DEM_FILTER_WITH_SEVERITY_YES) && (checkDtcSeverityMask(dtcFilter.dtcSeverityMask, eventRec->eventParamRef)))) {\r
 \r
                                                // Check fault detection counter\r
                                                if ((dtcFilter.filterForFaultDetectionCounter == DEM_FILTER_FOR_FDC_NO)\r
-                                                       || ((dtcFilter.filterWithSeverity == DEM_FILTER_FOR_FDC_YES) && checkDtcFaultDetectionCounter(eventRec->eventParamRef))) {\r
+                                                       || ((dtcFilter.filterWithSeverity == DEM_FILTER_FOR_FDC_YES) && (checkDtcFaultDetectionCounter(eventRec->eventParamRef)))) {\r
                                                        dtcMatch = TRUE;\r
                                                }\r
                                        }\r
@@ -686,24 +690,30 @@ static boolean matchEventWithDtcFilter(const EventStatusRecType *eventRec)
 }\r
 \r
 \r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static void getFreezeFrameData(const Dem_EventParameterType *eventParam, FreezeFrameRecType *freezeFrame)\r
 {\r
        // TODO: Fill out\r
        freezeFrame->eventId = DEM_EVENT_ID_NULL;       // Not supported yet\r
 }\r
+//lint -restore\r
 \r
-\r
-static void storeFreezeFrameDataPreInit(const Dem_EventParameterType *eventParam, FreezeFrameRecType *freezeFrame)\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
+static void storeFreezeFrameDataPreInit(const Dem_EventParameterType *eventParam, const FreezeFrameRecType *freezeFrame)\r
 {\r
        // TODO: Fill out\r
 }\r
+//lint -restore\r
 \r
-\r
-static void updateFreezeFrameOccurrencePreInit(EventRecType *EventBuffer)\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
+static void updateFreezeFrameOccurrencePreInit(const EventRecType *EventBuffer)\r
 {\r
        // TODO: Fill out\r
 }\r
-\r
+//lint -restore  // PC-lint: Restore to original error-setting.\r
 \r
 /*\r
  * Procedure:  getExtendedData\r
@@ -729,7 +739,7 @@ static void getExtendedData(const Dem_EventParameterType *eventParam, ExtDataRec
                                callbackReturnCode = eventParam->ExtendedDataClassRef->ExtendedDataRecordClassRef[i]->CallbackGetExtDataRecord(&extData->data[storeIndex]); /** @req DEM282 */\r
                                if (callbackReturnCode != E_OK) {\r
                                        // Callback data currently not available, clear space.\r
-                                       memset(&extData->data[storeIndex], 0xFF, recordSize);\r
+                                       memset(&extData->data[storeIndex], 0xFF, recordSize); // PC-Lint OK\r
                                }\r
                                storeIndex += recordSize;\r
                        }\r
@@ -760,24 +770,33 @@ static void getExtendedData(const Dem_EventParameterType *eventParam, ExtDataRec
  * Description:        Store the extended data pointed by "extendedData" to the "preInitExtDataBuffer",\r
  *                             if non existent a new entry is created.\r
  */\r
-static void storeExtendedDataPreInit(const Dem_EventParameterType *eventParam, ExtDataRecType *extendedData)\r
+static void storeExtendedDataPreInit(const Dem_EventParameterType *eventParam, const ExtDataRecType *extendedData)\r
 {\r
+       boolean eventIdFound = FALSE;\r
+       boolean eventIdFreePositionFound=FALSE;\r
        uint16 i;\r
        imask_t state = McuE_EnterCriticalSection();\r
 \r
        // Check if already stored\r
-       for (i = 0; (preInitExtDataBuffer[i].eventId != eventParam->EventID) && (i<DEM_MAX_NUMBER_EXT_DATA_PRE_INIT); i++);\r
+       for (i = 0; (i<DEM_MAX_NUMBER_EXT_DATA_PRE_INIT) && (!eventIdFound); i++){\r
+               eventIdFound = (preInitExtDataBuffer[i].eventId == eventParam->EventID);\r
+       }\r
 \r
-       if (i < DEM_MAX_NUMBER_EXT_DATA_PRE_INIT) {\r
+       if(eventIdFound){\r
                // Yes, overwrite existing\r
-               memcpy(&preInitExtDataBuffer[i], extendedData, sizeof(ExtDataRecType));\r
+               /*lint -esym(669,memcpy) -e826 */ /* supress lintwarning 669 and 826 locally. */\r
+               memcpy(&preInitExtDataBuffer[i-1], extendedData, sizeof(ExtDataRecType)); // 826,669 PC-Lint: OK. TA BORT ERROR! Lint does not recognise the size of the preInitExtDataBuffer record correctly.\r
        }\r
-       else {\r
+       else{\r
                // No, lookup first free position\r
-               for (i = 0; (preInitExtDataBuffer[i].eventId !=0) && (i<DEM_MAX_NUMBER_EXT_DATA_PRE_INIT); i++);\r
+               for (i = 0; (i<DEM_MAX_NUMBER_EXT_DATA_PRE_INIT) && (!eventIdFreePositionFound); i++){\r
+                       if(preInitExtDataBuffer[i].eventId ==0){\r
+                               eventIdFreePositionFound=TRUE;\r
+                       }\r
+               }\r
 \r
-               if (i < DEM_MAX_NUMBER_EXT_DATA_PRE_INIT) {\r
-                       memcpy(&preInitExtDataBuffer[i], extendedData, sizeof(ExtDataRecType));\r
+               if (eventIdFreePositionFound) {\r
+                       memcpy(&preInitExtDataBuffer[i-1], extendedData, sizeof(ExtDataRecType));\r
                }\r
                else {\r
                        // Error: Pre init extended data buffer full\r
@@ -788,34 +807,39 @@ static void storeExtendedDataPreInit(const Dem_EventParameterType *eventParam, E
        McuE_ExitCriticalSection(state);\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  storeEventPriMem\r
  * Description:        Store the event data of "eventStatus->eventId" in "priMemEventBuffer",\r
  *                             if non existent a new entry is created.\r
  */\r
-static void storeEventPriMem(const Dem_EventParameterType *eventParam, EventStatusRecType *eventStatus)\r
+static void storeEventPriMem(const Dem_EventParameterType *eventParam, const EventStatusRecType *eventStatus)\r
 {\r
+       boolean eventIdFound = FALSE;\r
+       boolean eventIdFreePositionFound=FALSE;\r
        uint16 i;\r
        imask_t state = McuE_EnterCriticalSection();\r
 \r
-\r
        // Lookup event ID\r
-       for (i = 0; (priMemEventBuffer[i].eventId != eventStatus->eventId) && (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI); i++);\r
+       for (i = 0; (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI) && (!eventIdFound); i++){\r
+               eventIdFound = (priMemEventBuffer[i].eventId == eventStatus->eventId);\r
+       }\r
 \r
-       if (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI) {\r
+       if (eventIdFound) {\r
                // Update event found\r
-               priMemEventBuffer[i].occurrence = eventStatus->occurrence;\r
-               priMemEventBuffer[i].checksum = calcChecksum(&priMemEventBuffer[i], sizeof(EventRecType)-sizeof(ChecksumType));\r
+               priMemEventBuffer[i-1].occurrence = eventStatus->occurrence;\r
+               priMemEventBuffer[i-1].checksum = calcChecksum(&priMemEventBuffer[i-1], sizeof(EventRecType)-sizeof(ChecksumType));\r
        }\r
        else {\r
                // Search for free position\r
-               for (i=0; (priMemEventBuffer[i].eventId != DEM_EVENT_ID_NULL) && (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI); i++);\r
+               for (i=0; (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI) && (!eventIdFreePositionFound); i++){\r
+                       eventIdFreePositionFound = (priMemEventBuffer[i].eventId == DEM_EVENT_ID_NULL);\r
+               }\r
+\r
 \r
-               if (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI) {\r
-                       priMemEventBuffer[i].eventId = eventStatus->eventId;\r
-                       priMemEventBuffer[i].occurrence = eventStatus->occurrence;\r
-                       priMemEventBuffer[i].checksum = calcChecksum(&priMemEventBuffer[i], sizeof(EventRecType)-sizeof(ChecksumType));\r
+               if (eventIdFreePositionFound) {\r
+                       priMemEventBuffer[i-1].eventId = eventStatus->eventId;\r
+                       priMemEventBuffer[i-1].occurrence = eventStatus->occurrence;\r
+                       priMemEventBuffer[i-1].checksum = calcChecksum(&priMemEventBuffer[i-1], sizeof(EventRecType)-sizeof(ChecksumType));\r
                }\r
                else {\r
                        // Error: Pri mem event buffer full\r
@@ -826,35 +850,36 @@ static void storeEventPriMem(const Dem_EventParameterType *eventParam, EventStat
        McuE_ExitCriticalSection(state);\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  deleteEventPriMem\r
  * Description:        Delete the event data of "eventParam->eventId" from "priMemEventBuffer".\r
  */\r
 static void deleteEventPriMem(const Dem_EventParameterType *eventParam)\r
 {\r
+       boolean eventIdFound = FALSE;\r
        uint16 i;\r
        imask_t state = McuE_EnterCriticalSection();\r
 \r
 \r
        // Lookup event ID\r
-       for (i = 0; (priMemEventBuffer[i].eventId != eventParam->EventID) && (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI); i++);\r
+       for (i = 0; (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI) && (!eventIdFound); i++){\r
+               eventIdFound = (priMemEventBuffer[i].eventId == eventParam->EventID);\r
+       }\r
 \r
-       if (i < DEM_MAX_NUMBER_EVENT_ENTRY_PRI) {\r
+       if (eventIdFound) {\r
                // Delete event found\r
-               memset(&priMemEventBuffer[i], 0, sizeof(EventRecType));\r
+               memset(&priMemEventBuffer[i-1], 0, sizeof(EventRecType));\r
        }\r
 \r
        McuE_ExitCriticalSection(state);\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  storeEventEvtMem\r
  * Description:        Store the event data of "eventStatus->eventId" in event memory according to\r
  *                             "eventParam" destination option.\r
  */\r
-static void storeEventEvtMem(const Dem_EventParameterType *eventParam, EventStatusRecType *eventStatus)\r
+static void storeEventEvtMem(const Dem_EventParameterType *eventParam, const EventStatusRecType *eventStatus)\r
 {\r
        uint16 i;\r
 \r
@@ -884,23 +909,29 @@ static void storeEventEvtMem(const Dem_EventParameterType *eventParam, EventStat
  * Description:        Store the extended data pointed by "extendedData" to the "priMemExtDataBuffer",\r
  *                             if non existent a new entry is created.\r
  */\r
-static void storeExtendedDataPriMem(const Dem_EventParameterType *eventParam, ExtDataRecType *extendedData) /** @req DEM041 */\r
+static void storeExtendedDataPriMem(const Dem_EventParameterType *eventParam, const ExtDataRecType *extendedData) /** @req DEM041 */\r
 {\r
+       boolean eventIdFound = FALSE;\r
+       boolean eventIdFreePositionFound=FALSE;\r
        uint16 i;\r
        imask_t state = McuE_EnterCriticalSection();\r
 \r
        // Check if already stored\r
-       for (i = 0; (priMemExtDataBuffer[i].eventId != eventParam->EventID) && (i<DEM_MAX_NUMBER_EXT_DATA_PRI_MEM); i++);\r
+       for (i = 0; (i<DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) && (!eventIdFound); i++){\r
+               eventIdFound = (priMemExtDataBuffer[i].eventId == eventParam->EventID);\r
+       }\r
 \r
-       if (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) {\r
+       if (eventIdFound) {\r
                // Yes, overwrite existing\r
-               memcpy(&priMemExtDataBuffer[i], extendedData, sizeof(ExtDataRecType));\r
+               memcpy(&priMemExtDataBuffer[i-1], extendedData, sizeof(ExtDataRecType));\r
        }\r
        else {\r
                // No, lookup first free position\r
-               for (i = 0; (priMemExtDataBuffer[i].eventId != DEM_EVENT_ID_NULL) && (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM); i++);\r
-               if (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) {\r
-                       memcpy(&priMemExtDataBuffer[i], extendedData, sizeof(ExtDataRecType));\r
+               for (i = 0; (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) && (!eventIdFreePositionFound); i++){\r
+                       eventIdFreePositionFound =  (priMemExtDataBuffer[i].eventId == DEM_EVENT_ID_NULL);\r
+               }\r
+               if (eventIdFreePositionFound) {\r
+                       memcpy(&priMemExtDataBuffer[i-1], extendedData, sizeof(ExtDataRecType));\r
                }\r
                else {\r
                        // Error: Pri mem extended data buffer full\r
@@ -911,34 +942,35 @@ static void storeExtendedDataPriMem(const Dem_EventParameterType *eventParam, Ex
        McuE_ExitCriticalSection(state);\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  deleteExtendedDataPriMem\r
  * Description:        Delete the extended data of "eventParam->eventId" from "priMemExtDataBuffer".\r
  */\r
 static void deleteExtendedDataPriMem(const Dem_EventParameterType *eventParam)\r
 {\r
+       boolean eventIdFound = FALSE;\r
        uint16 i;\r
        imask_t state = McuE_EnterCriticalSection();\r
 \r
        // Check if already stored\r
-       for (i = 0; (priMemExtDataBuffer[i].eventId != eventParam->EventID) && (i<DEM_MAX_NUMBER_EXT_DATA_PRI_MEM); i++);\r
+       for (i = 0;(i<DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) && (!eventIdFound); i++){\r
+               eventIdFound = (priMemExtDataBuffer[i].eventId == eventParam->EventID);\r
+       }\r
 \r
-       if (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) {\r
+       if (eventIdFound) {\r
                // Yes, clear record\r
-               memset(&priMemExtDataBuffer[i], 0, sizeof(ExtDataRecType));\r
+               memset(&priMemExtDataBuffer[i-1], 0, sizeof(ExtDataRecType));\r
        }\r
 \r
        McuE_ExitCriticalSection(state);\r
 }\r
 \r
-\r
 /*\r
  * Procedure:  storeExtendedDataEvtMem\r
  * Description:        Store the extended data in event memory according to\r
  *                             "eventParam" destination option\r
  */\r
-static void storeExtendedDataEvtMem(const Dem_EventParameterType *eventParam, ExtDataRecType *extendedData)\r
+static void storeExtendedDataEvtMem(const Dem_EventParameterType *eventParam, const ExtDataRecType *extendedData)\r
 {\r
        uint16 i;\r
 \r
@@ -968,7 +1000,7 @@ static void storeExtendedDataEvtMem(const Dem_EventParameterType *eventParam, Ex
  * Description:        Returns TRUE if the requested extended data number was found among the configured records for the event.\r
  *                             "extDataRecClassPtr" returns a pointer to the record class, "posInExtData" returns the position in stored extended data.\r
  */\r
-static boolean lookupExtendedDataRecNumParam(uint8 extendedDataNumber, const Dem_EventParameterType *eventParam, Dem_ExtendedDataRecordClassType const **extDataRecClassPtr, uint8 *posInExtData)\r
+static boolean lookupExtendedDataRecNumParam(uint8 extendedDataNumber, const Dem_EventParameterType *eventParam, Dem_ExtendedDataRecordClassType const **extDataRecClassPtr, uint16 *posInExtData)\r
 {\r
        boolean recNumFound = FALSE;\r
 \r
@@ -978,7 +1010,7 @@ static boolean lookupExtendedDataRecNumParam(uint8 extendedDataNumber, const Dem
                uint16 i;\r
 \r
                // Request extended data and copy it to the buffer\r
-               for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_EXTENDED_DATA) && (extDataRecClassRefList[i] != NULL) && !recNumFound; i++) {\r
+               for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_EXTENDED_DATA) && (extDataRecClassRefList[i] != NULL) && (!recNumFound); i++) {\r
                        if (extDataRecClassRefList[i]->RecordNumber == extendedDataNumber) {\r
                                *extDataRecClassPtr =  extDataRecClassRefList[i];\r
                                *posInExtData = byteCnt;\r
@@ -999,31 +1031,36 @@ static boolean lookupExtendedDataRecNumParam(uint8 extendedDataNumber, const Dem
 static boolean lookupExtendedDataPriMem(Dem_EventIdType eventId, ExtDataRecType **extData)\r
 {\r
        boolean eventIdFound = FALSE;\r
-       uint16 i;\r
+       sint16 i;\r
 \r
        // Lookup corresponding extended data\r
-       for (i = 0; (priMemExtDataBuffer[i].eventId != eventId) && (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM); i++);\r
+       for (i = 0; (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) && (!eventIdFound); i++) {\r
+               eventIdFound = (priMemExtDataBuffer[i].eventId == eventId);\r
+       }\r
 \r
-       if (i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM) {\r
+       if (eventIdFound) {\r
                // Yes, return pointer\r
-               *extData = &priMemExtDataBuffer[i];\r
-               eventIdFound = TRUE;\r
+               *extData = &priMemExtDataBuffer[i-1];\r
        }\r
 \r
        return eventIdFound;\r
 }\r
 \r
-\r
-static void storeFreezeFrameDataPriMem(const Dem_EventParameterType *eventParam, FreezeFrameRecType *freezeFrame)\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
+static void storeFreezeFrameDataPriMem(const Dem_EventParameterType *eventParam, const FreezeFrameRecType *freezeFrame)\r
 {\r
        // TODO: Fill out\r
 }\r
+//lint -restore\r
 \r
-\r
+// PC-Lint (715 etc): Remove errors until function is filled.\r
+//lint -save -e*\r
 static void deleteFreezeFrameDataPriMem(const Dem_EventParameterType *eventParam)\r
 {\r
        // TODO: Fill out\r
 }\r
+//lint -restore\r
 \r
 \r
 /*\r
@@ -1031,7 +1068,7 @@ static void deleteFreezeFrameDataPriMem(const Dem_EventParameterType *eventParam
  * Description:        Store the freeze frame data in event memory according to\r
  *                             "eventParam" destination option\r
  */\r
-static void storeFreezeFrameDataEvtMem(const Dem_EventParameterType *eventParam, FreezeFrameRecType *freezeFrame)\r
+static void storeFreezeFrameDataEvtMem(const Dem_EventParameterType *eventParam, const FreezeFrameRecType *freezeFrame)\r
 {\r
        uint16 i;\r
 \r
@@ -1131,7 +1168,7 @@ static Std_ReturnType handleEvent(Dem_EventIdType eventId, Dem_EventStatusType e
        if (eventParam != NULL) {\r
                if (eventParam->EventClass->OperationCycleRef < DEM_OPERATION_CYCLE_ID_ENDMARK) {\r
                        if (operationCycleStateList[eventParam->EventClass->OperationCycleRef] == DEM_CYCLE_STATE_START) {\r
-                               if (!(disableDtcStorage.storageDisabled && checkDtcGroup(disableDtcStorage.dtcGroup, eventParam) && checkDtcKind(disableDtcStorage.dtcKind, eventParam)))  {\r
+                               if ((!((disableDtcStorage.storageDisabled) && (checkDtcGroup(disableDtcStorage.dtcGroup, eventParam)) && (checkDtcKind(disableDtcStorage.dtcKind, eventParam)))))  {\r
                                        updateEventStatusRec(eventParam, eventStatus, TRUE, &eventStatusLocal);\r
                                        if (eventStatusLocal.errorStatusChanged) {\r
                                                if (eventStatusLocal.eventStatusExtended & DEM_TEST_FAILED) {\r
@@ -1182,7 +1219,7 @@ static void resetEventStatus(Dem_EventIdType eventId)
 \r
        lookupEventStatusRec(eventId, &eventStatusRecPtr);\r
        if (eventStatusRecPtr != NULL) {\r
-               eventStatusRecPtr->eventStatusExtended &= ~DEM_TEST_FAILED; /** @req DEM187 */\r
+               eventStatusRecPtr->eventStatusExtended &= (Dem_EventStatusExtendedType)~DEM_TEST_FAILED; /** @req DEM187 */\r
        }\r
 \r
        McuE_ExitCriticalSection(state);\r
@@ -1332,7 +1369,7 @@ static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationC
                        // Lookup event ID\r
                        for (i = 0; i < DEM_MAX_NUMBER_EVENT; i++) {\r
                                if ((eventStatusBuffer[i].eventId != DEM_EVENT_ID_NULL) && (eventStatusBuffer[i].eventParamRef->EventClass->OperationCycleRef == operationCycleId)) {\r
-                                       eventStatusBuffer[i].eventStatusExtended &= ~DEM_TEST_FAILED_THIS_OPERATION_CYCLE;\r
+                                       eventStatusBuffer[i].eventStatusExtended &= (Dem_EventStatusExtendedType)~DEM_TEST_FAILED_THIS_OPERATION_CYCLE;\r
                                        eventStatusBuffer[i].eventStatusExtended |= DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE;\r
                                }\r
                        }\r
@@ -1343,8 +1380,8 @@ static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationC
                        // Lookup event ID\r
                        for (i = 0; i < DEM_MAX_NUMBER_EVENT; i++) {\r
                                if ((eventStatusBuffer[i].eventId != DEM_EVENT_ID_NULL) && (eventStatusBuffer[i].eventParamRef->EventClass->OperationCycleRef == operationCycleId)) {\r
-                                       if (!(eventStatusBuffer[i].eventStatusExtended & DEM_TEST_FAILED_THIS_OPERATION_CYCLE) && !(eventStatusBuffer[i].eventStatusExtended & DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE)) {\r
-                                               eventStatusBuffer[i].eventStatusExtended &= ~DEM_PENDING_DTC;           // Clear pendingDTC bit /** @req DEM379.PendingClear\r
+                                       if ((!(eventStatusBuffer[i].eventStatusExtended & DEM_TEST_FAILED_THIS_OPERATION_CYCLE)) && (!(eventStatusBuffer[i].eventStatusExtended & DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE))) {\r
+                                               eventStatusBuffer[i].eventStatusExtended &= (Dem_EventStatusExtendedType)~DEM_PENDING_DTC;              // Clear pendingDTC bit /** @req DEM379.PendingClear\r
                                        }\r
                                }\r
                        }\r
@@ -1392,7 +1429,7 @@ static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationC
 void Dem_PreInit(void)\r
 {\r
        /** @req DEM180 */\r
-       int i, j;\r
+       uint16 i, j;\r
 \r
        VALIDATE_NO_RV(DEM_Config.ConfigSet != NULL, DEM_PREINIT_ID, DEM_E_CONFIG_PTR_INVALID);\r
 \r
@@ -1419,21 +1456,23 @@ void Dem_PreInit(void)
                preInitFreezeFrameBuffer[i].eventId = DEM_EVENT_ID_NULL;\r
                preInitFreezeFrameBuffer[i].occurrence = 0;\r
                preInitFreezeFrameBuffer[i].dataSize = 0;\r
-               for (j = 0; j < DEM_MAX_SIZE_FF_DATA;j++)\r
+               for (j = 0; j < DEM_MAX_SIZE_FF_DATA;j++){\r
                        preInitFreezeFrameBuffer[i].data[j] = 0;\r
+               }\r
        }\r
 \r
        for (i = 0; i < DEM_MAX_NUMBER_EXT_DATA_PRE_INIT; i++) {\r
                preInitExtDataBuffer[i].checksum = 0;\r
                preInitExtDataBuffer[i].eventId = DEM_EVENT_ID_NULL;\r
                preInitExtDataBuffer[i].dataSize = 0;\r
-               for (j = 0; j < DEM_MAX_SIZE_EXT_DATA;j++)\r
+               for (j = 0; j < DEM_MAX_SIZE_EXT_DATA;j++){\r
                        preInitExtDataBuffer[i].data[j] = 0;\r
+               }\r
        }\r
 \r
        disableDtcStorage.storageDisabled = FALSE;\r
 \r
-       setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_START); /** @req DEM047 */\r
+       (void)setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_START); /** @req DEM047 */\r
 \r
        demState = DEM_PREINITIALIZED;\r
 }\r
@@ -1456,7 +1495,7 @@ void Dem_Init(void)
        // Validate event records stored in primary memory\r
        for (i = 0; i < DEM_MAX_NUMBER_EVENT_PRI_MEM; i++) {\r
                cSum = calcChecksum(&priMemEventBuffer[i], sizeof(EventRecType)-sizeof(ChecksumType));\r
-               if ((cSum != priMemEventBuffer[i].checksum) || priMemEventBuffer[i].eventId == DEM_EVENT_ID_NULL) {\r
+               if ((cSum != priMemEventBuffer[i].checksum) || (priMemEventBuffer[i].eventId == DEM_EVENT_ID_NULL)) {\r
                        // Unlegal record, clear the record\r
                        memset(&priMemEventBuffer[i], 0, sizeof(EventRecType));\r
                }\r
@@ -1472,7 +1511,7 @@ void Dem_Init(void)
        // Validate extended data records stored in primary memory\r
        for (i = 0; i < DEM_MAX_NUMBER_EXT_DATA_PRI_MEM; i++) {\r
                cSum = calcChecksum(&priMemExtDataBuffer[i], sizeof(ExtDataRecType)-sizeof(ChecksumType));\r
-               if ((cSum != priMemExtDataBuffer[i].checksum) || priMemExtDataBuffer[i].eventId == DEM_EVENT_ID_NULL) {\r
+               if ((cSum != priMemExtDataBuffer[i].checksum) || (priMemExtDataBuffer[i].eventId == DEM_EVENT_ID_NULL)) {\r
                        // Unlegal record, clear the record\r
                        memset(&priMemExtDataBuffer[i], 0, sizeof(ExtDataRecType));\r
                }\r
@@ -1538,7 +1577,7 @@ void Dem_Init(void)
  */\r
 void Dem_Shutdown(void)\r
 {\r
-       setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_END); /** @req DEM047 */\r
+       (void)setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_END); /** @req DEM047 */\r
 \r
        demState = DEM_UNINITIALIZED; /** @req DEM368 */\r
 }\r
@@ -1830,7 +1869,7 @@ Dem_ReturnSetDTCFilterType Dem_SetDTCFilter(uint8 dtcStatusMask,
                // Check filterWithSeverity and dtcSeverityMask parameter\r
                VALIDATE_RV(((filterWithSeverity == DEM_FILTER_WITH_SEVERITY_NO)\r
                                        || ((filterWithSeverity == DEM_FILTER_WITH_SEVERITY_YES)\r
-                                               && !(dtcSeverityMask & ~(DEM_SEVERITY_MAINTENANCE_ONLY | DEM_SEVERITY_CHECK_AT_NEXT_FALT | DEM_SEVERITY_CHECK_IMMEDIATELY)))), DEM_SETDTCFILTER_ID, DEM_E_PARAM_DATA, DEM_WRONG_FILTER);\r
+                                               && (!(dtcSeverityMask & (Dem_DTCSeverityType)~(DEM_SEVERITY_MAINTENANCE_ONLY | DEM_SEVERITY_CHECK_AT_NEXT_FALT | DEM_SEVERITY_CHECK_IMMEDIATELY))))), DEM_SETDTCFILTER_ID, DEM_E_PARAM_DATA, DEM_WRONG_FILTER);\r
 \r
                // Check filterForFaultDetectionCounter parameter\r
                VALIDATE_RV((filterForFaultDetectionCounter == DEM_FILTER_FOR_FDC_YES) || (filterForFaultDetectionCounter ==  DEM_FILTER_FOR_FDC_NO), DEM_SETDTCFILTER_ID, DEM_E_PARAM_DATA, DEM_WRONG_FILTER);\r
@@ -1932,7 +1971,7 @@ Dem_ReturnGetNextFilteredDTCType Dem_GetNextFilteredDTC(uint32 *dtc, Dem_EventSt
 \r
        if (demState == DEM_INITIALIZED) {\r
                // TODO: This job should be done in an more advanced way according to Dem217\r
-               while (!dtcFound && (dtcFilter.faultIndex != 0)) {\r
+               while ((!dtcFound) && (dtcFilter.faultIndex != 0)) {\r
                        dtcFilter.faultIndex--;\r
                        if (eventStatusBuffer[dtcFilter.faultIndex].eventId != DEM_EVENT_ID_NULL) {\r
                                if (matchEventWithDtcFilter(&eventStatusBuffer[dtcFilter.faultIndex])) {\r
@@ -1986,11 +2025,15 @@ Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTC
                        if (eventId != DEM_EVENT_ID_NULL) {\r
                                eventParam = eventStatusBuffer[i].eventParamRef;\r
                                if (eventParam != NULL) {\r
-                                       if (DEM_CLEAR_ALL_EVENTS | (eventParam->DTCClassRef != NULL)) {\r
+                                       if ((DEM_CLEAR_ALL_EVENTS == STD_ON) || (eventParam->DTCClassRef != NULL)) {\r
                                                if (checkDtcKind(dtcKind, eventParam)) {\r
                                                        if (checkDtcGroup(dtc, eventParam)) {\r
-                                                               for (j = 0; (j < DEM_MAX_NR_OF_EVENT_DESTINATION) && (eventParam->EventClass->EventDestination[j] != dtcOrigin); j++);\r
-                                                               if (j < DEM_MAX_NR_OF_EVENT_DESTINATION) {\r
+                                                               boolean dtcOriginFound = FALSE;\r
+                                                               for (j = 0; (j < DEM_MAX_NR_OF_EVENT_DESTINATION) && (!dtcOriginFound) ; j++){\r
+                                                                       dtcOriginFound =(eventParam->EventClass->EventDestination[j] == dtcOrigin);\r
+                                                               }\r
+                                                               //if (j-1 < DEM_MAX_NR_OF_EVENT_DESTINATION) {\r
+                                                               if (dtcOriginFound) {\r
                                                                        // Yes! All conditions met.\r
                                                                        switch (dtcOrigin)\r
                                                                        {\r
@@ -2075,6 +2118,7 @@ Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup,
 \r
        if (demState == DEM_INITIALIZED) {\r
                // TODO: Behavior is not defined if group or kind do not match active settings, therefore the filter is just switched off.\r
+               (void)dtcGroup; (void)dtcKind;  // Just to make get rid of PC-Lint warnings\r
                disableDtcStorage.storageDisabled = FALSE; /** @req DEM080 */\r
        } else {\r
                DET_REPORTERROR(MODULE_ID_DEM, 0, DEM_ENABLEDTCSTORAGE_ID, DEM_E_UNINIT);\r
@@ -2088,13 +2132,13 @@ Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup,
  * Procedure:  Dem_GetExtendedDataRecordByDTC\r
  * Reentrant:  No\r
  */\r
-Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint8 *bufSize)\r
+Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint16 *bufSize)\r
 {\r
        Dem_ReturnGetExtendedDataRecordByDTCType returnCode = DEM_RECORD_WRONG_DTC;\r
        EventStatusRecType *eventRec;\r
        Dem_ExtendedDataRecordClassType const *extendedDataRecordClass = NULL;\r
        ExtDataRecType *extData;\r
-       uint8 posInExtData = 0;\r
+       uint16 posInExtData = 0;\r
 \r
        if (demState == DEM_INITIALIZED) {\r
                if (lookupDtcEvent(dtc, &eventRec)) {\r
@@ -2107,7 +2151,7 @@ Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 d
                                                        case DEM_DTC_ORIGIN_PRIMARY_MEMORY:\r
                                                                if (lookupExtendedDataPriMem(eventRec->eventId, &extData)) {\r
                                                                        // Yes all conditions met, copy the extended data record to destination buffer.\r
-                                                                       memcpy(destBuffer, &extData->data[posInExtData], extendedDataRecordClass->DataSize); /** @req DEM075 */\r
+                                                                       memcpy(destBuffer, &extData->data[posInExtData], extendedDataRecordClass->DataSize); /** @req DEM075 */ // 960 PC-Lint OK\r
                                                                        *bufSize = extendedDataRecordClass->DataSize;\r
                                                                        returnCode = DEM_RECORD_OK;\r
                                                                }\r
@@ -2164,7 +2208,7 @@ Dem_ReturnGetSizeOfExtendedDataRecordByDTCType Dem_GetSizeOfExtendedDataRecordBy
        Dem_ReturnGetExtendedDataRecordByDTCType returnCode = DEM_GET_SIZEOFEDRBYDTC_W_DTC;\r
        EventStatusRecType *eventRec;\r
        Dem_ExtendedDataRecordClassType const *extendedDataRecordClass = NULL;\r
-       uint8 posInExtData;\r
+       uint16 posInExtData;\r
 \r
        if (demState == DEM_INITIALIZED) {\r
                if (lookupDtcEvent(dtc, &eventRec)) {\r
index d1079e0136de55c0ec7427b972ca1a36a99b7c3c..8c71c4c5cdeaa43d48e64602eae8fd41079bfd4d 100644 (file)
@@ -192,7 +192,7 @@ typedef struct {
 // 10.2.20\r
 typedef struct {\r
        Dem_PreDebounceNameType                                         PreDebounceName;                                // (1)\r
-       union {\r
+       union { // 960 PC-lint: 18.4 Unions shall not be used. Ta upp på möte!\r
        const Dem_PreDebounceMonitorInternalType        *PreDebounceMonitorInternal;    // (0..1)\r
        const Dem_PreDebounceCounterBasedType           *PreDebounceCounterBased;               // (0..1)\r
        const Dem_PreDebounceFrequencyBasedType         *PreDebounceFrequencyBased;             // (0..1)\r
index fe1789fba68d1c6e19b0cfbd094789d7ef6e5497..fdd5592587aff8fd105e03a0e837278872ae2fdb 100644 (file)
  * DTC storage types\r
  */\r
 typedef uint8 Dem_ReturnTypeOfDtcSupportedType;\r
-#define DEM_ISO15031_6         0x00\r
-#define DEM_ISO14229_1         0x01\r
-#define DEM_SAEJ1939_73                0x02\r
-#define DEM_ISO_11992_4                0x03\r
+#define DEM_ISO15031_6         (Dem_ReturnTypeOfDtcSupportedType)0x00\r
+#define DEM_ISO14229_1         (Dem_ReturnTypeOfDtcSupportedType)0x01\r
+#define DEM_SAEJ1939_73                (Dem_ReturnTypeOfDtcSupportedType)0x02\r
+#define DEM_ISO_11992_4                (Dem_ReturnTypeOfDtcSupportedType)0x03\r
 \r
 /*\r
  * Dem_EventIdType\r
@@ -44,42 +44,42 @@ typedef uint16 Dem_EventIdType;
  * Dem_DTCGroupType\r
  */\r
 typedef uint32 Dem_DTCGroupType;\r
-#define        DEM_DTC_GROUP_ALL_DTCS                  0xffffff\r
+#define        DEM_DTC_GROUP_ALL_DTCS                  (Dem_DTCGroupType)0xffffff\r
 \r
 /*\r
  * Dem status type\r
  */\r
-#define DEM_DTC_STATUS_MASK_ALL                        0x00\r
+#define DEM_DTC_STATUS_MASK_ALL                        (uint8)0x00\r
 \r
 \r
 /*\r
  * DemDTCKindType\r
  */\r
 typedef uint8 Dem_DTCKindType;\r
-#define        DEM_DTC_KIND_ALL_DTCS                   0x01\r
-#define        DEM_DTC_KIND_EMISSION_REL_DTCS  0x02\r
+#define        DEM_DTC_KIND_ALL_DTCS                   (Dem_DTCKindType)0x01\r
+#define        DEM_DTC_KIND_EMISSION_REL_DTCS  (Dem_DTCKindType)0x02\r
 \r
 /*\r
  * DemDTCOriginType\r
  */\r
 typedef uint8 Dem_DTCOriginType;\r
-#define        DEM_DTC_ORIGIN_SECONDARY_MEMORY 0x01\r
-#define        DEM_DTC_ORIGIN_PRIMARY_MEMORY   0x02\r
-#define        DEM_DTC_ORIGIN_PERMANENT_MEMORY 0x03\r
-#define        DEM_DTC_ORIGIN_MIRROR_MEMORY    0x04\r
+#define        DEM_DTC_ORIGIN_SECONDARY_MEMORY (Dem_DTCOriginType)0x01\r
+#define        DEM_DTC_ORIGIN_PRIMARY_MEMORY   (Dem_DTCOriginType)0x02\r
+#define        DEM_DTC_ORIGIN_PERMANENT_MEMORY (Dem_DTCOriginType)0x03\r
+#define        DEM_DTC_ORIGIN_MIRROR_MEMORY    (Dem_DTCOriginType)0x04\r
 \r
 /*\r
  * DemEventStatusExtendedType\r
  */\r
 typedef uint8 Dem_EventStatusExtendedType;\r
-#define        DEM_TEST_FAILED                                                         0x01\r
-#define        DEM_TEST_FAILED_THIS_OPERATION_CYCLE            0x02\r
-#define        DEM_PENDING_DTC                                                         0x04\r
-#define        DEM_CONFIRMED_DTC                                                       0x08\r
-#define        DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR         0x10\r
-#define        DEM_TEST_FAILED_SINCE_LAST_CLEAR                        0x20\r
-#define        DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE 0x40\r
-#define        DEM_WARNING_INDICATOR_REQUESTED                         0x80\r
+#define        DEM_TEST_FAILED                                                         (Dem_EventStatusExtendedType)0x01\r
+#define        DEM_TEST_FAILED_THIS_OPERATION_CYCLE            (Dem_EventStatusExtendedType)0x02\r
+#define        DEM_PENDING_DTC                                                         (Dem_EventStatusExtendedType)0x04\r
+#define        DEM_CONFIRMED_DTC                                                       (Dem_EventStatusExtendedType)0x08\r
+#define        DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR         (Dem_EventStatusExtendedType)0x10\r
+#define        DEM_TEST_FAILED_SINCE_LAST_CLEAR                        (Dem_EventStatusExtendedType)0x20\r
+#define        DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE (Dem_EventStatusExtendedType)0x40\r
+#define        DEM_WARNING_INDICATOR_REQUESTED                         (Dem_EventStatusExtendedType)0x80\r
 \r
 /*\r
  * DemOperationCycleType\r
@@ -100,31 +100,31 @@ enum {
  * Dem_OperationCycleStateType\r
  */\r
 typedef uint8 Dem_OperationCycleStateType;\r
-#define DEM_CYCLE_STATE_START          1\r
-#define DEM_CYCLE_STATE_END                    2\r
+#define DEM_CYCLE_STATE_START          (Dem_OperationCycleStateType)1\r
+#define DEM_CYCLE_STATE_END                    (Dem_OperationCycleStateType)2\r
 \r
 /*\r
  * Dem_FreezeFrameKindType\r
  */\r
 typedef uint8 Dem_FreezeFrameKindType; // TODO: Check type and values\r
-#define        DEM_FREEZE_FRAME_NON_OBD        0x01\r
-#define DEM_FREEZE_FRAME_OBD           0x02\r
+#define        DEM_FREEZE_FRAME_NON_OBD        (Dem_FreezeFrameKindType)0x01\r
+#define DEM_FREEZE_FRAME_OBD           (Dem_FreezeFrameKindType)0x02\r
 \r
 /*\r
  * Dem_EventKindType\r
  */\r
 typedef uint8 Dem_EventKindType;               // TODO: Check type and values\r
-#define DEM_EVENT_KIND_BSW             0x01\r
-#define DEM_EVENT_KIND_SWC             0x02\r
+#define DEM_EVENT_KIND_BSW             (Dem_EventKindType)0x01\r
+#define DEM_EVENT_KIND_SWC             (Dem_EventKindType)0x02\r
 \r
 /*\r
  * Dem_EventStatusType\r
  */\r
 typedef uint8 Dem_EventStatusType;\r
-#define DEM_EVENT_STATUS_PASSED                0\r
-#define DEM_EVENT_STATUS_FAILED                1\r
-#define DEM_EVENT_STATUS_PREPASSED     2\r
-#define DEM_EVENT_STATUS_PREFAILED     3\r
+#define DEM_EVENT_STATUS_PASSED                (Dem_EventStatusType)0\r
+#define DEM_EVENT_STATUS_FAILED                (Dem_EventStatusType)1\r
+#define DEM_EVENT_STATUS_PREPASSED     (Dem_EventStatusType)2\r
+#define DEM_EVENT_STATUS_PREFAILED     (Dem_EventStatusType)3\r
 \r
 /*\r
  * Dem_DTCType\r
@@ -135,17 +135,17 @@ typedef uint32 Dem_DTCType;
  * Dem_InitMonitorKindType\r
  */\r
 typedef uint8 Dem_InitMonitorKindType;\r
-#define DEM_INIT_MONITOR_CLEAR         1\r
-#define DEM_INIT_MONITOR_RESTART       2\r
+#define DEM_INIT_MONITOR_CLEAR         (Dem_InitMonitorKindType)1\r
+#define DEM_INIT_MONITOR_RESTART       (Dem_InitMonitorKindType)2\r
 \r
 /*\r
  * Dem_IndicatorStatusType\r
  */\r
 typedef uint8 Dem_IndicatorStatusType;\r
-#define DEM_INDICATOR_OFF                      0\r
-#define DEM_INDICATOR_CONTINUOUS       1\r
-#define DEM_INDICATOR_BLINKING         2\r
-#define DEM_INDICATOR_BLINK_CONT       3\r
+#define DEM_INDICATOR_OFF                      (Dem_IndicatorStatusType)0\r
+#define DEM_INDICATOR_CONTINUOUS       (Dem_IndicatorStatusType)1\r
+#define DEM_INDICATOR_BLINKING         (Dem_IndicatorStatusType)2\r
+#define DEM_INDICATOR_BLINK_CONT       (Dem_IndicatorStatusType)3\r
 \r
 /*\r
  * Dem_FaultDetectionCpunterType\r
@@ -167,168 +167,168 @@ enum {
  * Dem_FilterWithSeverityType\r
  */\r
 typedef uint8 Dem_FilterWithSeverityType;\r
-#define DEM_FILTER_WITH_SEVERITY_YES    0x00\r
-#define DEM_FILTER_WITH_SEVERITY_NO     0x01\r
+#define DEM_FILTER_WITH_SEVERITY_YES    (Dem_FilterWithSeverityType)0x00\r
+#define DEM_FILTER_WITH_SEVERITY_NO     (Dem_FilterWithSeverityType)0x01\r
 \r
 /*\r
  * Dem_FilterForFDCType\r
  */\r
 typedef uint8 Dem_FilterForFDCType;\r
-#define DEM_FILTER_FOR_FDC_YES          0x00\r
-#define DEM_FILTER_FOR_FDC_NO           0x01\r
+#define DEM_FILTER_FOR_FDC_YES          (Dem_FilterForFDCType)0x00\r
+#define DEM_FILTER_FOR_FDC_NO           (Dem_FilterForFDCType)0x01\r
 \r
 /*\r
  * Dem_DTCSeverityType\r
  */\r
 typedef uint8 Dem_DTCSeverityType;\r
-#define DEM_SEVERITY_NO_SEVERITY        0x00 // No severity information available\r
-#define DEM_SEVERITY_MAINTENANCE_ONLY   0x20\r
-#define DEM_SEVERITY_CHECK_AT_NEXT_FALT 0x40\r
-#define DEM_SEVERITY_CHECK_IMMEDIATELY  0x80\r
+#define DEM_SEVERITY_NO_SEVERITY        (Dem_DTCSeverityType)0x00 // No severity information available\r
+#define DEM_SEVERITY_MAINTENANCE_ONLY   (Dem_DTCSeverityType)0x20\r
+#define DEM_SEVERITY_CHECK_AT_NEXT_FALT (Dem_DTCSeverityType)0x40\r
+#define DEM_SEVERITY_CHECK_IMMEDIATELY  (Dem_DTCSeverityType)0x80\r
 \r
 /*\r
  * Dem_ReturnSetDTCFilterType\r
  */\r
 typedef uint8 Dem_ReturnSetDTCFilterType;\r
-#define DEM_FILTER_ACCEPTED    0x00\r
-#define DEM_WRONG_FILTER       0x01\r
+#define DEM_FILTER_ACCEPTED    (Dem_ReturnSetDTCFilterType)0x00\r
+#define DEM_WRONG_FILTER       (Dem_ReturnSetDTCFilterType)0x01\r
 \r
 /*\r
  * Dem_ReturnGetStatusOfDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetStatusOfDTCType;\r
-#define DEM_STATUS_OK                                          0x00\r
-#define DEM_STATUS_WRONG_DTC                           0x01\r
-#define DEM_STATUS_WRONG_DTCORIGIN                     0x02\r
-#define DEM_STATUS_FAILED                                      0x04\r
-#define DEM_STATUS_WRONG_DTCKIND                       0x03\r
+#define DEM_STATUS_OK                                          (Dem_ReturnGetStatusOfDTCType)0x00\r
+#define DEM_STATUS_WRONG_DTC                           (Dem_ReturnGetStatusOfDTCType)0x01\r
+#define DEM_STATUS_WRONG_DTCORIGIN                     (Dem_ReturnGetStatusOfDTCType)0x02\r
+#define DEM_STATUS_FAILED                                      (Dem_ReturnGetStatusOfDTCType)0x04\r
+#define DEM_STATUS_WRONG_DTCKIND                       (Dem_ReturnGetStatusOfDTCType)0x03\r
 \r
 /*\r
  * Dem_ReturnGetNextFilteredDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetNextFilteredDTCType;\r
-#define DEM_FILTERED_OK                                                0x00\r
-#define DEM_FILTERED_NO_MATCHING_DTC           0x01\r
-#define DEM_FILTERED_WRONG_DTCKIND                     0x02\r
-#define DEM_FILTERED_PENDING                           0x03\r
+#define DEM_FILTERED_OK                                                (Dem_ReturnGetNextFilteredDTCType)0x00\r
+#define DEM_FILTERED_NO_MATCHING_DTC           (Dem_ReturnGetNextFilteredDTCType)0x01\r
+#define DEM_FILTERED_WRONG_DTCKIND                     (Dem_ReturnGetNextFilteredDTCType)0x02\r
+#define DEM_FILTERED_PENDING                           (Dem_ReturnGetNextFilteredDTCType)0x03\r
 \r
 /*\r
  * Dem_ReturnGetNumberOfFilteredDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetNumberOfFilteredDTCType;\r
-#define DEM_NUMBER_OK                                          0x00\r
-#define DEM_NUMBER_FAILED                                      0x01\r
-#define DEM_NUMBER_PENDING                                     0x02\r
+#define DEM_NUMBER_OK                                          (Dem_ReturnGetNumberOfFilteredDTCType)0x00\r
+#define DEM_NUMBER_FAILED                                      (Dem_ReturnGetNumberOfFilteredDTCType)0x01\r
+#define DEM_NUMBER_PENDING                                     (Dem_ReturnGetNumberOfFilteredDTCType)0x02\r
 \r
 /*\r
  * Dem_ReturnClearDTCType\r
  */\r
 typedef uint8 Dem_ReturnClearDTCType;\r
-#define DEM_CLEAR_OK                                           0x00\r
-#define DEM_CLEAR_WRONG_DTC                                    0x01\r
-#define DEM_CLEAR_WRONG_DTCORIGIN                      0x02\r
-#define DEM_CLEAR_WRONG_DTCKIND                                0x03\r
-#define DEM_CLEAR_FAILED                                       0x04\r
-#define DEM_DTC_PENDING                                                0x05\r
+#define DEM_CLEAR_OK                                           (Dem_ReturnClearDTCType)0x00\r
+#define DEM_CLEAR_WRONG_DTC                                    (Dem_ReturnClearDTCType)0x01\r
+#define DEM_CLEAR_WRONG_DTCORIGIN                      (Dem_ReturnClearDTCType)0x02\r
+#define DEM_CLEAR_WRONG_DTCKIND                                (Dem_ReturnClearDTCType)0x03\r
+#define DEM_CLEAR_FAILED                                       (Dem_ReturnClearDTCType)0x04\r
+#define DEM_DTC_PENDING                                                (Dem_ReturnClearDTCType)0x05\r
 \r
 /*\r
  * Dem_ReturnControlDTCStorageType\r
  */\r
 typedef uint8 Dem_ReturnControlDTCStorageType;\r
-#define DEM_CONTROL_DTC_STORAGE_OK                     0x00\r
-#define DEM_CONTROL_DTC_STORAGE_N_OK           0x01\r
-#define DEM_CONTROL_DTC_WRONG_DTCGROUP         0x02\r
+#define DEM_CONTROL_DTC_STORAGE_OK                     (Dem_ReturnControlDTCStorageType)0x00\r
+#define DEM_CONTROL_DTC_STORAGE_N_OK           (Dem_ReturnControlDTCStorageType)0x01\r
+#define DEM_CONTROL_DTC_WRONG_DTCGROUP         (Dem_ReturnControlDTCStorageType)0x02\r
 \r
 /*\r
  * Dem_ReturnControlEventUpdateType\r
  */\r
 typedef uint8 Dem_ReturnControlEventUpdateType;\r
-#define DEM_CONTROL_EVENT_UPDATE_OK                    0x00\r
-#define DEM_CONTROL_EVENT_N_OK                         0x01\r
-#define DEM_CONTROL_EVENT_WRONG_DTCGROUP       0x02\r
+#define DEM_CONTROL_EVENT_UPDATE_OK                    (Dem_ReturnControlEventUpdateType)0x00\r
+#define DEM_CONTROL_EVENT_N_OK                         (Dem_ReturnControlEventUpdateType)0x01\r
+#define DEM_CONTROL_EVENT_WRONG_DTCGROUP       (Dem_ReturnControlEventUpdateType)0x02\r
 \r
 /*\r
  * Dem_ReturnGetDTCOfFreezeframeRecordType\r
  */\r
 typedef uint8 Dem_ReturnGetDTCOfFreezeframeRecordType;\r
-#define DEM_GET_DTCOFFF_OK                                     0x00\r
-#define DEM_GET_DTCOFFF_WRONG_RECORD           0x01\r
-#define DEM_GET_DTCOFFF_NO_DTC_FOR_RECORD      0x02\r
-#define DEM_GET_DTCOFFF_WRONG_DTCKIND          0x03\r
+#define DEM_GET_DTCOFFF_OK                                     (Dem_ReturnGetDTCOfFreezeframeRecordType)0x00\r
+#define DEM_GET_DTCOFFF_WRONG_RECORD           (Dem_ReturnGetDTCOfFreezeframeRecordType)0x01\r
+#define DEM_GET_DTCOFFF_NO_DTC_FOR_RECORD      (Dem_ReturnGetDTCOfFreezeframeRecordType)0x02\r
+#define DEM_GET_DTCOFFF_WRONG_DTCKIND          (Dem_ReturnGetDTCOfFreezeframeRecordType)0x03\r
 \r
 /*\r
  * Dem_GetFreezeFameDataIdentifierByDTCType\r
  */\r
 typedef uint8 Dem_GetFreezeFameDataIdentifierByDTCType;\r
-#define DEM_GET_ID_OK                                          0x00\r
-#define DEM_GET_ID_WRONG_DTC                           0x01\r
-#define DEM_GET_ID_WRONG_DTCORIGIN                     0x02\r
-#define DEM_GET_ID_WRONG_DTCKIND                       0x03\r
-#define DEM_GET_ID_WRONG_FF_TYPE                       0x04\r
+#define DEM_GET_ID_OK                                          (Dem_GetFreezeFameDataIdentifierByDTCType)0x00\r
+#define DEM_GET_ID_WRONG_DTC                           (Dem_GetFreezeFameDataIdentifierByDTCType)0x01\r
+#define DEM_GET_ID_WRONG_DTCORIGIN                     (Dem_GetFreezeFameDataIdentifierByDTCType)0x02\r
+#define DEM_GET_ID_WRONG_DTCKIND                       (Dem_GetFreezeFameDataIdentifierByDTCType)0x03\r
+#define DEM_GET_ID_WRONG_FF_TYPE                       (Dem_GetFreezeFameDataIdentifierByDTCType)0x04\r
 \r
 /*\r
  * Dem_ReturnGetExtendedDataRecordByDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetExtendedDataRecordByDTCType;\r
-#define DEM_RECORD_OK                                          0x00\r
-#define DEM_RECORD_WRONG_DTC                           0x01\r
-#define DEM_RECORD_WRONG_DTCORIGIN                     0x02\r
-#define DEM_RECORD_DTCKIND                                     0x03\r
-#define DEM_RECORD_NUMBER                                      0x04\r
-#define DEM_RECORD_BUFFERSIZE                          0x05\r
-#define DEM_RECORD_PENDING                                     0x06\r
+#define DEM_RECORD_OK                                          (Dem_ReturnGetExtendedDataRecordByDTCType)0x00\r
+#define DEM_RECORD_WRONG_DTC                           (Dem_ReturnGetExtendedDataRecordByDTCType)0x01\r
+#define DEM_RECORD_WRONG_DTCORIGIN                     (Dem_ReturnGetExtendedDataRecordByDTCType)0x02\r
+#define DEM_RECORD_DTCKIND                                     (Dem_ReturnGetExtendedDataRecordByDTCType)0x03\r
+#define DEM_RECORD_NUMBER                                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x04\r
+#define DEM_RECORD_BUFFERSIZE                          (Dem_ReturnGetExtendedDataRecordByDTCType)0x05\r
+#define DEM_RECORD_PENDING                                     (Dem_ReturnGetExtendedDataRecordByDTCType)0x06\r
 \r
 /*\r
  * Dem_ReturnGetDTCByOccurenceTimeType\r
  */\r
 typedef uint8 Dem_ReturnGetDTCByOccurenceTimeType;\r
-#define DEM_OCCURR_OK                                          0x00\r
-#define DEM_OCCURR_WRONG_DTCKIND                       0x01\r
-#define DEM_OCCURR_FAILED                                      0x02\r
+#define DEM_OCCURR_OK                                          (Dem_ReturnGetDTCByOccurenceTimeType)0x00\r
+#define DEM_OCCURR_WRONG_DTCKIND                       (Dem_ReturnGetDTCByOccurenceTimeType)0x01\r
+#define DEM_OCCURR_FAILED                                      (Dem_ReturnGetDTCByOccurenceTimeType)0x02\r
 \r
 /*\r
  * Dem_ReturnGetFreezeFrameDataByDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetFreezeFrameDataByDTCType;\r
-#define DEM_GET_FFDATABYDTC_OK                         0x00\r
-#define DEM_GET_FFDATABYDTC_WRONG_DTC          0x01\r
-#define DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN    0x02\r
-#define DEM_GET_FFDATABYDTC_WRONG_DTCKIND      0x03\r
-#define DEM_GET_FFDATABYDTC_RECORDNUMBER       0x04\r
-#define DEM_GET_FFDATABYDTC_WRONG_DATAID       0x05\r
-#define DEM_GET_FFDATABYDTC_BUFFERSIZE         0x06\r
-#define DEM_GET_ID_PENDING                                     0x07\r
+#define DEM_GET_FFDATABYDTC_OK                         (Dem_ReturnGetFreezeFrameDataByDTCType)0x00\r
+#define DEM_GET_FFDATABYDTC_WRONG_DTC          (Dem_ReturnGetFreezeFrameDataByDTCType)0x01\r
+#define DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN    (Dem_ReturnGetFreezeFrameDataByDTCType)0x02\r
+#define DEM_GET_FFDATABYDTC_WRONG_DTCKIND      (Dem_ReturnGetFreezeFrameDataByDTCType)0x03\r
+#define DEM_GET_FFDATABYDTC_RECORDNUMBER       (Dem_ReturnGetFreezeFrameDataByDTCType)0x04\r
+#define DEM_GET_FFDATABYDTC_WRONG_DATAID       (Dem_ReturnGetFreezeFrameDataByDTCType)0x05\r
+#define DEM_GET_FFDATABYDTC_BUFFERSIZE         (Dem_ReturnGetFreezeFrameDataByDTCType)0x06\r
+#define DEM_GET_ID_PENDING                                     (Dem_ReturnGetFreezeFrameDataByDTCType)0x07\r
 \r
 /*\r
  * Dem_ReturnGetSizeOfExtendedDataRecordByDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetSizeOfExtendedDataRecordByDTCType;\r
-#define DEM_GET_SIZEOFEDRBYDTC_OK                      0x00\r
-#define DEM_GET_SIZEOFEDRBYDTC_W_DTC           0x01\r
-#define DEM_GET_SIZEOFEDRBYDTC_W_DTCOR         0x02\r
-#define DEM_GET_SIZEOFEDRBYDTC_W_DTCKI         0x03\r
-#define DEM_GET_SIZEOFEDRBYDTC_W_RNUM          0x04\r
-#define DEM_GET_SIZEOFEDRBYDTC_PENDING         0x05\r
+#define DEM_GET_SIZEOFEDRBYDTC_OK                      (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x00\r
+#define DEM_GET_SIZEOFEDRBYDTC_W_DTC           (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x01\r
+#define DEM_GET_SIZEOFEDRBYDTC_W_DTCOR         (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x02\r
+#define DEM_GET_SIZEOFEDRBYDTC_W_DTCKI         (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x03\r
+#define DEM_GET_SIZEOFEDRBYDTC_W_RNUM          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x04\r
+#define DEM_GET_SIZEOFEDRBYDTC_PENDING         (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x05\r
 \r
 /*\r
  * Dem_ReturnGetSizeOfFreezeFrameType\r
  */\r
 typedef uint8 Dem_ReturnGetSizeOfFreezeFrameType;\r
-#define DEM_GET_SIZEOFFF_OK                                    0x00\r
-#define DEM_GET_SIZEOFFF_WRONG_DTC                     0x01\r
-#define DEM_GET_SIZEOFFF_WRONG_DTCOR           0x02\r
-#define DEM_GET_SIZEOFFF_WRONG_DTCKIND         0x03\r
-#define DEM_GET_SIZEOFFF_WRONG_RNUM                    0x04\r
-#define DEM_GET_SIZEOFFF_PENDING                       0x05\r
+#define DEM_GET_SIZEOFFF_OK                                    (Dem_ReturnGetSizeOfFreezeFrameType)0x00\r
+#define DEM_GET_SIZEOFFF_WRONG_DTC                     (Dem_ReturnGetSizeOfFreezeFrameType)0x01\r
+#define DEM_GET_SIZEOFFF_WRONG_DTCOR           (Dem_ReturnGetSizeOfFreezeFrameType)0x02\r
+#define DEM_GET_SIZEOFFF_WRONG_DTCKIND         (Dem_ReturnGetSizeOfFreezeFrameType)0x03\r
+#define DEM_GET_SIZEOFFF_WRONG_RNUM                    (Dem_ReturnGetSizeOfFreezeFrameType)0x04\r
+#define DEM_GET_SIZEOFFF_PENDING                       (Dem_ReturnGetSizeOfFreezeFrameType)0x05\r
 \r
 /*\r
  * Dem_ReturnGetSeverityOfDTCType\r
  */\r
 typedef uint8 Dem_ReturnGetSeverityOfDTCType;\r
-#define DEM_GET_SEVERITYOFDTC_OK                       0x00\r
-#define DEM_GET_SEVERITYOFDTC_WRONG_DTC                0x01\r
-#define DEM_GET_SEVERITYOFDTC_WRONG_ORIGIN     0x02\r
-#define DEM_GET_SEVERITYOFDTC_NOSEVERITY       0x03\r
+#define DEM_GET_SEVERITYOFDTC_OK                       (Dem_ReturnGetSeverityOfDTCType)0x00\r
+#define DEM_GET_SEVERITYOFDTC_WRONG_DTC                (Dem_ReturnGetSeverityOfDTCType)0x01\r
+#define DEM_GET_SEVERITYOFDTC_WRONG_ORIGIN     (Dem_ReturnGetSeverityOfDTCType)0x02\r
+#define DEM_GET_SEVERITYOFDTC_NOSEVERITY       (Dem_ReturnGetSeverityOfDTCType)0x03\r
 \r
 \r
 \r
index 4f046cd0486aa03e96ec705965595ba996eff029..ac8d1ca1d4551246a481a69cb4a923d3ae23bfea 100644 (file)
@@ -34,11 +34,12 @@ typedef enum
     DET_STARTED\r
 } Det_StateType;\r
 \r
-static Det_StateType _detState = DET_UNINITIALIZED;\r
+static Det_StateType detState = DET_UNINITIALIZED;\r
 \r
 #if ( DET_USE_RAMLOG == STD_ON )\r
 // Ram log variables in uninitialized memory\r
 uint32 Det_RamlogIndex __attribute__ ((section (".ramlog")));\r
+/*lint -esym(552,Det_RamLog)*/ /* PC-Lint OK. supress lintwarning about Det_Ramlog not being accessed */\r
 Det_EntryType Det_RamLog[DET_RAMLOG_SIZE] __attribute__ ((section (".ramlog")));\r
 #endif\r
 \r
@@ -47,35 +48,41 @@ detCbk_t detCbk_List[DET_NUMBER_OF_CALLBACKS];
 \r
 uint8 Det_AddCbk(detCbk_t detCbk)\r
 {\r
-    if (_detState != DET_UNINITIALIZED)\r
+       uint8 rv=0xFFu;\r
+    if (detState != DET_UNINITIALIZED)\r
     {\r
-        for (uint32 i=0; i<DET_NUMBER_OF_CALLBACKS; i++)\r
+        for (uint8 i=0; i<DET_NUMBER_OF_CALLBACKS; i++)\r
         {\r
             if (NULL==detCbk_List[i])\r
             {\r
                 detCbk_List[i]=detCbk;\r
-                return i;\r
+                rv = i;\r
             }\r
         }\r
     }\r
 \r
     Det_ReportError(DET_MODULE_ID, 0, DET_CALLBACK_API, DET_E_CBK_REGISTRATION_FAILED);\r
-    return (0xFF); // Return 0xff to indicate that the registration failed\r
+    return rv; // Return 0xff to indicate that the registration failed\r
 }\r
 \r
 void Det_RemoveCbk(uint8 detCbkIndex)\r
 {\r
     // Validate the index\r
     if (detCbkIndex >= DET_NUMBER_OF_CALLBACKS)\r
+    {\r
         Det_ReportError(DET_MODULE_ID, 0, DET_CALLBACK_API, DET_E_INDEX_OUT_OF_RANGE);\r
-\r
-    detCbk_List[detCbkIndex]=NULL;\r
+    }\r
+    else\r
+    {\r
+       detCbk_List[detCbkIndex]=NULL;\r
+    }\r
 }\r
 #endif\r
 \r
 \r
 void Det_Init(void)\r
 {\r
+\r
     // Implements DET000\r
 #if ( DET_ENABLE_CALLBACKS == STD_ON )\r
     for (uint32 i=0; i<DET_NUMBER_OF_CALLBACKS; i++)\r
@@ -96,23 +103,24 @@ void Det_Init(void)
     Det_RamlogIndex = 0;\r
 #endif\r
 \r
-    _detState = DET_INITIALIZED;\r
+    detState = DET_INITIALIZED;\r
 }\r
 \r
 #if DET_DEINIT_API == STD_ON\r
 void Det_DeInit( void )\r
 {\r
-    _detState = DET_UNINITIALIZED;\r
+    detState = DET_UNINITIALIZED;\r
 }\r
 #endif\r
 \r
 void Det_ReportError(uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId)\r
 {\r
-    if (_detState == DET_STARTED) // No action is taken if the module is not started\r
+    if (detState == DET_STARTED) // No action is taken if the module is not started\r
     {\r
 #if ( DET_ENABLE_CALLBACKS == STD_ON )\r
-        long old1;\r
+        uint32 old1; // 586 PC-Lint OK: fattar inte att den används i macrot.\r
         Irq_Save(old1);\r
+\r
         for (uint32 i=0; i<DET_NUMBER_OF_CALLBACKS; i++)\r
         {\r
             if (NULL!=detCbk_List[i])\r
@@ -123,8 +131,9 @@ void Det_ReportError(uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 Error
         Irq_Restore(old1);\r
 #endif\r
 \r
+\r
 #if ( DET_USE_RAMLOG == STD_ON )\r
-        long old2;\r
+        uint32 old2;\r
         Irq_Save(old2);\r
         if (Det_RamlogIndex < DET_RAMLOG_SIZE)\r
         {\r
@@ -134,8 +143,9 @@ void Det_ReportError(uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 Error
             Det_RamLog[Det_RamlogIndex].errorId = ErrorId;\r
             Det_RamlogIndex++;\r
 #if ( DET_WRAP_RAMLOG == STD_ON )\r
-            if (Det_RamlogIndex == DET_RAMLOG_SIZE)\r
+            if (Det_RamlogIndex == DET_RAMLOG_SIZE){\r
                 Det_RamlogIndex = 0;\r
+            }\r
 #endif\r
         }\r
         Irq_Restore(old2);\r
@@ -149,5 +159,5 @@ void Det_ReportError(uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 Error
 \r
 void Det_Start(void)\r
 {\r
-    _detState = DET_STARTED;\r
+    detState = DET_STARTED;\r
 }\r
index 10e7171eecc4ee8dafd7945991fa55db0c7774d1..fe1787b646adaace2858543a8c1b80c444e02f1c 100644 (file)
@@ -94,7 +94,7 @@ typedef enum {
 typedef enum {\r
        CAN_OK,\r
        CAN_NOT_OK,\r
-       CAN_BUSY,\r
+       CAN_BUSY\r
 //     CAN_WAKEUP,             // Removed in 3.0\r
 } Can_ReturnType;\r
 \r
@@ -121,7 +121,7 @@ typedef union {
 #include "Can_Cfg.h"\r
 \r
 void Can_Init( const Can_ConfigType *Config );\r
-void Can_DeInit();\r
+void Can_DeInit(void);\r
 \r
 #if ( CAN_VERSION_INFO_API == STD_ON )\r
 #define Can_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,CAN)\r
index 9115e66ec136ab9d6630ef6b70c4ce5fefe70325..30714bd3867e9dcaa6b2d08069c0dfe6228c9d0d 100644 (file)
@@ -69,7 +69,7 @@ typedef enum {
         *  SLEEP mode and can be woken up by request of the\r
         *  CAN driver or by a network event (must be supported\r
         *  by CAN hardware) */\r
-       CANIF_CS_SLEEP,\r
+       CANIF_CS_SLEEP\r
 } CanIf_ControllerModeType;\r
 \r
 /** Status of the PDU channel group. Current mode of the channel defines its\r
@@ -105,7 +105,7 @@ typedef enum {
         *  shall be set to the offline active mode\r
         *  => notifications are processed but transmit\r
         *  requests are blocked. */\r
-       CANIF_SET_TX_OFFLINE_ACTIVE,\r
+       CANIF_SET_TX_OFFLINE_ACTIVE\r
 } CanIf_ChannelSetModeType;\r
 \r
 \r
@@ -137,7 +137,7 @@ typedef enum {
        CANIF_NO_NOTIFICATION = 0,      \r
        /** The requested Rx/Tx CAN L-PDU was\r
         *  successfully transmitted or received. */\r
-       CANIF_TX_RX_NOTIFICATION,\r
+       CANIF_TX_RX_NOTIFICATION\r
        \r
 } CanIf_NotifStatusType;\r
 \r
index a9a1079ed6a062f1e664a44dfc9c1263bdd800f8..ec99ba7cf3903b1d20c2e31096ffa54564eafedf 100644 (file)
@@ -90,19 +90,19 @@ typedef enum {
  * Implemented functions\r
  ****************************/\r
 \r
-void CanTp_Init(); /** @req CANTP208 **/\r
+void CanTp_Init(void); /** @req CANTP208 **/\r
 \r
 #if ( CANTP_VERSION_INFO_API == STD_ON ) /** @req CANTP162 *//** @req CANTP163 */\r
 #define CanTp_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,CANTP) /** @req CANTP210 */ /* @req CANTP218 */\r
 #endif /* CANTP_VERSION_INFO_API */\r
 \r
-void CanTp_Shutdown(); /** @req CANTP211 */\r
+void CanTp_Shutdown(void); /** @req CANTP211 */\r
 \r
 Std_ReturnType CanTp_Transmit( PduIdType CanTpTxSduId, const PduInfoType * CanTpTxInfoPtr ); /** @req CANTP212 */\r
 \r
 Std_ReturnType FrTp_CancelTransmitRequest( PduIdType FrTpTxPduId, FrTp_CancelReasonType FrTpCancelReason ); /** @req CANTP246 */\r
 \r
-void CanTp_MainFunction(); /** @req CANTP213 */\r
+void CanTp_MainFunction(void); /** @req CANTP213 */\r
 \r
 \r
 #endif /* CANTP_H_ */\r
index cc59d591ce15c0544d6728d10d1343a9eb294885..8ed9c17df9387bbb7040f445630f768f260caccf 100644 (file)
@@ -87,8 +87,8 @@ typedef struct {
 \r
 \r
 typedef struct {\r
-       const int CanIf_FcPduId; // The polite CanIf PDU index.\r
-       const int PduR_PduId; // The polite PduR index.\r
+       const PduIdType CanIf_FcPduId; // The polite CanIf PDU index.\r
+       const PduIdType PduR_PduId; // The polite PduR index.\r
        const CanTp_AddressingFormantType CanTpAddressingFormant;       /** @req CANTP242 */\r
        const uint8 CanTpBs; /** @req CANTP243 */ /* Sets the maximum number of messages of N-PDUs before flow control. */\r
        const uint16 CanTpNar; /** @req CANTP244 */ /* Timeout for transmission of a CAN frame (ms). */\r
@@ -110,8 +110,8 @@ typedef struct {
 } CanTp_RxNSduType; /** @req CANTP137 */\r
 \r
 typedef struct {\r
-       const int CanIf_PduId; // The polite CanIf index.\r
-       const int PduR_PduId; // The polite PduR index.\r
+       const PduIdType CanIf_PduId; // The polite CanIf index.\r
+       const PduIdType PduR_PduId; // The polite PduR index.\r
        const CanTp_AddressingFormantType CanTpAddressingMode; /** @req CANTP262 */\r
        const uint16 CanTpNas; /** @req CANTP263 */ /* N_As timeout for transmission of any CAN frame. */\r
        const uint16 CanTpNbs; /** @req CANTP264 */ /* N_Bs timeout of transmission until reception of next Flow Control. */\r
index 8ee188765291fad0a9a847405fbd64c4905202d2..e9f66dcf8af038aae199e2a3b450d4664d0ca33e 100644 (file)
@@ -23,7 +23,7 @@
 #ifndef COMM_DCM_H_\r
 #define COMM_DCM_H_\r
 \r
-void ComM_DCM_ActiveDiagnostic();\r
-void ComM_DCM_InactiveDiagnostic();\r
+void ComM_DCM_ActiveDiagnostic(void);\r
+void ComM_DCM_InactiveDiagnostic(void);\r
 \r
 #endif /*COMM_DCM_H_*/\r
index 84d8831f52a2b1524d98f4d38e7748c77360bc1b..c2dbdb15e9055ef1d3fb2d1b3821f7b2b689f5a1 100644 (file)
@@ -62,7 +62,7 @@ typedef enum {
        BUFREQ_OK=0,\r
        BUFREQ_NOT_OK,\r
        BUFREQ_BUSY,\r
-       BUFREQ_OVFL,\r
+       BUFREQ_OVFL\r
 } BufReq_ReturnType;\r
 \r
 // 0x00--0x1e General return types\r
index cbea8132287d4f44379692701535642115db2d4c..ebd232bcb97c672a27a157ca5dd851a9e2329d27 100644 (file)
@@ -25,8 +25,8 @@
 \r
 #include "Com.h"\r
 \r
-void Com_MainFunctionRx();\r
-void Com_MainFunctionTx();\r
+void Com_MainFunctionRx(void);\r
+void Com_MainFunctionTx(void);\r
 \r
 // Not supported in this version.\r
 //void Com_MainFunctionRouteSignals();\r
index a19464ea08dc8ffef3bcff21e3af3bb9ed6b59c9..e849ab96f59dda4abe26aa060add8c0dba925c44 100644 (file)
@@ -36,7 +36,7 @@ typedef uint8 Com_SignalGroupIdType;
 \r
 typedef enum {\r
        IMMEDIATE,\r
-       DEFERRED,\r
+       DEFERRED\r
 } Com_IPduSignalProcessingMode;\r
 \r
 typedef enum {\r
@@ -60,14 +60,14 @@ typedef enum {
 \r
 typedef enum {\r
        PENDING,\r
-       TRIGGERED,\r
+       TRIGGERED\r
 } ComTransferProperty_type;\r
 \r
 typedef enum {\r
        DIRECT,\r
        MIXED,\r
        NONE,\r
-       PERIODIC,\r
+       PERIODIC\r
 } ComTxModeMode_type;\r
 \r
 \r
@@ -79,13 +79,13 @@ typedef enum {
        NEVER,\r
        NEW_IS_OUTSIDE,\r
        NEW_IS_WITHIN,\r
-       ONE_EVERY_N,\r
+       ONE_EVERY_N\r
 } ComFilterAlgorithm_type;\r
 \r
 typedef enum {\r
        COM_BIG_ENDIAN,\r
        COM_LITTLE_ENDIAN,\r
-       COM_OPAQUE,\r
+       COM_OPAQUE\r
 } ComSignalEndianess_type;\r
 \r
 typedef enum {\r
index 822202b3a6ee7c4d46c81ea4039ee20967d333d0..e8de0ebe9f7ef6987f6cb33742c3aa5a31c7d7ef 100644 (file)
@@ -27,7 +27,7 @@
 \r
 /* REQ:COMPILER040,049,051 */\r
 #define AUTOMATIC\r
-#define _STATIC_       static\r
+#define STATIC         static\r
 #define NULL_PTR       ((void *)0)\r
 \r
 /* REQ:COMPILER005 */\r
index 8398918cb0f9531f3e1bbe5249a28b1896173a42..19f4d48bf18c7c7324467e39209bab00780964ff 100644 (file)
@@ -23,6 +23,7 @@
 #ifndef DCM_CBK_H_\r
 #define DCM_CBK_H_\r
 \r
+//lint -e451 //451 PC-Lint OK. Slå av regel helt?\r
 #include "ComStack_Types.h"\r
 \r
 /*\r
index 2c02c2aee4c8eb543542d9fcc370fa662cf31c0c..08aa56817c1eaed74405ef4beabebdf951621bf9 100644 (file)
@@ -132,7 +132,7 @@ Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtend
 Std_ReturnType Dem_GetEventFailed(Dem_EventIdType eventId, boolean *eventFailed); /** @req DEM196 */\r
 Std_ReturnType Dem_GetEventTested(Dem_EventIdType eventId, boolean *eventTested); /** @req DEM197 */\r
 Std_ReturnType Dem_GetFaultDetectionCounter(Dem_EventIdType eventId, sint8 *counter); /** @req DEM203 */\r
-Std_ReturnType Dem_SetOperationCycleState(Dem_OperationCycleIdType OperationCycleId, Dem_OperationCycleStateType CycleState); /** @req DEM194 */\r
+Std_ReturnType Dem_SetOperationCycleState(Dem_OperationCycleIdType operationCycleId, Dem_OperationCycleStateType cycleState); /** @req DEM194 */\r
 Std_ReturnType Dem_GetDTCOfEvent(Dem_EventIdType eventId, Dem_DTCKindType dtcKind, uint32* dtcOfEvent); /** @req DEM198 */\r
 \r
 \r
@@ -147,14 +147,14 @@ void Dem_ReportErrorStatus(Dem_EventIdType eventId ,uint8 eventStatus); /** @req
  */\r
 Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin); /** @req DEM241 */\r
 Dem_ReturnSetDTCFilterType Dem_SetDTCFilter(uint8 dtcStatusMask, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, Dem_FilterWithSeverityType filterWithSeverity, Dem_DTCSeverityType dtcSeverityMask, Dem_FilterForFDCType filterForFaultDetectionCounter);  /** @req DEM208 */\r
-Dem_ReturnGetStatusOfDTCType Dem_GetStatusOfDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, Dem_EventStatusExtendedType* dtcStatus); /** @req DEM212 */\r
+Dem_ReturnGetStatusOfDTCType Dem_GetStatusOfDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, Dem_EventStatusExtendedType* status); /** @req DEM212 */\r
 Std_ReturnType Dem_GetDTCStatusAvailabilityMask(uint8 *dtcStatusMask); /** @req DEM213 */\r
 Dem_ReturnGetNumberOfFilteredDTCType Dem_GetNumberOfFilteredDtc(uint16* numberOfFilteredDTC); /** @req DEM214 */\r
 Dem_ReturnGetNextFilteredDTCType Dem_GetNextFilteredDTC(uint32* dtc, Dem_EventStatusExtendedType* dtcStatus); /** @req DEM215 */\r
 Dem_ReturnTypeOfDtcSupportedType Dem_GetTranslationType(void); /** @req DEM230 */\r
 Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind); /** @req DEM242 */\r
 Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind); /** @req DEM243 */\r
-Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint8 *bufSize); /** @req DEM239 */\r
+Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint16 *bufSize); /** @req DEM239 */\r
 Dem_ReturnGetSizeOfExtendedDataRecordByDTCType Dem_GetSizeOfExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint16 *sizeOfExtendedDataRecord); /** @req DEM240 */\r
 \r
 \r
index 9681b61f47e1f1bf0eda8e6e654f6d375dfcbcf5..257ee6cc7bd0c3ce998dcb80de75c727a3a5c2fd 100644 (file)
 /*\r
  * Development Error Tracer driver\r
  *\r
- * Specification: Autosar v2.0.1, Final\r
- *\r
  */\r
 \r
-#ifndef _DET_H_\r
-#define _DET_H_\r
+#ifndef DET_H\r
+#define DET_H\r
 \r
 #define DET_MODULE_ID            MODULE_ID_DET\r
 #define DET_VENDOR_ID            1\r
 \r
+/* Implementation version */\r
 #define DET_SW_MAJOR_VERSION     1\r
 #define DET_SW_MINOR_VERSION     0\r
 #define DET_SW_PATCH_VERSION     0\r
 \r
+/* AUTOSAR specification document version */\r
 #define DET_AR_MAJOR_VERSION     2\r
 #define DET_AR_MINOR_VERSION     2\r
 #define DET_AR_PATCH_VERSION     2\r
@@ -61,7 +61,7 @@ typedef struct
 } Det_EntryType;\r
 \r
 #if ( DET_ENABLE_CALLBACKS == STD_ON )\r
-typedef void *(*detCbk_t)( uint16 ModuleId, uint8 InstanceId , uint8 ApiId, uint8 ErrorId);\r
+typedef void (*detCbk_t)( uint16 ModuleId, uint8 InstanceId , uint8 ApiId, uint8 ErrorId);\r
 \r
 /*\r
  * Add a callback function to the array of callback. After a call to Det_ReportError the callback\r
@@ -82,4 +82,4 @@ void Det_ReportError( uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 Erro
 void Det_Start( void );\r
 #define Det_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,DET)\r
 \r
-#endif /*_DET_H_*/\r
+#endif /*DET_H*/\r
index e8929f89a2c0efded9610ba95302f5ada23101f1..29c15a00789a635b050f401154e20cc1fbf43ab6 100644 (file)
@@ -114,7 +114,7 @@ enum {
         *  If hardware cannot distinguish between a\r
         *  power cycle and a reset reason, then this\r
         *  shall be the default wakeup source */\r
-       ECUM_WKSOURCE_RESET = 0x02,\r
+       ECUM_WKSOURCE_RESET = 0x02\r
 };\r
 \r
 typedef uint32 EcuM_WakeupSourceType;\r
@@ -124,20 +124,20 @@ typedef enum
        ECUM_WKSTATUS_NONE = 0,        /**< No pending wakeup event was detected */\r
        ECUM_WKSTATUS_PENDING = 1,     /**< The wakeup event was detected but not yet validated */\r
        ECUM_WKSTATUS_VALIDATED = 2,   /**< The wakeup event is valid */\r
-       ECUM_WKSTATUS_EXPIRED = 3,     /**< The wakeup event has not been validated and has expired therefore */\r
+       ECUM_WKSTATUS_EXPIRED = 3     /**< The wakeup event has not been validated and has expired therefore */\r
 } EcuM_WakeupStatusType;\r
 \r
 typedef enum\r
 {\r
        ECUM_WWKACT_RUN = 0,       /**< Initialization into RUN state */\r
        ECUM_WKACT_TTII = 2,       /**< Execute time triggered increased inoperation protocol and shutdown */\r
-       ECUM_WKACT_SHUTDOWN = 3,   /**< Immediate shutdown */\r
+       ECUM_WKACT_SHUTDOWN = 3   /**< Immediate shutdown */\r
 } EcuM_WakeupReactionType;\r
 \r
 typedef enum\r
 {\r
        ECUM_BOOT_TARGET_APP = 0,          /**< The Ecu will boot into the application */\r
-       ECUM_BOOT_TARGET_BOOTLOADER = 1,   /**< The Ecu will boot into the bootloader */\r
+       ECUM_BOOT_TARGET_BOOTLOADER = 1   /**< The Ecu will boot into the bootloader */\r
 } EcuM_BootTargetType;\r
 \r
 \r
index 829a85155625516bdc0220cafe810e0026f9376e..1beaca3b5bfc06ad65ac1ef942cbd601a04cabfe 100644 (file)
@@ -15,8 +15,8 @@
 \r
 \r
 \r
-#ifndef _MCU_EXTENSIONS_H_\r
-#define _MCU_EXTENSIONS_H_\r
+#ifndef MCU_EXTENSIONS_H\r
+#define MCU_EXTENSIONS_H\r
 \r
 #include "Std_Types.h"\r
 typedef uint32_t imask_t;\r
index 32b3efb40f0b7f53f37b310d627b027c5bbe7156..fc05ff420da2374254e53124fcfac2da9201106e 100644 (file)
@@ -24,8 +24,8 @@
 // Module Id:s from document "List of Basic Sofware Modules" Rev 1.2.1  Part of release 3.0\r
 //\r
 \r
-#ifndef _MODULES_H_\r
-#define _MODULES_H_\r
+#ifndef MODULES_H\r
+#define MODULES_H\r
 \r
 #include "Std_Types.h"\r
 \r
index 729498d80f2a186637a6b52721b5cbb638f7c424..d6dcc1879751cc3f118607866072d1b24c542953 100644 (file)
@@ -37,7 +37,7 @@ typedef enum {
        TASK_STATE_WAITING,\r
        TASK_STATE_READY,\r
        TASK_STATE_SUSPENDED,\r
-       TASK_STATE_RUNNING,\r
+       TASK_STATE_RUNNING\r
 } TaskStateType;\r
 \r
 #define INVALID_TASK   0xdeadU\r
@@ -350,8 +350,8 @@ typedef enum {
     OSServiceId_PostTaskHook,\r
     OSServiceId_StartupHook,\r
     OSServiceId_ShutdownHook,\r
-    OSServiceId_GetTaskState,\r
-} OsServiceIdType;;\r
+    OSServiceId_GetTaskState\r
+} OsServiceIdType;\r
 \r
 typedef struct OsError {\r
        OsServiceIdType serviceId;\r
index f7a17861add084c057502d1cb0c615fd627e4ea9..123ffd95b271ac76f1b5978835968040592887a6 100644 (file)
@@ -76,11 +76,11 @@ extern PduR_StateType PduRState;
 // Define macro for state, parameter and data pointer checks.\r
 // TODO Implement data range check if needed.\r
 #define PduR_DevCheck(PduId,PduPtr,ApiId,...) \\r
-       if (PduRState == PDUR_UNINIT || PduRState == PDUR_REDUCED) { \\r
+       if ((PduRState == PDUR_UNINIT) || (PduRState == PDUR_REDUCED)) { \\r
                PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_INVALID_REQUEST); \\r
                return __VA_ARGS__; \\r
        } \\r
-       if (PduPtr == 0 && PDUR_DEV_ERROR_DETECT) { \\r
+       if ((PduPtr == 0) && (PDUR_DEV_ERROR_DETECT)) { \\r
                PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_DATA_PTR_INVALID); \\r
                return __VA_ARGS__; \\r
        } \\r
@@ -113,18 +113,22 @@ void PduR_ChangeParameterRequest(PduR_ParameterValueType PduParameterValue,
 //#error fail\r
 void PduR_Init(const PduR_PBConfigType* ConfigPtr);\r
 void PduR_GetVersionInfo(Std_VersionInfoType* versionInfo);\r
-uint32 PduR_GetConfigurationId();\r
+uint32 PduR_GetConfigurationId(void);\r
 \r
+void PduR_BufferInc(PduRTxBuffer_type *Buffer, uint8 **ptr);\r
 void PduR_BufferQueue(PduRTxBuffer_type *Buffer, const uint8 * SduPtr);\r
 void PduR_BufferDeQueue(PduRTxBuffer_type *Buffer, uint8 *SduPtr);\r
 void PduR_BufferFlush(PduRTxBuffer_type *Buffer);\r
 uint8 PduR_BufferIsFull(PduRTxBuffer_type *Buffer);\r
+void PduR_LoIfRxIndication(PduIdType PduId, const uint8* SduPtr);\r
+void PduR_LoIfTxConfirmation(PduIdType PduId);\r
+void PduR_LoIfTriggerTransmit(PduIdType PduId, uint8* SduPtr);\r
 \r
 /*\r
  * Macros\r
  */\r
-#define setTxConfP(R) R->PduRDestPdu.TxBufferRef->TxConfP = 1\r
-#define clearTxConfP(R) R->PduRDestPdu.TxBufferRef->TxConfP = 0\r
+#define setTxConfP(R) (R->PduRDestPdu.TxBufferRef->TxConfP = 1)\r
+#define clearTxConfP(R) (R->PduRDestPdu.TxBufferRef->TxConfP = 0)\r
 \r
 #endif\r
 \r
index dcfbab78a21077e02c808e69208d44fb47887c7b..7c3f018919dfe17e3266c48b44b5494772565689 100644 (file)
  * General platform type definitions.\r
  */\r
 \r
-#ifndef _PLATFORM_TYPES_H_\r
-#define _PLATFORM_TYPES_H_\r
+#include <stdbool.h>\r
+\r
+#ifndef PLATFORM_TYPES_H\r
+#define PLATFORM_TYPES_H\r
 \r
 #define CPU_TYPE            CPU_TYPE_32 \r
 #define CPU_BIT_ORDER       MSB_FIRST \r
 #define CPU_BYTE_ORDER      HIGH_BYTE_FIRST\r
 \r
-#if !defined(FALSE)\r
-#define FALSE          0\r
-#define TRUE           1\r
-#endif\r
+#define FALSE          (boolean)false\r
+#define TRUE           (boolean)true\r
 \r
-typedef unsigned long       boolean;         \r
+//typedef unsigned long       boolean;\r
+typedef _Bool      boolean;\r
 typedef signed char         sint8;        \r
 typedef unsigned char       uint8;        \r
 typedef signed short        sint16;       \r
 typedef unsigned short      uint16;       \r
 typedef signed long         sint32;       \r
-typedef unsigned long       uint32;    \r
+typedef unsigned long       uint32;\r
 typedef unsigned long long  uint64;\r
 typedef unsigned long       uint8_least;  \r
 typedef unsigned long       uint16_least; \r
index fe5a70fdb32dcfeaf2a499654003f3766b517709..0d64a30ffdb9b4dcfa40bb4c8bfe8f2b9424b626 100644 (file)
@@ -21,8 +21,8 @@
  *  Definitions of General types.\r
  */\r
 \r
-#ifndef _STD_TYPES_H\r
-#define _STD_TYPES_H\r
+#ifndef STD_TYPES_H\r
+#define STD_TYPES_H\r
 \r
 // Autosar include files....\r
 // TODO: we haven't really defined the autosar types yet.\r
@@ -33,6 +33,7 @@
 #include "Compiler.h"\r
 \r
 #ifndef        NULL\r
+//lint -esym(960,20.2) // PC-Lint LINT EXCEPTION\r
 #define        NULL    0\r
 #endif\r
 \r
@@ -71,11 +72,10 @@ typedef struct {
        ((_vi)->ar_patch_version =  _module ## _AR_PATCH_VERSION);\r
 \r
 \r
-// TODO: Move to OSEK implementation, See 8.2 in SWS_StandardTypes\r
-\r
-#define STATUSTYPEDEFINED\r
 typedef enum {\r
-       E_OK = 0,\r
+       E_OK = 0,                                               /**< Differs from spec. (see StandardTypes 8.2.1)  */\r
+       E_NOT_OK = 1,                                   /**< Differs from spec. (see StandardTypes 8.2.1)  */\r
+\r
        E_OS_ACCESS = 1,               /**< STD OSEK */\r
        E_OS_CALLEVEL = 2,             /**< STD OSEK */\r
        E_OS_ID = 3,                   /**< STD OSEK */\r
@@ -98,26 +98,13 @@ typedef enum {
        E_OS_PROTECTION_RATE,          /**< AUTOSAR, see 7.10 */\r
 \r
        /* COM.. TODO: move ?? */\r
-       E_COM_ID,\r
-\r
-\r
-       /** Implementation specific */\r
-       E_OS_SYS_APA,\r
+       E_COM_ID\r
 \r
-       E_NOT_OK,\r
 } StatusType;\r
 \r
 typedef uint8 Std_ReturnType;\r
 \r
 \r
-#ifndef STATUSTYPEDEFINED\r
-#define STATUSTYPEDEFINED\r
-#define E_OK                   0\r
-typedef unsigned char StatusType;\r
-#endif\r
-\r
-#define E_NOT_OK                               1\r
-\r
 #define E_NO_DTC_AVAILABLE             2\r
 #define E_SESSION_NOT_ALLOWED  4\r
 #define E_PROTOCOL_NOT_ALLOWED 5\r
index 4d46028f5d9df0eb4c3068051d8b21605d6c7c01..7ec37b601289f2db921536af6e7cefd55a97c82f 100644 (file)
@@ -20,8 +20,8 @@
 \r
 #include "Std_Types.h"\r
 \r
-#define Irq_Save(flags)\r
-#define Irq_Restore(flags)\r
+#define Irq_Save(flags)                ((flags) = 0)           // Dummy assignment to avoid compiler warnings\r
+#define Irq_Restore(flags)     (void)(flags)\r
 \r
 #define Irq_Disable()\r
 #define Irq_Enable()\r
old mode 100755 (executable)
new mode 100644 (file)
index 52c43cbdc036e6280cf08e9d28d28484aa2fcb03..e626bf5768d5a89018665b5f3c1709ccd621dfc8 100644 (file)
@@ -135,15 +135,24 @@ inc-y += ../include
 # Some dependency for xxx_offset.c/h also\r
 -include $(subst .h,.d,$(dep-y))\r
 \r
+#LINT:\r
+LINT_EXCLUDE ?= arc-tests\r
+\r
 ifneq ($(PCLINT),)\r
 define run_pclint\r
-$(Q)$(PCLINT) $(lint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<)\r
+$(if \r
+$(findstring $(LINT_EXCLUDE),$(abspath $<)),\r
+$(info $(abspath $<):0:0: Info: Not running lint check on $(abspath $<)),\r
+$(Q)$(PCLINT) $(lint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<))\r
 endef\r
 endif\r
 \r
 ifneq ($(SPLINT),)\r
 define run_splint\r
-$(Q)$(SPLINT) $(splint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<)\r
+$(if \r
+$(findstring $(LINT_EXCLUDE),$(abspath $<)),\r
+$(info $(abspath $<):0:0: Info: Not running lint check on $(abspath $<)),\r
+$(Q)$(SPLINT) $(splint_extra) $(addprefix $(lintinc_ext),$(inc-y)) $(addprefix $(lintdef_ext),$(def-y)) $(abspath $<))\r
 endef\r
 endif\r
 \r
@@ -151,7 +160,9 @@ endif
 # Compile\r
 %.o: %.c\r
        @echo "  >> CC $(notdir $<)"\r
+# compile\r
        $(Q)$(CC) -c $(CFLAGS) -o $(goal) $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $(abspath $<)\r
+# run lint if enabled\r
        $(run_pclint)\r
        $(run_splint)\r
 \r
@@ -175,7 +186,7 @@ inc-y += $(ROOTDIR)/boards/$(BOARDDIR)
 # Preprocess linker files..\r
 %.ldp: %.ldf\r
        @echo "  >> CPP $<"\r
-       $(Q)$(CPP) -E -P -x assembler-with-cpp -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
+       $(Q)$(CPP) -E -P -x assembler-with-cpp -o $@ $(addprefix -I ,$(inc-y)) $<\r
 \r
 #      @cat $@ \r
        \r
@@ -206,7 +217,7 @@ ifeq ($(CROSS_COMPILE),)
        $(Q)$(CC) $(LDFLAGS) -o $@ $(libpath-y) $(obj-y) $(lib-y) $(libitem-y)  \r
 else   \r
        $(Q)$(LD) $(LDFLAGS) -T $(ldcmdfile-y) -o $@ $(libpath-y) --start-group $(obj-y) $(lib-y) $(libitem-y) --end-group $(LDMAPFILE)\r
-ifdef CFG_HC1X\r
+ifdef CFG_MC912DG128A\r
        @$(CROSS_COMPILE)objdump -h $@ | gawk -f $(ROOTDIR)/scripts/hc1x_memory.awk\r
 else\r
        @echo "Image size: (decimal)"\r
index 4d206d93c4c1d8a3eb8648fb22033bce68baf1dd..aa64c1dd6a0efe641f2624a75df407b366c12d8c 100644 (file)
@@ -42,7 +42,7 @@ typedef enum alarm_action_type_e {
        ALARM_ACTION_ACTIVATETASK=0,\r
        ALARM_ACTION_SETEVENT,\r
        ALARM_ACTION_ALARMCALLBACK,             /* Only class 1 */\r
-       ALARM_ACTION_INCREMENTCOUNTER/* SWS OS302 */\r
+       ALARM_ACTION_INCREMENTCOUNTER/* SWS OS302 */\r
 } alarm_action_type_t;\r
 \r
 \r
@@ -64,7 +64,7 @@ enum OsAlarmAutostartTypeType {
        // Start with SetAbsAlarm()\r
        ALARM_AUTOSTART_ABSOLUTE,\r
        // Start with SetRelAlarm()\r
-       ALARM_AUTOSTART_RELATIVE,\r
+       ALARM_AUTOSTART_RELATIVE\r
 };\r
 \r
 \r
index 36ff57db7da53c20a909b2465a3388be2e662a4f..35ce5af7f8c64a157392cf5f5807a35963667d31 100644 (file)
@@ -191,7 +191,7 @@ static inline struct OsResource *os_get_resource_int_p( void ) {
  */\r
 \r
 static inline uint32_t os_task_nr_to_mask( uint32_t nr ) {\r
-       return (1<<nr);\r
+       return ((uint32_t) 1 << nr); // 701 PC-lint [10.5]: OK om skriver 1u... får då istället: 960 PC-lint [10.5]: Båda ok om skriver 1ul eller castar till uint32_t\r
 }\r
 \r
 // task_i.c\r
index 788cd0ec05af1aaddc0fd0223e8843d97e477d33..7264ccfbecfacd153902254d1d1305d93eebd077 100644 (file)
@@ -168,7 +168,7 @@ typedef struct OsResource {
 \r
 typedef enum {\r
        LOCK_TYPE_RESOURCE,\r
-       LOCK_TYPE_INTERRUPT,\r
+       LOCK_TYPE_INTERRUPT\r
 } OsLocktypeType;\r
 \r
 typedef struct OsLockingtime {\r
index 3d5aa1be91e035990e8f3f58a465de817fd9b131..f8bc70827a7daccff57b9422abf29eb454b38398 100644 (file)
@@ -46,7 +46,7 @@ enum OsScheduleTableAutostartType {
        // Start with StartScheduleTableRel()\r
        SCHTBL_AUTOSTART_RELATIVE,\r
        // Start with StartScheduleTableSyncon()\r
-       SCHTBL_AUTOSTART_SYNCHRONE,\r
+       SCHTBL_AUTOSTART_SYNCHRONE\r
 };\r
 \r
 \r
index 4ac360c40d795687d86dc180123dca5f8486d525..26ee3930a0f206f826e425c773e6367eba8fc106 100644 (file)
@@ -25,7 +25,7 @@ typedef enum  {
        OP_TERMINATE_TASK = 8,\r
        OP_SCHEDULE = 16,\r
        OP_CHAIN_TASK = 32,\r
-       OP_RELEASE_RESOURCE = 64,\r
+       OP_RELEASE_RESOURCE = 64\r
 } OpType ;\r
 \r
 typedef struct sys_s {\r
index d99e431bcef9505869458931d983c26b244e3224..4785edcdf9f65d883a687a1ccbde3779abfee0bc 100644 (file)
@@ -173,7 +173,7 @@ StatusType GetResource( ResourceType ResID ) {
                rPtr = &os_sys.resScheduler;\r
        } else {\r
                /* Check we can access it */\r
-               if( (pcbPtr->resourceAccess & (1<< ResID)) == 0 ) {\r
+               if( (pcbPtr->resourceAccess & ( (uint32_t) 1 << ResID)) == 0 ) {\r
                        rv = E_OS_ID;\r
                        goto err;\r
                }\r
@@ -223,7 +223,7 @@ StatusType ReleaseResource( ResourceType ResID) {
                rPtr = &os_sys.resScheduler;\r
        } else {\r
                /* Check we can access it */\r
-               if( (pcbPtr->resourceAccess & (1<< ResID)) == 0 ) {\r
+               if( (pcbPtr->resourceAccess & ( (uint32_t) 1 << ResID) ) == 0 ) {// 960 PC-lint [10.5]: varför klagar? funkar inte heller om (unsigned char)1 )\r
                        rv = E_OS_ID;\r
                        goto err;\r
                }\r
@@ -327,7 +327,7 @@ void Os_ResourceInit( void ) {
                        pcb_p = os_get_pcb(pi);\r
 \r
 \r
-                       if(pcb_p->resourceAccess & (1<<i) ) {\r
+                       if(pcb_p->resourceAccess & ( (uint32_t) 1<<i) ) {\r
                                topPrio = MAX(topPrio,pcb_p->prio);\r
                        }\r
 \r