]> rtime.felk.cvut.cz Git - arc.git/blobdiff - boards/ti_tms570ls/examples/tms570_hdk_can/config/Rte.c
Added an example of CAN communication for the TMS570LS31x HDK
[arc.git] / boards / ti_tms570ls / examples / tms570_hdk_can / config / Rte.c
diff --git a/boards/ti_tms570ls/examples/tms570_hdk_can/config/Rte.c b/boards/ti_tms570ls/examples/tms570_hdk_can/config/Rte.c
new file mode 100644 (file)
index 0000000..e4c5eee
--- /dev/null
@@ -0,0 +1,131 @@
+/*\r
+* Configuration of module: Rte (Rte.c)\r
+*\r
+* Created by:              \r
+* Copyright:               \r
+*\r
+* Configured for (MCU):    TMS570\r
+*\r
+* Module vendor:           ArcCore\r
+* Generator version:       0.0.13\r
+*\r
+* Generated by Arctic Studio (http://arccore.com) \r
+*/\r
+\r
+/* Rte.c */\r
+#include "Os.h"\r
+#include "Rte_Type.h"\r
+#include "Rte_Data.h"\r
+#include <string.h>\r
+#include "Rte_Calculator_Internal.h"\r
+#include "Rte_Tester_Internal.h"\r
+#include "Com.h"\r
+\r
+Rte_DE_Read_TesterRunnable_ReadArg1 Rte_Buf_TesterRunnable_Argumentsarg1_ibuffer;\r
+Rte_DE_Read_TesterRunnable_ReadArg2 Rte_Buf_TesterRunnable_Argumentsarg2_ibuffer;\r
+Rte_DE_Read_FreqReqRunnable_ReadFreqReq Rte_Buf_FreqReqRunnable_FreqReqfreq_ibuffer;\r
+Rte_DE_Write_TesterRunnable_WriteResult Rte_Buf_TesterRunnable_Resultresult_ibuffer;\r
+Rte_DE_Write_FreqReqRunnable_WriteFreqReqInd Rte_Buf_FreqReqRunnable_FreqReqIndfreq_ibuffer;\r
+Rte_CDS_Tester Rte_Inst_Tester =\r
+{\r
+       .TesterRunnable_Arguments_arg1 = &Rte_Buf_TesterRunnable_Argumentsarg1_ibuffer,\r
+       .TesterRunnable_Arguments_arg2 = &Rte_Buf_TesterRunnable_Argumentsarg2_ibuffer,\r
+       .FreqReqRunnable_FreqReq_freq = &Rte_Buf_FreqReqRunnable_FreqReqfreq_ibuffer,\r
+       .TesterRunnable_Result_result = &Rte_Buf_TesterRunnable_Resultresult_ibuffer,\r
+       .FreqReqRunnable_FreqReqInd_freq = &Rte_Buf_FreqReqRunnable_FreqReqIndfreq_ibuffer,\r
+};\r
+\r
+void Rte_PRE_TesterRunnable() {\r
+       GetResource(RES_SCHEDULER);\r
+\r
+       uint8 Arg1_buf = 0;\r
+       Com_ReceiveSignal(Arg1, &Arg1_buf);\r
+       Rte_Inst_Tester.TesterRunnable_Arguments_arg1->value = (UInt8) Arg1_buf;\r
+\r
+       uint8 Arg2_buf = 0;\r
+       Com_ReceiveSignal(Arg2, &Arg2_buf);\r
+       Rte_Inst_Tester.TesterRunnable_Arguments_arg2->value = (UInt8) Arg2_buf;\r
+\r
+       ReleaseResource(RES_SCHEDULER);\r
+\r
+}\r
+\r
+void Rte_PRE_FreqReqRunnable() {\r
+       GetResource(RES_SCHEDULER);\r
+\r
+       uint32 FreqReqSig_buf = 0;\r
+       Com_ReceiveSignal(FreqReqSig, &FreqReqSig_buf);\r
+       Rte_Inst_Tester.FreqReqRunnable_FreqReq_freq->value =\r
+                       (UInt32) FreqReqSig_buf;\r
+\r
+       ReleaseResource(RES_SCHEDULER);\r
+\r
+}\r
+\r
+void Rte_POST_TesterRunnable() {\r
+       GetResource(RES_SCHEDULER);\r
+\r
+       uint8 ResultSig_buf =\r
+                       (uint8) Rte_Inst_Tester.TesterRunnable_Result_result->value;\r
+       Com_SendSignal(ResultSig, &ResultSig_buf);\r
+\r
+       Rte_WriteBuffer_Rte_Buf_Tester_prototype_Result_result(\r
+                       Rte_Inst_Tester.TesterRunnable_Result_result->value);\r
+\r
+       ReleaseResource(RES_SCHEDULER);\r
+\r
+}\r
+\r
+void Rte_POST_FreqReqRunnable() {\r
+       GetResource(RES_SCHEDULER);\r
+\r
+       uint32 FreqIndSig_buf =\r
+                       (uint32) Rte_Inst_Tester.FreqReqRunnable_FreqReqInd_freq->value;\r
+       Com_SendSignal(FreqIndSig, &FreqIndSig_buf);\r
+\r
+       ReleaseResource(RES_SCHEDULER);\r
+\r
+}\r
+\r
+void Rte_TesterRunnable() {\r
+       Rte_PRE_TesterRunnable();\r
+       TesterRunnable();\r
+       Rte_POST_TesterRunnable();\r
+}\r
+\r
+void Rte_FreqReqRunnable() {\r
+       Rte_PRE_FreqReqRunnable();\r
+       FreqReqRunnable();\r
+       Rte_POST_FreqReqRunnable();\r
+}\r
+\r
+Std_ReturnType Rte_Multiply(const UInt8 arg1, const UInt8 arg2,\r
+               UInt16* result) {\r
+       Std_ReturnType retVal = Multiply(arg1, arg2, result);\r
+       return retVal;\r
+}\r
+\r
+Std_ReturnType Rte_Start() {\r
+       return RTE_E_OK;\r
+}\r
+\r
+void StepTask() {\r
+       EventMaskType eventMask = 0;\r
+       while (1) {\r
+               WaitEvent(EVENT_MASK_StepEvent);\r
+               GetResource(RES_SCHEDULER);\r
+               GetEvent(TASK_ID_StepTask, &eventMask);\r
+               ClearEvent(EVENT_MASK_StepEvent);\r
+               ReleaseResource(RES_SCHEDULER);\r
+               if (eventMask & EVENT_MASK_StepEvent) {\r
+                       Rte_FreqReqRunnable();\r
+               }\r
+               if (eventMask & EVENT_MASK_StepEvent) {\r
+                       Rte_TesterRunnable();\r
+               }\r
+       /*      if (eventMask & EVENT_MASK_StepEvent) {\r
+                       Rte_LoggerRunnable();\r
+               }*/\r
+       }\r
+}\r
+\r