]> rtime.felk.cvut.cz Git - arc.git/blobdiff - communication/CanIf/CanIf.c
LED Blinker example made running for the RPP Board.
[arc.git] / communication / CanIf / CanIf.c
index 6e9b43245615f02fda052446ad7f91fbd6640288..7f27d79299b517ec977af4baf2f8abea6c088db7 100644 (file)
@@ -463,7 +463,7 @@ Std_ReturnType CanIf_Transmit(PduIdType CanTxPduId,
 \r
   canPdu.length = PduInfoPtr->SduLength;\r
   canPdu.sdu = PduInfoPtr->SduDataPtr;\r
-  canPdu.swPduHandle = CanTxPduId;\r
+  canPdu.swPduHandle = CanTxPduId;             // e.g. ARC_PDUR_CANIF\r
 \r
   Can_ReturnType rVal = Can_Write(txEntry->CanIfCanTxPduHthRef->CanIfHthIdSymRef, &canPdu);\r
 \r
@@ -920,6 +920,8 @@ void CanIf_ControllerBusOff(uint8 Controller)
 {\r
   CanIf_Arc_ChannelIdType channel = 0xff;\r
 \r
+  VALIDATE_NO_RV( CanIf_Global.initRun, CANIF_CONTROLLER_BUSOFF_ID, CANIF_E_UNINIT );\r
+\r
   for(int i = 0; i < CANIF_CHANNEL_CNT; i++)\r
   {\r
          if(CanIf_ConfigPtr->Arc_ChannelToControllerMap[i] == Controller)\r
@@ -928,7 +930,6 @@ void CanIf_ControllerBusOff(uint8 Controller)
          }\r
   }\r
 \r
-  VALIDATE_NO_RV( CanIf_Global.initRun, CANIF_CONTROLLER_BUSOFF_ID, CANIF_E_UNINIT );\r
   VALIDATE_NO_RV( Controller < CANIF_CHANNEL_CNT, CANIF_CONTROLLER_BUSOFF_ID, CANIF_E_PARAM_CONTROLLER );\r
 \r
   // According to figure 35 in canif spec this should be done in\r
@@ -945,6 +946,8 @@ void CanIf_SetWakeupEvent(uint8 Controller)
 {\r
        CanIf_Arc_ChannelIdType channel = 0xff;\r
 \r
+       VALIDATE_NO_RV( CanIf_Global.initRun, CANIF_SETWAKEUPEVENT_ID, CANIF_E_UNINIT );\r
+\r
        for(int i = 0; i < CANIF_CHANNEL_CNT; i++)\r
        {\r
          if(CanIf_ConfigPtr->Arc_ChannelToControllerMap[i] == Controller)\r
@@ -954,7 +957,6 @@ void CanIf_SetWakeupEvent(uint8 Controller)
        }\r
 \r
        VALIDATE_NO_RV(FALSE, CANIF_SETWAKEUPEVENT_ID, CANIF_E_NOK_NOSUPPORT);\r
-       VALIDATE_NO_RV( CanIf_Global.initRun, CANIF_SETWAKEUPEVENT_ID, CANIF_E_UNINIT );\r
        VALIDATE_NO_RV( channel < CANIF_CHANNEL_CNT, CANIF_SETWAKEUPEVENT_ID, CANIF_E_PARAM_CONTROLLER );\r
 \r
        // Not supported\r
@@ -964,6 +966,8 @@ void CanIf_Arc_Error(uint8 Controller, Can_Arc_ErrorType Error)
 {\r
   CanIf_Arc_ChannelIdType channel = 0xff;\r
 \r
+  VALIDATE_NO_RV( CanIf_Global.initRun, CANIF_ARCERROR_ID, CANIF_E_UNINIT );\r
+\r
   for(int i = 0; i < CANIF_CHANNEL_CNT; i++)\r
   {\r
          if(CanIf_ConfigPtr->Arc_ChannelToControllerMap[i] == Controller)\r
@@ -972,15 +976,8 @@ void CanIf_Arc_Error(uint8 Controller, Can_Arc_ErrorType Error)
          }\r
   }\r
 \r
-  VALIDATE_NO_RV( CanIf_Global.initRun, CANIF_ARCERROR_ID, CANIF_E_UNINIT );\r
   VALIDATE_NO_RV( channel < CANIF_CHANNEL_CNT, CANIF_ARCERROR_ID, CANIF_E_PARAM_CONTROLLER );\r
 \r
-  /* Same handling for Arc error as for BUS_OFF even if not in AR req.\r
-   * This because we do want same handling for upper layer for restart of channel\r
-   * According to figure 35 in canif spec this should be done in\r
-   * Can driver but it is better to do it here */\r
-  CanIf_SetControllerMode(channel, CANIF_CS_STOPPED);\r
-\r
   if (CanIf_ConfigPtr->DispatchConfig->CanIfErrorNotificaton != NULL)\r
   {\r
     CanIf_ConfigPtr->DispatchConfig->CanIfErrorNotificaton(Controller, Error);\r