]> rtime.felk.cvut.cz Git - arc.git/blobdiff - include/PduR.h
Starting 'pdur2' branch with copied content from remote repository.
[arc.git] / include / PduR.h
index be0871445736d0229fbbd682d4fe6dc90edc1365..b9825ed0d104281de48a88342c227d551d02470a 100644 (file)
@@ -23,7 +23,7 @@
 #ifndef PDUR_H\r
 #define PDUR_H\r
 \r
-#define PDUR_VENDOR_ID                 1\r
+#define PDUR_VENDOR_ID            1\r
 #define PDUR_AR_MAJOR_VERSION  2\r
 #define PDUR_AR_MINOR_VERSION  2\r
 #define PDUR_AR_PATCH_VERSION  2\r
@@ -48,6 +48,7 @@
 #include "PduR_Types.h"\r
 #include "PduR_PbCfg.h"\r
 \r
+#include "PduR_If.h"\r
 #include "PduR_Com.h"\r
 #include "PduR_CanIf.h"\r
 #include "PduR_LinIf.h"\r
@@ -68,31 +69,40 @@ extern const PduR_PBConfigType *PduRConfig;
  */\r
 extern PduR_StateType PduRState;\r
 \r
+#define PduR_IsUpModule(_mod) ((_mod > ARC_PDUR_UP_MODULES) && (_mod < ARC_PDUR_LOIF_MODULES))\r
+#define PduR_IsIfModule(_mod) ((_mod > ARC_PDUR_LOIF_MODULES) && (_mod < ARC_PDUR_LOTP_MODULES))\r
+#define PduR_IsTpModule(_mod) ((_mod > ARC_PDUR_LOTP_MODULES) && (_mod < ARC_PDUR_END_OF_MODULES))\r
+#define PduR_IsLoModule(_mod) (PduR_IsIfModule(_mod) || PduR_IsTpModule(_mod))\r
+\r
 \r
 #if (PDUR_DEV_ERROR_DETECT == STD_ON)\r
 \r
-#define PDUR_DET_REPORTERROR(_x,_y,_z,_q) Det_ReportError(_x,_y,_z,_q)\r
+#define PDUR_DET_REPORTERROR(_x,_y,_z,_o) Det_ReportError(_x,_y,_z,_o)\r
 \r
-// 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
+#define PDUR_VALIDATE_INITIALIZED(_api,...) \\r
        if ((PduRState == PDUR_UNINIT) || (PduRState == PDUR_REDUCED)) { \\r
-               PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_INVALID_REQUEST); \\r
+               Det_ReportError(MODULE_ID_PDUR, PDUR_INSTANCE_ID, _api, PDUR_E_INVALID_REQUEST); \\r
                return __VA_ARGS__; \\r
-       } \\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
+       }\r
+\r
+#define PDUR_VALIDATE_PDUPTR(_api, _pduPtr, ...) \\r
+       if ((_pduPtr == NULL) && (PDUR_DEV_ERROR_DETECT)) { \\r
+               Det_ReportError(MODULE_ID_PDUR, PDUR_INSTANCE_ID, _api, PDUR_E_DATA_PTR_INVALID); \\r
                return __VA_ARGS__; \\r
-       } \\r
-       if ((PduId >= PduRConfig->PduRRoutingTable->NRoutingPaths) && PDUR_DEV_ERROR_DETECT) { \\r
-               PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_PDU_ID_INVALID); \\r
+       }\r
+\r
+#define PDUR_VALIDATE_PDUID(_api, _pduId, ...) \\r
+       if ((_pduId >= PduRConfig->NRoutingPaths) && PDUR_DEV_ERROR_DETECT) { \\r
+               Det_ReportError(MODULE_ID_PDUR, PDUR_INSTANCE_ID, _api, PDUR_E_PDU_ID_INVALID); \\r
                return __VA_ARGS__; \\r
        }\r
 \r
 \r
 #else\r
-#define PDUR_DET_REPORTERROR(_x,_y,_z,_q)\r
-#define PduR_DevCheck(...)\r
+#define PDUR_DET_REPORTERROR(_x,_y,_z,_o)\r
+#define PDUR_VALIDATE_INITIALIZED(_api,...)\r
+#define PDUR_VALIDATE_PDUPTR(_api, _pduPtr, ...)\r
+#define PDUR_VALIDATE_PDUID(_api, _pduId, ...)\r
 \r
 #endif\r
 \r
@@ -127,12 +137,9 @@ void PduR_LoIfTriggerTransmit(PduIdType PduId, uint8* SduPtr);
 /*\r
  * Macros\r
  */\r
-#define setTxConfP(R) (R->PduRDestPdu.TxBufferRef->TxConfP = 1)\r
-#define clearTxConfP(R) (R->PduRDestPdu.TxBufferRef->TxConfP = 0)\r
+#define setTxConfP(_B) (_B->TxConfP = 1)\r
+#define clearTxConfP(_B) (_B->TxConfP = 0)\r
 \r
 #endif\r
 \r
-extern PduR_FctPtrType PduR_StdCanFctPtrs;\r
-extern PduR_FctPtrType PduR_StdLinFctPtrs;\r
-\r
 #endif /* PDUR_H */\r