\r
//-------------------------------------------------------------------\r
\r
-static void Mcu_LossOfLock( void ){\r
+void Mcu_LossOfLock( void ){\r
#if defined(USE_DEM)\r
Dem_ReportErrorStatus(MCU_E_CLOCK_FAILURE, DEM_EVENT_STATUS_FAILED);\r
#endif\r
\r
//-------------------------------------------------------------------\r
\r
-static void Mcu_LossOfClock( void ){\r
+void Mcu_LossOfClock( void ){\r
/* Should report MCU_E_CLOCK_FAILURE with DEM here */\r
#if defined(CFG_MPC5606S)\r
/*not support*/\r
* Generator version: 2.0.34\r
*\r
* Generated by Arctic Studio (http://arccore.com) \r
-* on Mon May 30 18:16:50 CEST 2011\r
+* on Tue Jun 21 23:35:54 CEST 2011\r
*/\r
\r
\r
};\r
\r
\r
+GEN_SCHTBL_TASK_LIST_HEAD( 0, 9 ) { \r
+ TASK_ID_bTask3,\r
+};\r
+\r
+GEN_SCHTBL_EVENT_LIST_HEAD( 0, 9 ) {\r
+ { \r
+ EVENT_MASK_Event1, \r
+ TASK_ID_eTask1 \r
+ },\r
+};\r
+\r
+\r
GEN_SCHTBL_EXPIRY_POINT_HEAD( 0 ) {\r
GEN_SCHTBL_EXPIRY_POINT_W_TASK(0, 2),
GEN_SCHTBL_EXPIRY_POINT_W_EVENT(0, 4),
GEN_SCHTBL_EXPIRY_POINT_W_EVENT(0, 8),
+ GEN_SCHTBL_EXPIRY_POINT_W_TASK_EVENT(0, 9),
\r
};\r
\r
* Generator version: 2.0.34\r
*\r
* Generated by Arctic Studio (http://arccore.com) \r
-* on Mon May 30 18:16:50 CEST 2011\r
+* on Tue Jun 21 23:35:54 CEST 2011\r
*/\r
\r
#define OSMAXALLOWEDVALUE UINT_MAX// NOT CONFIGURABLE IN TOOLS\r
#define OSTICKSPERBASE 1 // NOT CONFIGURABLE IN TOOLS\r
#define OSMINCYCLE 1 // NOT CONFIGURABLE IN TOOLS\r
-#define OSTICKDURATION 10000000 // Time between ticks in nano seconds\r
+#define OSTICKDURATION 10000000UL // Time between ticks in nano seconds\r
\r
// Counter macros\r
#define OSMAXALLOWEDVALUE_Counter1 OSMAXALLOWEDVALUE\r
#define OSTICKSPERBASE_Counter1 1 // NOT CONFIGURABLE IN TOOLS\r
#define OSMINCYCLE_Counter1 1\r
-#define OS_TICKS2SEC_Counter1(_ticks) ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000000UL )\r
-#define OS_TICKS2MS_Counter1(_ticks) ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000UL )\r
-#define OS_TICKS2US_Counter1(_ticks) ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000UL )\r
-#define OS_TICKS2NS_Counter1(_ticks) (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)\r
+#define OS_TICKS2SEC_Counter1(_ticks) ( (OSTICKDURATION * _ticks)/1000000000UL )\r
+#define OS_TICKS2MS_Counter1(_ticks) ( (OSTICKDURATION * _ticks)/1000000UL )\r
+#define OS_TICKS2US_Counter1(_ticks) ( (OSTICKDURATION * _ticks)/1000UL )\r
+#define OS_TICKS2NS_Counter1(_ticks) (OSTICKDURATION * _ticks)\r
\r
\r
\r
+/* -------------------------------- Arctic Core ------------------------------\r
+ * Arctic Core - the open source AUTOSAR platform http://arccore.com\r
+ *\r
+ * Copyright (C) 2009 ArcCore AB <contact@arccore.com>\r
+ *\r
+ * This source code is free software; you can redistribute it and/or modify it\r
+ * under the terms of the GNU General Public License version 2 as published by the\r
+ * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.\r
+ *\r
+ * This program is distributed in the hope that it will be useful, but\r
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\r
+ * for more details.\r
+ * -------------------------------- Arctic Core ------------------------------*/\r
+\r
/*\r
-* Configuration of module: Os (Tasks.c)\r
-*\r
-* Created by: \r
-* Copyright: \r
-*\r
-* Configured for (MCU): MPC551x\r
-*\r
-* Module vendor: ArcCore\r
-* Generator version: 2.0.24\r
-*\r
-* Generated by Arctic Studio (http://arccore.com) \r
-* on Mon Mar 28 20:46:34 CEST 2011\r
-*/\r
+ * Description\r
+ * A very simple example that uses a scheduletable with a duration of 10.\r
+ *\r
+ * Activations\r
+ * 2 - ActivateTask bTask3\r
+ * 4 - SetEvent eTask1\r
+ * 8 - SetEvent eTask2\r
+ * 9 - ActivateTak bTask3 and SetEvent eTask1\r
+ */\r
\r
-#include "Os.h"\r
\r
+#include "Os.h"\r
#define USE_LDEBUG_PRINTF // Uncomment this to turn debug statements on.\r
#include "debug.h"\r
\r
+#define TABLE_DURATION 10\r
+\r
+static int iteration = 0;\r
\r
-// Tasks\r
+static unsigned getTick( void ) {\r
+ TickType tick;\r
+ (void)GetCounterValue(COUNTER_ID_Counter1,&tick);\r
+ return tick;\r
+}\r
+\r
+/**\r
+ * Task activated by Scheduletable/ActivateTask on 2/10 and 9/10
+ */\r
void bTask3( void ) {\r
\r
- LDEBUG_FPUTS("btask3");\r
+ LDEBUG_PRINTF("%d/%u btask3\n",iteration,getTick());\r
TerminateTask();\r
}\r
\r
+/**\r
+ * Task activated by Scheduletable/SetEvent on 4/10
+ */\r
+\r
void eTask1( void ) {\r
\r
for(;;) {\r
WaitEvent(EVENT_MASK_Event1);\r
- LDEBUG_FPUTS("eTask1");\r
+ LDEBUG_PRINTF("%d/%u eTask1\n",iteration,getTick());\r
ClearEvent(EVENT_MASK_Event1);\r
}\r
}\r
\r
+/**\r
+ * Task activated by Scheduletable/SetEvent on 8/10 and 9/10
+ */\r
void eTask2( void ) {\r
\r
for(;;) {\r
WaitEvent(EVENT_MASK_Event2);\r
- LDEBUG_FPUTS("eTask2");\r
+ LDEBUG_PRINTF("%d/%u eTask2\n",iteration++,getTick());\r
ClearEvent(EVENT_MASK_Event2);\r
}\r
}\r
</INTEGER-VALUE>\r
</PARAMETER-VALUES>\r
</CONTAINER>\r
+ <CONTAINER UUID="ef94daf5-3e59-4674-ae5e-3659e571073f">\r
+ <SHORT-NAME>ExpiryPoint4</SHORT-NAME>\r
+ <ADMIN-DATA>\r
+ <SDGS>\r
+ <SDG GID="Arccore::IdentifiableOptions" />\r
+ </SDGS>\r
+ </ADMIN-DATA>\r
+ <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint</DEFINITION-REF>\r
+ <PARAMETER-VALUES>\r
+ <INTEGER-VALUE>\r
+ <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblExpPointOffset</DEFINITION-REF>\r
+ <VALUE>9</VALUE>\r
+ </INTEGER-VALUE>\r
+ </PARAMETER-VALUES>\r
+ <SUB-CONTAINERS>\r
+ <CONTAINER UUID="26031837-476e-4eba-91df-b70ab7a71f8e">\r
+ <SHORT-NAME>EventSetting1</SHORT-NAME>\r
+ <ADMIN-DATA>\r
+ <SDGS>\r
+ <SDG GID="Arccore::IdentifiableOptions" />\r
+ </SDGS>\r
+ </ADMIN-DATA>\r
+ <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting</DEFINITION-REF>\r
+ <REFERENCE-VALUES>\r
+ <REFERENCE-VALUE>\r
+ <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting/OsScheduleTableSetEventRef</DEFINITION-REF>\r
+ <VALUE-REF DEST="CONTAINER">/os_schtbl_mpc551xsim/Os/Event1</VALUE-REF>\r
+ </REFERENCE-VALUE>\r
+ <REFERENCE-VALUE>\r
+ <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting/OsScheduleTableSetEventTaskRef</DEFINITION-REF>\r
+ <VALUE-REF DEST="CONTAINER">/os_schtbl_mpc551xsim/Os/eTask1</VALUE-REF>\r
+ </REFERENCE-VALUE>\r
+ </REFERENCE-VALUES>\r
+ </CONTAINER>\r
+ <CONTAINER UUID="198af8d1-3e40-43a8-90c6-b822c1f14be6">\r
+ <SHORT-NAME>TaskActivation1</SHORT-NAME>\r
+ <ADMIN-DATA>\r
+ <SDGS>\r
+ <SDG GID="Arccore::IdentifiableOptions" />\r
+ </SDGS>\r
+ </ADMIN-DATA>\r
+ <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableTaskActivation</DEFINITION-REF>\r
+ <REFERENCE-VALUES>\r
+ <REFERENCE-VALUE>\r
+ <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableTaskActivation/OsScheduleTableActivateTaskRef</DEFINITION-REF>\r
+ <VALUE-REF DEST="CONTAINER">/os_schtbl_mpc551xsim/Os/bTask3</VALUE-REF>\r
+ </REFERENCE-VALUE>\r
+ </REFERENCE-VALUES>\r
+ </CONTAINER>\r
+ </SUB-CONTAINERS>\r
+ </CONTAINER>\r
</SUB-CONTAINERS>\r
</CONTAINER>\r
<CONTAINER UUID="e9b2de76-5e7f-4c07-86fe-a4385118fb55">\r