]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Updated examples to conform to new Com stack inter-communication
authortojo <devnull@localhost>
Mon, 3 May 2010 11:40:44 +0000 (13:40 +0200)
committertojo <devnull@localhost>
Mon, 3 May 2010 11:40:44 +0000 (13:40 +0200)
45 files changed:
examples/pwm_node2/config/CanIf_Cfg.c
examples/pwm_node2/config/CanIf_Cfg.h
examples/pwm_node2/config/Can_Cfg.h
examples/pwm_node2/config/Can_Lcfg.c
examples/pwm_node2/config/ComGlobals.h
examples/pwm_node2/config/Com_Cfg.h
examples/pwm_node2/config/Com_PbCfg.c
examples/pwm_node2/config/Com_PbCfg.h
examples/pwm_node2/config/EcuM.mk
examples/pwm_node2/config/EcuM_Callout_template.c
examples/pwm_node2/config/EcuM_Cfg.c
examples/pwm_node2/config/EcuM_Cfg.h
examples/pwm_node2/config/EcuM_Generated_Types.h
examples/pwm_node2/config/Os_Cfg.c
examples/pwm_node2/config/Os_Cfg.h
examples/pwm_node2/config/PduR_Cfg.h [new file with mode: 0644]
examples/pwm_node2/config/PduR_PbCfg.c [new file with mode: 0644]
examples/pwm_node2/config/PduR_PbCfg.h [new file with mode: 0644]
examples/pwm_node2/config/Port_Cfg.c
examples/pwm_node2/config/Port_Cfg.h
examples/pwm_node2/config/Pwm_Cfg.c
examples/pwm_node2/config/Pwm_Cfg.h
examples/pwm_node2/pwm_node2_mpc551x.arxml
examples/switch_node/build_config.mk
examples/switch_node/config/CanIf_Cfg.c
examples/switch_node/config/CanIf_Cfg.h [new file with mode: 0644]
examples/switch_node/config/Can_Cfg.h [new file with mode: 0644]
examples/switch_node/config/Can_Lcfg.c [new file with mode: 0644]
examples/switch_node/config/ComGlobals.h
examples/switch_node/config/Com_Cfg.h
examples/switch_node/config/Com_PbCfg.c
examples/switch_node/config/Com_PbCfg.h
examples/switch_node/config/EcuM.mk [new file with mode: 0644]
examples/switch_node/config/EcuM_Callout_template.c [new file with mode: 0644]
examples/switch_node/config/EcuM_Cfg.c [new file with mode: 0644]
examples/switch_node/config/EcuM_Cfg.h [new file with mode: 0644]
examples/switch_node/config/EcuM_Generated_Types.h [new file with mode: 0644]
examples/switch_node/config/Os_Cfg.c
examples/switch_node/config/Os_Cfg.h
examples/switch_node/config/PduR_Cfg.h [new file with mode: 0644]
examples/switch_node/config/PduR_PbCfg.c [new file with mode: 0644]
examples/switch_node/config/PduR_PbCfg.h [new file with mode: 0644]
examples/switch_node/config/Port_Cfg.c
examples/switch_node/config/Port_Cfg.h
examples/switch_node/switch_node_mpc551x.arxml

index e51cccf2e755a59c277bb31ea85e768459ee915d..689ffd4bcfc946c3d5f2bf15c7857e013ad7209f 100644 (file)
@@ -4,44 +4,52 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.1
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
-\r
-\r
+
 #include "CanIf.h"\r
+#if defined(USE_CANTP)
+#include "CanTp.h"
+#include "CanTp_Cbk.h"
+#endif
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
 #include <stdlib.h>\r
 \r
-\r
+
 // Imported structs from Can_Lcfg.c\r
 extern const Can_ControllerConfigType CanControllerConfigData[];\r
 extern const Can_ConfigSetType CanConfigSetData;\r
-\r
-\r
-// Contains the mapping from CanIf-specific Channels to Can Controllers\r
-const CanControllerIdType CanIf_Arc_ChannelToControllerMap[CANIF_CHANNEL_CNT] = {\r
-       FLEXCAN_A, // CHANNEL_0\r
+
+
+
+// Contains the mapping from CanIf-specific Channels to Can Controllers
+const CanControllerIdType CanIf_Arc_ChannelToControllerMap[CANIF_CHANNEL_CNT] = {
+       FLEXCAN_A, // CHANNEL_0
 };\r
 \r
 // Container that gets slamed into CanIf_InitController()\r
 // Inits ALL controllers\r
 // Multiplicity 1..*\r
-const CanIf_ControllerConfigType CanIfControllerConfig[] = {\r
-       // This is the ConfigurationIndex in CanIf_InitController()\r
-       \r
-       \r
-       { \r
-               .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,\r
-               .CanIfControllerIdRef = CANIF_CHANNEL_0,\r
-               .CanIfDriverNameRef = "FLEXCAN",  // Not used\r
-               .CanIfInitControllerRef = &CanControllerConfigData[0],\r
-       },\r
-       \r
+const CanIf_ControllerConfigType CanIfControllerConfig[] = {
+       // This is the ConfigurationIndex in CanIf_InitController()
+       
+       
+       { 
+               .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
+               .CanIfControllerIdRef = CANIF_CHANNEL_0,
+               .CanIfDriverNameRef = "FLEXCAN",  // Not used
+               .CanIfInitControllerRef = &CanControllerConfigData[0],
+       },
+       
 };\r
 \r
 // Function callbacks for higher layers\r
@@ -53,62 +61,61 @@ const CanIf_DispatchConfigType CanIfDispatchConfig =
   .CanIfErrorNotificaton = NULL,\r
 };\r
 \r
-\r
-// Data for init configuration CanIfInitConfiguration\r
-\r
-               \r
-\r
-const CanIf_HthConfigType CanIfHthConfigData_Hoh_1[] =\r
-{\r
-};\r
-\r
-const CanIf_HrhConfigType CanIfHrhConfigData_Hoh_1[] =\r
+
+// Data for init configuration CanIfInitConfiguration
+
+               
+
+const CanIf_HthConfigType CanIfHthConfigData_Hoh_1[] =
 {\r
-               \r
+};
+
+const CanIf_HrhConfigType CanIfHrhConfigData_Hoh_1[] =
+{
+               
   {\r
-    .CanIfHrhType = CAN_ARC_HANDLE_TYPE_BASIC,\r
-    .CanIfSoftwareFilterHrh = TRUE,\r
-    .CanIfCanControllerHrhIdRef = FLEXCAN_A,\r
-    .CanIfHrhIdSymRef = RxMailboxes,\r
+    .CanIfHrhType = CAN_ARC_HANDLE_TYPE_BASIC,
+    .CanIfSoftwareFilterHrh = TRUE,
+    .CanIfCanControllerHrhIdRef = FLEXCAN_A,
+    .CanIfHrhIdSymRef = RxMailboxes,
     .CanIf_Arc_EOL = 1,\r
   },\r
 };\r
 \r
-\r
-const CanIf_InitHohConfigType CanIfHohConfigData[] = {\r
-               \r
-       {\r
-               .CanConfigSet = &CanConfigSetData,\r
-               .CanIfHrhConfig = CanIfHrhConfigData_Hoh_1,\r
-           .CanIfHthConfig = CanIfHthConfigData_Hoh_1,\r
-       .CanIf_Arc_EOL = 1,\r
-       },\r
-};\r
-         \r
-const CanIf_TxPduConfigType CanIfTxPduConfigData[] = {  \r
+
+const CanIf_InitHohConfigType CanIfHohConfigData[] = {
+               
+       {
+               .CanConfigSet = &CanConfigSetData,
+               .CanIfHrhConfig = CanIfHrhConfigData_Hoh_1,
+           .CanIfHthConfig = CanIfHthConfigData_Hoh_1,
+       .CanIf_Arc_EOL = 1,
+       },
 };\r
+         
+const CanIf_TxPduConfigType CanIfTxPduConfigData[] = {  
+};
 \r
-const CanIf_RxPduConfigType CanIfRxPduConfigData[] = {\r
-               \r
+const CanIf_RxPduConfigType CanIfRxPduConfigData[] = {         
   {\r
-    .CanIfCanRxPduId = LedCommandRx,\r
-    .CanIfCanRxPduCanId = 291,\r
-    .CanIfCanRxPduDlc = 8,\r
-#if ( CANIF_CANPDUID_READDATA_API == STD_ON )    \r
-    .CanIfReadRxPduData = false,\r
-#endif    \r
-#if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )\r
-    .CanIfReadRxPduNotifyStatus = false, \r
+    .CanIfCanRxPduId = PDUR_DEST_PDU_ID_LedCommandRx,
+    .CanIfCanRxPduCanId = 291,
+    .CanIfCanRxPduDlc = 8,
+#if ( CANIF_CANPDUID_READDATA_API == STD_ON )    
+    .CanIfReadRxPduData = false,
+#endif    
+#if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
+    .CanIfReadRxPduNotifyStatus = false, 
 #endif\r
-       .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_11,\r
-       .CanIfRxUserType = CANIF_USER_TYPE_CAN_PDUR,\r
-    .CanIfCanRxPduHrhRef = &CanIfHrhConfigData_Hoh_1[0],\r
-    .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_11,\r
-    .CanIfUserRxIndication = NULL,\r
-    .CanIfSoftwareFilterType = CANIF_SOFTFILTER_TYPE_MASK,\r
+       .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_29,
+       .CanIfRxUserType = CANIF_USER_TYPE_CAN_PDUR,
+    .CanIfCanRxPduHrhRef = &CanIfHrhConfigData_Hoh_1[0],
+    .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_29,
+    .CanIfUserRxIndication = NULL,
+    .CanIfSoftwareFilterType = CANIF_SOFTFILTER_TYPE_MASK,
     .CanIfCanRxPduCanIdMask = 0xFFF,\r
-    .PduIdRef = NULL,\r
-  },  \r
+    .PduIdRef = NULL,
+  },  
 };\r
 \r
 // This container contains the init parameters of the CAN\r
@@ -126,14 +133,14 @@ const CanIf_InitConfigType CanIfInitConfig =
   .CanIfTxPduConfigPtr = CanIfTxPduConfigData,\r
 };\r
 \r
-       // This container includes all necessary configuration sub-containers\r
+       // This container includes all necessary configuration sub-containers
 // according the CAN Interface configuration structure.\r
 CanIf_ConfigType CanIf_Config =\r
 {\r
   .ControllerConfig = CanIfControllerConfig,\r
   .DispatchConfig = &CanIfDispatchConfig,\r
   .InitConfig = &CanIfInitConfig,\r
-  .TransceiverConfig = NULL, // Not used\r
-  .Arc_ChannelToControllerMap = CanIf_Arc_ChannelToControllerMap,  \r
+  .TransceiverConfig = NULL, // Not used
+  .Arc_ChannelToControllerMap = CanIf_Arc_ChannelToControllerMap,  
 };\r
 \r
index 242c43c6a960d5a9649c86db1ad6baeea6a066d3..9c1e6210bbdaa328501f33ab3f332369928b2851 100644 (file)
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.1
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 
-#if (CANIF_SW_MAJOR_VERSION != 1) 
+#if (CANIF_SW_MAJOR_VERSION != 1 && CANIF_SW_MINOR_VERSION != 1
 #error "CanIf: Configuration file version differs from BSW version."
 #endif
 
-\r
-#ifndef CANIF_CFG_H_\r
-#define CANIF_CFG_H_\r
-\r
-#include "Can.h"\r
-\r
-// Identifiers for the elements in CanIfControllerConfig[]\r
-// This is the ConfigurationIndex in CanIf_InitController()\r
-typedef enum {\r
-       CANIF_CHANNEL_0_CONFIG_0,\r
-       CANIF_CHANNEL_CONFIGURATION_CNT\r
-} CanIf_Arc_ConfigurationIndexType;\r
-\r
-typedef enum {\r
-       CANIF_CHANNEL_0,\r
-       CANIF_CHANNEL_CNT\r
-} CanIf_Arc_ChannelIdType;\r
-\r
-typedef enum {\r
-       CANIF_SOFTFILTER_TYPE_BINARY = 0,  // Not supported\r
-       CANIF_SOFTFILTER_TYPE_INDEX,  // Not supported\r
-       CANIF_SOFTFILTER_TYPE_LINEAR, // Not supported\r
-       CANIF_SOFTFILTER_TYPE_TABLE,  // Not supported\r
-       CANIF_SOFTFILTER_TYPE_MASK,  // CanIfCanRxPduCanIdMask in RxPduConfig is used for filtering\r
-} CanIf_SoftwareFilterTypeType;\r
-\r
-typedef enum {\r
-       CANIF_USER_TYPE_CAN_NM,\r
-       CANIF_USER_TYPE_CAN_TP,\r
-       CANIF_USER_TYPE_CAN_PDUR,\r
-       CANIF_USER_TYPE_CAN_SPECIAL,\r
-} CanIf_UserTypeType;\r
-\r
-\r
-typedef void (*CanIf_FuncTypeCanSpecial)(PduIdType, const uint8 *, uint8, Can_IdType);\r
-\r
-typedef enum {\r
-  CANIF_PDU_TYPE_STATIC = 0,\r
-  CANIF_PDU_TYPE_DYNAMIC       // Not supported\r
-} CanIf_PduTypeType;\r
-\r
-typedef enum {\r
-  CANIF_CAN_ID_TYPE_29 = 0,\r
-  CANIF_CAN_ID_TYPE_11\r
-} CanIf_CanIdTypeType;\r
-\r
-/*\r
- * Public container\r
- */\r
-#define CANIF_VERSION_INFO_API              STD_ON\r
-#define CANIF_DEV_ERROR_DETECT                     STD_ON\r
-#define CANIF_DLC_CHECK                     STD_ON\r
-#define CANIF_MULITPLE_DRIVER_SUPPORT       STD_OFF  // Not supported\r
-#define CANIF_READRXPDU_DATA_API                       STD_OFF  // Not supported\r
-#define CANIF_READRXPDU_NOTIFY_STATUS_API      STD_OFF  // Not supported\r
-#define CANIF_READTXPDU_NOTIFY_STATUS_API      STD_OFF  // Not supported\r
-#define CANIF_SETDYNAMICTXID_API            STD_OFF  // Not supported\r
-#define CANIF_WAKEUP_EVENT_API                     STD_OFF  // Not supported\r
-#define CANIF_TRANSCEIVER_API               STD_OFF  // Not supported\r
-#define CANIF_TRANSMIT_CANCELLATION         STD_OFF  // Not supported\r
-\r
-//-------------------------------------------------------------------\r
-\r
-typedef struct {\r
-       void (*CancelTxConfirmation)( void *);  // (const Can_PduType *);\r
-       void (*RxIndication)(void *); //(const Can_PduType *);\r
-       void (*ControllerBusOff)(uint8);\r
-       void (*ControllerWakeup)(uint8);\r
-       void (*Arc_Error)(uint8,uint32);\r
-} CanIf_CallbackType;\r
-\r
-\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfHrhRangeConfig container\r
- */\r
-\r
-typedef struct {\r
-       //      Lower CAN Identifier of a receive CAN L-PDU for identifier range\r
-       //      definition, in which all CAN Ids shall pass the software filtering. Range: 11\r
-       //      Bit for Standard CAN Identifier 29 Bit for Extended CAN Identifer\r
-       uint32 CanIfRxPduLowerCanId;\r
-\r
-       //      Upper CAN Identifier of a receive CAN L-PDU for identifier range\r
-       //      definition, in which all CAN Ids shall pass the software filtering. Range: 11\r
-       //      Bit for Standard CAN Identifier 29 Bit for Extended CAN Identifer\r
-       uint32 CanIfRxPduUpperCanId;\r
-} CanIf_HrhRangeConfigType;\r
-\r
-\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfInitHrhConfig container\r
- */\r
-typedef struct {\r
-       //      Defines the HRH type i.e, whether its a BasicCan or FullCan. If BasicCan is\r
-       //      configured, software filtering is enabled.\r
-  Can_Arc_HohType CanIfHrhType;\r
-\r
-       //      Selects the hardware receive objects by using the HRH range/list from\r
-       //      CAN Driver configuration to define, for which HRH a software filtering has\r
-       //      to be performed at during receive processing. True: Software filtering is\r
-       //      enabled False: Software filtering is disabled\r
-       boolean  CanIfSoftwareFilterHrh;\r
-\r
-       //      Reference to controller Id to which the HRH belongs to. A controller can\r
-       //      contain one or more HRHs.\r
-       CanIf_Arc_ChannelIdType CanIfCanControllerHrhIdRef;\r
-\r
-       //      The parameter refers to a particular HRH object in the CAN Driver Module\r
-       //      configuration. The HRH id is unique in a given CAN Driver. The HRH Ids\r
-       //      are defined in the CAN Driver Module and hence it is derived from CAN\r
-       //      Driver Configuration.\r
-       Can_Arc_HRHType CanIfHrhIdSymRef ;\r
-\r
-       //      Defines the parameters required for configuraing multiple\r
-       //      CANID ranges for a given same HRH.\r
-       const CanIf_HrhRangeConfigType *CanIfHrhRangeConfig;\r
-\r
-  // End Of List. Set to TRUE is this is the last object in the list.\r
-  boolean CanIf_Arc_EOL;\r
-} CanIf_HrhConfigType;\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfInitHthConfig container\r
- */\r
-\r
-typedef struct {\r
-  //  Defines the HTH type i.e, whether its a BasicCan or FullCan.\r
-  Can_Arc_HohType CanIfHthType;\r
-\r
-  // Reference to controller Id to which the HTH belongs to. A controller\r
-  // can contain one or more HTHs\r
-  CanIf_Arc_ChannelIdType CanIfCanControllerIdRef;\r
-\r
-  //  The parameter refers to a particular HTH object in the CAN Driver Module\r
-  //  configuration. The HTH id is unique in a given CAN Driver. The HTH Ids\r
-  //  are defined in the CAN Driver Module and hence it is derived from CAN\r
-  //  Driver Configuration.\r
-  Can_Arc_HTHType CanIfHthIdSymRef ;\r
-\r
-  // End Of List. Set to TRUE is this is the last object in the list.\r
-  boolean CanIf_Arc_EOL;\r
-} CanIf_HthConfigType;\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfInitHohConfig container\r
- */\r
-typedef struct {\r
-  //  Selects the CAN interface specific configuration setup. This type of external\r
-  // data structure shall contain the post build initialization data for the\r
-  // CAN interface for all underlying CAN Drivers.\r
-  const Can_ConfigSetType   *CanConfigSet;\r
-\r
-  // This container contains contiguration parameters for each hardware receive object.\r
-  const CanIf_HrhConfigType *CanIfHrhConfig;\r
-\r
-  // This container contains parameters releated to each HTH\r
-  const CanIf_HthConfigType *CanIfHthConfig;\r
-\r
-  // End Of List. Set to TRUE is this is the last object in the list.\r
-  boolean CanIf_Arc_EOL;\r
-} CanIf_InitHohConfigType;\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfTxPduConfig container\r
- */\r
-\r
-// This container contains the configuration (parameters) of each transmit\r
-// CAN L-PDU. The SHORT-NAME of "CanIfTxPduConfig" container\r
-// represents the symolic name of Transmit L-PDU.\r
-typedef struct {\r
-       //      ECU wide unique, symbolic handle for transmit CAN L-PDU. The\r
-       //      CanIfCanTxPduId is configurable at pre-compile and post-built time.\r
-       //      Range: 0..max. number of CantTxPduIds   PduIdType       CanTxPduId;\r
-       PduIdType CanIfTxPduId;\r
-\r
-       //      CAN Identifier of transmit CAN L-PDUs used by the CAN Driver for CAN L-\r
-       //      PDU transmission. Range: 11 Bit For Standard CAN Identifier ... 29 Bit For\r
-       //      Extended CAN identifier\r
-       uint32  CanIfCanTxPduIdCanId;\r
-\r
-       //      Data length code (in bytes) of transmit CAN L-PDUs used by the CAN\r
-       //      Driver for CAN L-PDU transmission. The data area size of a CAN L-Pdu\r
-       //      can have a range from 0 to 8 bytes.\r
-       uint8           CanIfCanTxPduIdDlc;\r
-\r
-       // Defines the type of each transmit CAN L-PDU.\r
-       // DYNAMIC  CAN ID is defined at runtime.\r
-       // STATIC  CAN ID is defined at compile-time.\r
-       CanIf_PduTypeType               CanIfCanTxPduType;\r
-\r
-#if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )\r
-       //      Enables and disables transmit confirmation for each transmit CAN L-PDU\r
-       //      for reading its notification status. True: Enabled False: Disabled\r
-       boolean         CanIfReadTxPduNotifyStatus;\r
-#endif\r
-\r
-       //      CAN Identifier of transmit CAN L-PDUs used by the CAN Driver for CAN L-\r
-       //      PDU transmission.\r
-       //  EXTENDED_CAN  The CANID is of type Extended (29 bits)\r
-       //  STANDARD_CAN  The CANID is of type Standard (11 bits)\r
-       CanIf_CanIdTypeType             CanIfTxPduIdCanIdType;\r
-\r
-       //      Name of target confirmation services to target upper layers (PduR, CanNm\r
-       //      and CanTp. If parameter is not configured then no call-out function is\r
-       //      provided by the upper layer for this Tx L-PDU.\r
-       void (*CanIfUserTxConfirmation)(PduIdType);   /* CANIF 109 */\r
-\r
-       //      Handle, that defines the hardware object or the pool of hardware objects\r
-       //      configured for transmission. The parameter refers HTH Id, to which the L-\r
-       //      PDU belongs to.\r
-       const CanIf_HthConfigType *CanIfCanTxPduHthRef;\r
-\r
-       //      Reference to the "global" Pdu structure to allow harmonization of handle\r
-       //      IDs in the COM-Stack.  ..\r
-       void *PduIdRef;\r
-} CanIf_TxPduConfigType;\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfRxPduConfig container\r
- */\r
-\r
-\r
-// This container contains the configuration (parameters) of each receive\r
-// CAN L-PDU. The SHORT-NAME of "CanIfRxPduConfig" container itself\r
-// represents the symolic name of Receive L-PDU.\r
-\r
-typedef struct {\r
-  //  ECU wide unique, symbolic handle for receive CAN L-PDU. The\r
-  //  CanRxPduId is configurable at pre-compile and post-built time. It shall fulfill\r
-  //  ANSI/AUTOSAR definitions for constant defines. Range: 0..max. number\r
-  //  of defined CanRxPduIds\r
-  PduIdType CanIfCanRxPduId;\r
-\r
-  //   CAN Identifier of Receive CAN L-PDUs used by the CAN Interface. Exa:\r
-       //      Software Filtering. Range: 11 Bit For Standard CAN Identifier ... 29 Bit For\r
-       //      Extended CAN identifier\r
-       uint32          CanIfCanRxPduCanId;\r
-\r
-       //      Data Length code of received CAN L-PDUs used by the CAN Interface.\r
-       //      Exa: DLC check. The data area size of a CAN L-PDU can have a range\r
-       //      from 0 to 8 bytes.      uint8           CanIfCanRxPduDlc;\r
-       uint8           CanIfCanRxPduDlc;\r
-\r
-#if ( CANIF_CANPDUID_READDATA_API == STD_ON )\r
-       //      Enables and disables the Rx buffering for reading of received L-PDU data.\r
-       //      True: Enabled False: Disabled\r
-       boolean         CanIfReadRxPduData;\r
-#endif\r
-\r
-#if ( CANIF_READRXPDU_NOTIF_STATUS_API == STD_ON )\r
-       //      CanIfReadRxPduNotifyStatus {CANIF_READRXPDU_NOTIFY_STATUS}\r
-       //      Enables and disables receive indication for each receive CAN L-PDU for\r
-       //      reading its' notification status. True: Enabled False: Disabled\r
-       boolean         CanIfReadRxPduNotifyStatus;\r
-#endif\r
-\r
-  //  CAN Identifier of receive CAN L-PDUs used by the CAN Driver for CAN L-\r
-  //  PDU transmission.\r
-  //  EXTENDED_CAN  The CANID is of type Extended (29 bits)\r
-  //  STANDARD_CAN  The CANID is of type Standard (11 bits)\r
-       CanIf_CanIdTypeType     CanIfRxPduIdCanIdType;\r
-\r
-       //      This parameter defines the type of the receive indication call-outs called to\r
-       //      the corresponding upper layer the used TargetRxPduId belongs to.\r
-       CanIf_UserTypeType  CanIfRxUserType;\r
-\r
-       //      Name of target indication services to target upper layers (PduRouter,\r
-       //      CanNm, CanTp and ComplexDeviceDrivers). If parameter is 0 no call-out\r
-       //      function is configured.\r
-       void *CanIfUserRxIndication;\r
-\r
-       //      The HRH to which Rx L-PDU belongs to, is referred through this\r
-       //      parameter.\r
-       const CanIf_HrhConfigType *CanIfCanRxPduHrhRef;\r
-\r
-       //      Reference to the "global" Pdu structure to allow harmonization of handle\r
-       //      IDs in the COM-Stack.\r
-       void *PduIdRef;\r
-\r
-       // Defines the type of software filtering that should be used\r
-       // for this receive object.\r
-       CanIf_SoftwareFilterTypeType CanIfSoftwareFilterType;\r
-\r
-       // Acceptance filters, 1 - care, 0 - don't care.\r
-       // Is enabled by the CanIfSoftwareFilterMask in CanIf_HrhConfigType\r
-       // ArcCore exension\r
-       uint32 CanIfCanRxPduCanIdMask;\r
-\r
-} CanIf_RxPduConfigType;\r
-\r
-//-------------------------------------------------------------------\r
-\r
-/*\r
- * CanIfControllerConfig container\r
- */\r
-\r
-typedef enum {\r
-       CANIF_WAKEUP_SUPPORT_CONTROLLER,\r
-       CANIF_WAKEUP_SUPPORT_NO_WAKEUP,\r
-       CANIF_WAKEUP_SUPPORT_TRANSCEIVER,\r
-} CanIf_WakeupSupportType;\r
-\r
-\r
-// This is the type supplied to CanIf_InitController()\r
-typedef struct {\r
-       CanIf_WakeupSupportType WakeupSupport;  // Not used\r
-\r
-       // CanIf-specific id of the controller\r
-       CanIf_Arc_ChannelIdType CanIfControllerIdRef;\r
-\r
-       const char CanIfDriverNameRef[8]; // Not used\r
-\r
-       const Can_ControllerConfigType *CanIfInitControllerRef;\r
-} CanIf_ControllerConfigType;\r
-\r
-//-------------------------------------------------------------------\r
-/*\r
- * CanIfTransceiverDrvConfig container\r
- */\r
-\r
-typedef struct {\r
-       boolean TrcvWakeupNotification;\r
-       uint8   TrcvIdRef;\r
-} CanIf_TransceiverDrvConfigType;\r
-\r
-\r
-typedef struct {\r
-       uint32 todo;\r
-} CanIf_TransceiverConfigType;\r
-\r
-// Callout functions with respect to the upper layers. This callout functions\r
-// defined in this container are common to all configured underlying CAN\r
-// Drivers / CAN Transceiver Drivers.\r
-typedef struct {\r
-       //      Name of target BusOff notification services to target upper layers\r
-       //      (PduRouter, CanNm, CanTp and ComplexDeviceDrivers).\r
-       //  Multiplicity: 1\r
-       void (*CanIfBusOffNotification)(uint8 Controller);\r
-\r
-       //      Name of target wakeup notification services to target upper layers\r
-       //      e.g Ecu_StateManager. If parameter is 0\r
-       //      no call-out function is configured.\r
-       //  Multiplicity: 0..1\r
-       void (*CanIfWakeUpNotification)();\r
-\r
-       //      Name of target wakeup validation notification services to target upper\r
-       //      layers (ECU State Manager). If parameter is 0 no call-out function is\r
-       //      configured.\r
-       //  Multiplicity: 0..1\r
-       void (*CanIfWakeupValidNotification)();\r
-\r
-       // ArcCore ext.\r
-       void (*CanIfErrorNotificaton)(uint8,Can_Arc_ErrorType);\r
-\r
-} CanIf_DispatchConfigType;\r
-\r
-// This container contains the references to the configuration setup of each\r
-// underlying CAN driver.\r
-\r
-typedef struct {\r
-       //      Selects the CAN Interface specific configuration setup. This type of the\r
-       //      external data structure shall contain the post build initialization data for the\r
-       //      CAN Interface for all underlying CAN Dirvers. constant to CanIf_ConfigType\r
-       uint32 CanIfConfigSet;\r
-\r
-       uint32 CanIfNumberOfCanRxPduIds;\r
-       uint32 CanIfNumberOfCanTXPduIds;\r
-       uint32 CanIfNumberOfDynamicCanTXPduIds;\r
-\r
-       //\r
-       // Containers\r
-       //\r
-\r
-  //  This container contains the reference to the configuration\r
-       //  setup of each underlying CAN driver.\r
-  //  Multiplicity: 0..*\r
-       const CanIf_InitHohConfigType *CanIfHohConfigPtr;\r
-\r
-       //      This container contains the configuration (parameters) of each\r
-       //      receive CAN L-PDU. The SHORT-NAME of\r
-       //      "CanIfRxPduConfig" container itself represents the symolic\r
-       //      name of Receive L-PDU.\r
-       // Multiplicity: 0..*\r
-       const CanIf_RxPduConfigType *CanIfRxPduConfigPtr;\r
-\r
-       //      This container contains the configuration (parameters) of each\r
-       //      transmit CAN L-PDU. The SHORT-NAME of\r
-       //      "CanIfTxPduConfig" container represents the symolic name of\r
-       //  Transmit L-PDU.\r
-       // Multiplicity: 0..*\r
-       const CanIf_TxPduConfigType *CanIfTxPduConfigPtr;\r
-\r
-} CanIf_InitConfigType;\r
-\r
-\r
-typedef struct {\r
-       //      This container contains the configuration (parameters) of all\r
-       //      addressed CAN controllers by each underlying CAN driver.\r
-       //  Multiplicity: 1..*\r
-       const CanIf_ControllerConfigType        *ControllerConfig;\r
-\r
-       //      Callout functions with respect to the upper layers. This callout\r
-       //      functions defined in this container are common to all\r
-       //      configured underlying CAN Drivers / CAN Transceiver Drivers\r
-       const CanIf_DispatchConfigType  *DispatchConfig;\r
-\r
-       //      This container contains the init parameters of the CAN\r
-       //      Interface.\r
-       //  Multiplicity: 1..*\r
-       const CanIf_InitConfigType              *InitConfig;\r
-\r
-       //      This container contains the configuration (parameters) of all\r
-       //      addressed CAN transceivers by each underlying CAN\r
-       //      Transceiver Driver.\r
-       //  Multiplicity: 1..*\r
-       const CanIf_TransceiverConfigType *TransceiverConfig;\r
-       \r
-       // ArcCore: Contains the mapping from CanIf-specific Channels to Can Controllers\r
-       const CanControllerIdType                       *Arc_ChannelToControllerMap;\r
-} CanIf_ConfigType;\r
-\r
-\r
-extern CanIf_ConfigType CanIf_Config;\r
-\r
-#endif\r
-\r
+
+#ifndef CANIF_CFG_H_
+#define CANIF_CFG_H_
+
+#include "Can.h"
+
+#define CANIF_PDU_ID_LedCommandRx              0
+
+
+// Identifiers for the elements in CanIfControllerConfig[]
+// This is the ConfigurationIndex in CanIf_InitController()
+typedef enum {
+       CANIF_CHANNEL_0_CONFIG_0,
+       CANIF_CHANNEL_CONFIGURATION_CNT
+} CanIf_Arc_ConfigurationIndexType;
+
+typedef enum {
+       CANIF_CHANNEL_0,
+       CANIF_CHANNEL_CNT
+} CanIf_Arc_ChannelIdType;
+
+typedef enum {
+       CANIF_SOFTFILTER_TYPE_BINARY = 0,  // Not supported
+       CANIF_SOFTFILTER_TYPE_INDEX,  // Not supported
+       CANIF_SOFTFILTER_TYPE_LINEAR, // Not supported
+       CANIF_SOFTFILTER_TYPE_TABLE,  // Not supported
+       CANIF_SOFTFILTER_TYPE_MASK,  // CanIfCanRxPduCanIdMask in RxPduConfig is used for filtering
+} CanIf_SoftwareFilterTypeType;
+
+typedef enum {
+       CANIF_USER_TYPE_CAN_NM,
+       CANIF_USER_TYPE_CAN_TP,
+       CANIF_USER_TYPE_CAN_PDUR,
+       CANIF_USER_TYPE_CAN_SPECIAL,
+} CanIf_UserTypeType;
+
+
+typedef void (*CanIf_FuncTypeCanSpecial)(PduIdType, const uint8 *, uint8, Can_IdType);
+
+typedef enum {
+  CANIF_PDU_TYPE_STATIC = 0,
+  CANIF_PDU_TYPE_DYNAMIC       // Not supported
+} CanIf_PduTypeType;
+
+typedef enum {
+  CANIF_CAN_ID_TYPE_29 = 0,
+  CANIF_CAN_ID_TYPE_11
+} CanIf_CanIdTypeType;
+
+/*
+ * Public container
+ */
+#define CANIF_VERSION_INFO_API              STD_ON
+#define CANIF_DEV_ERROR_DETECT                     STD_ON
+#define CANIF_DLC_CHECK                     STD_ON
+#define CANIF_MULITPLE_DRIVER_SUPPORT       STD_OFF  // Not supported
+#define CANIF_READRXPDU_DATA_API                       STD_OFF  // Not supported
+#define CANIF_READRXPDU_NOTIFY_STATUS_API      STD_OFF  // Not supported
+#define CANIF_READTXPDU_NOTIFY_STATUS_API      STD_OFF  // Not supported
+#define CANIF_SETDYNAMICTXID_API            STD_OFF  // Not supported
+#define CANIF_WAKEUP_EVENT_API                     STD_OFF  // Not supported
+#define CANIF_TRANSCEIVER_API               STD_OFF  // Not supported
+#define CANIF_TRANSMIT_CANCELLATION         STD_OFF  // Not supported
+
+//-------------------------------------------------------------------
+
+typedef struct {
+       void (*CancelTxConfirmation)( void *);  // (const Can_PduType *);
+       void (*RxIndication)(void *); //(const Can_PduType *);
+       void (*ControllerBusOff)(uint8);
+       void (*ControllerWakeup)(uint8);
+       void (*Arc_Error)(uint8,uint32);
+} CanIf_CallbackType;
+
+
+
+//-------------------------------------------------------------------
+/*
+ * CanIfHrhRangeConfig container
+ */
+
+typedef struct {
+       //      Lower CAN Identifier of a receive CAN L-PDU for identifier range
+       //      definition, in which all CAN Ids shall pass the software filtering. Range: 11
+       //      Bit for Standard CAN Identifier 29 Bit for Extended CAN Identifer
+       uint32 CanIfRxPduLowerCanId;
+
+       //      Upper CAN Identifier of a receive CAN L-PDU for identifier range
+       //      definition, in which all CAN Ids shall pass the software filtering. Range: 11
+       //      Bit for Standard CAN Identifier 29 Bit for Extended CAN Identifer
+       uint32 CanIfRxPduUpperCanId;
+} CanIf_HrhRangeConfigType;
+
+
+
+//-------------------------------------------------------------------
+/*
+ * CanIfInitHrhConfig container
+ */
+typedef struct {
+       //      Defines the HRH type i.e, whether its a BasicCan or FullCan. If BasicCan is
+       //      configured, software filtering is enabled.
+  Can_Arc_HohType CanIfHrhType;
+
+       //      Selects the hardware receive objects by using the HRH range/list from
+       //      CAN Driver configuration to define, for which HRH a software filtering has
+       //      to be performed at during receive processing. True: Software filtering is
+       //      enabled False: Software filtering is disabled
+       boolean  CanIfSoftwareFilterHrh;
+
+       //      Reference to controller Id to which the HRH belongs to. A controller can
+       //      contain one or more HRHs.
+       CanIf_Arc_ChannelIdType CanIfCanControllerHrhIdRef;
+
+       //      The parameter refers to a particular HRH object in the CAN Driver Module
+       //      configuration. The HRH id is unique in a given CAN Driver. The HRH Ids
+       //      are defined in the CAN Driver Module and hence it is derived from CAN
+       //      Driver Configuration.
+       Can_Arc_HRHType CanIfHrhIdSymRef ;
+
+       //      Defines the parameters required for configuraing multiple
+       //      CANID ranges for a given same HRH.
+       const CanIf_HrhRangeConfigType *CanIfHrhRangeConfig;
+
+  // End Of List. Set to TRUE is this is the last object in the list.
+  boolean CanIf_Arc_EOL;
+} CanIf_HrhConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfInitHthConfig container
+ */
+
+typedef struct {
+  //  Defines the HTH type i.e, whether its a BasicCan or FullCan.
+  Can_Arc_HohType CanIfHthType;
+
+  // Reference to controller Id to which the HTH belongs to. A controller
+  // can contain one or more HTHs
+  CanIf_Arc_ChannelIdType CanIfCanControllerIdRef;
+
+  //  The parameter refers to a particular HTH object in the CAN Driver Module
+  //  configuration. The HTH id is unique in a given CAN Driver. The HTH Ids
+  //  are defined in the CAN Driver Module and hence it is derived from CAN
+  //  Driver Configuration.
+  Can_Arc_HTHType CanIfHthIdSymRef ;
+
+  // End Of List. Set to TRUE is this is the last object in the list.
+  boolean CanIf_Arc_EOL;
+} CanIf_HthConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfInitHohConfig container
+ */
+typedef struct {
+  //  Selects the CAN interface specific configuration setup. This type of external
+  // data structure shall contain the post build initialization data for the
+  // CAN interface for all underlying CAN Drivers.
+  const Can_ConfigSetType   *CanConfigSet;
+
+  // This container contains contiguration parameters for each hardware receive object.
+  const CanIf_HrhConfigType *CanIfHrhConfig;
+
+  // This container contains parameters releated to each HTH
+  const CanIf_HthConfigType *CanIfHthConfig;
+
+  // End Of List. Set to TRUE is this is the last object in the list.
+  boolean CanIf_Arc_EOL;
+} CanIf_InitHohConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfTxPduConfig container
+ */
+
+// This container contains the configuration (parameters) of each transmit
+// CAN L-PDU. The SHORT-NAME of "CanIfTxPduConfig" container
+// represents the symolic name of Transmit L-PDU.
+typedef struct {
+       //      ECU wide unique, symbolic handle for transmit CAN L-PDU. The
+       //      CanIfCanTxPduId is configurable at pre-compile and post-built time.
+       //      Range: 0..max. number of CantTxPduIds   PduIdType       CanTxPduId;
+       PduIdType CanIfTxPduId;
+
+       //      CAN Identifier of transmit CAN L-PDUs used by the CAN Driver for CAN L-
+       //      PDU transmission. Range: 11 Bit For Standard CAN Identifier ... 29 Bit For
+       //      Extended CAN identifier
+       uint32  CanIfCanTxPduIdCanId;
+
+       //      Data length code (in bytes) of transmit CAN L-PDUs used by the CAN
+       //      Driver for CAN L-PDU transmission. The data area size of a CAN L-Pdu
+       //      can have a range from 0 to 8 bytes.
+       uint8           CanIfCanTxPduIdDlc;
+
+       // Defines the type of each transmit CAN L-PDU.
+       // DYNAMIC  CAN ID is defined at runtime.
+       // STATIC  CAN ID is defined at compile-time.
+       CanIf_PduTypeType               CanIfCanTxPduType;
+
+#if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
+       //      Enables and disables transmit confirmation for each transmit CAN L-PDU
+       //      for reading its notification status. True: Enabled False: Disabled
+       boolean         CanIfReadTxPduNotifyStatus;
+#endif
+
+       //      CAN Identifier of transmit CAN L-PDUs used by the CAN Driver for CAN L-
+       //      PDU transmission.
+       //  EXTENDED_CAN  The CANID is of type Extended (29 bits)
+       //  STANDARD_CAN  The CANID is of type Standard (11 bits)
+       CanIf_CanIdTypeType             CanIfTxPduIdCanIdType;
+
+       //      Name of target confirmation services to target upper layers (PduR, CanNm
+       //      and CanTp. If parameter is not configured then no call-out function is
+       //      provided by the upper layer for this Tx L-PDU.
+       void (*CanIfUserTxConfirmation)(PduIdType);   /* CANIF 109 */
+
+       //      Handle, that defines the hardware object or the pool of hardware objects
+       //      configured for transmission. The parameter refers HTH Id, to which the L-
+       //      PDU belongs to.
+       const CanIf_HthConfigType *CanIfCanTxPduHthRef;
+
+       //      Reference to the "global" Pdu structure to allow harmonization of handle
+       //      IDs in the COM-Stack.  ..
+       void *PduIdRef;
+} CanIf_TxPduConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfRxPduConfig container
+ */
+
+
+// This container contains the configuration (parameters) of each receive
+// CAN L-PDU. The SHORT-NAME of "CanIfRxPduConfig" container itself
+// represents the symolic name of Receive L-PDU.
+
+typedef struct {
+  //  ECU wide unique, symbolic handle for receive CAN L-PDU. The
+  //  CanRxPduId is configurable at pre-compile and post-built time. It shall fulfill
+  //  ANSI/AUTOSAR definitions for constant defines. Range: 0..max. number
+  //  of defined CanRxPduIds
+  PduIdType CanIfCanRxPduId;
+
+  //   CAN Identifier of Receive CAN L-PDUs used by the CAN Interface. Exa:
+       //      Software Filtering. Range: 11 Bit For Standard CAN Identifier ... 29 Bit For
+       //      Extended CAN identifier
+       uint32          CanIfCanRxPduCanId;
+
+       //      Data Length code of received CAN L-PDUs used by the CAN Interface.
+       //      Exa: DLC check. The data area size of a CAN L-PDU can have a range
+       //      from 0 to 8 bytes.      uint8           CanIfCanRxPduDlc;
+       uint8           CanIfCanRxPduDlc;
+
+#if ( CANIF_CANPDUID_READDATA_API == STD_ON )
+       //      Enables and disables the Rx buffering for reading of received L-PDU data.
+       //      True: Enabled False: Disabled
+       boolean         CanIfReadRxPduData;
+#endif
+
+#if ( CANIF_READRXPDU_NOTIF_STATUS_API == STD_ON )
+       //      CanIfReadRxPduNotifyStatus {CANIF_READRXPDU_NOTIFY_STATUS}
+       //      Enables and disables receive indication for each receive CAN L-PDU for
+       //      reading its' notification status. True: Enabled False: Disabled
+       boolean         CanIfReadRxPduNotifyStatus;
+#endif
+
+  //  CAN Identifier of receive CAN L-PDUs used by the CAN Driver for CAN L-
+  //  PDU transmission.
+  //  EXTENDED_CAN  The CANID is of type Extended (29 bits)
+  //  STANDARD_CAN  The CANID is of type Standard (11 bits)
+       CanIf_CanIdTypeType     CanIfRxPduIdCanIdType;
+
+       //      This parameter defines the type of the receive indication call-outs called to
+       //      the corresponding upper layer the used TargetRxPduId belongs to.
+       CanIf_UserTypeType  CanIfRxUserType;
+
+       //      Name of target indication services to target upper layers (PduRouter,
+       //      CanNm, CanTp and ComplexDeviceDrivers). If parameter is 0 no call-out
+       //      function is configured.
+       void *CanIfUserRxIndication;
+
+       //      The HRH to which Rx L-PDU belongs to, is referred through this
+       //      parameter.
+       const CanIf_HrhConfigType *CanIfCanRxPduHrhRef;
+
+       //      Reference to the "global" Pdu structure to allow harmonization of handle
+       //      IDs in the COM-Stack.
+       void *PduIdRef;
+
+       // Defines the type of software filtering that should be used
+       // for this receive object.
+       CanIf_SoftwareFilterTypeType CanIfSoftwareFilterType;
+
+       // Acceptance filters, 1 - care, 0 - don't care.
+       // Is enabled by the CanIfSoftwareFilterMask in CanIf_HrhConfigType
+       // ArcCore exension
+       uint32 CanIfCanRxPduCanIdMask;
+
+} CanIf_RxPduConfigType;
+
+//-------------------------------------------------------------------
+
+/*
+ * CanIfControllerConfig container
+ */
+
+typedef enum {
+       CANIF_WAKEUP_SUPPORT_CONTROLLER,
+       CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
+       CANIF_WAKEUP_SUPPORT_TRANSCEIVER,
+} CanIf_WakeupSupportType;
+
+
+// This is the type supplied to CanIf_InitController()
+typedef struct {
+       CanIf_WakeupSupportType WakeupSupport;  // Not used
+
+       // CanIf-specific id of the controller
+       CanIf_Arc_ChannelIdType CanIfControllerIdRef;
+
+       const char CanIfDriverNameRef[8]; // Not used
+
+       const Can_ControllerConfigType *CanIfInitControllerRef;
+} CanIf_ControllerConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfTransceiverDrvConfig container
+ */
+
+typedef struct {
+       boolean TrcvWakeupNotification;
+       uint8   TrcvIdRef;
+} CanIf_TransceiverDrvConfigType;
+
+
+typedef struct {
+       uint32 todo;
+} CanIf_TransceiverConfigType;
+
+// Callout functions with respect to the upper layers. This callout functions
+// defined in this container are common to all configured underlying CAN
+// Drivers / CAN Transceiver Drivers.
+typedef struct {
+       //      Name of target BusOff notification services to target upper layers
+       //      (PduRouter, CanNm, CanTp and ComplexDeviceDrivers).
+       //  Multiplicity: 1
+       void (*CanIfBusOffNotification)(uint8 Controller);
+
+       //      Name of target wakeup notification services to target upper layers
+       //      e.g Ecu_StateManager. If parameter is 0
+       //      no call-out function is configured.
+       //  Multiplicity: 0..1
+       void (*CanIfWakeUpNotification)();
+
+       //      Name of target wakeup validation notification services to target upper
+       //      layers (ECU State Manager). If parameter is 0 no call-out function is
+       //      configured.
+       //  Multiplicity: 0..1
+       void (*CanIfWakeupValidNotification)();
+
+       // ArcCore ext.
+       void (*CanIfErrorNotificaton)(uint8,Can_Arc_ErrorType);
+
+} CanIf_DispatchConfigType;
+
+// This container contains the references to the configuration setup of each
+// underlying CAN driver.
+
+typedef struct {
+       //      Selects the CAN Interface specific configuration setup. This type of the
+       //      external data structure shall contain the post build initialization data for the
+       //      CAN Interface for all underlying CAN Dirvers. constant to CanIf_ConfigType
+       uint32 CanIfConfigSet;
+
+       uint32 CanIfNumberOfCanRxPduIds;
+       uint32 CanIfNumberOfCanTXPduIds;
+       uint32 CanIfNumberOfDynamicCanTXPduIds;
+
+       //
+       // Containers
+       //
+
+  //  This container contains the reference to the configuration
+       //  setup of each underlying CAN driver.
+  //  Multiplicity: 0..*
+       const CanIf_InitHohConfigType *CanIfHohConfigPtr;
+
+       //      This container contains the configuration (parameters) of each
+       //      receive CAN L-PDU. The SHORT-NAME of
+       //      "CanIfRxPduConfig" container itself represents the symolic
+       //      name of Receive L-PDU.
+       // Multiplicity: 0..*
+       const CanIf_RxPduConfigType *CanIfRxPduConfigPtr;
+
+       //      This container contains the configuration (parameters) of each
+       //      transmit CAN L-PDU. The SHORT-NAME of
+       //      "CanIfTxPduConfig" container represents the symolic name of
+       //  Transmit L-PDU.
+       // Multiplicity: 0..*
+       const CanIf_TxPduConfigType *CanIfTxPduConfigPtr;
+
+} CanIf_InitConfigType;
+
+
+typedef struct {
+       //      This container contains the configuration (parameters) of all
+       //      addressed CAN controllers by each underlying CAN driver.
+       //  Multiplicity: 1..*
+       const CanIf_ControllerConfigType        *ControllerConfig;
+
+       //      Callout functions with respect to the upper layers. This callout
+       //      functions defined in this container are common to all
+       //      configured underlying CAN Drivers / CAN Transceiver Drivers
+       const CanIf_DispatchConfigType  *DispatchConfig;
+
+       //      This container contains the init parameters of the CAN
+       //      Interface.
+       //  Multiplicity: 1..*
+       const CanIf_InitConfigType              *InitConfig;
+
+       //      This container contains the configuration (parameters) of all
+       //      addressed CAN transceivers by each underlying CAN
+       //      Transceiver Driver.
+       //  Multiplicity: 1..*
+       const CanIf_TransceiverConfigType *TransceiverConfig;
+       
+       // ArcCore: Contains the mapping from CanIf-specific Channels to Can Controllers
+       const CanControllerIdType                       *Arc_ChannelToControllerMap;
+} CanIf_ConfigType;
+
+
+extern CanIf_ConfigType CanIf_Config;
+
+#endif
+
index 050478be2ecfb3f51a28ce95eb469d8361f1bc0c..8ad8c43cc398ec46c9ea558fdd9ccf6543b26374 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 
 #error "Can: Configuration file version differs from BSW version."
 #endif
 
-       \r
-\r
-\r
-#ifndef CAN_CFG_H_\r
-#define CAN_CFG_H_\r
-\r
-// Number of controller configs\r
-#define CAN_ARC_CTRL_CONFIG_CNT                1\r
-\r
-#define CAN_DEV_ERROR_DETECT                   STD_OFF\r
-#define CAN_VERSION_INFO_API                   STD_OFF\r
-#define CAN_MULTIPLEXED_TRANSMISSION   STD_OFF\r
-#define CAN_WAKEUP_SUPPORT                             STD_OFF  // Not supported\r
-#define CAN_HW_TRANSMIT_CANCELLATION   STD_OFF  // Not supported\r
-\r
-\r
-typedef enum {\r
-       FLEXCAN_A = 0,\r
-       CAN_CTRL_A = 0,\r
-       FLEXCAN_B = 1,\r
-       CAN_CTRL_B = 1,\r
-       FLEXCAN_C = 2,\r
-       CAN_CTRL_C = 2,\r
-       FLEXCAN_D = 3,\r
-       CAN_CTRL_D = 3,\r
-       FLEXCAN_E = 4,\r
-       CAN_CTRL_E = 4,\r
-       FLEXCAN_F = 5,\r
-       CAN_CTRL_F = 5,\r
-       CAN_CONTROLLER_CNT = 6\r
-}CanControllerIdType;\r
-\r
-\r
-typedef enum {\r
-       CAN_ID_TYPE_EXTENDED,\r
-       CAN_ID_TYPE_MIXED,\r
-       CAN_ID_TYPE_STANDARD,\r
-} Can_IdTypeType;\r
-\r
-\r
-typedef enum {\r
-       CAN_OBJECT_TYPE_RECEIVE,\r
-       CAN_OBJECT_TYPE_TRANSMIT,\r
-} Can_ObjectTypeType;\r
-\r
-\r
-typedef enum {\r
-       CAN_ARC_HANDLE_TYPE_BASIC,\r
-       CAN_ARC_HANDLE_TYPE_FULL\r
-} Can_Arc_HohType;\r
-\r
-\r
-typedef enum {\r
-       NUM_OF_HTHS\r
-} Can_Arc_HTHType;\r
-\r
-\r
-typedef enum {\r
-       RxMailboxes,\r
-       NUM_OF_HRHS\r
-} Can_Arc_HRHType;\r
-\r
-\r
-typedef struct {\r
-       void (*CancelTxConfirmation)( const Can_PduType *);\r
-       void (*RxIndication)( uint8 ,Can_IdType ,uint8 , const uint8 * );\r
-       void (*ControllerBusOff)(uint8);\r
-       void (*TxConfirmation)(PduIdType);\r
-       void (*ControllerWakeup)(uint8);\r
-       void (*Arc_Error)(uint8,Can_Arc_ErrorType);\r
-} Can_CallbackType;\r
-\r
-\r
-typedef struct {\r
-       //      Specifies the InstanceId of this module instance. If only one instance is\r
-       //      present it shall have the Id 0\r
-       int CanIndex;\r
-} Can_GeneralType;\r
-\r
-\r
-typedef uint32 Can_FilterMaskType;\r
-\r
-\r
-typedef struct Can_HardwareObjectStruct {\r
-       // Specifies the type (Full-CAN or Basic-CAN) of a hardware object.\r
-       Can_Arc_HohType CanHandleType;\r
-\r
-       // Specifies whether the IdValue is of type - standard identifier - extended\r
-       // identifier - mixed mode ImplementationType: Can_IdType\r
-       Can_IdTypeType CanIdType;\r
-\r
-       //      Specifies (together with the filter mask) the identifiers range that passes\r
-       //      the hardware filter.\r
-       uint32 CanIdValue;\r
-\r
-       //      Holds the handle ID of HRH or HTH. The value of this parameter is unique\r
-       //      in a given CAN Driver, and it should start with 0 and continue without any\r
-       //      gaps. The HRH and HTH Ids are defined under two different name-spaces.\r
-       //      Example: HRH0-0, HRH1-1, HTH0-2, HTH1-3\r
-       uint32 CanObjectId;\r
-\r
-       // Specifies if the HardwareObject is used as Transmit or as Receive object\r
-       Can_ObjectTypeType CanObjectType;\r
-\r
-       // Reference to the filter mask that is used for hardware filtering togerther\r
-       // with the CAN_ID_VALUE\r
-       Can_FilterMaskType *CanFilterMaskRef;\r
-\r
-       // A "1" in this mask tells the driver that that HW Message Box should be\r
-       // occupied by this Hoh. A "1" in bit 31(ppc) occupies Mb 0 in HW.\r
-       uint32 Can_Arc_MbMask;\r
-\r
-       // End Of List. Set to TRUE is this is the last object in the list.\r
-       boolean Can_Arc_EOL;\r
-} Can_HardwareObjectType;\r
-\r
-\r
-typedef enum {\r
-       CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
-       CAN_ARC_PROCESS_TYPE_POLLING,\r
-} Can_Arc_ProcessType;\r
-\r
-\r
-typedef struct {\r
-\r
-       //      Enables / disables API Can_MainFunction_BusOff() for handling busoff\r
-       //      events in polling mode.\r
-       // INTERRUPT or POLLING\r
-       Can_Arc_ProcessType CanBusOffProcessing;\r
-\r
-       // Defines if a CAN controller is used in the configuration.\r
-       boolean CanControllerActivation;\r
-\r
-       // Specifies the buadrate of the controller in kbps.\r
-       uint32 CanControllerBaudRate;\r
-\r
-       //      This parameter provides the controller ID which is unique in a given CAN\r
-       //      Driver. The value for this parameter starts with 0 and continue without any\r
-       //      gaps.\r
-       CanControllerIdType CanControllerId;\r
-\r
-       // Specifies propagation delay in time quantas.\r
-       uint32 CanControllerPropSeg;\r
-\r
-       // Specifies phase segment 1 in time quantas.\r
-       uint32 CanControllerSeg1;\r
-\r
-       // Specifies phase segment 2 in time quantas.\r
-       uint32 CanControllerSeg2;\r
-\r
-       //      Specifies the time quanta for the controller. The calculation of the resulting\r
-       //      prescaler value depending on module clocking and time quanta shall be\r
-       //      done offline Hardware specific.\r
-       uint32 CanControllerTimeQuanta;\r
-\r
-       //      Enables / disables API Can_MainFunction_Read() for handling PDU\r
-       //      reception events in polling mode.\r
-       Can_Arc_ProcessType CanRxProcessing;\r
-\r
-       //      Enables / disables API Can_MainFunction_Write() for handling PDU\r
-       //      transmission events in polling mode.\r
-       Can_Arc_ProcessType CanTxProcessing;\r
-\r
-       //      Enables / disables API Can_MainFunction_Wakeup() for handling wakeup\r
-       //      events in polling mode.\r
-       Can_Arc_ProcessType CanWakeupProcessing;\r
-\r
-       //      Reference to the CPU clock configuration, which is set in the MCU driver\r
-       //      configuration\r
-       uint32 CanCpuClockRef;\r
-\r
-       //      This parameter contains a reference to the Wakeup Source for this\r
-       //      controller as defined in the ECU State Manager. Implementation Type:\r
-       //      reference to EcuM_WakeupSourceType\r
-       uint32 CanWakeupSourceRef;\r
-\r
-       // List of Hoh id's that belong to this controller\r
-       const Can_HardwareObjectType  *Can_Arc_Hoh;\r
-\r
-       boolean Can_Arc_Loopback;\r
-\r
-       // Set this to use the fifo\r
-       boolean Can_Arc_Fifo;\r
-} Can_ControllerConfigType;\r
-\r
-\r
-typedef struct {\r
-       const Can_ControllerConfigType *CanController;\r
-       \r
-       // Callbacks( Extension )\r
-       const Can_CallbackType *CanCallbacks;\r
-} Can_ConfigSetType;\r
-\r
-\r
-typedef struct {\r
-       // This is the multiple configuration set container for CAN Driver\r
-       // Multiplicity 1..*\r
-       const Can_ConfigSetType  *CanConfigSet;\r
-       // This container contains the parameters related each CAN\r
-       // Driver Unit.\r
-       // Multiplicity 1..*\r
-       const Can_GeneralType    *CanGeneral;\r
-} Can_ConfigType;\r
-\r
-\r
-extern const Can_ConfigType CanConfigData;\r
-extern const Can_ControllerConfigType CanControllerConfigData[];\r
-extern const Can_ConfigSetType Can_ConfigSet;\r
-\r
-#endif /*CAN_CFG_H_*/\r
+       
+
+
+#ifndef CAN_CFG_H_
+#define CAN_CFG_H_
+
+// Number of controller configs
+#define CAN_ARC_CTRL_CONFIG_CNT                1
+
+#define CAN_DEV_ERROR_DETECT                   STD_OFF
+#define CAN_VERSION_INFO_API                   STD_OFF
+#define CAN_MULTIPLEXED_TRANSMISSION   STD_OFF
+#define CAN_WAKEUP_SUPPORT                             STD_OFF  // Not supported
+#define CAN_HW_TRANSMIT_CANCELLATION   STD_OFF  // Not supported
+
+
+typedef enum {
+       FLEXCAN_A = 0,
+       CAN_CTRL_A = 0,
+       FLEXCAN_B = 1,
+       CAN_CTRL_B = 1,
+       FLEXCAN_C = 2,
+       CAN_CTRL_C = 2,
+       FLEXCAN_D = 3,
+       CAN_CTRL_D = 3,
+       FLEXCAN_E = 4,
+       CAN_CTRL_E = 4,
+       FLEXCAN_F = 5,
+       CAN_CTRL_F = 5,
+       CAN_CONTROLLER_CNT = 6
+}CanControllerIdType;
+
+
+typedef enum {
+       CAN_ID_TYPE_EXTENDED,
+       CAN_ID_TYPE_MIXED,
+       CAN_ID_TYPE_STANDARD,
+} Can_IdTypeType;
+
+
+typedef enum {
+       CAN_OBJECT_TYPE_RECEIVE,
+       CAN_OBJECT_TYPE_TRANSMIT,
+} Can_ObjectTypeType;
+
+
+typedef enum {
+       CAN_ARC_HANDLE_TYPE_BASIC,
+       CAN_ARC_HANDLE_TYPE_FULL
+} Can_Arc_HohType;
+
+
+typedef enum {
+       NUM_OF_HTHS
+} Can_Arc_HTHType;
+
+
+typedef enum {
+       RxMailboxes,
+       NUM_OF_HRHS
+} Can_Arc_HRHType;
+
+
+typedef struct {
+       void (*CancelTxConfirmation)( const Can_PduType *);
+       void (*RxIndication)( uint8 ,Can_IdType ,uint8 , const uint8 * );
+       void (*ControllerBusOff)(uint8);
+       void (*TxConfirmation)(PduIdType);
+       void (*ControllerWakeup)(uint8);
+       void (*Arc_Error)(uint8,Can_Arc_ErrorType);
+} Can_CallbackType;
+
+
+typedef struct {
+       //      Specifies the InstanceId of this module instance. If only one instance is
+       //      present it shall have the Id 0
+       int CanIndex;
+} Can_GeneralType;
+
+
+typedef uint32 Can_FilterMaskType;
+
+
+typedef struct Can_HardwareObjectStruct {
+       // Specifies the type (Full-CAN or Basic-CAN) of a hardware object.
+       Can_Arc_HohType CanHandleType;
+
+       // Specifies whether the IdValue is of type - standard identifier - extended
+       // identifier - mixed mode ImplementationType: Can_IdType
+       Can_IdTypeType CanIdType;
+
+       //      Specifies (together with the filter mask) the identifiers range that passes
+       //      the hardware filter.
+       uint32 CanIdValue;
+
+       //      Holds the handle ID of HRH or HTH. The value of this parameter is unique
+       //      in a given CAN Driver, and it should start with 0 and continue without any
+       //      gaps. The HRH and HTH Ids are defined under two different name-spaces.
+       //      Example: HRH0-0, HRH1-1, HTH0-2, HTH1-3
+       uint32 CanObjectId;
+
+       // Specifies if the HardwareObject is used as Transmit or as Receive object
+       Can_ObjectTypeType CanObjectType;
+
+       // Reference to the filter mask that is used for hardware filtering togerther
+       // with the CAN_ID_VALUE
+       Can_FilterMaskType *CanFilterMaskRef;
+
+       // A "1" in this mask tells the driver that that HW Message Box should be
+       // occupied by this Hoh. A "1" in bit 31(ppc) occupies Mb 0 in HW.
+       uint32 Can_Arc_MbMask;
+
+       // End Of List. Set to TRUE is this is the last object in the list.
+       boolean Can_Arc_EOL;
+} Can_HardwareObjectType;
+
+
+typedef enum {
+       CAN_ARC_PROCESS_TYPE_INTERRUPT,
+       CAN_ARC_PROCESS_TYPE_POLLING,
+} Can_Arc_ProcessType;
+
+
+typedef struct {
+
+       //      Enables / disables API Can_MainFunction_BusOff() for handling busoff
+       //      events in polling mode.
+       // INTERRUPT or POLLING
+       Can_Arc_ProcessType CanBusOffProcessing;
+
+       // Defines if a CAN controller is used in the configuration.
+       boolean CanControllerActivation;
+
+       // Specifies the buadrate of the controller in kbps.
+       uint32 CanControllerBaudRate;
+
+       //      This parameter provides the controller ID which is unique in a given CAN
+       //      Driver. The value for this parameter starts with 0 and continue without any
+       //      gaps.
+       CanControllerIdType CanControllerId;
+
+       // Specifies propagation delay in time quantas.
+       uint32 CanControllerPropSeg;
+
+       // Specifies phase segment 1 in time quantas.
+       uint32 CanControllerSeg1;
+
+       // Specifies phase segment 2 in time quantas.
+       uint32 CanControllerSeg2;
+
+       //      Specifies the time quanta for the controller. The calculation of the resulting
+       //      prescaler value depending on module clocking and time quanta shall be
+       //      done offline Hardware specific.
+       uint32 CanControllerTimeQuanta;
+
+       //      Enables / disables API Can_MainFunction_Read() for handling PDU
+       //      reception events in polling mode.
+       Can_Arc_ProcessType CanRxProcessing;
+
+       //      Enables / disables API Can_MainFunction_Write() for handling PDU
+       //      transmission events in polling mode.
+       Can_Arc_ProcessType CanTxProcessing;
+
+       //      Enables / disables API Can_MainFunction_Wakeup() for handling wakeup
+       //      events in polling mode.
+       Can_Arc_ProcessType CanWakeupProcessing;
+
+       //      Reference to the CPU clock configuration, which is set in the MCU driver
+       //      configuration
+       uint32 CanCpuClockRef;
+
+       //      This parameter contains a reference to the Wakeup Source for this
+       //      controller as defined in the ECU State Manager. Implementation Type:
+       //      reference to EcuM_WakeupSourceType
+       uint32 CanWakeupSourceRef;
+
+       // List of Hoh id's that belong to this controller
+       const Can_HardwareObjectType  *Can_Arc_Hoh;
+
+       boolean Can_Arc_Loopback;
+
+       // Set this to use the fifo
+       boolean Can_Arc_Fifo;
+} Can_ControllerConfigType;
+
+
+typedef struct {
+       const Can_ControllerConfigType *CanController;
+       
+       // Callbacks( Extension )
+       const Can_CallbackType *CanCallbacks;
+} Can_ConfigSetType;
+
+
+typedef struct {
+       // This is the multiple configuration set container for CAN Driver
+       // Multiplicity 1..*
+       const Can_ConfigSetType  *CanConfigSet;
+       // This container contains the parameters related each CAN
+       // Driver Unit.
+       // Multiplicity 1..*
+       const Can_GeneralType    *CanGeneral;
+} Can_ConfigType;
+
+
+extern const Can_ConfigType CanConfigData;
+extern const Can_ControllerConfigType CanControllerConfigData[];
+extern const Can_ConfigSetType Can_ConfigSet;
+
+#endif /*CAN_CFG_H_*/
index 3d3e069c54c159dad5cdb1906adc3ec02ce9785d..70abbfa0fb050abe948947bfbff69694605d63ba 100644 (file)
@@ -4,74 +4,74 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
-       \r
-\r
-#include <stdlib.h>\r
-#include "Can.h"\r
-#include "CanIf_Cbk.h"\r
-\r
-\r
-Can_FilterMaskType Can_FilterMaskConfigData_Can_A_Mask_1 = 0x0;\r
-\r
-\r
-const Can_HardwareObjectType CanHardwareObjectConfig_Can_A[] = {\r
-       {\r
-               .CanObjectId =          RxMailboxes,\r
-               .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,\r
-               .CanIdType =            CAN_ID_TYPE_EXTENDED,\r
-               .CanObjectType =        CAN_OBJECT_TYPE_RECEIVE,\r
-               .CanFilterMaskRef =     &Can_FilterMaskConfigData_Can_A_Mask_1,\r
-               \r
-               .Can_Arc_MbMask =       0xff000000,\r
-               .Can_Arc_EOL =          1,\r
-       },\r
-};\r
-\r
-\r
-const Can_ControllerConfigType CanControllerConfigData[] =\r
-{\r
-  {\r
-    .CanControllerActivation = TRUE,\r
-    .CanControllerBaudRate =   125,\r
-    .CanControllerId =                 FLEXCAN_A,\r
-    .CanControllerPropSeg =            4,\r
-    .CanControllerSeg1 =               4,\r
-    .CanControllerSeg2 =               4,\r
-    .CanBusOffProcessing =             CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
-    .CanRxProcessing =                 CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
-    .CanTxProcessing =                 CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
-    .CanWakeupProcessing =             CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
-    .CanCpuClockRef =                  PERIPHERAL_CLOCK_FLEXCAN_A,\r
-    .Can_Arc_Hoh =                             &CanHardwareObjectConfig_Can_A[0],\r
-    .Can_Arc_Loopback =                        FALSE,\r
-    .Can_Arc_Fifo =                            0,\r
-  },\r
-};\r
-\r
-const Can_CallbackType CanCallbackConfigData = {\r
-    NULL, //CanIf_CancelTxConfirmation,\r
-    CanIf_RxIndication,\r
-    CanIf_ControllerBusOff,\r
-    CanIf_TxConfirmation,\r
-    NULL, //CanIf_ControllerWakeup,\r
-    CanIf_Arc_Error,\r
-};\r
-\r
-const Can_ConfigSetType CanConfigSetData =\r
-{\r
-  .CanController =     CanControllerConfigData,\r
-  .CanCallbacks =      &CanCallbackConfigData,\r
-};\r
-\r
-const Can_ConfigType CanConfigData = {\r
-  .CanConfigSet =      &CanConfigSetData,\r
-};\r
-\r
+       
+
+#include <stdlib.h>
+#include "Can.h"
+#include "CanIf_Cbk.h"
+
+
+Can_FilterMaskType Can_FilterMaskConfigData_Can_A_Mask_1 = 0x0;
+
+
+const Can_HardwareObjectType CanHardwareObjectConfig_Can_A[] = {
+       {
+               .CanObjectId =          RxMailboxes,
+               .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,
+               .CanIdType =            CAN_ID_TYPE_EXTENDED,
+               .CanObjectType =        CAN_OBJECT_TYPE_RECEIVE,
+               .CanFilterMaskRef =     &Can_FilterMaskConfigData_Can_A_Mask_1,
+               
+               .Can_Arc_MbMask =       0xff000000,
+               .Can_Arc_EOL =          1,
+       },
+};
+
+
+const Can_ControllerConfigType CanControllerConfigData[] =
+{
+  {
+    .CanControllerActivation = TRUE,
+    .CanControllerBaudRate =   125,
+    .CanControllerId =                 FLEXCAN_A,
+    .CanControllerPropSeg =            4,
+    .CanControllerSeg1 =               4,
+    .CanControllerSeg2 =               4,
+    .CanBusOffProcessing =             CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanRxProcessing =                 CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanTxProcessing =                 CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanWakeupProcessing =             CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanCpuClockRef =                  PERIPHERAL_CLOCK_FLEXCAN_A,
+    .Can_Arc_Hoh =                             &CanHardwareObjectConfig_Can_A[0],
+    .Can_Arc_Loopback =                        FALSE,
+    .Can_Arc_Fifo =                            0,
+  },
+};
+
+const Can_CallbackType CanCallbackConfigData = {
+    NULL, //CanIf_CancelTxConfirmation,
+    CanIf_RxIndication,
+    CanIf_ControllerBusOff,
+    CanIf_TxConfirmation,
+    NULL, //CanIf_ControllerWakeup,
+    CanIf_Arc_Error,
+};
+
+const Can_ConfigSetType CanConfigSetData =
+{
+  .CanController =     CanControllerConfigData,
+  .CanCallbacks =      &CanCallbackConfigData,
+};
+
+const Can_ConfigType CanConfigData = {
+  .CanConfigSet =      &CanConfigSetData,
+};
+
index a8d71cae5b81c0f4e7b0b68bbca47dd4bdbfc225..f6eec75d79c991558076431cfd46f807558f0652 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 
@@ -26,4 +26,4 @@ enum {
        LedCommandRx = 0,\r
 };\r
 \r
-#endif\r
+#endif
index 2544206333143194a3fd01aa3a50d28b8c351902..af017b2996dd047078cc146ffe79561f1b8a95bb 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:47:44 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 
 \r
 #define COM_DEV_ERROR_DETECT\r
 \r
-#define COM_MAX_NR_IPDU 1\r
-#define COM_MAX_NR_SIGNAL 1\r
-#define COM_MAX_NR_GROUPSIGNAL 0\r
-\r
-#define COM_MAX_NR_SIGNALS_PER_IPDU 1\r
-#define COM_MAX_NR_SIGNALGROUPS_PER_IPDU 0\r
-#define COM_MAX_NR_SIGNALS_PER_SIGNAL_GROUP 0\r
+#define COM_N_IPDUS 1
+#define COM_N_SIGNALS 1
+#define COM_N_GROUP_SIGNALS 0
 \r
 #define COM_E_INVALID_FILTER_CONFIGURATION 101\r
 #define COM_E_INITIALIZATION_FAILED 102\r
@@ -40,6 +36,9 @@
 #define COM_INVALID_PDU_ID 104\r
 #define COM_ERROR_SIGNAL_IS_SIGNALGROUP 105\r
 \r
+
+#define COM_MAX_NR_IPDU 999999999
+
 #define COM_E_TOO_MANY_IPDU 106\r
 #define COM_E_TOO_MANY_SIGNAL 107\r
 #define COM_E_TOO_MANY_GROUPSIGNAL 108\r
@@ -49,7 +48,7 @@
 /*\r
  * ComGeneral pre-compile time configuration parameters.\r
  */\r
-#define ComConfigurationTimeBase 0.0\r
+#define ComConfigurationTimeBase 0.0
 #define ComVersionInfoApi\r
 \r
 #endif /*COM_CFG_H_*/\r
index 3d07acd55fa5ccafc8a8964e9a3ad305762ceb28..5ad4ff0f15dac9872ec6772c81a6e216d5565e4c 100644 (file)
@@ -4,33 +4,47 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:47:44 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 \r
-#include "Com.h"\r
+#include "Com.h"
 #include "stdlib.h"\r
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
 \r
 \r
+
+
+
+/*
+ * Signal init values.
+ */
+const uint16 Com_SignalInitValue_SetLedLevelRx = 0;
+       
+
 /*\r
  * Group signal definitions\r
  */\r
-const ComGroupSignal_type ComGroupSignal[] = {\r
+const ComGroupSignal_type ComGroupSignal[] = {
        {\r
                .Com_Arc_EOL = 1\r
        }\r
 };\r
 \r
 \r
+/* SignalGroup GroupSignals lists. */
+
 /*\r
  * Signal definitions\r
  */\r
-const ComSignal_type ComSignal[] = {\r
+const ComSignal_type ComSignal[] = {
        {\r
                .ComHandleId = SetLedLevelRx,\r
                .ComFirstTimeoutFactor = 0,\r
@@ -38,14 +52,15 @@ const ComSignal_type ComSignal[] = {
                .ComTimeoutFactor = 0,\r
                .ComTimeoutNotification = NULL,\r
                .ComTransferProperty = TRIGGERED,\r
-               \r
-               \r
-               .ComSignalInitValue = 0,\r
-               .ComBitPosition = 7,\r
+               
+               
+               .ComSignalInitValue = &Com_SignalInitValue_SetLedLevelRx,
+               .ComBitPosition = 7,
                .ComBitSize = 16,\r
                .ComSignalEndianess = BIG_ENDIAN,\r
-               .ComSignalType = UINT16,\r
-               \r
+               .ComSignalType = UINT16,
+               .ComGroupSignal = NULL,
+               
        },\r
        {\r
                .Com_Arc_EOL = 1\r
@@ -56,37 +71,37 @@ const ComSignal_type ComSignal[] = {
 /*\r
  * I-PDU group definitions\r
  */\r
-const ComIPduGroup_type ComIPduGroup[] = {\r
+const ComIPduGroup_type ComIPduGroup[] = {
        {\r
                .ComIPduGroupHandleId = RxGroup\r
        },\r
-       \r
+       
        {\r
                .Com_Arc_EOL  = 1\r
        }\r
 };\r
 \r
+/* IPdu signal lists. */
+const ComSignal_type *ComIPduSignalRefs_LedCommandRx[] = {
+       &ComSignal[ SetLedLevelRx ],            
+       NULL,
+};
 \r
 /*\r
  * I-PDU definitions\r
  */\r
-const ComIPdu_type ComIPdu[] = {\r
-    \r
-       {\r
-               .ComIPduRxHandleId = LedCommandRx,\r
+const ComIPdu_type ComIPdu[] = {       
+    
+       { // LedCommandRx
+               .ArcIPduOutgoingId = PDUR_SOURCE_PDU_ID_LedCommandRx,
                .ComIPduCallout = NULL,\r
-               .ComIPduSignalProcessing =  DEFERRED,\r
-               .ComIPduSize =  8,\r
+               .ComIPduSignalProcessing =  DEFERRED,
+               .ComIPduSize =  8,
                .ComIPduDirection = RECEIVE,\r
                .ComIPduGroupRef = RxGroup,\r
-               \r
-               .ComIPduSignalRef = {\r
-                       \r
-                       &ComSignal[ SetLedLevelRx ],\r
-                                       \r
-                       NULL,\r
-               },\r
-       },   \r
+               
+               .ComIPduSignalRef = ComIPduSignalRefs_LedCommandRx,
+       },   
        {\r
                .Com_Arc_EOL = 1\r
        }\r
index f500e39d2d8b5a18c70d1cd2898a682fc7b60ba4..5855f9bdef09dd0af51f3abc1ea91643be5498da 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:47:44 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 
 \r
 extern const Com_ConfigType ComConfiguration;\r
 \r
+//  COM Polite Defines.
+#define COM_PDU_ID_LedCommandRx                0
+
+
+
 // PDU group definitions\r
 enum {\r
        RxGroup = 0,\r
@@ -35,6 +40,6 @@ enum {
 };\r
 \r
 \r
-\r
-\r
-#endif /* COM_PBCFG_H_ */\r
+
+
+#endif /* COM_PBCFG_H_ */
index 15c5f928a8846140831e13af0db7e10df844f186..17f4872c6432a28332cca2661f016da1a9f91e11 100644 (file)
@@ -1,3 +1,3 @@
 \r
-MOD_USE += CAN CANIF COM PORT PWM \r
+MOD_USE += CAN CANIF COM PDUR PORT PWM \r
 \r
index 469443e7103171ed557ea97ed3615886fe22420a..a8da91673816d0c0dcccd5e135cf0cf33e22619b 100644 (file)
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 16:35:14 CEST 2010
+*           on Fri Apr 30 14:42:38 CEST 2010
 */
 
-\r
-#include "EcuM.h"\r
-#include "Det.h"\r
-#if defined(USE_DEM)\r
-#include "Dem.h"\r
-#endif\r
-#if defined(USE_MCU)\r
-#include "Mcu.h"\r
-#endif\r
-#if defined(USE_GPT)\r
-#include "Gpt.h"\r
-#endif\r
-#if defined(USE_CAN)\r
-#include "Can.h"\r
-#endif\r
-#if defined(USE_CANIF)\r
-#include "CanIf.h"\r
-#endif\r
-#if defined(USE_PDUR)\r
-#include "PduR.h"\r
-#endif\r
-#if defined(USE_COM)\r
-#include "Com.h"\r
-#endif\r
-#if defined(USE_CANTP)\r
-#include "CanTp.h"\r
-#endif\r
-#if defined(USE_DCM)\r
-#include "Dcm.h"\r
-#endif\r
-#if defined(USE_PWM)\r
-#include "Pwm.h"\r
-#endif\r
-#if defined(USE_IOHWAB)\r
-#include "IoHwAb.h"\r
-#endif\r
-\r
-void EcuM_AL_DriverInitZero()\r
-{\r
-       Det_Init();\r
-    Det_Start();\r
-}\r
-\r
-EcuM_ConfigType* EcuM_DeterminePbConfiguration()\r
-{\r
-       return &EcuMConfig;\r
-}\r
-\r
-void EcuM_AL_DriverInitOne(const EcuM_ConfigType *ConfigPtr)\r
-{\r
-#if defined(USE_MCU)\r
-       Mcu_Init(ConfigPtr->McuConfig);\r
-\r
-       // Set up default clock (Mcu_InitClock requires initRun==1)\r
-       Mcu_InitClock( ConfigPtr->McuConfig->McuDefaultClockSettings );\r
-\r
-       // Wait for PLL to sync.\r
-       while (Mcu_GetPllStatus() != MCU_PLL_LOCKED)\r
-         ;\r
-#endif\r
-\r
-#if defined(USE_DEM)\r
-       // Preinitialize DEM\r
-       Dem_PreInit();\r
-#endif\r
-\r
-#if defined(USE_PORT)\r
-       // Setup Port\r
-       Port_Init(ConfigPtr->PortConfig);\r
-#endif\r
-\r
-\r
-#if defined(USE_GPT)\r
-       // Setup the GPT\r
-       Gpt_Init(ConfigPtr->GptConfig);\r
-#endif\r
-\r
-       // Setup watchdog\r
-       // TODO\r
-\r
-#if defined(USE_DMA)\r
-       // Setup DMA\r
-       Dma_Init(ConfigPtr->DmaConfig);\r
-#endif\r
-\r
-#if defined(USE_ADC)\r
-       // Setup ADC\r
-       Adc_Init(ConfigPtr->AdcConfig);\r
-#endif\r
-\r
-       // Setup ICU\r
-       // TODO\r
-\r
-       // Setup PWM\r
-#if defined(USE_PWM)\r
-       // Setup PWM\r
-       Pwm_Init(ConfigPtr->PwmConfig);\r
-#endif\r
-}\r
-\r
-void EcuM_AL_DriverInitTwo(const EcuM_ConfigType* ConfigPtr)\r
-{\r
-#if defined(USE_SPI)\r
-       // Setup SPI\r
-       Spi_Init(ConfigPtr->SpiConfig);\r
-#endif\r
-\r
-#if defined(USE_EEP)\r
-       // Setup EEP\r
-       Eep_Init(ConfigPtr->EEpConfig);\r
-#endif\r
-\r
-#if defined(USE_FLS)\r
-       // Setup Flash\r
-       FlashInit(ConfigPtr->FlashConfig);\r
-#endif\r
-\r
-       // Setup NVRAM Manaager\r
-       // TODO\r
-\r
-       // Setup CAN tranceiver\r
-       // TODO\r
-\r
-#if defined(USE_CAN)\r
-       // Setup Can driver\r
-       Can_Init(ConfigPtr->CanConfig);\r
-#endif\r
-\r
-#if defined(USE_CANIF)\r
-       // Setup CanIf\r
-       CanIf_Init(ConfigPtr->CanIfConfig);\r
-#endif\r
-\r
-#if defined(USE_CANTP)\r
-       // Setup CAN TP\r
-       CanTp_Init();\r
-#endif\r
-       // Setup LIN\r
-       // TODO\r
-\r
-#if defined(USE_PDUR)\r
-       // Setup PDU Router\r
-       PduR_Init(ConfigPtr->PduRConfig);\r
-#endif\r
-\r
-#if defined(USE_COM)\r
-       // Setup COM layer\r
-       Com_Init(ConfigPtr->ComConfig);\r
-#endif\r
-\r
-#if defined(USE_DCM)\r
-       // Setup DCM\r
-       Dcm_Init();\r
-#endif\r
-\r
-#if defined(USE_IOHWAB)\r
-       // Setup IO hardware abstraction layer\r
-       IoHwAb_Init();\r
-#endif\r
-\r
-}\r
-\r
-void EcuM_AL_DriverInitThree(const EcuM_ConfigType ConfigPtr)\r
-{\r
-#if defined(USE_DEM)\r
-       // Setup DEM\r
-       Dem_Init();\r
-#endif\r
-\r
-#if defined(USE_CANIF)\r
-       // Startup the CAN interafce; due to the missing COM manager\r
-       CanIf_InitController(CANIF_CHANNEL_0, CANIF_CHANNEL_0_CONFIG_0);\r
-       CanIf_SetControllerMode(CANIF_CHANNEL_0, CANIF_CS_STARTED);\r
-#endif\r
-}\r
+
+#include "EcuM.h"
+#include "Det.h"
+#if defined(USE_DEM)
+#include "Dem.h"
+#endif
+#if defined(USE_MCU)
+#include "Mcu.h"
+#endif
+#if defined(USE_GPT)
+#include "Gpt.h"
+#endif
+#if defined(USE_CAN)
+#include "Can.h"
+#endif
+#if defined(USE_CANIF)
+#include "CanIf.h"
+#endif
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
+#if defined(USE_COM)
+#include "Com.h"
+#endif
+#if defined(USE_CANTP)
+#include "CanTp.h"
+#endif
+#if defined(USE_DCM)
+#include "Dcm.h"
+#endif
+#if defined(USE_PWM)
+#include "Pwm.h"
+#endif
+#if defined(USE_IOHWAB)
+#include "IoHwAb.h"
+#endif
+
+void EcuM_AL_DriverInitZero()
+{
+       Det_Init();
+    Det_Start();
+}
+
+EcuM_ConfigType* EcuM_DeterminePbConfiguration()
+{
+       return &EcuMConfig;
+}
+
+void EcuM_AL_DriverInitOne(const EcuM_ConfigType *ConfigPtr)
+{
+#if defined(USE_MCU)
+       Mcu_Init(ConfigPtr->McuConfig);
+
+       // Set up default clock (Mcu_InitClock requires initRun==1)
+       Mcu_InitClock( ConfigPtr->McuConfig->McuDefaultClockSettings );
+
+       // Wait for PLL to sync.
+       while (Mcu_GetPllStatus() != MCU_PLL_LOCKED)
+         ;
+#endif
+
+#if defined(USE_DEM)
+       // Preinitialize DEM
+       Dem_PreInit();
+#endif
+
+#if defined(USE_PORT)
+       // Setup Port
+       Port_Init(ConfigPtr->PortConfig);
+#endif
+
+
+#if defined(USE_GPT)
+       // Setup the GPT
+       Gpt_Init(ConfigPtr->GptConfig);
+#endif
+
+       // Setup watchdog
+       // TODO
+
+#if defined(USE_DMA)
+       // Setup DMA
+       Dma_Init(ConfigPtr->DmaConfig);
+#endif
+
+#if defined(USE_ADC)
+       // Setup ADC
+       Adc_Init(ConfigPtr->AdcConfig);
+#endif
+
+       // Setup ICU
+       // TODO
+
+       // Setup PWM
+#if defined(USE_PWM)
+       // Setup PWM
+       Pwm_Init(ConfigPtr->PwmConfig);
+#endif
+}
+
+void EcuM_AL_DriverInitTwo(const EcuM_ConfigType* ConfigPtr)
+{
+#if defined(USE_SPI)
+       // Setup SPI
+       Spi_Init(ConfigPtr->SpiConfig);
+#endif
+
+#if defined(USE_EEP)
+       // Setup EEP
+       Eep_Init(ConfigPtr->EEpConfig);
+#endif
+
+#if defined(USE_FLS)
+       // Setup Flash
+       FlashInit(ConfigPtr->FlashConfig);
+#endif
+
+       // Setup NVRAM Manaager
+       // TODO
+
+       // Setup CAN tranceiver
+       // TODO
+
+#if defined(USE_CAN)
+       // Setup Can driver
+       Can_Init(ConfigPtr->CanConfig);
+#endif
+
+#if defined(USE_CANIF)
+       // Setup CanIf
+       CanIf_Init(ConfigPtr->CanIfConfig);
+#endif
+
+#if defined(USE_CANTP)
+       // Setup CAN TP
+       CanTp_Init();
+#endif
+       // Setup LIN
+       // TODO
+
+#if defined(USE_PDUR)
+       // Setup PDU Router
+       PduR_Init(ConfigPtr->PduRConfig);
+#endif
+
+#if defined(USE_COM)
+       // Setup COM layer
+       Com_Init(ConfigPtr->ComConfig);
+#endif
+
+#if defined(USE_DCM)
+       // Setup DCM
+       Dcm_Init();
+#endif
+
+#if defined(USE_IOHWAB)
+       // Setup IO hardware abstraction layer
+       IoHwAb_Init();
+#endif
+
+}
+
+void EcuM_AL_DriverInitThree(const EcuM_ConfigType ConfigPtr)
+{
+#if defined(USE_DEM)
+       // Setup DEM
+       Dem_Init();
+#endif
+
+#if defined(USE_CANIF)
+       // Startup the CAN interafce; due to the missing COM manager
+       CanIf_InitController(CANIF_CHANNEL_0, CANIF_CHANNEL_0_CONFIG_0);
+       CanIf_SetControllerMode(CANIF_CHANNEL_0, CANIF_CS_STARTED);
+#endif
+}
index 3500c755a0c6575fa938cdbf5f72f43eba61fe8d..b3ad4d03bb85eb58b7cfde35a9b4b72ea9515935 100644 (file)
@@ -4,60 +4,60 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 16:35:14 CEST 2010
+*           on Fri Apr 30 14:42:38 CEST 2010
 */
 
-\r
-\r
-#include "EcuM.h"\r
-\r
-EcuM_ConfigType EcuMConfig =\r
-{\r
-       .EcuMDefaultShutdownTarget = ECUM_STATE_RESET,\r
-       .EcuMDefaultShutdownMode = 0, // Don't care\r
-       .EcuMDefaultAppMode = 0,  // Don't care\r
-\r
-#if defined(USE_MCU)\r
-       .McuConfig = McuConfigData,\r
-#endif\r
-#if defined(USE_PORT)\r
-       .PortConfig = &PortConfigData,\r
-#endif\r
-#if defined(USE_CAN)\r
-       .CanConfig = &CanConfigData,\r
-#endif\r
-#if defined(USE_CANIF)\r
-       .CanIfConfig = &CanIf_Config,\r
-#endif\r
-#if defined(USE_COM)\r
-       .ComConfig = &ComConfiguration,\r
-#endif\r
-#if defined(USE_PDUR)\r
-       .PduRConfig = &PduR_Config,\r
-#endif\r
-#if defined(USE_DMA)\r
-       .DmaConfig = DmaConfig,\r
-#endif\r
-#if defined(USE_ADC)\r
-       .AdcConfig = AdcConfig,\r
-#endif\r
-#if defined(USE_PWM)\r
-       .PwmConfig = &PwmConfig,\r
-#endif\r
-#if defined(USE_GPT)\r
-    .GptConfig = GptConfigData,\r
-#endif\r
-};\r
-\r
-void EcuM_OnGoOffTwo( void ) {\r
-\r
-}\r
-\r
-void EcuM_AL_SwitchOff( void ) {\r
-\r
-}\r
+
+
+#include "EcuM.h"
+
+EcuM_ConfigType EcuMConfig =
+{
+       .EcuMDefaultShutdownTarget = ECUM_STATE_RESET,
+       .EcuMDefaultShutdownMode = 0, // Don't care
+       .EcuMDefaultAppMode = 0,  // Don't care
+
+#if defined(USE_MCU)
+       .McuConfig = McuConfigData,
+#endif
+#if defined(USE_PORT)
+       .PortConfig = &PortConfigData,
+#endif
+#if defined(USE_CAN)
+       .CanConfig = &CanConfigData,
+#endif
+#if defined(USE_CANIF)
+       .CanIfConfig = &CanIf_Config,
+#endif
+#if defined(USE_COM)
+       .ComConfig = &ComConfiguration,
+#endif
+#if defined(USE_PDUR)
+       .PduRConfig = &PduR_Config,
+#endif
+#if defined(USE_DMA)
+       .DmaConfig = DmaConfig,
+#endif
+#if defined(USE_ADC)
+       .AdcConfig = AdcConfig,
+#endif
+#if defined(USE_PWM)
+       .PwmConfig = &PwmConfig,
+#endif
+#if defined(USE_GPT)
+    .GptConfig = GptConfigData,
+#endif
+};
+
+void EcuM_OnGoOffTwo( void ) {
+
+}
+
+void EcuM_AL_SwitchOff( void ) {
+
+}
index 86f05a20750bb041d121d9c1fc1f6f5c81ce4993..c69a1331d20dee04f44f8974ba2b9f9cdf5a4f90 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:33 CEST 2010
 */
 
 
 #error "EcuM: Configuration file version differs from BSW version."
 #endif
 
-\r
-\r
-#ifndef ECUM_CFG_H_\r
-#define ECUM_CFG_H_\r
-\r
-#define ECUM_VERSION_INFO_API  STD_OFF\r
-#define ECUM_INCLUDE_NVRAM_MGR STD_OFF\r
-#define ECUM_DEV_ERROR_DETECT  STD_OFF\r
-\r
-#include "EcuM_Generated_Types.h"\r
-\r
-extern EcuM_ConfigType EcuMConfig;\r
-\r
-#endif /*ECUM_CFG_H_*/\r
+
+
+#ifndef ECUM_CFG_H_
+#define ECUM_CFG_H_
+
+#define ECUM_VERSION_INFO_API  STD_OFF
+#define ECUM_INCLUDE_NVRAM_MGR STD_OFF
+#define ECUM_DEV_ERROR_DETECT  STD_OFF
+
+#include "EcuM_Generated_Types.h"
+
+extern EcuM_ConfigType EcuMConfig;
+
+#endif /*ECUM_CFG_H_*/
index 8a5a3b04b75bfb8e43dd17f38f849ebeccf97e50..00c5a3921c05f2fc42daa3015dce06cdd5a6b4c2 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 16:35:14 CEST 2010
+*           on Fri Apr 30 14:42:38 CEST 2010
 */
 
 
 #error "EcuM: Configuration file version differs from BSW version."
 #endif
 
-\r
-#ifndef _ECUM_GENERATED_TYPES_H_\r
-#define _ECUM_GENERATED_TYPES_H_\r
-\r
-#if defined(USE_MCU)\r
-#include "Mcu.h"\r
-#endif\r
-#if defined(USE_PORT)\r
-#include "Port.h"\r
-#endif\r
-#if defined(USE_CAN)\r
-#include "Can.h"\r
-#endif\r
-#if defined(USE_CANIF)\r
-#include "CanIf.h"\r
-#endif\r
-#if defined(USE_PWM)\r
-#include "Pwm.h"\r
-#endif\r
-#if defined(USE_COM)\r
-#include "Com.h"\r
-#endif\r
-#if defined(USE_PDUR)\r
-#include "PduR.h"\r
-#endif\r
-#if defined(USE_DMA)\r
-#include "Dma.h"\r
-#endif\r
-#if defined(USE_ADC)\r
-#include "Adc.h"\r
-#endif\r
-#if defined(USE_GPT)\r
-#include "Gpt.h"\r
-#endif\r
-\r
-\r
-typedef struct\r
-{\r
-       EcuM_StateType EcuMDefaultShutdownTarget;\r
-       uint8 EcuMDefaultShutdownMode;\r
-       AppModeType EcuMDefaultAppMode;\r
-\r
-#if defined(USE_MCU)\r
-       const Mcu_ConfigType* McuConfig;\r
-#endif\r
-#if defined(USE_PORT)\r
-       const Port_ConfigType* PortConfig;\r
-#endif\r
-#if defined(USE_CAN)\r
-       const Can_ConfigType* CanConfig;\r
-#endif\r
-#if defined(USE_CANIF)\r
-       const CanIf_ConfigType* CanIfConfig;\r
-#endif\r
-#if defined(USE_COM)\r
-       const Com_ConfigType* ComConfig;\r
-#endif\r
-#if defined(USE_PDUR)\r
-       const PduR_PBConfigType* PduRConfig;\r
-#endif\r
-#if defined(USE_PWM)\r
-       const Pwm_ConfigType* PwmConfig;\r
-#endif\r
-#if defined(USE_DMA)\r
-       const Dma_ConfigType* DmaConfig;\r
-#endif\r
-#if defined(USE_ADC)\r
-    const Adc_ConfigType* AdcConfig;\r
-#endif\r
-#if defined(USE_GPT)\r
-    const Gpt_ConfigType* GptConfig;\r
-#endif\r
-} EcuM_ConfigType;\r
-\r
-#endif /*_ECUM_GENERATED_TYPES_H_*/\r
+
+#ifndef _ECUM_GENERATED_TYPES_H_
+#define _ECUM_GENERATED_TYPES_H_
+
+#if defined(USE_MCU)
+#include "Mcu.h"
+#endif
+#if defined(USE_PORT)
+#include "Port.h"
+#endif
+#if defined(USE_CAN)
+#include "Can.h"
+#endif
+#if defined(USE_CANIF)
+#include "CanIf.h"
+#endif
+#if defined(USE_PWM)
+#include "Pwm.h"
+#endif
+#if defined(USE_COM)
+#include "Com.h"
+#endif
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
+#if defined(USE_DMA)
+#include "Dma.h"
+#endif
+#if defined(USE_ADC)
+#include "Adc.h"
+#endif
+#if defined(USE_GPT)
+#include "Gpt.h"
+#endif
+
+
+typedef struct
+{
+       EcuM_StateType EcuMDefaultShutdownTarget;
+       uint8 EcuMDefaultShutdownMode;
+       AppModeType EcuMDefaultAppMode;
+
+#if defined(USE_MCU)
+       const Mcu_ConfigType* McuConfig;
+#endif
+#if defined(USE_PORT)
+       const Port_ConfigType* PortConfig;
+#endif
+#if defined(USE_CAN)
+       const Can_ConfigType* CanConfig;
+#endif
+#if defined(USE_CANIF)
+       const CanIf_ConfigType* CanIfConfig;
+#endif
+#if defined(USE_COM)
+       const Com_ConfigType* ComConfig;
+#endif
+#if defined(USE_PDUR)
+       const PduR_PBConfigType* PduRConfig;
+#endif
+#if defined(USE_PWM)
+       const Pwm_ConfigType* PwmConfig;
+#endif
+#if defined(USE_DMA)
+       const Dma_ConfigType* DmaConfig;
+#endif
+#if defined(USE_ADC)
+    const Adc_ConfigType* AdcConfig;
+#endif
+#if defined(USE_GPT)
+    const Gpt_ConfigType* GptConfig;
+#endif
+} EcuM_ConfigType;
+
+#endif /*_ECUM_GENERATED_TYPES_H_*/
index e30d4c3dbb2eb3bf9d2204ac59b7de22a4c49761..110ed4481e9b99135636ab4fc068b87c20c7929c 100644 (file)
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 2.0.6
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.7
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 16:39:13 CEST 2010
 */
 
-       \r
+       
 \r
 #include <stdlib.h>\r
 #include <stdint.h>\r
 #include "Platform_Types.h"\r
 #include "Os.h"                                // includes Os_Cfg.h\r
-#include "os_config_macros.h"\r
-#include "kernel.h"\r
-#include "kernel_offset.h"\r
+#include "os_config_macros.h"
+#include "kernel.h"
+#include "kernel_offset.h"
 #include "alist_i.h"\r
 #include "Mcu.h"\r
 \r
-extern void dec_exception( void );\r
+extern void dec_exception( void );
 \r
-// Set the os tick frequency\r
-OsTickType OsTickFreq = 1000;\r
-\r
-\r
-// ###############################    DEBUG OUTPUT     #############################\r
-uint32 os_dbg_mask = 0;\r
\r
-\r
-\r
-// #################################    COUNTERS     ###############################\r
-GEN_COUNTER_HEAD {\r
-       GEN_COUNTER(    COUNTER_ID_OsTick,\r
-                                       "OsTick",\r
-                                       COUNTER_TYPE_HARD,\r
-                                       COUNTER_UNIT_NANO,\r
-                                       0xffff,\r
-                                       1,\r
-                                       1,\r
-                                       0),\r
+// Set the os tick frequency
+OsTickType OsTickFreq = 1000;
+
+
+// ###############################    DEBUG OUTPUT     #############################
+uint32 os_dbg_mask = 0;
+
+
+// #################################    COUNTERS     ###############################
+GEN_COUNTER_HEAD {
+       GEN_COUNTER(    COUNTER_ID_OsTick,
+                                       "OsTick",
+                                       COUNTER_TYPE_HARD,
+                                       COUNTER_UNIT_NANO,
+                                       0xffff,
+                                       1,
+                                       1,
+                                       0),
 };\r
 \r
 CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;\r
 \r
 // ##################################    ALARMS     ################################\r
-GEN_ALARM_AUTOSTART(ALARM_ID_ComAlarm, ALARM_AUTOSTART_ABSOLUTE, 5, 20, OSDEFAULTAPPMODE );\r
-       \r
-\r
-GEN_ALARM_HEAD {\r
-       GEN_ALARM(      ALARM_ID_ComAlarm,\r
-                               "ComAlarm",\r
-                               COUNTER_ID_OsTick,\r
-                               GEN_ALARM_AUTOSTART_NAME(ALARM_ID_ComAlarm),\r
-                               ALARM_ACTION_ACTIVATETASK,\r
-                               TASK_ID_ComTask,\r
-                               NULL,\r
-                               NULL ),\r
+GEN_ALARM_AUTOSTART(ALARM_ID_ComAlarm, ALARM_AUTOSTART_ABSOLUTE, 5, 20, OSDEFAULTAPPMODE );
+       
+
+GEN_ALARM_HEAD {
+       GEN_ALARM(      ALARM_ID_ComAlarm,
+                               "ComAlarm",
+                               COUNTER_ID_OsTick,
+                               GEN_ALARM_AUTOSTART_NAME(ALARM_ID_ComAlarm),
+                               ALARM_ACTION_ACTIVATETASK,
+                               TASK_ID_ComTask,
+                               NULL,
+                               NULL ),
 };\r
 \r
 // ################################    RESOURCES     ###############################\r
-GEN_RESOURCE_HEAD {\r
-       GEN_RESOURCE(   \r
-               RES_SCHEDULER,\r
-               RESOURCE_TYPE_STANDARD,\r
-               0\r
-       ),\r
+GEN_RESOURCE_HEAD {
+       GEN_RESOURCE(   
+               RES_SCHEDULER,
+               RESOURCE_TYPE_STANDARD,
+               0
+       ),
 };\r
 \r
 // ##############################    STACKS (TASKS)     ############################\r
-DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
-DECLARE_STACK(ComTask,2048);\r
-DECLARE_STACK(StartupTask,2048);\r
-\r
-// ##################################    TASKS     #################################\r
-GEN_TASK_HEAD {\r
-       GEN_ETASK(      OsIdle,\r
-                               0,\r
-                               FULL,\r
-                               TRUE,\r
-                               NULL,\r
-                               0 \r
-       ),\r
-       GEN_BTASK(\r
-               ComTask,\r
-               1,\r
-               FULL,\r
-               FALSE,\r
-               NULL,\r
-               0,\r
-               1\r
-       ),\r
-                               \r
-       GEN_BTASK(\r
-               StartupTask,\r
-               2,\r
-               FULL,\r
-               TRUE,\r
-               NULL,\r
-               0,\r
-               1\r
-       ),\r
-                               \r
+DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);
+DECLARE_STACK(ComTask,2048);
+DECLARE_STACK(StartupTask,2048);
+\r
+// ##################################    TASKS     #################################
+GEN_TASK_HEAD {
+       GEN_ETASK(      OsIdle,
+                               0,
+                               FULL,
+                               TRUE,
+                               NULL,
+                               0 
+       ),
+       GEN_BTASK(
+               ComTask,
+               1,
+               FULL,
+               FALSE,
+               NULL,
+               0,
+               1
+       ),
+                               
+       GEN_BTASK(
+               StartupTask,
+               2,
+               FULL,
+               TRUE,
+               NULL,
+               0,
+               1
+       ),
+                               
 };\r
 \r
-// ##################################    HOOKS     #################################\r
-GEN_HOOKS( \r
-       StartupHook, \r
-       NULL, \r
-       ShutdownHook, \r
-       ErrorHook,\r
-       PreTaskHook, \r
-       PostTaskHook \r
-);\r
-\r
-// ##################################    ISRS     ##################################\r
-\r
-\r
-// ############################    SCHEDULE TABLES     #############################\r
-\r
-// Table heads\r
-GEN_SCHTBL_HEAD {\r
+// ##################################    HOOKS     #################################
+GEN_HOOKS( 
+       StartupHook, 
+       NULL, 
+       ShutdownHook, 
+       ErrorHook,
+       PreTaskHook, 
+       PostTaskHook 
+);
+
+// ##################################    ISRS     ##################################
+
+
+// ############################    SCHEDULE TABLES     #############################
+
+// Table heads
+GEN_SCHTBL_HEAD {
 };\r
 \r
-GEN_PCB_LIST()\r
+GEN_PCB_LIST()
 \r
 uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
 \r
-GEN_IRQ_VECTOR_TABLE_HEAD {};\r
-GEN_IRQ_ISR_TYPE_TABLE_HEAD {};\r
-GEN_IRQ_PRIORITY_TABLE_HEAD {};\r
+GEN_IRQ_VECTOR_TABLE_HEAD {};
+GEN_IRQ_ISR_TYPE_TABLE_HEAD {};
+GEN_IRQ_PRIORITY_TABLE_HEAD {};
 \r
-#include "os_config_funcs.h"\r
+#include "os_config_funcs.h"
index e3caafdfa1be2e394af4ea29b990f0f7037caafa..7afce2b44e0ad8fc9b2df377cfb7e49af78c1bd4 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 2.0.6
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.7
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 16:39:13 CEST 2010
 */
 
 
 \r
 \r
 // Alarm Id's\r
-#define ALARM_ID_ComAlarm      0\r
+#define ALARM_ID_ComAlarm      0
 \r
 // Counter Id's\r
 #define COUNTER_ID_OsTick      0\r
 \r
-// Counter macros\r
-#define OSMAXALLOWEDVALUE_OsTick 65535\r
-\r
+// Counter macros
+#define OSMAXALLOWEDVALUE_OsTick 65535
+
 \r
 // Event masks\r
 \r
 \r
 // Resource Id's\r
 \r
-// Linked resource id's\r
-\r
-// Resource masks\r
-\r
+// Linked resource id's
+
+// Resource masks
+
 // Task Id's\r
-#define TASK_ID_OsIdle 0\r
-#define TASK_ID_ComTask        1\r
+#define TASK_ID_OsIdle 0
+#define TASK_ID_ComTask        1
 #define TASK_ID_StartupTask    2\r
 \r
 // Task entry points\r
-void OsIdle( void );\r
+void OsIdle( void );
 void ComTask( void );\r
 void StartupTask( void );\r
 \r
-// Schedule table id's\r
+// Schedule table id's
 \r
-// Stack size\r
-#define OS_INTERRUPT_STACK_SIZE        2048\r
-#define OS_OSIDLE_STACK_SIZE 500\r
-\r
-#define OS_ALARM_CNT                   1 \r
-#define OS_TASK_CNT                            3\r
-#define OS_SCHTBL_CNT                  0\r
-#define OS_COUNTER_CNT                 1\r
-#define OS_EVENTS_CNT                  0\r
-#define OS_ISRS_CNT                            0\r
-#define OS_RESOURCE_CNT                        0\r
-#define OS_LINKED_RESOURCE_CNT 0\r
-\r
-#define CFG_OS_DEBUG                           STD_OFF\r
-\r
-#define OS_SC1                                                 STD_ON     \r
-#define OS_STACK_MONITORING                    STD_ON\r
-#define OS_STATUS_EXTENDED                     STD_ON\r
-#define OS_USE_GET_SERVICE_ID          STD_ON\r
-#define OS_USE_PARAMETER_ACCESS                STD_ON\r
-#define OS_RES_SCHEDULER                       STD_ON\r
+// Stack size
+#define OS_INTERRUPT_STACK_SIZE        2048
+#define OS_OSIDLE_STACK_SIZE 512
+
+#define OS_ALARM_CNT                   1 
+#define OS_TASK_CNT                            3
+#define OS_SCHTBL_CNT                  0
+#define OS_COUNTER_CNT                 1
+#define OS_EVENTS_CNT                  0
+#define OS_ISRS_CNT                            0
+#define OS_RESOURCE_CNT                        0
+#define OS_LINKED_RESOURCE_CNT 0
+
+#define CFG_OS_DEBUG                           STD_OFF
+
+#define OS_SC1                                                 STD_ON     
+#define OS_STACK_MONITORING                    STD_ON
+#define OS_STATUS_EXTENDED                     STD_ON
+#define OS_USE_GET_SERVICE_ID          STD_ON
+#define OS_USE_PARAMETER_ACCESS                STD_ON
+#define OS_RES_SCHEDULER                       STD_ON
 \r
 #endif /*OS_CFG_H_*/\r
diff --git a/examples/pwm_node2/config/PduR_Cfg.h b/examples/pwm_node2/config/PduR_Cfg.h
new file mode 100644 (file)
index 0000000..18aa232
--- /dev/null
@@ -0,0 +1,82 @@
+/* 
+* Configuration of module PduR (PduR_Cfg.h)
+* 
+* Created by: 
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* 
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:56:33 CEST 2010
+*/
+
+
+#if (PDUR_SW_MAJOR_VERSION != 1) 
+#error "PduR: Configuration file version differs from BSW version."
+#endif
+
+
+
+#ifndef PDUR_CFG_H_
+#define PDUR_CFG_H_
+
+// Module support
+#define PDUR_CANIF_SUPPORT                     STD_ON
+#define PDUR_CANTP_SUPPORT                     STD_OFF
+#define PDUR_FRIF_SUPPORT                      STD_OFF  /* Not supported */
+#define PDUR_FRTP_SUPPORT                      STD_OFF  /* Not supported */
+#define PDUR_LINIF_SUPPORT                     STD_OFF
+#define PDUR_LINTP_SUPPORT                     STD_OFF  /* Not supported */
+#define PDUR_COM_SUPPORT                       STD_ON
+#define PDUR_DCM_SUPPORT                       STD_OFF
+#define PDUR_IPDUM_SUPPORT                     STD_OFF  /* Not supported */
+
+
+#define PDUR_DEV_ERROR_DETECT          STD_OFF
+#define PDUR_VERSION_INFO_API          STD_OFF
+
+
+// Zero cost operation mode
+#define PDUR_ZERO_COST_OPERATION       STD_ON
+#define PDUR_SINGLE_IF                         CAN_IF
+#define PDUR_SINGLE_TP                         CAN_TP
+
+
+// Gateway operation
+#define PDUR_GATEWAY_OPERATION                         STD_OFF
+#define PDUR_MEMORY_SIZE                                       10 /* Not used */
+#define PDUR_SB_TX_BUFFER_SUPPORT                      STD_OFF
+#define PDUR_FIFO_TX_BUFFER_SUPPORT                    STD_OFF
+
+/**
+ * The maximum numbers of Tx buffers.
+ */
+#define PDUR_MAX_TX_BUFFER_NUMBER                      10 /* Not used */
+
+
+
+
+
+// Multicast
+/* Not supported
+#define PDUR_MULTICAST_TOIF_SUPPORT                    STD_OFF
+#define PDUR_MULTICAST_FROMIF_SUPPORT          STD_OFF
+#define PDUR_MULTICAST_TOTP_SUPPORT                    STD_OFF
+#define PDUR_MULTICAST_FROMTP_SUPPORT          STD_OFF
+*/
+
+
+// Minimum routing
+/* Minimum routing not supported.
+#define PDUR_MINIMUM_ROUTING_UP_MODULE         COM
+#define PDUR_MINIMUM_ROUTING_LO_MODULE         CAN_IF
+#define PDUR_MINIMUM_ROUTING_UP_RXPDUID                ((PduIdType)100)
+#define PDUR_MINIMUM_ROUTING_LO_RXPDUID        ((PduIdType)255)
+#define PDUR_MINIMUM_ROUTING_UP_TXPDUID        ((PduIdType)255)
+#define PDUR_MINIMUM_ROUTING_LO_TXPDUID        ((PduIdType)255)
+*/
+
+
+#endif
diff --git a/examples/pwm_node2/config/PduR_PbCfg.c b/examples/pwm_node2/config/PduR_PbCfg.c
new file mode 100644 (file)
index 0000000..d614a65
--- /dev/null
@@ -0,0 +1,62 @@
+/* 
+* Configuration of module PduR (PduR_PbCfg.c)
+* 
+* Created by: 
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* 
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:56:34 CEST 2010
+*/
+
+
+#include "PduR.h"
+#include "PduR_Cfg.h"
+#include "PduR_PbCfg.h"
+
+#if PDUR_CANIF_SUPPORT == STD_ON
+#include "CanIf.h"
+#endif
+#if PDUR_CANTP_SUPPORT == STD_ON
+#include "CanTp.h"
+#endif
+#if PDUR_LINIF_SUPPORT == STD_ON
+#include "LinIf.h"
+#endif
+#if PDUR_COM_SUPPORT == STD_ON
+#include "Com.h"
+#endif
+#if PDUR_DCM_SUPPORT == STD_ON
+#include "Dcm.h"
+#endif
+
+
+PduRTxBufferTable_type PduRTxBufferTable = {
+       .PduRMaxTxBufferNumber = 1,
+       .PduRTxBuffer = {
+               {
+                       .Depth = 0,
+               },
+       }
+};
+
+
+PduRRoutingTable_type PduRRoutingTable = {
+       .PduRRoutingPath = {
+               { // End of routing table
+                       .PduR_Arc_EOL = 1
+               }
+       }
+};
+
+
+
+
+PduR_PBConfigType PduR_Config = {
+       .PduRConfigurationId = 0,
+       .PduRTxBufferTable = &PduRTxBufferTable,
+       .PduRRoutingTable = &PduRRoutingTable,
+};
diff --git a/examples/pwm_node2/config/PduR_PbCfg.h b/examples/pwm_node2/config/PduR_PbCfg.h
new file mode 100644 (file)
index 0000000..6a26480
--- /dev/null
@@ -0,0 +1,39 @@
+/* 
+* Configuration of module PduR (PduR_PbCfg.h)
+* 
+* Created by: 
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* 
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:56:33 CEST 2010
+*/
+
+
+#if (PDUR_SW_MAJOR_VERSION != 1) 
+#error "PduR: Configuration file version differs from BSW version."
+#endif
+
+
+#if defined(USE_DCM)
+#include "Dcm.h"
+#endif
+#if defined(USE_COM)
+#include "Com.h"
+#endif
+#if defined(USE_CANIF)
+#include "CanIf.h"
+#endif
+#if defined(USE_CANTP)
+#include "CanTp.h"
+#endif
+
+extern PduR_PBConfigType PduR_Config;
+
+//  PduR Polite Defines.
+
+#define PDUR_SOURCE_PDU_ID_LedCommandRx CANIF_PDU_ID_LedCommandRx
+#define PDUR_DEST_PDU_ID_LedCommandRx COM_PDU_ID_LedCommandRx
index a5c3cd2a98be24b111985f7f7934ed35f3f65b02..475cbe6835d7696da0e563d45ec88e91b85eb411 100644 (file)
@@ -4,21 +4,21 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:34 CEST 2010
 */
 
-       \r
-// File generated on Mon Apr 12 17:13:20 CEST 2010\r
-// File generated by com.arccore.bswbuilder.modules.port.mpc5516\r
+       
+// File generated on Fri Apr 30 15:56:34 CEST 2010
+// File generated by com.arccore.bswbuilder.modules.port.mpc5516
 \r
-#include "Port.h"\r
+#include "Port.h"
 #include "Port_Cfg.h"\r
-#include "stdlib.h"\r
+#include "stdlib.h"
 \r
 const uint16_t PortPadConfigData[] = {\r
        PCR_RESET,                      /* PCR  0 */\r
@@ -31,9 +31,9 @@ const uint16_t PortPadConfigData[] = {
        PCR_RESET,                      /* PCR  7 */\r
        PCR_RESET,                      /* PCR  8 */\r
        PCR_RESET,                      /* PCR  9 */\r
-       PCR_RESET,                      /* PCR  10 */\r
-       PCR_RESET,                      /* PCR  11 */\r
-       PCR_RESET,                      /* PCR  12 */\r
+       PCR_RESET,                      /* PCR  10 */
+       PCR_RESET,                      /* PCR  11 */
+       PCR_RESET,                      /* PCR  12 */
        PCR_RESET,                      /* PCR  13 */\r
        PCR_RESET,                      /* PCR  14 */\r
        PCR_RESET,                      /* PCR  15 */\r
@@ -66,14 +66,14 @@ const uint16_t PortPadConfigData[] = {
        PCR_RESET,                      /* PCR  42 */\r
        PCR_RESET,                      /* PCR  43 */\r
        PCR_RESET,                      /* PCR  44 */\r
-       ( FUNC1 | OBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  45 : PORT_PIN_MODE_PWM */\r
+       ( FUNC1 | OBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  45 : PORT_PIN_MODE_PWM */
        PCR_RESET,                      /* PCR  46 */\r
        PCR_RESET,                      /* PCR  47 */\r
-       ( FUNC1 | OBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  48 : PORT_PIN_MODE_CAN */\r
-       ( FUNC1 | IBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  49 : PORT_PIN_MODE_CAN */\r
+       ( FUNC1 | OBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  48 : PORT_PIN_MODE_CAN */
+       ( FUNC1 | IBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  49 : PORT_PIN_MODE_CAN */
        PCR_RESET,                      /* PCR  50 */\r
        PCR_RESET,                      /* PCR  51 */\r
-       PCR_RESET,                      /* PCR  52 */\r
+       PCR_RESET,                      /* PCR  52 */
        PCR_RESET,                      /* PCR  53 */\r
        PCR_RESET,                      /* PCR  54 */\r
        PCR_RESET,                      /* PCR  55 */\r
@@ -180,8 +180,8 @@ const uint8_t PortOutConfigData[] = {
        GPDO_RESET,                     /* GPDO 8 */\r
        GPDO_RESET,                     /* GPDO 9 */\r
        GPDO_RESET,                     /* GPDO 10 */\r
-       GPDO_RESET,                     /* GPDO 11 */\r
-       GPDO_RESET,                     /* GPDO 12 */\r
+       GPDO_RESET,                     /* GPDO 11 */
+       GPDO_RESET,                     /* GPDO 12 */
        GPDO_RESET,                     /* GPDO 13 */\r
        GPDO_RESET,                     /* GPDO 14 */\r
        GPDO_RESET,                     /* GPDO 15 */\r
@@ -214,11 +214,11 @@ const uint8_t PortOutConfigData[] = {
        GPDO_RESET,                     /* GPDO 42 */\r
        GPDO_RESET,                     /* GPDO 43 */\r
        GPDO_RESET,                     /* GPDO 44 */\r
-       GPDO_RESET,             /* GPDO 45 */\r
+       GPDO_RESET,             /* GPDO 45 */
        GPDO_RESET,                     /* GPDO 46 */\r
        GPDO_RESET,                     /* GPDO 47 */\r
        GPDO_RESET,             /* GPDO 48 */\r
-       GPDO_RESET,             /* GPDO 49 */\r
+       GPDO_RESET,             /* GPDO 49 */
        GPDO_RESET,                     /* GPDO 50 */\r
        GPDO_RESET,                     /* GPDO 51 */\r
        GPDO_RESET,                     /* GPDO 52 */\r
@@ -320,4 +320,4 @@ const Port_ConfigType PortConfigData =
   .padConfig = PortPadConfigData,\r
   .outCnt = sizeof(PortOutConfigData),\r
   .outConfig = PortOutConfigData,\r
-};
\ No newline at end of file
+};
index 50a51f1da7e39e3b3b29449bec3c0344d93cea7a..7e1d58057ffa6988e25c592577fb5d3b8c68faff 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:34 CEST 2010
 */
 
 
@@ -23,9 +23,9 @@
 \r
 #include "Std_Types.h"\r
 \r
-#define        PORT_VERSION_INFO_API                           STD_OFF\r
-#define        PORT_DEV_ERROR_DETECT                           STD_OFF\r
-#define        PORT_PIN_DIRECTION_CHANGES_ALLOWED      STD_OFF\r
+#define        PORT_VERSION_INFO_API                           STD_OFF
+#define        PORT_DEV_ERROR_DETECT                           STD_OFF
+#define        PORT_PIN_DIRECTION_CHANGES_ALLOWED      STD_OFF
 \r
 #define                BIT0                    (1<<15)\r
 #define                BIT1                    (1<<14)\r
 #define                ODE_ENABLE              BIT10\r
 #define                IBE_ENABLE              BIT7\r
 #define                OBE_ENABLE              BIT6\r
-#define                IO                              (0)\r
-#define                FUNC0                   (0)\r
-#define                FUNC1                   (BIT5)\r
-#define                FUNC2                   (BIT4)\r
-#define                FUNC3                   (BIT4|BIT5)\r
-#define                FUNC4                   (BIT3)\r
+#define                IO                              (0)
+#define                FUNC0                   (0)
+#define                FUNC1                   (BIT5)
+#define                FUNC2                   (BIT4)
+#define                FUNC3                   (BIT4|BIT5)
+#define                FUNC4                   (BIT3)
 \r
 #define                PCR_RESET               (0)\r
 #define                GPDO_RESET              (0)\r
 \r
 #define                GPDO_HIGH               (1)\r
 \r
-\r
-typedef uint16 Port_PinType;\r
+
+typedef uint16 Port_PinType;
 \r
 typedef struct\r
 {\r
@@ -86,4 +86,4 @@ typedef struct
 \r
 extern const Port_ConfigType PortConfigData;\r
 \r
-#endif /* PORT_CFG_H_ */\r
+#endif /* PORT_CFG_H_ */
index a9fe3c57797e2a120cf28363e0737ab6dd292369..3e92708930382768dd4e5822a269a79463d82770 100644 (file)
@@ -4,49 +4,49 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:34 CEST 2010
 */
 
 /*\r
  * Pwm_Cfg.c\r
  *\r
- *  Created on: \r
- *      Author: \r
+ *  Created on: 
+ *      Author: 
  */\r
 \r
 #include "Pwm.h"\r
 #include "Pwm_Cfg.h"\r
 \r
-\r
-/*\r
- * Notification routines are defined elsewhere but need to be linked from here,\r
- * so we define the routines as external here.\r
- */\r
+
+/*
+ * Notification routines are defined elsewhere but need to be linked from here,
+ * so we define the routines as external here.
+ */
 \r
 const Pwm_ConfigType PwmConfig = {\r
        .Channels = {\r
-       \r
-               PWM_CHANNEL_CONFIG(// Channel name and emios channel id\r
-                                  PWM_CHANNEL_1,\r
-                                  // Period in ticks\r
-                                  12000,\r
-                                  // Duty cycle (0 ~> 0%, 0x8000 ~> 100%)\r
-                                  24576,\r
-                                  // Local prescaler\r
-                                  PWM_CHANNEL_PRESCALER_1,\r
-                                  // Polarity\r
-                                  PWM_HIGH),\r
+       
+               PWM_CHANNEL_CONFIG(// Channel name and emios channel id
+                                  PWM_CHANNEL_1,
+                                  // Period in ticks
+                                  12000,
+                                  // Duty cycle (0 ~> 0%, 0x8000 ~> 100%)
+                                  24576,
+                                  // Local prescaler
+                                  PWM_CHANNEL_PRESCALER_1,
+                                  // Polarity
+                                  PWM_HIGH),
        },\r
 #if PWM_NOTIFICATION_SUPPORTED==ON\r
        .NotificationHandlers = {\r
-               // Notification routine for PWM_CHANNEL_1\r
-               ,\r
-               \r
+               // Notification routine for PWM_CHANNEL_1
+               ,
+               
        }\r
 #endif\r
 };\r
index 301312aff23235a552f4eb3273bcac853f292e79..734f7d3acf7487b9f46896a77ac769abb20922f1 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: 
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * 
 * Generated by Arctic Studio (http://arccore.com)
-*           on Mon Apr 12 17:13:20 CEST 2010
+*           on Fri Apr 30 15:56:34 CEST 2010
 */
 
 
 #ifndef PWM_CFG_H_\r
 #define PWM_CFG_H_\r
 \r
-/****************************************************************************\r
- * Global configuration options and defines\r
+/****************************************************************************
+ * Global configuration options and defines
  */\r
 \r
-#define ON 1\r
-#define OFF 0\r
-\r
-// PWM003\r
-#define PWM_DEV_EROR_DETECT ON\r
-#define PWM_NOTIFICATION_SUPPORTED OFF\r
-\r
-// PWM132. Currently only ON is supported.\r
-#define PWM_DUTYCYCLE_UPDATED_ENDPERIOD ON\r
-#define PWM_PERIOD_UPDATED_ENDPERIOD ON\r
-\r
-// Define what functions to enable.\r
-#define PWM_GET_OUTPUT_STATE ON\r
-#define PWM_SET_PERIOD_AND_DUTY ON\r
-#define PWM_DEINIT ON\r
-#define PWM_DUTYCYCLE ON\r
-#define PWM_SET_OUTPUT_TO_IDLE ON\r
-#define PWM_VERSION_INFO_API ON\r
-\r
+#define ON 1
+#define OFF 0
 \r
+// PWM003
+#define PWM_DEV_EROR_DETECT ON
+#define PWM_NOTIFICATION_SUPPORTED OFF
 \r
+// PWM132. Currently only ON is supported.
+#define PWM_DUTYCYCLE_UPDATED_ENDPERIOD ON
+#define PWM_PERIOD_UPDATED_ENDPERIOD ON
+
+// Define what functions to enable.
+#define PWM_GET_OUTPUT_STATE ON
+#define PWM_SET_PERIOD_AND_DUTY ON
+#define PWM_DEINIT ON
+#define PWM_DUTYCYCLE ON
+#define PWM_SET_OUTPUT_TO_IDLE ON
+#define PWM_VERSION_INFO_API ON
+
+
+
 \r
 /****************************************************************************\r
  * Not defined in AUTOSAR.\r
  */\r
 #define PWM_ISR_PRIORITY 1\r
-#define PWM_PRESCALER 1\r
-\r
+#define PWM_PRESCALER 1
+
 /*\r
  * Setting to ON freezes the current output state of a PWM channel when in\r
  * debug mode.\r
  */\r
-#define PWM_FREEZE_ENABLE ON\r
+#define PWM_FREEZE_ENABLE ON
 \r
 /****************************************************************************\r
  * Enumeration of channels\r
  * Maps a symbolic name to a hardware channel\r
  */\r
 typedef enum {\r
-       PWM_CHANNEL_1 = 13,\r
-    PWM_NUMBER_OF_CHANNELS = 1\r
-} Pwm_NamedChannelsType;\r
-\r
-\r
-\r
-/*\r
- * PWM106: This is implementation specific but not all values may be valid\r
- * within the type. This shall be chosen in order to have the most efficient\r
- * implementation on a specific microcontroller platform.\r
- *\r
- * PWM106 => Pwm_ChannelType == eemios channel id.\r
- */\r
-typedef uint8 Pwm_ChannelType;\r
-\r
-/*\r
- * PWM070: All time units used within the API services of the PWM module shall\r
- * be of the unit ticks.\r
- */\r
-typedef uint16 Pwm_PeriodType;\r
-\r
-typedef enum {\r
-       PWM_CHANNEL_PRESCALER_1=0,\r
-       PWM_CHANNEL_PRESCALER_2,\r
-       PWM_CHANNEL_PRESCALER_3,\r
-       PWM_CHANNEL_PRESCALER_4,\r
-} Pwm_ChannelPrescalerType;\r
-\r
-/*\r
- * Since the AUTOSAR PWM specification uses a different unit for the duty,\r
- * the following macro can be used to convert between that format and the\r
- * mpc5516 format.\r
- */\r
-#define DUTY_AND_PERIOD(_duty,_period) .duty = (_duty*_period)>>15, .period = _period\r
-\r
-#if defined(CFG_MPC5516)\r
-       /* Mode is buffered PWM output (OPWM) */\r
-       /* Mode is buffered Output PW and frequency modulation mode */\r
-#define PWM_EMIOS_OPWM 0x5A\r
-#elif defined(CFG_MPC5567)\r
-       /* Mode is buffered OPWM with frequency modulation (allows change of\r
-        * period) */\r
-#define PWM_EMIOS_OPWM 0x19\r
-#endif\r
-\r
-\r
-typedef struct {\r
-       /* Number of duty ticks */\r
-       uint32_t                 duty:32;\r
-       /* Length of period, in ticks */\r
-       uint32_t                 period:32;\r
-       /* Counter */\r
-       uint32_t                 counter:32;\r
-       /* Enable freezing the channel when in debug mode */\r
-       uint32_t                 freezeEnable:1;\r
-       /* Disable output */\r
-       uint32_t                 outputDisable:1;\r
-       /* Select which bus disables the bus\r
-        * TODO: Figure out how this works, i.e. what bus does it refer to? */\r
-       uint32_t                                 outputDisableSelect:2;\r
-       /* Prescale the emios clock some more? */\r
-       Pwm_ChannelPrescalerType prescaler:2;\r
-       /* Prescale the emios clock some more? */\r
-       uint32_t                                 usePrescaler:1;\r
-       /* Whether to use DMA. Currently unsupported */\r
-       uint32_t                                 useDma:1;\r
-       uint32_t                                 reserved_2:1;\r
-       /* Input filter. Ignored in output mode. */\r
-       uint32_t                                 inputFilter:4;\r
-       /* Input filter clock source. Ignored in output mode */\r
-       uint32_t                                 filterClockSelect:1;\r
-       /* Enable interrupts/flags on this channel? Required for DMA as well. */\r
-       uint32_t                                 flagEnable:1;\r
-       uint32_t                                 reserved_3:3;\r
-       /* Trigger a match on channel A */\r
-       uint32_t                                 forceMatchA:1;\r
-       /* Triggers a match on channel B */\r
-       uint32_t                                 forceMatchB:1;\r
-       uint32_t                                 reserved_4:1;\r
-       /* We can use different buses for the counter. Use the internal counter */\r
-       uint32_t                                 busSelect:2;\r
-       /* What edges to flag on? */\r
-       uint32_t                                 edgeSelect:1;\r
-       /* Polarity of the channel */\r
-       uint32_t                                 edgePolarity:1;\r
-       /* EMIOS mode. 0x58 for buffered output PWM */\r
-       uint32_t                                 mode:7;\r
-} Pwm_ChannelRegisterType;\r
+       PWM_CHANNEL_1 = 13,
+    PWM_NUMBER_OF_CHANNELS = 1
+} Pwm_NamedChannelsType;
 \r
-typedef struct {\r
-       Pwm_ChannelRegisterType r;\r
-       Pwm_ChannelType channel;\r
-} Pwm_ChannelConfigurationType;\r
-\r
-\r
-typedef struct {\r
-       Pwm_ChannelConfigurationType Channels[PWM_NUMBER_OF_CHANNELS];\r
-#if PWM_NOTIFICATION_SUPPORTED==STD_ON\r
-       Pwm_NotificationHandlerType NotificationHandlers[PWM_NUMBER_OF_CHANNELS];\r
+
+
+/*
+ * PWM106: This is implementation specific but not all values may be valid
+ * within the type. This shall be chosen in order to have the most efficient
+ * implementation on a specific microcontroller platform.
+ *
+ * PWM106 => Pwm_ChannelType == eemios channel id.
+ */
+typedef uint8 Pwm_ChannelType;
+
+/*
+ * PWM070: All time units used within the API services of the PWM module shall
+ * be of the unit ticks.
+ */
+typedef uint16 Pwm_PeriodType;
+
+typedef enum {
+       PWM_CHANNEL_PRESCALER_1=0,
+       PWM_CHANNEL_PRESCALER_2,
+       PWM_CHANNEL_PRESCALER_3,
+       PWM_CHANNEL_PRESCALER_4,
+} Pwm_ChannelPrescalerType;
+
+/*
+ * Since the AUTOSAR PWM specification uses a different unit for the duty,
+ * the following macro can be used to convert between that format and the
+ * mpc5516 format.
+ */
+#define DUTY_AND_PERIOD(_duty,_period) .duty = (_duty*_period)>>15, .period = _period
+
+#if defined(CFG_MPC5516)
+       /* Mode is buffered PWM output (OPWM) */
+       /* Mode is buffered Output PW and frequency modulation mode */
+#define PWM_EMIOS_OPWM 0x5A
+#elif defined(CFG_MPC5567)
+       /* Mode is buffered OPWM with frequency modulation (allows change of
+        * period) */
+#define PWM_EMIOS_OPWM 0x19
 #endif\r
-} Pwm_ConfigType;\r
-\r
-// Channel configuration macro.\r
-#define PWM_CHANNEL_CONFIG(_hwchannel, _period, _duty, _prescaler, _polarity) \\r
-    {\\r
-        .channel = _hwchannel,\\r
-        .r = {\\r
-            DUTY_AND_PERIOD(_duty, _period),\\r
-            .freezeEnable = 1,\\r
-            .outputDisable = 0,\\r
-            .usePrescaler = 1,\\r
-            .prescaler = _prescaler,\\r
-            .useDma = 0,\\r
-            .flagEnable = 0, /* See PWM052 */ \\r
-            .busSelect = 3, /* Use the internal counter bus */\\r
-            .edgePolarity = _polarity,\\r
-            .mode = PWM_EMIOS_OPWM\\r
-        }\\r
-    }\r
+
+
+typedef struct {
+       /* Number of duty ticks */
+       uint32_t                 duty:32;
+       /* Length of period, in ticks */
+       uint32_t                 period:32;
+       /* Counter */
+       uint32_t                 counter:32;
+       /* Enable freezing the channel when in debug mode */
+       uint32_t                 freezeEnable:1;
+       /* Disable output */
+       uint32_t                 outputDisable:1;
+       /* Select which bus disables the bus
+        * TODO: Figure out how this works, i.e. what bus does it refer to? */
+       uint32_t                                 outputDisableSelect:2;
+       /* Prescale the emios clock some more? */
+       Pwm_ChannelPrescalerType prescaler:2;
+       /* Prescale the emios clock some more? */
+       uint32_t                                 usePrescaler:1;
+       /* Whether to use DMA. Currently unsupported */
+       uint32_t                                 useDma:1;
+       uint32_t                                 reserved_2:1;
+       /* Input filter. Ignored in output mode. */
+       uint32_t                                 inputFilter:4;
+       /* Input filter clock source. Ignored in output mode */
+       uint32_t                                 filterClockSelect:1;
+       /* Enable interrupts/flags on this channel? Required for DMA as well. */
+       uint32_t                                 flagEnable:1;
+       uint32_t                                 reserved_3:3;
+       /* Trigger a match on channel A */
+       uint32_t                                 forceMatchA:1;
+       /* Triggers a match on channel B */
+       uint32_t                                 forceMatchB:1;
+       uint32_t                                 reserved_4:1;
+       /* We can use different buses for the counter. Use the internal counter */
+       uint32_t                                 busSelect:2;
+       /* What edges to flag on? */
+       uint32_t                                 edgeSelect:1;
+       /* Polarity of the channel */
+       uint32_t                                 edgePolarity:1;
+       /* EMIOS mode. 0x58 for buffered output PWM */
+       uint32_t                                 mode:7;
+} Pwm_ChannelRegisterType;
+
+typedef struct {
+       Pwm_ChannelRegisterType r;
+       Pwm_ChannelType channel;
+} Pwm_ChannelConfigurationType;
+
+
+typedef struct {
+       Pwm_ChannelConfigurationType Channels[PWM_NUMBER_OF_CHANNELS];
+#if PWM_NOTIFICATION_SUPPORTED==STD_ON
+       Pwm_NotificationHandlerType NotificationHandlers[PWM_NUMBER_OF_CHANNELS];
+#endif
+} Pwm_ConfigType;
+
+// Channel configuration macro.
+#define PWM_CHANNEL_CONFIG(_hwchannel, _period, _duty, _prescaler, _polarity) \
+    {\
+        .channel = _hwchannel,\
+        .r = {\
+            DUTY_AND_PERIOD(_duty, _period),\
+            .freezeEnable = 1,\
+            .outputDisable = 0,\
+            .usePrescaler = 1,\
+            .prescaler = _prescaler,\
+            .useDma = 0,\
+            .flagEnable = 0, /* See PWM052 */ \
+            .busSelect = 3, /* Use the internal counter bus */\
+            .edgePolarity = _polarity,\
+            .mode = PWM_EMIOS_OPWM\
+        }\
+    }
 \r
 #endif /* PWM_CFG_H_ */\r
        
\ No newline at end of file
index f57e87b83def13dbc7a48046166bc5ed3083123d..197acbc3898229e94e46a570748fdabeffa12e42 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <AUTOSAR xmlns="http://autosar.org/3.1.2"><TOP-LEVEL-PACKAGES>\r
-    <AR-PACKAGE UUID="0b3a1c7f-42f9-4bc0-9e5c-28a5c6664e15">\r
+    <AR-PACKAGE UUID="7a138641-e1da-4ab5-9618-7bfdbc46ffa9">\r
       <SHORT-NAME>pwm_node2_mpc551x</SHORT-NAME>\r
       <CATEGORY>EcuConfiguration</CATEGORY>\r
       <ADMIN-DATA>\r
@@ -11,7 +11,7 @@
         </DOC-REVISIONS>\r
       </ADMIN-DATA>\r
       <ELEMENTS>\r
-        <ECU-CONFIGURATION UUID="d33e0013-e4a8-48be-afd0-fb6a73fe0dab">\r
+        <ECU-CONFIGURATION UUID="a03f6581-a934-488e-a248-3a6cd2069b5c">\r
           <SHORT-NAME>pwm_node2_mpc551x</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <DOC-REVISIONS>\r
             <SDGS>\r
               <SDG GID="Arccore::EcuOptions">\r
                 <SD GID="MCU">MPC551x</SD>\r
-                <SD GID="GENDIR">/5516/config</SD>\r
+                <SD GID="GENDIR">/pwm_node2_2/config</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <MODULE-REFS>\r
-            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/Os</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/Can</MODULE-REF>\r
-            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/EcuC</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/CanIf</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/Com</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/EcuC</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/EcuM</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/Os</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/PduR</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/Port</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/Pwm</MODULE-REF>\r
-            <MODULE-REF DEST="MODULE-CONFIGURATION">/pwm_node2_mpc551x/EcuM</MODULE-REF>\r
           </MODULE-REFS>\r
         </ECU-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="8014e6ec-4aa5-4181-a7ce-28042ea09b63">\r
-          <SHORT-NAME>Os</SHORT-NAME>\r
-          <ADMIN-DATA>\r
-            <SDGS>\r
-              <SDG/>\r
-              <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">2.0.6</SD>\r
-              </SDG>\r
-            </SDGS>\r
-          </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Os</DEFINITION-REF>\r
-          <CONTAINERS>\r
-            <CONTAINER UUID="1778cfa4-2a0b-44ba-9c62-61c0a549a316">\r
-              <SHORT-NAME>OsOS</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsStackMonitoring</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsOS/OsStatus</DEFINITION-REF>\r
-                  <VALUE>EXTENDED</VALUE>\r
-                </ENUMERATION-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseGetServiceId</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseParameterAccess</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseResScheduler</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsTickFrequency</DEFINITION-REF>\r
-                  <VALUE>1000</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsInterruptStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsUseDebug</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugTask</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugAlarm</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugResource</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugScheduleTable</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugEvent</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-              </PARAMETER-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="022a37e4-cde4-45f2-bfd2-6c2438d66eb6">\r
-                  <SHORT-NAME>OsHooks</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS/OsHooks</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsErrorHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPostTaskHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPreTaskHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsProtectionHook</DEFINITION-REF>\r
-                      <VALUE>false</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsShutdownHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsStartupHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="f380900e-1aaa-4118-9ab9-b095e6f3eb59">\r
-              <SHORT-NAME>ComAlarm</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm</DEFINITION-REF>\r
-              <REFERENCE-VALUES>\r
-                <REFERENCE-VALUE>\r
-                  <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmCounterRef</DEFINITION-REF>\r
-                  <VALUE-REF DEST="CONTAINER">/pwm_node2_mpc551x/Os/OsTick</VALUE-REF>\r
-                </REFERENCE-VALUE>\r
-              </REFERENCE-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="f7f322bf-4087-42fd-b4fd-f317b1c373c0">\r
-                  <SHORT-NAME>OsAlarmAutostart</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime</DEFINITION-REF>\r
-                      <VALUE>5</VALUE>\r
-                    </INTEGER-VALUE>\r
-                    <ENUMERATION-VALUE>\r
-                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType</DEFINITION-REF>\r
-                      <VALUE>ABSOLUTE</VALUE>\r
-                    </ENUMERATION-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime</DEFINITION-REF>\r
-                      <VALUE>20</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                </CONTAINER>\r
-                <CONTAINER UUID="a20aeb42-5c57-4fd3-8c57-a8c736ab29c6">\r
-                  <SHORT-NAME>OsAlarmActivateTask</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask</DEFINITION-REF>\r
-                  <REFERENCE-VALUES>\r
-                    <REFERENCE-VALUE>\r
-                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef</DEFINITION-REF>\r
-                      <VALUE-REF DEST="CONTAINER">/pwm_node2_mpc551x/Os/ComTask</VALUE-REF>\r
-                    </REFERENCE-VALUE>\r
-                  </REFERENCE-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="9eaff323-72f5-4306-80c7-a931036f2a8f">\r
-              <SHORT-NAME>ComTask</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
-                  <VALUE>1</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
-                  <VALUE>1</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
-                  <VALUE>BASIC</VALUE>\r
-                </ENUMERATION-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
-                  <VALUE>FULL</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="33fbc2ec-1f32-4f98-96e2-f366cdf991e3">\r
-              <SHORT-NAME>StartupTask</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
-                  <VALUE>1</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
-                  <VALUE>2</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
-                  <VALUE>BASIC</VALUE>\r
-                </ENUMERATION-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
-                  <VALUE>FULL</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="836d70e1-abd3-49ad-9802-7a31bd774e29">\r
-                  <SHORT-NAME>OsTaskAutostart</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask/OsTaskAutostart</DEFINITION-REF>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="9a2c5d2f-1126-4038-839a-fd0718a47071">\r
-              <SHORT-NAME>OsTick</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsCounter</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMaxAllowedValue</DEFINITION-REF>\r
-                  <VALUE>65535</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMinCycle</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterTicksPerBase</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterType</DEFINITION-REF>\r
-                  <VALUE>OS-TICK</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-          </CONTAINERS>\r
-        </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="60dc45ba-3205-4f47-8614-e52f2a133f2f">\r
+        <MODULE-CONFIGURATION UUID="fcf21990-5515-4774-8140-930e2a8de3d1">\r
           <SHORT-NAME>Can</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Can</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="ba0819d6-59dc-4606-857b-6259cd8d5e9f">\r
+            <CONTAINER UUID="fe03c81b-9f11-4269-9bb7-0553824582d5">\r
               <SHORT-NAME>CanConfigSet</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet</DEFINITION-REF>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="95900788-a4d1-4724-8e0e-7b5fc6d63a06">\r
+                <CONTAINER UUID="5ffd93b5-b708-44c5-8a1b-af119ec84470">\r
                   <SHORT-NAME>Can_A</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanController</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                     </INTEGER-VALUE>\r
                   </PARAMETER-VALUES>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="9679f14d-325f-4243-8d81-421996ac547a">\r
+                    <CONTAINER UUID="678734bc-96b1-419d-8e27-837fbf7abfb9">\r
                       <SHORT-NAME>Mask_1</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanController/CanFilterMask</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                     </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="cc3f4c83-b5e9-4d2f-a89b-27d65300044a">\r
+                <CONTAINER UUID="ad989a0d-34be-433b-bc86-e708fd5df075">\r
                   <SHORT-NAME>RxMailboxes</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="d9c26b23-df32-472e-af9e-f0d5ee1ecf3e">\r
+            <CONTAINER UUID="2c1508ae-75a7-45d7-a1c6-4540afafaf8f">\r
               <SHORT-NAME>CanGeneral</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="b97e59c5-89fc-439c-88bb-60b0d33bfa3d">\r
-          <SHORT-NAME>EcuC</SHORT-NAME>\r
-          <ADMIN-DATA>\r
-            <SDGS>\r
-              <SDG/>\r
-              <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
-              </SDG>\r
-            </SDGS>\r
-          </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuC</DEFINITION-REF>\r
-          <CONTAINERS>\r
-            <CONTAINER UUID="accae9f8-9db3-453f-948d-be154d45305c">\r
-              <SHORT-NAME>PduCollection</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection</DEFINITION-REF>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="df49887b-eafb-4be0-9e6d-2ba7600f25e3">\r
-                  <SHORT-NAME>LedCommandRx</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection/Pdu</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/EcuC/PduCollection/Pdu/PduLength</DEFINITION-REF>\r
-                      <VALUE>64</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-          </CONTAINERS>\r
-        </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="c48f4ef3-f9bf-4d8b-8b9e-bb678f67bd84">\r
+        <MODULE-CONFIGURATION UUID="a02d0d3c-139e-43ba-a34f-6b2b356c0795">\r
           <SHORT-NAME>CanIf</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.1</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.1</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/CanIf</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="a9366a75-8bb4-4de0-9908-6da4b1d8d15d">\r
+            <CONTAINER UUID="5c1fc120-c759-4d63-87d2-a79160c3ad97">\r
               <SHORT-NAME>CanIfDispatchConfig</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfDispatchConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </FUNCTION-NAME-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="68ba6bfd-43ba-467a-b210-09077c0d68c4">\r
+            <CONTAINER UUID="4e097a93-96bb-48ee-b4ea-404d07816fd1">\r
               <SHORT-NAME>CanIfDriverConfig</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfDriverConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="0cb6c83d-3531-49e3-9457-c70d239a3484">\r
+            <CONTAINER UUID="f7f3926a-0cf6-420a-8cd4-0587a1ac6c90">\r
               <SHORT-NAME>CanIfInitConfiguration</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="8e05043f-eb1b-4f8e-aa52-3ea610c017f1">\r
+                <CONTAINER UUID="1a375926-db73-4c4d-8e08-0f5e140b121e">\r
                   <SHORT-NAME>Hoh_1</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfInitHohConfig</DEFINITION-REF>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="fc6d2d48-b40d-46b2-b783-d9cb43f3c805">\r
+                    <CONTAINER UUID="6445c297-04d0-4e6f-beef-8aa463d2e12a">\r
                       <SHORT-NAME>RxHandler</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfInitHohConfig/CanIfHrhConfig</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                     </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="7196d06b-d4d7-4ab6-91d6-498f97b74a57">\r
+                <CONTAINER UUID="0cf91a50-aaa2-4ced-8a7a-cdbbfcf5c51c">\r
                   <SHORT-NAME>Rx_PDU_1</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfRxPduConfig</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                     </BOOLEAN-VALUE>\r
                     <ENUMERATION-VALUE>\r
                       <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfRxPduConfig/CanIfRxPduIdCanIdType</DEFINITION-REF>\r
-                      <VALUE>STANDARD_CAN</VALUE>\r
+                      <VALUE>EXTENDED_CAN</VALUE>\r
                     </ENUMERATION-VALUE>\r
                     <ENUMERATION-VALUE>\r
                       <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfRxPduConfig/CanIfRxUserType</DEFINITION-REF>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="07007efb-87fc-4266-bf4c-2f461e2b49cc">\r
+            <CONTAINER UUID="8d826860-9664-4963-9271-32d258ad7ab0">\r
               <SHORT-NAME>CanIfPrivateConfiguration</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfPrivateConfiguration</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </ENUMERATION-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="af42e652-4b17-40fd-9c66-ba2a8a54fe8d">\r
+            <CONTAINER UUID="cedcdeb6-f54d-4860-8889-5101ac14d68e">\r
               <SHORT-NAME>CanIfPublicConfiguration</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfPublicConfiguration</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="69001615-3b6f-4708-96d6-f76fb12f3d79">\r
+            <CONTAINER UUID="d42afb12-537d-4d1b-b2dd-18bd23a9b582">\r
               <SHORT-NAME>CanIfTransceiverDrvConfig</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfTransceiverDrvConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="5a05b054-6977-4092-9a4b-3631f5634043">\r
+            <CONTAINER UUID="3e9da203-a384-4d9f-aa7b-84cb8d3a0deb">\r
               <SHORT-NAME>CHANNEL_0</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfControllerConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="779b0188-ba93-4b30-9f79-b937598a312d">\r
+        <MODULE-CONFIGURATION UUID="52ee03ee-a20f-40d3-944c-cc7fe50f827b">\r
           <SHORT-NAME>Com</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Com</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="9cb1e326-5c39-43e5-bd5d-b82c0f0407dd">\r
+            <CONTAINER UUID="9fb012fd-71aa-4023-aa6e-ce484583fab8">\r
               <SHORT-NAME>ComConfig</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="d6c8bd4a-4d29-4f62-a75b-11035227123d">\r
+                <CONTAINER UUID="be20bce8-ada6-4248-981c-8779fb355e67">\r
                   <SHORT-NAME>RxGroup</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPduGroup</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                     </INTEGER-VALUE>\r
                   </PARAMETER-VALUES>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="6f71eb57-d4cc-4ec8-98fd-a03ead5b6ff4">\r
+                <CONTAINER UUID="1da53534-8e3a-4a05-837f-ef938bd0678a">\r
                   <SHORT-NAME>LedCommandRx</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                     </REFERENCE-VALUE>\r
                   </REFERENCE-VALUES>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="41b6afce-6686-4c50-a53f-5d6715a1a2b1">\r
+                    <CONTAINER UUID="7e8b7449-e952-435c-a5b2-6472ef30e53f">\r
                       <SHORT-NAME>ComTxIPdu</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                         </INTEGER-VALUE>\r
                       </PARAMETER-VALUES>\r
                       <SUB-CONTAINERS>\r
-                        <CONTAINER UUID="cb1fde8c-07ff-459d-b13f-b2fed85fb3eb">\r
+                        <CONTAINER UUID="d11bcc70-0bd7-4779-8c72-1fd628c7e651">\r
                           <SHORT-NAME>ComTxModeTrue</SHORT-NAME>\r
                           <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue</DEFINITION-REF>\r
                           <SUB-CONTAINERS>\r
-                            <CONTAINER UUID="f8f33fb2-8ae2-413b-9c04-0d073030535a">\r
-                              <SHORT-NAME>ComTxMode</SHORT-NAME>\r
-                              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode</DEFINITION-REF>\r
-                              <PARAMETER-VALUES>\r
-                                <ENUMERATION-VALUE>\r
-                                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeMode</DEFINITION-REF>\r
-                                  <VALUE>DIRECT</VALUE>\r
-                                </ENUMERATION-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeNumberOfRepetitions</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeRepetitionPeriodFactor</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeTimeOffsetFactor</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeTimePeriodFactor</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                              </PARAMETER-VALUES>\r
-                            </CONTAINER>\r
-                          </SUB-CONTAINERS>\r
-                        </CONTAINER>\r
-                        <CONTAINER UUID="94950459-8050-4724-91e3-adfd1a51fc95">\r
-                          <SHORT-NAME>ComTxModeTrue</SHORT-NAME>\r
-                          <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue</DEFINITION-REF>\r
-                          <SUB-CONTAINERS>\r
-                            <CONTAINER UUID="fc7f228f-f365-440b-a18b-b602b66a8316">\r
+                            <CONTAINER UUID="c596f35f-09b3-49d2-9f0e-f88aeb59c01f">\r
                               <SHORT-NAME>ComTxMode</SHORT-NAME>\r
                               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode</DEFINITION-REF>\r
                               <PARAMETER-VALUES>\r
                     </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="223da131-b9b2-45e6-a8c4-aa8f8303295a">\r
+                <CONTAINER UUID="66423fe2-d617-4ede-a290-c377c53ade50">\r
                   <SHORT-NAME>SetLedLevelRx</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComSignal</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="32e4e72a-43f2-40e1-a52c-93eb720d7173">\r
+            <CONTAINER UUID="d21cd764-02f0-4154-b745-c16ee98cae6b">\r
               <SHORT-NAME>ComGeneral</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="7c4b1e4b-303e-4a87-ae20-7739ea4f8f31">\r
+        <MODULE-CONFIGURATION UUID="da3b9a9e-a923-4902-9b74-d6cf48af4276">\r
+          <SHORT-NAME>EcuC</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuC</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="a0c34252-6285-474e-8b00-ee59c19f0d99">\r
+              <SHORT-NAME>PduCollection</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection</DEFINITION-REF>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="12a97253-2ea0-4bcd-898c-e36e002fea9a">\r
+                  <SHORT-NAME>LedCommandRx</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection/Pdu</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/EcuC/PduCollection/Pdu/PduLength</DEFINITION-REF>\r
+                      <VALUE>64</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="94428a31-6134-4a1b-915b-344903046b36">\r
+          <SHORT-NAME>EcuM</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuM</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="d1ca4157-7a38-4e1a-bf44-2fe0d1d6067b">\r
+              <SHORT-NAME>EcuMGeneral</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuM/EcuMGeneral</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMDevErrorDetect</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMIncludeNvramMgr</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMVersionInfoApi</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="926969a7-95ac-4add-92b0-31b436b12028">\r
+          <SHORT-NAME>Os</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.7</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Os</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="303041a0-dfae-4cb2-9231-9cd5159f0823">\r
+              <SHORT-NAME>OsOS</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsStackMonitoring</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsOS/OsStatus</DEFINITION-REF>\r
+                  <VALUE>EXTENDED</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseGetServiceId</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseParameterAccess</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseResScheduler</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsTickFrequency</DEFINITION-REF>\r
+                  <VALUE>1000</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsInterruptStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsIdleStackSize</DEFINITION-REF>\r
+                  <VALUE>512</VALUE>\r
+                </INTEGER-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsUseDebug</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugTask</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugAlarm</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugResource</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugScheduleTable</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugEvent</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="c0b83121-410d-4746-8c2b-e4a7522148d6">\r
+                  <SHORT-NAME>OsHooks</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS/OsHooks</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsErrorHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPostTaskHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPreTaskHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsProtectionHook</DEFINITION-REF>\r
+                      <VALUE>false</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsShutdownHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsStartupHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="f6bec2cf-7c37-4700-85f8-fc34f708b1a7">\r
+              <SHORT-NAME>ComTask</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
+                  <VALUE>BASIC</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
+                  <VALUE>FULL</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="f9afa00b-b8c6-49c1-9269-dc405aadc22b">\r
+              <SHORT-NAME>StartupTask</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
+                  <VALUE>2</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
+                  <VALUE>BASIC</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
+                  <VALUE>FULL</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="31f6edb0-9f6c-4de7-9442-fa8dc4f2315b">\r
+                  <SHORT-NAME>OsTaskAutostart</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask/OsTaskAutostart</DEFINITION-REF>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="056d0fc9-4dbf-44cf-a8a1-6d41f71ded33">\r
+              <SHORT-NAME>OsTick</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsCounter</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMaxAllowedValue</DEFINITION-REF>\r
+                  <VALUE>65535</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMinCycle</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterTicksPerBase</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterType</DEFINITION-REF>\r
+                  <VALUE>OS_TICK</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="a55ec12a-b16e-441b-a0b5-6ad00c35acd3">\r
+              <SHORT-NAME>ComAlarm</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm</DEFINITION-REF>\r
+              <REFERENCE-VALUES>\r
+                <REFERENCE-VALUE>\r
+                  <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmCounterRef</DEFINITION-REF>\r
+                  <VALUE-REF DEST="CONTAINER">/pwm_node2_mpc551x/Os/OsTick</VALUE-REF>\r
+                </REFERENCE-VALUE>\r
+              </REFERENCE-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="c1fc0ddd-4d7f-43af-8f57-c14d506f1bed">\r
+                  <SHORT-NAME>OsAlarmActivateTask</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask</DEFINITION-REF>\r
+                  <REFERENCE-VALUES>\r
+                    <REFERENCE-VALUE>\r
+                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef</DEFINITION-REF>\r
+                      <VALUE-REF DEST="CONTAINER">/pwm_node2_mpc551x/Os/ComTask</VALUE-REF>\r
+                    </REFERENCE-VALUE>\r
+                  </REFERENCE-VALUES>\r
+                </CONTAINER>\r
+                <CONTAINER UUID="2a49f11b-f258-4e4d-87e7-2f869242afd8">\r
+                  <SHORT-NAME>OsAlarmAutostart</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime</DEFINITION-REF>\r
+                      <VALUE>5</VALUE>\r
+                    </INTEGER-VALUE>\r
+                    <ENUMERATION-VALUE>\r
+                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType</DEFINITION-REF>\r
+                      <VALUE>ABSOLUTE</VALUE>\r
+                    </ENUMERATION-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime</DEFINITION-REF>\r
+                      <VALUE>20</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="0c71cbf4-191b-4ff9-8d34-af29067dd8f1">\r
+          <SHORT-NAME>PduR</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.1</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/PduR</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="d02f4168-e3f2-44f1-a72f-b2c540006908">\r
+              <SHORT-NAME>PduRGeneral</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/PduR/PduRGeneral</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRCanIfSupport</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRCanTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRComSupport</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRDcmSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRDevErrorDetect</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRFifoTxBufferSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRFrIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRFrTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRGatewayOperation</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRIPduMSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRLinIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRLinTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMemorySize</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingLoModule</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingLoRxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingLoTxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingUpModule</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingUpRxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingUpTxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastFromIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastFromTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastToIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastToTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRSbTxBufferSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRSingleIf</DEFINITION-REF>\r
+                  <VALUE>CAN_IF</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRSingleTp</DEFINITION-REF>\r
+                  <VALUE>CAN_TP</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRVersionInfoApi</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRZeroCostOperation</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="8abbebb8-783c-4f97-ac28-3b78ea52e4ed">\r
+              <SHORT-NAME>PduRGlobalConfig</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/PduR/PduRGlobalConfig</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGlobalConfig/PduRConfigurationId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+              </PARAMETER-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="f38c60fe-f11f-4b6b-a694-2bdebeb7fbff">\r
+                  <SHORT-NAME>PduRRoutingTable</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/PduR/PduRGlobalConfig/PduRRoutingTable</DEFINITION-REF>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="0d584ce2-d7c8-4ba7-976b-8212e87529de">\r
           <SHORT-NAME>Port</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Port</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="55e77fe6-e76c-4846-bae1-fe761b81f9cf">\r
+            <CONTAINER UUID="06182695-bf3e-4302-8436-8237d5267892">\r
               <SHORT-NAME>PortConfigSet</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet</DEFINITION-REF>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="bc1949f4-e654-4362-8f16-c0d0113b7e79">\r
+                <CONTAINER UUID="ef9d19cb-4237-4ae9-862d-7cc2367f9c99">\r
                   <SHORT-NAME>Pwm</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer</DEFINITION-REF>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="cfa693fc-6fc4-4d53-82f3-9dac01802a7e">\r
+                    <CONTAINER UUID="aad28c1c-ef39-4003-8782-cc280dfa1a23">\r
                       <SHORT-NAME>eMIOS[13]</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                     </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="723ed813-d3e7-4ecf-858e-27ec7f9de075">\r
+                <CONTAINER UUID="768a56ca-1d5a-4be9-92cc-efb99445360a">\r
                   <SHORT-NAME>CAN</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer</DEFINITION-REF>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="f04e8cca-a901-4dbe-a676-80d85241f48c">\r
-                      <SHORT-NAME>CNRX_A</SHORT-NAME>\r
+                    <CONTAINER UUID="052ab658-9e09-4e3e-9dde-948b9598d8ec">\r
+                      <SHORT-NAME>CNTX_A</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                         <ENUMERATION-VALUE>\r
                         </ENUMERATION-VALUE>\r
                         <ENUMERATION-VALUE>\r
                           <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinDirection</DEFINITION-REF>\r
-                          <VALUE>PORT_PIN_IN</VALUE>\r
+                          <VALUE>PORT_PIN_OUT</VALUE>\r
                         </ENUMERATION-VALUE>\r
                         <BOOLEAN-VALUE>\r
                           <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinDirectionChangeable</DEFINITION-REF>\r
                         </BOOLEAN-VALUE>\r
                         <INTEGER-VALUE>\r
                           <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinId</DEFINITION-REF>\r
-                          <VALUE>49</VALUE>\r
+                          <VALUE>48</VALUE>\r
                         </INTEGER-VALUE>\r
                         <ENUMERATION-VALUE>\r
                           <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinSlewRate</DEFINITION-REF>\r
                         </ENUMERATION-VALUE>\r
                       </PARAMETER-VALUES>\r
                     </CONTAINER>\r
-                    <CONTAINER UUID="20fd305f-d9c2-4344-8bc4-d1c900f61e26">\r
-                      <SHORT-NAME>CNTX_A</SHORT-NAME>\r
+                    <CONTAINER UUID="8720039d-d0a2-4599-aeff-fe3348e0e0fb">\r
+                      <SHORT-NAME>CNRX_A</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                         <ENUMERATION-VALUE>\r
                         </ENUMERATION-VALUE>\r
                         <ENUMERATION-VALUE>\r
                           <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinDirection</DEFINITION-REF>\r
-                          <VALUE>PORT_PIN_OUT</VALUE>\r
+                          <VALUE>PORT_PIN_IN</VALUE>\r
                         </ENUMERATION-VALUE>\r
                         <BOOLEAN-VALUE>\r
                           <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinDirectionChangeable</DEFINITION-REF>\r
                         </BOOLEAN-VALUE>\r
                         <INTEGER-VALUE>\r
                           <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinId</DEFINITION-REF>\r
-                          <VALUE>48</VALUE>\r
+                          <VALUE>49</VALUE>\r
                         </INTEGER-VALUE>\r
                         <ENUMERATION-VALUE>\r
                           <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinSlewRate</DEFINITION-REF>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="b64531dc-5495-46c5-99d7-6c4d18f3bbb2">\r
+            <CONTAINER UUID="1200f11b-2bae-4bfa-8805-a16d7a086410">\r
               <SHORT-NAME>PortGeneral</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="f830e6ca-f775-4a5b-858d-e7585cc4f704">\r
+        <MODULE-CONFIGURATION UUID="92920c31-62f5-48b0-a964-f675750a5959">\r
           <SHORT-NAME>Pwm</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Pwm</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="9cef4722-9a42-4041-84d0-4c46055ee44a">\r
+            <CONTAINER UUID="e646e277-cc98-4d17-95e5-a18eff50d19d">\r
               <SHORT-NAME>PwmChannelConfigSet</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Pwm/PwmChannelConfigSet</DEFINITION-REF>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="3dd1a9f9-245e-4453-8db9-f84e353865ac">\r
+                <CONTAINER UUID="ccf3d6c9-8347-4361-bbb7-4fa3be4138aa">\r
                   <SHORT-NAME>PWM_CHANNEL_1</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Pwm/PwmChannelConfigSet/PwmChannel</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="6fbccd84-822f-4a4c-94f6-3ac20567ce29">\r
+            <CONTAINER UUID="3c85e105-1375-4ce1-9466-f070c973e8a1">\r
               <SHORT-NAME>PwmConfigurationOfOptApiServices</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Pwm/PwmConfigurationOfOptApiServices</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="a7b65448-31d1-438f-9041-c130274f1659">\r
+            <CONTAINER UUID="cb7509d9-39c4-45d1-95fb-f464680d9dc4">\r
               <SHORT-NAME>PwmGeneral</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Pwm/PwmGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="f720b95f-6f11-45a3-8365-3a53f842c8e6">\r
-          <SHORT-NAME>EcuM</SHORT-NAME>\r
-          <ADMIN-DATA>\r
-            <SDGS>\r
-              <SDG/>\r
-              <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
-              </SDG>\r
-            </SDGS>\r
-          </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuM</DEFINITION-REF>\r
-          <CONTAINERS>\r
-            <CONTAINER UUID="de47a680-fd55-4ad0-bf04-70722f694c15">\r
-              <SHORT-NAME>EcuMGeneral</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuM/EcuMGeneral</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMDevErrorDetect</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMIncludeNvramMgr</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMVersionInfoApi</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-          </CONTAINERS>\r
-        </MODULE-CONFIGURATION>\r
       </ELEMENTS>\r
     </AR-PACKAGE>\r
   </TOP-LEVEL-PACKAGES></AUTOSAR>\r
index 7ebd4c75f02b160863c0574e714e1e41e3851b54..aa7914668cbe4ecfcb4db4d56fc8ff5d2a68b32f 100644 (file)
@@ -1,5 +1,7 @@
+-include ../config/*.mk\r
+-include ../config/$(BOARDDIR)/*.mk\r
 \r
-MOD_USE+=KERNEL MCU ADC DMA PORT COM CAN CANIF\r
+MOD_USE+=KERNEL MCU ADC DMA \r
 \r
 SELECT_CONSOLE = RAMLOG\r
 SELECT_OS_CONSOLE = RAMLOG\r
index 1c7b46250272aeef4957eb92d3fe9c268a742fc9..4682656810ffb37ff3e97cc483a99e7d8ea014f6 100644 (file)
@@ -1,52 +1,55 @@
-/* -------------------------------- Arctic Core ------------------------------
- * Arctic Core - the open source AUTOSAR platform http://arccore.com
- *
- * Copyright (C) 2009  ArcCore AB <contact@arccore.com>
- *
- * This source code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by the
- * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * for more details.
- * -------------------------------- Arctic Core ------------------------------*/
-
-
-
-
-
-
+/* 
+* Configuration of module CanIf (CanIf_Cfg.c)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
 
 
 #include "CanIf.h"\r
+#if defined(USE_CANTP)
+#include "CanTp.h"
+#include "CanTp_Cbk.h"
+#endif
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
 #include <stdlib.h>\r
 \r
+
 // Imported structs from Can_Lcfg.c\r
 extern const Can_ControllerConfigType CanControllerConfigData[];\r
 extern const Can_ConfigSetType CanConfigSetData;\r
+\r
+
 
 // Contains the mapping from CanIf-specific Channels to Can Controllers
 const CanControllerIdType CanIf_Arc_ChannelToControllerMap[CANIF_CHANNEL_CNT] = {
-               CAN_CTRL_A, // CANIF_CHANNEL_0
-               CAN_CTRL_C, // CANIF_CHANNEL_1
+       FLEXCAN_A, // CHANNEL_0
 };
-\r
-const CanIf_ControllerConfigType CanIfControllerConfig[] =\r
-{\r
-  { // CANIF_CHANNEL_0_CONFIG_0\r
-    .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,\r
-    .CanIfControllerIdRef = CANIF_CHANNEL_0,\r
-    .CanIfDriverNameRef = "FLEXCAN",  // Not used\r
-    .CanIfInitControllerRef = &CanControllerConfigData[0],\r
-  },
-  { // CANIF_CHANNEL_1_CONFIG_0
-    .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
-    .CanIfControllerIdRef = CANIF_CHANNEL_1,
-    .CanIfDriverNameRef = "FLEXCAN",  // Not used
-    .CanIfInitControllerRef = &CanControllerConfigData[1],
-  },\r
+
+// Container that gets slamed into CanIf_InitController()
+// Inits ALL controllers
+// Multiplicity 1..*
+const CanIf_ControllerConfigType CanIfControllerConfig[] = {
+       // This is the ConfigurationIndex in CanIf_InitController()
+       
+       
+       { 
+               .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
+               .CanIfControllerIdRef = CANIF_CHANNEL_0,
+               .CanIfDriverNameRef = "FLEXCAN",  // Not used
+               .CanIfInitControllerRef = &CanControllerConfigData[0],
+       },
+       
 };\r
 \r
 // Function callbacks for higher layers\r
@@ -58,67 +61,54 @@ const CanIf_DispatchConfigType CanIfDispatchConfig =
   .CanIfErrorNotificaton = NULL,\r
 };\r
 \r
-//-------------------------------------------------------------------\r
-const CanIf_HthConfigType CanIfHthConfigData[] =\r
+
+// Data for init configuration CanIfInitConfiguration
+
+               
+
+const CanIf_HthConfigType CanIfHthConfigData_Hoh_1[] =
 {\r
-  {\r
+               
+  { 
     .CanIfHthType = CAN_ARC_HANDLE_TYPE_BASIC,\r
     .CanIfCanControllerIdRef = CANIF_CHANNEL_0,\r
-    .CanIfHthIdSymRef = CAN_HTH_A_1, // Ref to the HTH\r
-    .CanIf_Arc_EOL = 0,\r
+    .CanIfHthIdSymRef = HWObj_1,
+    .CanIf_Arc_EOL = 1,
   },\r
 };\r
 \r
-//-------------------------------------------------------------------\r
-const CanIf_HrhConfigType CanIfHrhConfigData[] =\r
-{\r
-  {\r
-    .CanIfHrhType = CAN_ARC_HANDLE_TYPE_BASIC,\r
-    .CanIfSoftwareFilterHrh = TRUE,   // Disable software filtering\r
-    .CanIfCanControllerHrhIdRef = CANIF_CHANNEL_0,\r
-    .CanIfHrhIdSymRef = CAN_HRH_A_1, // Ref to the HRH\r
-    .CanIf_Arc_EOL = 0,\r
-  },\r
-};\r
-//-------------------------------------------------------------------\r
-\r
-/*\r
- *  TX PDUs\r
- */\r
-const CanIf_TxPduConfigType CanIfTxPduConfigData[] =\r
+const CanIf_HrhConfigType CanIfHrhConfigData_Hoh_1[] =
 {\r
+};
+
+
+const CanIf_InitHohConfigType CanIfHohConfigData[] = {
+               
+       {
+               .CanConfigSet = &CanConfigSetData,
+               .CanIfHrhConfig = CanIfHrhConfigData_Hoh_1,
+           .CanIfHthConfig = CanIfHthConfigData_Hoh_1,
+       .CanIf_Arc_EOL = 1,
+       },
+};
+         
+const CanIf_TxPduConfigType CanIfTxPduConfigData[] = { 
   {\r
-    .CanIfTxPduId = LedCommandTx,\r
-    .CanIfCanTxPduIdCanId = 0x123,\r
+    .CanIfTxPduId = PDUR_SOURCE_PDU_ID_LedCommandTx,
+    .CanIfCanTxPduIdCanId = 291,
     .CanIfCanTxPduIdDlc = 8,\r
     .CanIfCanTxPduType = CANIF_PDU_TYPE_STATIC,\r
 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )\r
-    .CanIfReadTxPduNotifyStatus = FALSE,\r
+    .CanIfReadTxPduNotifyStatus = true, 
 #endif\r
     .CanIfTxPduIdCanIdType = CANIF_CAN_ID_TYPE_29,\r
     .CanIfUserTxConfirmation = PduR_CanIfTxConfirmation,\r
-    .CanIfCanTxPduHthRef = &CanIfHthConfigData[0],\r
+    .CanIfCanTxPduHthRef = &CanIfHthConfigData_Hoh_1[0],
     .PduIdRef = NULL,\r
-  },\r
-};\r
-//-------------------------------------------------------------------\r
-\r
-/*\r
- *  RX PDUs\r
- */\r
-const CanIf_RxPduConfigType CanIfRxPduConfigData[] =\r
-{\r
+  },  
 };\r
 \r
-//-------------------------------------------------------------------\r
-const CanIf_InitHohConfigType CanIfHohConfigData[] =\r
-{\r
-  {\r
-    .CanConfigSet = &CanConfigSetData,\r
-    .CanIfHrhConfig = CanIfHrhConfigData,\r
-    .CanIfHthConfig = CanIfHthConfigData,\r
-    .CanIf_Arc_EOL = 1,\r
-  },\r
+const CanIf_RxPduConfigType CanIfRxPduConfigData[] = {  
 };\r
 \r
 // This container contains the init parameters of the CAN\r
@@ -136,7 +126,7 @@ const CanIf_InitConfigType CanIfInitConfig =
   .CanIfTxPduConfigPtr = CanIfTxPduConfigData,\r
 };\r
 \r
-// This container includes all necessary configuration sub-containers\r
+       // This container includes all necessary configuration sub-containers
 // according the CAN Interface configuration structure.\r
 CanIf_ConfigType CanIf_Config =\r
 {\r
@@ -144,6 +134,6 @@ CanIf_ConfigType CanIf_Config =
   .DispatchConfig = &CanIfDispatchConfig,\r
   .InitConfig = &CanIfInitConfig,\r
   .TransceiverConfig = NULL, // Not used
-  .Arc_ChannelToControllerMap = CanIf_Arc_ChannelToControllerMap,\r
+  .Arc_ChannelToControllerMap = CanIf_Arc_ChannelToControllerMap,  
 };\r
 \r
diff --git a/examples/switch_node/config/CanIf_Cfg.h b/examples/switch_node/config/CanIf_Cfg.h
new file mode 100644 (file)
index 0000000..57beac8
--- /dev/null
@@ -0,0 +1,456 @@
+/* 
+* Configuration of module CanIf (CanIf_Cfg.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+
+#if (CANIF_SW_MAJOR_VERSION != 1 && CANIF_SW_MINOR_VERSION != 1) 
+#error "CanIf: Configuration file version differs from BSW version."
+#endif
+
+
+#ifndef CANIF_CFG_H_
+#define CANIF_CFG_H_
+
+#include "Can.h"
+
+
+#define CANIF_PDU_ID_LedCommandTx              0
+
+// Identifiers for the elements in CanIfControllerConfig[]
+// This is the ConfigurationIndex in CanIf_InitController()
+typedef enum {
+       CANIF_CHANNEL_0_CONFIG_0,
+       CANIF_CHANNEL_CONFIGURATION_CNT
+} CanIf_Arc_ConfigurationIndexType;
+
+typedef enum {
+       CANIF_CHANNEL_0,
+       CANIF_CHANNEL_CNT
+} CanIf_Arc_ChannelIdType;
+
+typedef enum {
+       CANIF_SOFTFILTER_TYPE_BINARY = 0,  // Not supported
+       CANIF_SOFTFILTER_TYPE_INDEX,  // Not supported
+       CANIF_SOFTFILTER_TYPE_LINEAR, // Not supported
+       CANIF_SOFTFILTER_TYPE_TABLE,  // Not supported
+       CANIF_SOFTFILTER_TYPE_MASK,  // CanIfCanRxPduCanIdMask in RxPduConfig is used for filtering
+} CanIf_SoftwareFilterTypeType;
+
+typedef enum {
+       CANIF_USER_TYPE_CAN_NM,
+       CANIF_USER_TYPE_CAN_TP,
+       CANIF_USER_TYPE_CAN_PDUR,
+       CANIF_USER_TYPE_CAN_SPECIAL,
+} CanIf_UserTypeType;
+
+
+typedef void (*CanIf_FuncTypeCanSpecial)(PduIdType, const uint8 *, uint8, Can_IdType);
+
+typedef enum {
+  CANIF_PDU_TYPE_STATIC = 0,
+  CANIF_PDU_TYPE_DYNAMIC       // Not supported
+} CanIf_PduTypeType;
+
+typedef enum {
+  CANIF_CAN_ID_TYPE_29 = 0,
+  CANIF_CAN_ID_TYPE_11
+} CanIf_CanIdTypeType;
+
+/*
+ * Public container
+ */
+#define CANIF_VERSION_INFO_API              STD_ON
+#define CANIF_DEV_ERROR_DETECT                     STD_ON
+#define CANIF_DLC_CHECK                     STD_ON
+#define CANIF_MULITPLE_DRIVER_SUPPORT       STD_OFF  // Not supported
+#define CANIF_READRXPDU_DATA_API                       STD_OFF  // Not supported
+#define CANIF_READRXPDU_NOTIFY_STATUS_API      STD_OFF  // Not supported
+#define CANIF_READTXPDU_NOTIFY_STATUS_API      STD_OFF  // Not supported
+#define CANIF_SETDYNAMICTXID_API            STD_OFF  // Not supported
+#define CANIF_WAKEUP_EVENT_API                     STD_OFF  // Not supported
+#define CANIF_TRANSCEIVER_API               STD_OFF  // Not supported
+#define CANIF_TRANSMIT_CANCELLATION         STD_OFF  // Not supported
+
+//-------------------------------------------------------------------
+
+typedef struct {
+       void (*CancelTxConfirmation)( void *);  // (const Can_PduType *);
+       void (*RxIndication)(void *); //(const Can_PduType *);
+       void (*ControllerBusOff)(uint8);
+       void (*ControllerWakeup)(uint8);
+       void (*Arc_Error)(uint8,uint32);
+} CanIf_CallbackType;
+
+
+
+//-------------------------------------------------------------------
+/*
+ * CanIfHrhRangeConfig container
+ */
+
+typedef struct {
+       //      Lower CAN Identifier of a receive CAN L-PDU for identifier range
+       //      definition, in which all CAN Ids shall pass the software filtering. Range: 11
+       //      Bit for Standard CAN Identifier 29 Bit for Extended CAN Identifer
+       uint32 CanIfRxPduLowerCanId;
+
+       //      Upper CAN Identifier of a receive CAN L-PDU for identifier range
+       //      definition, in which all CAN Ids shall pass the software filtering. Range: 11
+       //      Bit for Standard CAN Identifier 29 Bit for Extended CAN Identifer
+       uint32 CanIfRxPduUpperCanId;
+} CanIf_HrhRangeConfigType;
+
+
+
+//-------------------------------------------------------------------
+/*
+ * CanIfInitHrhConfig container
+ */
+typedef struct {
+       //      Defines the HRH type i.e, whether its a BasicCan or FullCan. If BasicCan is
+       //      configured, software filtering is enabled.
+  Can_Arc_HohType CanIfHrhType;
+
+       //      Selects the hardware receive objects by using the HRH range/list from
+       //      CAN Driver configuration to define, for which HRH a software filtering has
+       //      to be performed at during receive processing. True: Software filtering is
+       //      enabled False: Software filtering is disabled
+       boolean  CanIfSoftwareFilterHrh;
+
+       //      Reference to controller Id to which the HRH belongs to. A controller can
+       //      contain one or more HRHs.
+       CanIf_Arc_ChannelIdType CanIfCanControllerHrhIdRef;
+
+       //      The parameter refers to a particular HRH object in the CAN Driver Module
+       //      configuration. The HRH id is unique in a given CAN Driver. The HRH Ids
+       //      are defined in the CAN Driver Module and hence it is derived from CAN
+       //      Driver Configuration.
+       Can_Arc_HRHType CanIfHrhIdSymRef ;
+
+       //      Defines the parameters required for configuraing multiple
+       //      CANID ranges for a given same HRH.
+       const CanIf_HrhRangeConfigType *CanIfHrhRangeConfig;
+
+  // End Of List. Set to TRUE is this is the last object in the list.
+  boolean CanIf_Arc_EOL;
+} CanIf_HrhConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfInitHthConfig container
+ */
+
+typedef struct {
+  //  Defines the HTH type i.e, whether its a BasicCan or FullCan.
+  Can_Arc_HohType CanIfHthType;
+
+  // Reference to controller Id to which the HTH belongs to. A controller
+  // can contain one or more HTHs
+  CanIf_Arc_ChannelIdType CanIfCanControllerIdRef;
+
+  //  The parameter refers to a particular HTH object in the CAN Driver Module
+  //  configuration. The HTH id is unique in a given CAN Driver. The HTH Ids
+  //  are defined in the CAN Driver Module and hence it is derived from CAN
+  //  Driver Configuration.
+  Can_Arc_HTHType CanIfHthIdSymRef ;
+
+  // End Of List. Set to TRUE is this is the last object in the list.
+  boolean CanIf_Arc_EOL;
+} CanIf_HthConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfInitHohConfig container
+ */
+typedef struct {
+  //  Selects the CAN interface specific configuration setup. This type of external
+  // data structure shall contain the post build initialization data for the
+  // CAN interface for all underlying CAN Drivers.
+  const Can_ConfigSetType   *CanConfigSet;
+
+  // This container contains contiguration parameters for each hardware receive object.
+  const CanIf_HrhConfigType *CanIfHrhConfig;
+
+  // This container contains parameters releated to each HTH
+  const CanIf_HthConfigType *CanIfHthConfig;
+
+  // End Of List. Set to TRUE is this is the last object in the list.
+  boolean CanIf_Arc_EOL;
+} CanIf_InitHohConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfTxPduConfig container
+ */
+
+// This container contains the configuration (parameters) of each transmit
+// CAN L-PDU. The SHORT-NAME of "CanIfTxPduConfig" container
+// represents the symolic name of Transmit L-PDU.
+typedef struct {
+       //      ECU wide unique, symbolic handle for transmit CAN L-PDU. The
+       //      CanIfCanTxPduId is configurable at pre-compile and post-built time.
+       //      Range: 0..max. number of CantTxPduIds   PduIdType       CanTxPduId;
+       PduIdType CanIfTxPduId;
+
+       //      CAN Identifier of transmit CAN L-PDUs used by the CAN Driver for CAN L-
+       //      PDU transmission. Range: 11 Bit For Standard CAN Identifier ... 29 Bit For
+       //      Extended CAN identifier
+       uint32  CanIfCanTxPduIdCanId;
+
+       //      Data length code (in bytes) of transmit CAN L-PDUs used by the CAN
+       //      Driver for CAN L-PDU transmission. The data area size of a CAN L-Pdu
+       //      can have a range from 0 to 8 bytes.
+       uint8           CanIfCanTxPduIdDlc;
+
+       // Defines the type of each transmit CAN L-PDU.
+       // DYNAMIC  CAN ID is defined at runtime.
+       // STATIC  CAN ID is defined at compile-time.
+       CanIf_PduTypeType               CanIfCanTxPduType;
+
+#if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
+       //      Enables and disables transmit confirmation for each transmit CAN L-PDU
+       //      for reading its notification status. True: Enabled False: Disabled
+       boolean         CanIfReadTxPduNotifyStatus;
+#endif
+
+       //      CAN Identifier of transmit CAN L-PDUs used by the CAN Driver for CAN L-
+       //      PDU transmission.
+       //  EXTENDED_CAN  The CANID is of type Extended (29 bits)
+       //  STANDARD_CAN  The CANID is of type Standard (11 bits)
+       CanIf_CanIdTypeType             CanIfTxPduIdCanIdType;
+
+       //      Name of target confirmation services to target upper layers (PduR, CanNm
+       //      and CanTp. If parameter is not configured then no call-out function is
+       //      provided by the upper layer for this Tx L-PDU.
+       void (*CanIfUserTxConfirmation)(PduIdType);   /* CANIF 109 */
+
+       //      Handle, that defines the hardware object or the pool of hardware objects
+       //      configured for transmission. The parameter refers HTH Id, to which the L-
+       //      PDU belongs to.
+       const CanIf_HthConfigType *CanIfCanTxPduHthRef;
+
+       //      Reference to the "global" Pdu structure to allow harmonization of handle
+       //      IDs in the COM-Stack.  ..
+       void *PduIdRef;
+} CanIf_TxPduConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfRxPduConfig container
+ */
+
+
+// This container contains the configuration (parameters) of each receive
+// CAN L-PDU. The SHORT-NAME of "CanIfRxPduConfig" container itself
+// represents the symolic name of Receive L-PDU.
+
+typedef struct {
+  //  ECU wide unique, symbolic handle for receive CAN L-PDU. The
+  //  CanRxPduId is configurable at pre-compile and post-built time. It shall fulfill
+  //  ANSI/AUTOSAR definitions for constant defines. Range: 0..max. number
+  //  of defined CanRxPduIds
+  PduIdType CanIfCanRxPduId;
+
+  //   CAN Identifier of Receive CAN L-PDUs used by the CAN Interface. Exa:
+       //      Software Filtering. Range: 11 Bit For Standard CAN Identifier ... 29 Bit For
+       //      Extended CAN identifier
+       uint32          CanIfCanRxPduCanId;
+
+       //      Data Length code of received CAN L-PDUs used by the CAN Interface.
+       //      Exa: DLC check. The data area size of a CAN L-PDU can have a range
+       //      from 0 to 8 bytes.      uint8           CanIfCanRxPduDlc;
+       uint8           CanIfCanRxPduDlc;
+
+#if ( CANIF_CANPDUID_READDATA_API == STD_ON )
+       //      Enables and disables the Rx buffering for reading of received L-PDU data.
+       //      True: Enabled False: Disabled
+       boolean         CanIfReadRxPduData;
+#endif
+
+#if ( CANIF_READRXPDU_NOTIF_STATUS_API == STD_ON )
+       //      CanIfReadRxPduNotifyStatus {CANIF_READRXPDU_NOTIFY_STATUS}
+       //      Enables and disables receive indication for each receive CAN L-PDU for
+       //      reading its' notification status. True: Enabled False: Disabled
+       boolean         CanIfReadRxPduNotifyStatus;
+#endif
+
+  //  CAN Identifier of receive CAN L-PDUs used by the CAN Driver for CAN L-
+  //  PDU transmission.
+  //  EXTENDED_CAN  The CANID is of type Extended (29 bits)
+  //  STANDARD_CAN  The CANID is of type Standard (11 bits)
+       CanIf_CanIdTypeType     CanIfRxPduIdCanIdType;
+
+       //      This parameter defines the type of the receive indication call-outs called to
+       //      the corresponding upper layer the used TargetRxPduId belongs to.
+       CanIf_UserTypeType  CanIfRxUserType;
+
+       //      Name of target indication services to target upper layers (PduRouter,
+       //      CanNm, CanTp and ComplexDeviceDrivers). If parameter is 0 no call-out
+       //      function is configured.
+       void *CanIfUserRxIndication;
+
+       //      The HRH to which Rx L-PDU belongs to, is referred through this
+       //      parameter.
+       const CanIf_HrhConfigType *CanIfCanRxPduHrhRef;
+
+       //      Reference to the "global" Pdu structure to allow harmonization of handle
+       //      IDs in the COM-Stack.
+       void *PduIdRef;
+
+       // Defines the type of software filtering that should be used
+       // for this receive object.
+       CanIf_SoftwareFilterTypeType CanIfSoftwareFilterType;
+
+       // Acceptance filters, 1 - care, 0 - don't care.
+       // Is enabled by the CanIfSoftwareFilterMask in CanIf_HrhConfigType
+       // ArcCore exension
+       uint32 CanIfCanRxPduCanIdMask;
+
+} CanIf_RxPduConfigType;
+
+//-------------------------------------------------------------------
+
+/*
+ * CanIfControllerConfig container
+ */
+
+typedef enum {
+       CANIF_WAKEUP_SUPPORT_CONTROLLER,
+       CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
+       CANIF_WAKEUP_SUPPORT_TRANSCEIVER,
+} CanIf_WakeupSupportType;
+
+
+// This is the type supplied to CanIf_InitController()
+typedef struct {
+       CanIf_WakeupSupportType WakeupSupport;  // Not used
+
+       // CanIf-specific id of the controller
+       CanIf_Arc_ChannelIdType CanIfControllerIdRef;
+
+       const char CanIfDriverNameRef[8]; // Not used
+
+       const Can_ControllerConfigType *CanIfInitControllerRef;
+} CanIf_ControllerConfigType;
+
+//-------------------------------------------------------------------
+/*
+ * CanIfTransceiverDrvConfig container
+ */
+
+typedef struct {
+       boolean TrcvWakeupNotification;
+       uint8   TrcvIdRef;
+} CanIf_TransceiverDrvConfigType;
+
+
+typedef struct {
+       uint32 todo;
+} CanIf_TransceiverConfigType;
+
+// Callout functions with respect to the upper layers. This callout functions
+// defined in this container are common to all configured underlying CAN
+// Drivers / CAN Transceiver Drivers.
+typedef struct {
+       //      Name of target BusOff notification services to target upper layers
+       //      (PduRouter, CanNm, CanTp and ComplexDeviceDrivers).
+       //  Multiplicity: 1
+       void (*CanIfBusOffNotification)(uint8 Controller);
+
+       //      Name of target wakeup notification services to target upper layers
+       //      e.g Ecu_StateManager. If parameter is 0
+       //      no call-out function is configured.
+       //  Multiplicity: 0..1
+       void (*CanIfWakeUpNotification)();
+
+       //      Name of target wakeup validation notification services to target upper
+       //      layers (ECU State Manager). If parameter is 0 no call-out function is
+       //      configured.
+       //  Multiplicity: 0..1
+       void (*CanIfWakeupValidNotification)();
+
+       // ArcCore ext.
+       void (*CanIfErrorNotificaton)(uint8,Can_Arc_ErrorType);
+
+} CanIf_DispatchConfigType;
+
+// This container contains the references to the configuration setup of each
+// underlying CAN driver.
+
+typedef struct {
+       //      Selects the CAN Interface specific configuration setup. This type of the
+       //      external data structure shall contain the post build initialization data for the
+       //      CAN Interface for all underlying CAN Dirvers. constant to CanIf_ConfigType
+       uint32 CanIfConfigSet;
+
+       uint32 CanIfNumberOfCanRxPduIds;
+       uint32 CanIfNumberOfCanTXPduIds;
+       uint32 CanIfNumberOfDynamicCanTXPduIds;
+
+       //
+       // Containers
+       //
+
+  //  This container contains the reference to the configuration
+       //  setup of each underlying CAN driver.
+  //  Multiplicity: 0..*
+       const CanIf_InitHohConfigType *CanIfHohConfigPtr;
+
+       //      This container contains the configuration (parameters) of each
+       //      receive CAN L-PDU. The SHORT-NAME of
+       //      "CanIfRxPduConfig" container itself represents the symolic
+       //      name of Receive L-PDU.
+       // Multiplicity: 0..*
+       const CanIf_RxPduConfigType *CanIfRxPduConfigPtr;
+
+       //      This container contains the configuration (parameters) of each
+       //      transmit CAN L-PDU. The SHORT-NAME of
+       //      "CanIfTxPduConfig" container represents the symolic name of
+       //  Transmit L-PDU.
+       // Multiplicity: 0..*
+       const CanIf_TxPduConfigType *CanIfTxPduConfigPtr;
+
+} CanIf_InitConfigType;
+
+
+typedef struct {
+       //      This container contains the configuration (parameters) of all
+       //      addressed CAN controllers by each underlying CAN driver.
+       //  Multiplicity: 1..*
+       const CanIf_ControllerConfigType        *ControllerConfig;
+
+       //      Callout functions with respect to the upper layers. This callout
+       //      functions defined in this container are common to all
+       //      configured underlying CAN Drivers / CAN Transceiver Drivers
+       const CanIf_DispatchConfigType  *DispatchConfig;
+
+       //      This container contains the init parameters of the CAN
+       //      Interface.
+       //  Multiplicity: 1..*
+       const CanIf_InitConfigType              *InitConfig;
+
+       //      This container contains the configuration (parameters) of all
+       //      addressed CAN transceivers by each underlying CAN
+       //      Transceiver Driver.
+       //  Multiplicity: 1..*
+       const CanIf_TransceiverConfigType *TransceiverConfig;
+       
+       // ArcCore: Contains the mapping from CanIf-specific Channels to Can Controllers
+       const CanControllerIdType                       *Arc_ChannelToControllerMap;
+} CanIf_ConfigType;
+
+
+extern CanIf_ConfigType CanIf_Config;
+
+#endif
+
diff --git a/examples/switch_node/config/Can_Cfg.h b/examples/switch_node/config/Can_Cfg.h
new file mode 100644 (file)
index 0000000..7f3fe34
--- /dev/null
@@ -0,0 +1,229 @@
+/* 
+* Configuration of module Can (Can_Cfg.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+
+#if (CAN_SW_MAJOR_VERSION != 1) 
+#error "Can: Configuration file version differs from BSW version."
+#endif
+
+       
+
+
+#ifndef CAN_CFG_H_
+#define CAN_CFG_H_
+
+// Number of controller configs
+#define CAN_ARC_CTRL_CONFIG_CNT                1
+
+#define CAN_DEV_ERROR_DETECT                   STD_OFF
+#define CAN_VERSION_INFO_API                   STD_OFF
+#define CAN_MULTIPLEXED_TRANSMISSION   STD_OFF
+#define CAN_WAKEUP_SUPPORT                             STD_OFF  // Not supported
+#define CAN_HW_TRANSMIT_CANCELLATION   STD_OFF  // Not supported
+
+
+typedef enum {
+       FLEXCAN_A = 0,
+       CAN_CTRL_A = 0,
+       FLEXCAN_B = 1,
+       CAN_CTRL_B = 1,
+       FLEXCAN_C = 2,
+       CAN_CTRL_C = 2,
+       FLEXCAN_D = 3,
+       CAN_CTRL_D = 3,
+       FLEXCAN_E = 4,
+       CAN_CTRL_E = 4,
+       FLEXCAN_F = 5,
+       CAN_CTRL_F = 5,
+       CAN_CONTROLLER_CNT = 6
+}CanControllerIdType;
+
+
+typedef enum {
+       CAN_ID_TYPE_EXTENDED,
+       CAN_ID_TYPE_MIXED,
+       CAN_ID_TYPE_STANDARD,
+} Can_IdTypeType;
+
+
+typedef enum {
+       CAN_OBJECT_TYPE_RECEIVE,
+       CAN_OBJECT_TYPE_TRANSMIT,
+} Can_ObjectTypeType;
+
+
+typedef enum {
+       CAN_ARC_HANDLE_TYPE_BASIC,
+       CAN_ARC_HANDLE_TYPE_FULL
+} Can_Arc_HohType;
+
+
+typedef enum {
+       HWObj_1,
+       NUM_OF_HTHS
+} Can_Arc_HTHType;
+
+
+typedef enum {
+       NUM_OF_HRHS
+} Can_Arc_HRHType;
+
+
+typedef struct {
+       void (*CancelTxConfirmation)( const Can_PduType *);
+       void (*RxIndication)( uint8 ,Can_IdType ,uint8 , const uint8 * );
+       void (*ControllerBusOff)(uint8);
+       void (*TxConfirmation)(PduIdType);
+       void (*ControllerWakeup)(uint8);
+       void (*Arc_Error)(uint8,Can_Arc_ErrorType);
+} Can_CallbackType;
+
+
+typedef struct {
+       //      Specifies the InstanceId of this module instance. If only one instance is
+       //      present it shall have the Id 0
+       int CanIndex;
+} Can_GeneralType;
+
+
+typedef uint32 Can_FilterMaskType;
+
+
+typedef struct Can_HardwareObjectStruct {
+       // Specifies the type (Full-CAN or Basic-CAN) of a hardware object.
+       Can_Arc_HohType CanHandleType;
+
+       // Specifies whether the IdValue is of type - standard identifier - extended
+       // identifier - mixed mode ImplementationType: Can_IdType
+       Can_IdTypeType CanIdType;
+
+       //      Specifies (together with the filter mask) the identifiers range that passes
+       //      the hardware filter.
+       uint32 CanIdValue;
+
+       //      Holds the handle ID of HRH or HTH. The value of this parameter is unique
+       //      in a given CAN Driver, and it should start with 0 and continue without any
+       //      gaps. The HRH and HTH Ids are defined under two different name-spaces.
+       //      Example: HRH0-0, HRH1-1, HTH0-2, HTH1-3
+       uint32 CanObjectId;
+
+       // Specifies if the HardwareObject is used as Transmit or as Receive object
+       Can_ObjectTypeType CanObjectType;
+
+       // Reference to the filter mask that is used for hardware filtering togerther
+       // with the CAN_ID_VALUE
+       Can_FilterMaskType *CanFilterMaskRef;
+
+       // A "1" in this mask tells the driver that that HW Message Box should be
+       // occupied by this Hoh. A "1" in bit 31(ppc) occupies Mb 0 in HW.
+       uint32 Can_Arc_MbMask;
+
+       // End Of List. Set to TRUE is this is the last object in the list.
+       boolean Can_Arc_EOL;
+} Can_HardwareObjectType;
+
+
+typedef enum {
+       CAN_ARC_PROCESS_TYPE_INTERRUPT,
+       CAN_ARC_PROCESS_TYPE_POLLING,
+} Can_Arc_ProcessType;
+
+
+typedef struct {
+
+       //      Enables / disables API Can_MainFunction_BusOff() for handling busoff
+       //      events in polling mode.
+       // INTERRUPT or POLLING
+       Can_Arc_ProcessType CanBusOffProcessing;
+
+       // Defines if a CAN controller is used in the configuration.
+       boolean CanControllerActivation;
+
+       // Specifies the buadrate of the controller in kbps.
+       uint32 CanControllerBaudRate;
+
+       //      This parameter provides the controller ID which is unique in a given CAN
+       //      Driver. The value for this parameter starts with 0 and continue without any
+       //      gaps.
+       CanControllerIdType CanControllerId;
+
+       // Specifies propagation delay in time quantas.
+       uint32 CanControllerPropSeg;
+
+       // Specifies phase segment 1 in time quantas.
+       uint32 CanControllerSeg1;
+
+       // Specifies phase segment 2 in time quantas.
+       uint32 CanControllerSeg2;
+
+       //      Specifies the time quanta for the controller. The calculation of the resulting
+       //      prescaler value depending on module clocking and time quanta shall be
+       //      done offline Hardware specific.
+       uint32 CanControllerTimeQuanta;
+
+       //      Enables / disables API Can_MainFunction_Read() for handling PDU
+       //      reception events in polling mode.
+       Can_Arc_ProcessType CanRxProcessing;
+
+       //      Enables / disables API Can_MainFunction_Write() for handling PDU
+       //      transmission events in polling mode.
+       Can_Arc_ProcessType CanTxProcessing;
+
+       //      Enables / disables API Can_MainFunction_Wakeup() for handling wakeup
+       //      events in polling mode.
+       Can_Arc_ProcessType CanWakeupProcessing;
+
+       //      Reference to the CPU clock configuration, which is set in the MCU driver
+       //      configuration
+       uint32 CanCpuClockRef;
+
+       //      This parameter contains a reference to the Wakeup Source for this
+       //      controller as defined in the ECU State Manager. Implementation Type:
+       //      reference to EcuM_WakeupSourceType
+       uint32 CanWakeupSourceRef;
+
+       // List of Hoh id's that belong to this controller
+       const Can_HardwareObjectType  *Can_Arc_Hoh;
+
+       boolean Can_Arc_Loopback;
+
+       // Set this to use the fifo
+       boolean Can_Arc_Fifo;
+} Can_ControllerConfigType;
+
+
+typedef struct {
+       const Can_ControllerConfigType *CanController;
+       
+       // Callbacks( Extension )
+       const Can_CallbackType *CanCallbacks;
+} Can_ConfigSetType;
+
+
+typedef struct {
+       // This is the multiple configuration set container for CAN Driver
+       // Multiplicity 1..*
+       const Can_ConfigSetType  *CanConfigSet;
+       // This container contains the parameters related each CAN
+       // Driver Unit.
+       // Multiplicity 1..*
+       const Can_GeneralType    *CanGeneral;
+} Can_ConfigType;
+
+
+extern const Can_ConfigType CanConfigData;
+extern const Can_ControllerConfigType CanControllerConfigData[];
+extern const Can_ConfigSetType Can_ConfigSet;
+
+#endif /*CAN_CFG_H_*/
diff --git a/examples/switch_node/config/Can_Lcfg.c b/examples/switch_node/config/Can_Lcfg.c
new file mode 100644 (file)
index 0000000..d341b81
--- /dev/null
@@ -0,0 +1,77 @@
+/* 
+* Configuration of module Can (Can_Lcfg.c)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+       
+
+#include <stdlib.h>
+#include "Can.h"
+#include "CanIf_Cbk.h"
+
+
+Can_FilterMaskType Can_FilterMaskConfigData_Controller_1_Mask_1 = 0x0;
+
+
+const Can_HardwareObjectType CanHardwareObjectConfig_Controller_1[] = {
+       {
+               .CanObjectId =          HWObj_1,
+               .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,
+               .CanIdType =            CAN_ID_TYPE_EXTENDED,
+               .CanObjectType =        CAN_OBJECT_TYPE_TRANSMIT,
+               .CanFilterMaskRef =     &Can_FilterMaskConfigData_Controller_1_Mask_1,
+               
+               .Can_Arc_MbMask =       0xff0000,
+               .Can_Arc_EOL =          1,
+       },
+};
+
+
+const Can_ControllerConfigType CanControllerConfigData[] =
+{
+  {
+    .CanControllerActivation = TRUE,
+    .CanControllerBaudRate =   125,
+    .CanControllerId =                 FLEXCAN_A,
+    .CanControllerPropSeg =            4,
+    .CanControllerSeg1 =               4,
+    .CanControllerSeg2 =               4,
+    .CanBusOffProcessing =             CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanRxProcessing =                 CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanTxProcessing =                 CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanWakeupProcessing =             CAN_ARC_PROCESS_TYPE_INTERRUPT,
+    .CanCpuClockRef =                  PERIPHERAL_CLOCK_FLEXCAN_A,
+    .Can_Arc_Hoh =                             &CanHardwareObjectConfig_Controller_1[0],
+    .Can_Arc_Loopback =                        FALSE,
+    .Can_Arc_Fifo =                            0,
+  },
+};
+
+const Can_CallbackType CanCallbackConfigData = {
+    NULL, //CanIf_CancelTxConfirmation,
+    CanIf_RxIndication,
+    CanIf_ControllerBusOff,
+    CanIf_TxConfirmation,
+    NULL, //CanIf_ControllerWakeup,
+    CanIf_Arc_Error,
+};
+
+const Can_ConfigSetType CanConfigSetData =
+{
+  .CanController =     CanControllerConfigData,
+  .CanCallbacks =      &CanCallbackConfigData,
+};
+
+const Can_ConfigType CanConfigData = {
+  .CanConfigSet =      &CanConfigSetData,
+};
+
index 8bdcbeb94b56592180c5958e09957af433ca4ef3..c456993742d2ac8e2e03573f4899077f96b5d9f2 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: ArcCore AB
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * Copyright ArcCore AB 2010
 * Generated by Arctic Studio (http://arccore.com)
-*           on Fri Apr 09 13:18:08 CEST 2010
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
 
@@ -26,4 +26,4 @@ enum {
        LedCommandTx = 0,\r
 };\r
 \r
-#endif\r
+#endif
index f5731786772a8eb4c9518aa362be262f0bb49365..4a07a50e47a8ff6b9a51790ef368236c353505ee 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: ArcCore AB
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * Copyright ArcCore AB 2010
 * Generated by Arctic Studio (http://arccore.com)
-*           on Fri Apr 09 13:18:08 CEST 2010
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
 
 \r
 #define COM_DEV_ERROR_DETECT\r
 \r
-#define COM_MAX_NR_IPDU 1\r
-#define COM_MAX_NR_SIGNAL 1\r
-#define COM_MAX_NR_GROUPSIGNAL 0\r
-\r
-#define COM_MAX_NR_SIGNALS_PER_IPDU 1\r
-#define COM_MAX_NR_SIGNALGROUPS_PER_IPDU 0\r
-#define COM_MAX_NR_SIGNALS_PER_SIGNAL_GROUP 0\r
+#define COM_N_IPDUS 1
+#define COM_N_SIGNALS 1
+#define COM_N_GROUP_SIGNALS 0
 \r
 #define COM_E_INVALID_FILTER_CONFIGURATION 101\r
 #define COM_E_INITIALIZATION_FAILED 102\r
@@ -40,6 +36,9 @@
 #define COM_INVALID_PDU_ID 104\r
 #define COM_ERROR_SIGNAL_IS_SIGNALGROUP 105\r
 \r
+
+#define COM_MAX_NR_IPDU 999999999
+
 #define COM_E_TOO_MANY_IPDU 106\r
 #define COM_E_TOO_MANY_SIGNAL 107\r
 #define COM_E_TOO_MANY_GROUPSIGNAL 108\r
@@ -49,7 +48,7 @@
 /*\r
  * ComGeneral pre-compile time configuration parameters.\r
  */\r
-#define ComConfigurationTimeBase 0.0\r
+#define ComConfigurationTimeBase 0.0
 #define ComVersionInfoApi\r
 \r
 #endif /*COM_CFG_H_*/\r
index 883dc2b1150e980a7263ca59d4047de6690d1a23..97a97f1015468294c59ce37ae43d0cc10647c98c 100644 (file)
@@ -4,33 +4,47 @@
 * Created by: ArcCore AB
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * Copyright ArcCore AB 2010
 * Generated by Arctic Studio (http://arccore.com)
-*           on Fri Apr 09 13:18:08 CEST 2010
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
 \r
-#include "Com.h"\r
+#include "Com.h"
 #include "stdlib.h"\r
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
 \r
 \r
+
+
+
+/*
+ * Signal init values.
+ */
+const uint16 Com_SignalInitValue_SetLedLevelTx = 0;
+       
+
 /*\r
  * Group signal definitions\r
  */\r
-const ComGroupSignal_type ComGroupSignal[] = {\r
+const ComGroupSignal_type ComGroupSignal[] = {
        {\r
                .Com_Arc_EOL = 1\r
        }\r
 };\r
 \r
 \r
+/* SignalGroup GroupSignals lists. */
+
 /*\r
  * Signal definitions\r
  */\r
-const ComSignal_type ComSignal[] = {\r
+const ComSignal_type ComSignal[] = {
        {\r
                .ComHandleId = SetLedLevelTx,\r
                .ComFirstTimeoutFactor = 0,\r
@@ -38,14 +52,15 @@ const ComSignal_type ComSignal[] = {
                .ComTimeoutFactor = 0,\r
                .ComTimeoutNotification = NULL,\r
                .ComTransferProperty = TRIGGERED,\r
-               \r
-               \r
-               .ComSignalInitValue = 0,\r
-               .ComBitPosition = 0,\r
+               
+               
+               .ComSignalInitValue = &Com_SignalInitValue_SetLedLevelTx,
+               .ComBitPosition = 7,
                .ComBitSize = 16,\r
                .ComSignalEndianess = BIG_ENDIAN,\r
-               .ComSignalType = UINT16,\r
-               \r
+               .ComSignalType = UINT16,
+               .ComGroupSignal = NULL,
+               
        },\r
        {\r
                .Com_Arc_EOL = 1\r
@@ -56,30 +71,35 @@ const ComSignal_type ComSignal[] = {
 /*\r
  * I-PDU group definitions\r
  */\r
-const ComIPduGroup_type ComIPduGroup[] = {\r
+const ComIPduGroup_type ComIPduGroup[] = {
        {\r
                .ComIPduGroupHandleId = TxGroup\r
        },\r
-       \r
+       
        {\r
                .Com_Arc_EOL  = 1\r
        }\r
 };\r
 \r
+/* IPdu signal lists. */
+const ComSignal_type *ComIPduSignalRefs_LedCommandTx[] = {
+       &ComSignal[ SetLedLevelTx ],            
+       NULL,
+};
 \r
 /*\r
  * I-PDU definitions\r
  */\r
-const ComIPdu_type ComIPdu[] = {\r
-    \r
-       {\r
-               .ComIPduRxHandleId = LedCommandTx,\r
+const ComIPdu_type ComIPdu[] = {       
+    
+       { // LedCommandTx
+               .ArcIPduOutgoingId = PDUR_DEST_PDU_ID_LedCommandTx,
                .ComIPduCallout = NULL,\r
-               .ComIPduSignalProcessing =  DEFERRED,\r
-               .ComIPduSize =  8,\r
+               .ComIPduSignalProcessing =  DEFERRED,
+               .ComIPduSize =  8,
                .ComIPduDirection = SEND,\r
                .ComIPduGroupRef = TxGroup,\r
-               \r
+               
                .ComTxIPdu = {\r
                        .ComTxIPduMinimumDelayFactor = 0,\r
                        .ComTxIPduUnusedAreasDefault = 0,\r
@@ -91,14 +111,9 @@ const ComIPdu_type ComIPdu[] = {
                                .ComTxModeTimePeriodFactor = 0,\r
                        },\r
                },\r
-               \r
-               .ComIPduSignalRef = {\r
-                       \r
-                       &ComSignal[ SetLedLevelTx ],\r
-                                       \r
-                       NULL,\r
-               },\r
-       },   \r
+               
+               .ComIPduSignalRef = ComIPduSignalRefs_LedCommandTx,
+       },   
        {\r
                .Com_Arc_EOL = 1\r
        }\r
index cc554b8533b33cb15b46c0870324194d3a9a1921..31d187af5a069c9a7daf71f4cab56109e593849f 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: ArcCore AB
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 1.0.0
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
 * 
 * Copyright ArcCore AB 2010
 * Generated by Arctic Studio (http://arccore.com)
-*           on Fri Apr 09 13:18:08 CEST 2010
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
 
 \r
 extern const Com_ConfigType ComConfiguration;\r
 \r
+//  COM Polite Defines.
+#define COM_PDU_ID_LedCommandTx                0
+
+
+
 // PDU group definitions\r
 enum {\r
        TxGroup = 0,\r
@@ -35,6 +40,6 @@ enum {
 };\r
 \r
 \r
-\r
-\r
-#endif /* COM_PBCFG_H_ */\r
+
+
+#endif /* COM_PBCFG_H_ */
diff --git a/examples/switch_node/config/EcuM.mk b/examples/switch_node/config/EcuM.mk
new file mode 100644 (file)
index 0000000..77c1229
--- /dev/null
@@ -0,0 +1,3 @@
+\r
+MOD_USE += CAN CANIF COM PDUR PORT \r
+\r
diff --git a/examples/switch_node/config/EcuM_Callout_template.c b/examples/switch_node/config/EcuM_Callout_template.c
new file mode 100644 (file)
index 0000000..da64dae
--- /dev/null
@@ -0,0 +1,189 @@
+/* 
+* Configuration of module EcuM (EcuM_Callout_template.c)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:43:38 CEST 2010
+*/
+
+
+#include "EcuM.h"
+#include "Det.h"
+#if defined(USE_DEM)
+#include "Dem.h"
+#endif
+#if defined(USE_MCU)
+#include "Mcu.h"
+#endif
+#if defined(USE_GPT)
+#include "Gpt.h"
+#endif
+#if defined(USE_CAN)
+#include "Can.h"
+#endif
+#if defined(USE_CANIF)
+#include "CanIf.h"
+#endif
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
+#if defined(USE_COM)
+#include "Com.h"
+#endif
+#if defined(USE_CANTP)
+#include "CanTp.h"
+#endif
+#if defined(USE_DCM)
+#include "Dcm.h"
+#endif
+#if defined(USE_PWM)
+#include "Pwm.h"
+#endif
+#if defined(USE_IOHWAB)
+#include "IoHwAb.h"
+#endif
+
+void EcuM_AL_DriverInitZero()
+{
+       Det_Init();
+    Det_Start();
+}
+
+EcuM_ConfigType* EcuM_DeterminePbConfiguration()
+{
+       return &EcuMConfig;
+}
+
+void EcuM_AL_DriverInitOne(const EcuM_ConfigType *ConfigPtr)
+{
+#if defined(USE_MCU)
+       Mcu_Init(ConfigPtr->McuConfig);
+
+       // Set up default clock (Mcu_InitClock requires initRun==1)
+       Mcu_InitClock( ConfigPtr->McuConfig->McuDefaultClockSettings );
+
+       // Wait for PLL to sync.
+       while (Mcu_GetPllStatus() != MCU_PLL_LOCKED)
+         ;
+#endif
+
+#if defined(USE_DEM)
+       // Preinitialize DEM
+       Dem_PreInit();
+#endif
+
+#if defined(USE_PORT)
+       // Setup Port
+       Port_Init(ConfigPtr->PortConfig);
+#endif
+
+
+#if defined(USE_GPT)
+       // Setup the GPT
+       Gpt_Init(ConfigPtr->GptConfig);
+#endif
+
+       // Setup watchdog
+       // TODO
+
+#if defined(USE_DMA)
+       // Setup DMA
+       Dma_Init(ConfigPtr->DmaConfig);
+#endif
+
+#if defined(USE_ADC)
+       // Setup ADC
+       Adc_Init(ConfigPtr->AdcConfig);
+#endif
+
+       // Setup ICU
+       // TODO
+
+       // Setup PWM
+#if defined(USE_PWM)
+       // Setup PWM
+       Pwm_Init(ConfigPtr->PwmConfig);
+#endif
+}
+
+void EcuM_AL_DriverInitTwo(const EcuM_ConfigType* ConfigPtr)
+{
+#if defined(USE_SPI)
+       // Setup SPI
+       Spi_Init(ConfigPtr->SpiConfig);
+#endif
+
+#if defined(USE_EEP)
+       // Setup EEP
+       Eep_Init(ConfigPtr->EEpConfig);
+#endif
+
+#if defined(USE_FLS)
+       // Setup Flash
+       FlashInit(ConfigPtr->FlashConfig);
+#endif
+
+       // Setup NVRAM Manaager
+       // TODO
+
+       // Setup CAN tranceiver
+       // TODO
+
+#if defined(USE_CAN)
+       // Setup Can driver
+       Can_Init(ConfigPtr->CanConfig);
+#endif
+
+#if defined(USE_CANIF)
+       // Setup CanIf
+       CanIf_Init(ConfigPtr->CanIfConfig);
+#endif
+
+#if defined(USE_CANTP)
+       // Setup CAN TP
+       CanTp_Init();
+#endif
+       // Setup LIN
+       // TODO
+
+#if defined(USE_PDUR)
+       // Setup PDU Router
+       PduR_Init(ConfigPtr->PduRConfig);
+#endif
+
+#if defined(USE_COM)
+       // Setup COM layer
+       Com_Init(ConfigPtr->ComConfig);
+#endif
+
+#if defined(USE_DCM)
+       // Setup DCM
+       Dcm_Init();
+#endif
+
+#if defined(USE_IOHWAB)
+       // Setup IO hardware abstraction layer
+       IoHwAb_Init();
+#endif
+
+}
+
+void EcuM_AL_DriverInitThree(const EcuM_ConfigType ConfigPtr)
+{
+#if defined(USE_DEM)
+       // Setup DEM
+       Dem_Init();
+#endif
+
+#if defined(USE_CANIF)
+       // Startup the CAN interafce; due to the missing COM manager
+       CanIf_InitController(CANIF_CHANNEL_0, CANIF_CHANNEL_0_CONFIG_0);
+       CanIf_SetControllerMode(CANIF_CHANNEL_0, CANIF_CS_STARTED);
+#endif
+}
diff --git a/examples/switch_node/config/EcuM_Cfg.c b/examples/switch_node/config/EcuM_Cfg.c
new file mode 100644 (file)
index 0000000..db67283
--- /dev/null
@@ -0,0 +1,63 @@
+/* 
+* Configuration of module EcuM (EcuM_Cfg.c)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:43:38 CEST 2010
+*/
+
+
+
+#include "EcuM.h"
+
+EcuM_ConfigType EcuMConfig =
+{
+       .EcuMDefaultShutdownTarget = ECUM_STATE_RESET,
+       .EcuMDefaultShutdownMode = 0, // Don't care
+       .EcuMDefaultAppMode = 0,  // Don't care
+
+#if defined(USE_MCU)
+       .McuConfig = McuConfigData,
+#endif
+#if defined(USE_PORT)
+       .PortConfig = &PortConfigData,
+#endif
+#if defined(USE_CAN)
+       .CanConfig = &CanConfigData,
+#endif
+#if defined(USE_CANIF)
+       .CanIfConfig = &CanIf_Config,
+#endif
+#if defined(USE_COM)
+       .ComConfig = &ComConfiguration,
+#endif
+#if defined(USE_PDUR)
+       .PduRConfig = &PduR_Config,
+#endif
+#if defined(USE_DMA)
+       .DmaConfig = DmaConfig,
+#endif
+#if defined(USE_ADC)
+       .AdcConfig = AdcConfig,
+#endif
+#if defined(USE_PWM)
+       .PwmConfig = &PwmConfig,
+#endif
+#if defined(USE_GPT)
+    .GptConfig = GptConfigData,
+#endif
+};
+
+void EcuM_OnGoOffTwo( void ) {
+
+}
+
+void EcuM_AL_SwitchOff( void ) {
+
+}
diff --git a/examples/switch_node/config/EcuM_Cfg.h b/examples/switch_node/config/EcuM_Cfg.h
new file mode 100644 (file)
index 0000000..0d9f2f7
--- /dev/null
@@ -0,0 +1,33 @@
+/* 
+* Configuration of module EcuM (EcuM_Cfg.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+
+#if (ECUM_SW_MAJOR_VERSION != 1) 
+#error "EcuM: Configuration file version differs from BSW version."
+#endif
+
+
+
+#ifndef ECUM_CFG_H_
+#define ECUM_CFG_H_
+
+#define ECUM_VERSION_INFO_API  STD_OFF
+#define ECUM_INCLUDE_NVRAM_MGR STD_OFF
+#define ECUM_DEV_ERROR_DETECT  STD_OFF
+
+#include "EcuM_Generated_Types.h"
+
+extern EcuM_ConfigType EcuMConfig;
+
+#endif /*ECUM_CFG_H_*/
diff --git a/examples/switch_node/config/EcuM_Generated_Types.h b/examples/switch_node/config/EcuM_Generated_Types.h
new file mode 100644 (file)
index 0000000..41936ae
--- /dev/null
@@ -0,0 +1,94 @@
+/* 
+* Configuration of module EcuM (EcuM_Generated_Types.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:43:38 CEST 2010
+*/
+
+
+#if (ECUM_SW_MAJOR_VERSION != 1) 
+#error "EcuM: Configuration file version differs from BSW version."
+#endif
+
+
+#ifndef _ECUM_GENERATED_TYPES_H_
+#define _ECUM_GENERATED_TYPES_H_
+
+#if defined(USE_MCU)
+#include "Mcu.h"
+#endif
+#if defined(USE_PORT)
+#include "Port.h"
+#endif
+#if defined(USE_CAN)
+#include "Can.h"
+#endif
+#if defined(USE_CANIF)
+#include "CanIf.h"
+#endif
+#if defined(USE_PWM)
+#include "Pwm.h"
+#endif
+#if defined(USE_COM)
+#include "Com.h"
+#endif
+#if defined(USE_PDUR)
+#include "PduR.h"
+#endif
+#if defined(USE_DMA)
+#include "Dma.h"
+#endif
+#if defined(USE_ADC)
+#include "Adc.h"
+#endif
+#if defined(USE_GPT)
+#include "Gpt.h"
+#endif
+
+
+typedef struct
+{
+       EcuM_StateType EcuMDefaultShutdownTarget;
+       uint8 EcuMDefaultShutdownMode;
+       AppModeType EcuMDefaultAppMode;
+
+#if defined(USE_MCU)
+       const Mcu_ConfigType* McuConfig;
+#endif
+#if defined(USE_PORT)
+       const Port_ConfigType* PortConfig;
+#endif
+#if defined(USE_CAN)
+       const Can_ConfigType* CanConfig;
+#endif
+#if defined(USE_CANIF)
+       const CanIf_ConfigType* CanIfConfig;
+#endif
+#if defined(USE_COM)
+       const Com_ConfigType* ComConfig;
+#endif
+#if defined(USE_PDUR)
+       const PduR_PBConfigType* PduRConfig;
+#endif
+#if defined(USE_PWM)
+       const Pwm_ConfigType* PwmConfig;
+#endif
+#if defined(USE_DMA)
+       const Dma_ConfigType* DmaConfig;
+#endif
+#if defined(USE_ADC)
+    const Adc_ConfigType* AdcConfig;
+#endif
+#if defined(USE_GPT)
+    const Gpt_ConfigType* GptConfig;
+#endif
+} EcuM_ConfigType;
+
+#endif /*_ECUM_GENERATED_TYPES_H_*/
index d8adeb60289bcca82490b76bc25f0661b4c22430..d95ce4fef4035565c346e633e2aeeda735fd7abe 100644 (file)
 * Created by: ArcCore AB
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 2.0.6
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.7
 * 
 * Copyright ArcCore AB 2010
 * Generated by Arctic Studio (http://arccore.com)
-*           on Fri Apr 09 13:18:08 CEST 2010
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
-       \r
+       
 \r
 #include <stdlib.h>\r
 #include <stdint.h>\r
 #include "Platform_Types.h"\r
 #include "Os.h"                                // includes Os_Cfg.h\r
-#include "os_config_macros.h"\r
-#include "kernel.h"\r
-#include "kernel_offset.h"\r
+#include "os_config_macros.h"
+#include "kernel.h"
+#include "kernel_offset.h"
 #include "alist_i.h"\r
-#include "Mcu.h"\r
-\r
-extern void dec_exception( void );\r
-\r
-// Set the os tick frequency\r
+#include "Mcu.h"
+
+extern void dec_exception( void );
+
+// Set the os tick frequency
 OsTickType OsTickFreq = 1000;\r
 \r
 \r
-// ###############################    DEBUG OUTPUT     #############################\r
-uint32 os_dbg_mask = D_RESOURCE |D_SCHTBL |D_EVENT |D_TASK |D_ALARM;\r
\r
-\r
-\r
-// #################################    COUNTERS     ###############################\r
-GEN_COUNTER_HEAD {\r
-       GEN_COUNTER(    COUNTER_ID_OsTick,\r
-                                       "OsTick",\r
-                                       COUNTER_TYPE_HARD,\r
-                                       COUNTER_UNIT_NANO,\r
-                                       0xffff,\r
-                                       1,\r
-                                       1,\r
-                                       0),\r
+// ###############################    DEBUG OUTPUT     #############################
+uint32 os_dbg_mask = D_RESOURCE |D_SCHTBL |D_EVENT |D_TASK |D_ALARM;
+
+
+// #################################    COUNTERS     ###############################
+GEN_COUNTER_HEAD {
+       GEN_COUNTER(    COUNTER_ID_OsTick,
+                                       "OsTick",
+                                       COUNTER_TYPE_HARD,
+                                       COUNTER_UNIT_NANO,
+                                       0xffff,
+                                       1,
+                                       1,
+                                       0),
 };\r
 \r
-CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;\r
+CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;
 \r
 // ##################################    ALARMS     ################################\r
-GEN_ALARM_AUTOSTART(ALARM_ID_ComAlarm, ALARM_AUTOSTART_ABSOLUTE, 5, 20, OSDEFAULTAPPMODE );\r
-       \r
-GEN_ALARM_AUTOSTART(ALARM_ID_ReadSwAlarm, ALARM_AUTOSTART_ABSOLUTE, 10, 30, OSDEFAULTAPPMODE );\r
-       \r
-\r
-GEN_ALARM_HEAD {\r
-       GEN_ALARM(      ALARM_ID_ComAlarm,\r
-                               "ComAlarm",\r
-                               COUNTER_ID_OsTick,\r
-                               GEN_ALARM_AUTOSTART_NAME(ALARM_ID_ComAlarm),\r
-                               ALARM_ACTION_ACTIVATETASK,\r
-                               TASK_ID_ComTask,\r
-                               NULL,\r
-                               NULL ),\r
-       GEN_ALARM(      ALARM_ID_ReadSwAlarm,\r
-                               "ReadSwAlarm",\r
-                               COUNTER_ID_OsTick,\r
-                               GEN_ALARM_AUTOSTART_NAME(ALARM_ID_ReadSwAlarm),\r
-                               ALARM_ACTION_ACTIVATETASK,\r
-                               TASK_ID_ReadSwitches,\r
-                               NULL,\r
-                               NULL ),\r
+GEN_ALARM_AUTOSTART(ALARM_ID_ComAlarm, ALARM_AUTOSTART_ABSOLUTE, 5, 20, OSDEFAULTAPPMODE );
+       
+GEN_ALARM_AUTOSTART(ALARM_ID_ReadSwAlarm, ALARM_AUTOSTART_ABSOLUTE, 10, 30, OSDEFAULTAPPMODE );
+       
+
+GEN_ALARM_HEAD {
+       GEN_ALARM(      ALARM_ID_ComAlarm,
+                               "ComAlarm",
+                               COUNTER_ID_OsTick,
+                               GEN_ALARM_AUTOSTART_NAME(ALARM_ID_ComAlarm),
+                               ALARM_ACTION_ACTIVATETASK,
+                               TASK_ID_ComTask,
+                               NULL,
+                               NULL ),
+       GEN_ALARM(      ALARM_ID_ReadSwAlarm,
+                               "ReadSwAlarm",
+                               COUNTER_ID_OsTick,
+                               GEN_ALARM_AUTOSTART_NAME(ALARM_ID_ReadSwAlarm),
+                               ALARM_ACTION_ACTIVATETASK,
+                               TASK_ID_ReadSwitches,
+                               NULL,
+                               NULL ),
 };\r
 \r
 // ################################    RESOURCES     ###############################\r
-GEN_RESOURCE_HEAD {\r
-       GEN_RESOURCE(   \r
-               RES_SCHEDULER,\r
-               RESOURCE_TYPE_STANDARD,\r
-               0\r
-       ),\r
+GEN_RESOURCE_HEAD {
+       GEN_RESOURCE(   
+               RES_SCHEDULER,
+               RESOURCE_TYPE_STANDARD,
+               0
+       ),
 };\r
 \r
 // ##############################    STACKS (TASKS)     ############################\r
-DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
-DECLARE_STACK(ComTask,2048);\r
-DECLARE_STACK(ReadSwitches,2048);\r
-DECLARE_STACK(StartupTask,2048);\r
-\r
-// ##################################    TASKS     #################################\r
-GEN_TASK_HEAD {\r
-       GEN_ETASK(      OsIdle,\r
-                               0,\r
-                               FULL,\r
-                               TRUE,\r
-                               NULL,\r
-                               0 \r
-       ),\r
-       GEN_BTASK(\r
-               ComTask,\r
-               10,\r
-               FULL,\r
-               FALSE,\r
-               NULL,\r
-               0,\r
-               1\r
-       ),\r
-                               \r
-       GEN_BTASK(\r
-               ReadSwitches,\r
-               5,\r
-               FULL,\r
-               FALSE,\r
-               NULL,\r
-               0,\r
-               1\r
-       ),\r
-                               \r
-       GEN_BTASK(\r
-               StartupTask,\r
-               20,\r
-               FULL,\r
-               TRUE,\r
-               NULL,\r
-               0,\r
-               1\r
-       ),\r
-                               \r
+DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);
+DECLARE_STACK(ComTask,2048);
+DECLARE_STACK(ReadSwitches,2048);
+DECLARE_STACK(StartupTask,2048);
+\r
+// ##################################    TASKS     #################################
+GEN_TASK_HEAD {
+       GEN_ETASK(      OsIdle,
+                               0,
+                               FULL,
+                               TRUE,
+                               NULL,
+                               0 
+       ),
+       GEN_BTASK(
+               ComTask,
+               10,
+               FULL,
+               FALSE,
+               NULL,
+               0,
+               1
+       ),
+                               
+       GEN_BTASK(
+               ReadSwitches,
+               5,
+               FULL,
+               FALSE,
+               NULL,
+               0,
+               1
+       ),
+                               
+       GEN_BTASK(
+               StartupTask,
+               20,
+               FULL,
+               TRUE,
+               NULL,
+               0,
+               1
+       ),
+                               
 };\r
 \r
-// ##################################    HOOKS     #################################\r
-GEN_HOOKS( \r
-       StartupHook, \r
-       NULL, \r
-       ShutdownHook, \r
-       ErrorHook,\r
-       PreTaskHook, \r
-       PostTaskHook \r
-);\r
-\r
-// ##################################    ISRS     ##################################\r
-\r
-\r
-// ############################    SCHEDULE TABLES     #############################\r
-\r
-// Table heads\r
-GEN_SCHTBL_HEAD {\r
+// ##################################    HOOKS     #################################
+GEN_HOOKS( 
+       StartupHook, 
+       NULL, 
+       ShutdownHook, 
+       ErrorHook,
+       PreTaskHook, 
+       PostTaskHook 
+);
+
+// ##################################    ISRS     ##################################
+
+
+// ############################    SCHEDULE TABLES     #############################
+
+// Table heads
+GEN_SCHTBL_HEAD {
 };\r
 \r
-GEN_PCB_LIST()\r
+GEN_PCB_LIST()
 \r
 uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
 \r
-GEN_IRQ_VECTOR_TABLE_HEAD {};\r
-GEN_IRQ_ISR_TYPE_TABLE_HEAD {};\r
-GEN_IRQ_PRIORITY_TABLE_HEAD {};\r
+GEN_IRQ_VECTOR_TABLE_HEAD {};
+GEN_IRQ_ISR_TYPE_TABLE_HEAD {};
+GEN_IRQ_PRIORITY_TABLE_HEAD {};
 \r
-#include "os_config_funcs.h"\r
+#include "os_config_funcs.h"
index b7a2d6e539fa60870bf68a7b6fa596f42fd61720..53e8736377666fb17a423e5e7d328ec8a6243bc7 100644 (file)
@@ -4,12 +4,12 @@
 * Created by: ArcCore AB
 * Configured for (MCU): MPC551x
 * 
-* Module vendor:  ArcCore
-* Module version: 2.0.6
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.7
 * 
 * Copyright ArcCore AB 2010
 * Generated by Arctic Studio (http://arccore.com)
-*           on Fri Apr 09 13:18:08 CEST 2010
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
 
@@ -29,9 +29,9 @@
 // Counter Id's\r
 #define COUNTER_ID_OsTick      0\r
 \r
-// Counter macros\r
-#define OSMAXALLOWEDVALUE_OsTick 65535\r
-\r
+// Counter macros
+#define OSMAXALLOWEDVALUE_OsTick 65535
+
 \r
 // Event masks\r
 \r
 \r
 // Resource Id's\r
 \r
-// Linked resource id's\r
-\r
-// Resource masks\r
-\r
+// Linked resource id's
+
+// Resource masks
+
 // Task Id's\r
-#define TASK_ID_OsIdle 0\r
-#define TASK_ID_ComTask        1\r
+#define TASK_ID_OsIdle 0
+#define TASK_ID_ComTask        1
 #define TASK_ID_ReadSwitches   2\r
 #define TASK_ID_StartupTask    3\r
 \r
 // Task entry points\r
-void OsIdle( void );\r
+void OsIdle( void );
 void ComTask( void );\r
 void ReadSwitches( void );\r
 void StartupTask( void );\r
 \r
-// Schedule table id's\r
+// Schedule table id's
 \r
-// Stack size\r
-#define OS_INTERRUPT_STACK_SIZE        2048\r
-#define OS_OSIDLE_STACK_SIZE 500\r
-\r
-#define OS_ALARM_CNT                   2 \r
-#define OS_TASK_CNT                            4\r
-#define OS_SCHTBL_CNT                  0\r
-#define OS_COUNTER_CNT                 1\r
-#define OS_EVENTS_CNT                  0\r
-#define OS_ISRS_CNT                            0\r
-#define OS_RESOURCE_CNT                        0\r
-#define OS_LINKED_RESOURCE_CNT 0\r
-\r
-#define CFG_OS_DEBUG                           STD_ON\r
-\r
-#define OS_SC1                                                 STD_ON     \r
-#define OS_STACK_MONITORING                    STD_ON\r
-#define OS_STATUS_EXTENDED                     STD_ON\r
-#define OS_USE_GET_SERVICE_ID          STD_ON\r
-#define OS_USE_PARAMETER_ACCESS                STD_ON\r
-#define OS_RES_SCHEDULER                       STD_ON\r
+// Stack size
+#define OS_INTERRUPT_STACK_SIZE        2048
+#define OS_OSIDLE_STACK_SIZE 512
+
+#define OS_ALARM_CNT                   2 
+#define OS_TASK_CNT                            4
+#define OS_SCHTBL_CNT                  0
+#define OS_COUNTER_CNT                 1
+#define OS_EVENTS_CNT                  0
+#define OS_ISRS_CNT                            0
+#define OS_RESOURCE_CNT                        0
+#define OS_LINKED_RESOURCE_CNT 0
+
+#define CFG_OS_DEBUG                           STD_ON
+
+#define OS_SC1                                                 STD_ON     
+#define OS_STACK_MONITORING                    STD_ON
+#define OS_STATUS_EXTENDED                     STD_ON
+#define OS_USE_GET_SERVICE_ID          STD_ON
+#define OS_USE_PARAMETER_ACCESS                STD_ON
+#define OS_RES_SCHEDULER                       STD_ON
 \r
 #endif /*OS_CFG_H_*/\r
diff --git a/examples/switch_node/config/PduR_Cfg.h b/examples/switch_node/config/PduR_Cfg.h
new file mode 100644 (file)
index 0000000..72ba0ae
--- /dev/null
@@ -0,0 +1,82 @@
+/* 
+* Configuration of module PduR (PduR_Cfg.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+
+#if (PDUR_SW_MAJOR_VERSION != 1) 
+#error "PduR: Configuration file version differs from BSW version."
+#endif
+
+
+
+#ifndef PDUR_CFG_H_
+#define PDUR_CFG_H_
+
+// Module support
+#define PDUR_CANIF_SUPPORT                     STD_ON
+#define PDUR_CANTP_SUPPORT                     STD_OFF
+#define PDUR_FRIF_SUPPORT                      STD_OFF  /* Not supported */
+#define PDUR_FRTP_SUPPORT                      STD_OFF  /* Not supported */
+#define PDUR_LINIF_SUPPORT                     STD_OFF
+#define PDUR_LINTP_SUPPORT                     STD_OFF  /* Not supported */
+#define PDUR_COM_SUPPORT                       STD_ON
+#define PDUR_DCM_SUPPORT                       STD_OFF
+#define PDUR_IPDUM_SUPPORT                     STD_OFF  /* Not supported */
+
+
+#define PDUR_DEV_ERROR_DETECT          STD_OFF
+#define PDUR_VERSION_INFO_API          STD_OFF
+
+
+// Zero cost operation mode
+#define PDUR_ZERO_COST_OPERATION       STD_ON
+#define PDUR_SINGLE_IF                         CAN_IF
+#define PDUR_SINGLE_TP                         CAN_TP
+
+
+// Gateway operation
+#define PDUR_GATEWAY_OPERATION                         STD_OFF
+#define PDUR_MEMORY_SIZE                                       10 /* Not used */
+#define PDUR_SB_TX_BUFFER_SUPPORT                      STD_OFF
+#define PDUR_FIFO_TX_BUFFER_SUPPORT                    STD_OFF
+
+/**
+ * The maximum numbers of Tx buffers.
+ */
+#define PDUR_MAX_TX_BUFFER_NUMBER                      10 /* Not used */
+
+
+
+
+
+// Multicast
+/* Not supported
+#define PDUR_MULTICAST_TOIF_SUPPORT                    STD_OFF
+#define PDUR_MULTICAST_FROMIF_SUPPORT          STD_OFF
+#define PDUR_MULTICAST_TOTP_SUPPORT                    STD_OFF
+#define PDUR_MULTICAST_FROMTP_SUPPORT          STD_OFF
+*/
+
+
+// Minimum routing
+/* Minimum routing not supported.
+#define PDUR_MINIMUM_ROUTING_UP_MODULE         COM
+#define PDUR_MINIMUM_ROUTING_LO_MODULE         CAN_IF
+#define PDUR_MINIMUM_ROUTING_UP_RXPDUID                ((PduIdType)100)
+#define PDUR_MINIMUM_ROUTING_LO_RXPDUID        ((PduIdType)255)
+#define PDUR_MINIMUM_ROUTING_UP_TXPDUID        ((PduIdType)255)
+#define PDUR_MINIMUM_ROUTING_LO_TXPDUID        ((PduIdType)255)
+*/
+
+
+#endif
diff --git a/examples/switch_node/config/PduR_PbCfg.c b/examples/switch_node/config/PduR_PbCfg.c
new file mode 100644 (file)
index 0000000..cc5decc
--- /dev/null
@@ -0,0 +1,62 @@
+/* 
+* Configuration of module PduR (PduR_PbCfg.c)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+
+#include "PduR.h"
+#include "PduR_Cfg.h"
+#include "PduR_PbCfg.h"
+
+#if PDUR_CANIF_SUPPORT == STD_ON
+#include "CanIf.h"
+#endif
+#if PDUR_CANTP_SUPPORT == STD_ON
+#include "CanTp.h"
+#endif
+#if PDUR_LINIF_SUPPORT == STD_ON
+#include "LinIf.h"
+#endif
+#if PDUR_COM_SUPPORT == STD_ON
+#include "Com.h"
+#endif
+#if PDUR_DCM_SUPPORT == STD_ON
+#include "Dcm.h"
+#endif
+
+
+PduRTxBufferTable_type PduRTxBufferTable = {
+       .PduRMaxTxBufferNumber = 1,
+       .PduRTxBuffer = {
+               {
+                       .Depth = 0,
+               },
+       }
+};
+
+
+PduRRoutingTable_type PduRRoutingTable = {
+       .PduRRoutingPath = {
+               { // End of routing table
+                       .PduR_Arc_EOL = 1
+               }
+       }
+};
+
+
+
+
+PduR_PBConfigType PduR_Config = {
+       .PduRConfigurationId = 0,
+       .PduRTxBufferTable = &PduRTxBufferTable,
+       .PduRRoutingTable = &PduRRoutingTable,
+};
diff --git a/examples/switch_node/config/PduR_PbCfg.h b/examples/switch_node/config/PduR_PbCfg.h
new file mode 100644 (file)
index 0000000..c02e53c
--- /dev/null
@@ -0,0 +1,39 @@
+/* 
+* Configuration of module PduR (PduR_PbCfg.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.1
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
+*/
+
+
+#if (PDUR_SW_MAJOR_VERSION != 1) 
+#error "PduR: Configuration file version differs from BSW version."
+#endif
+
+
+#if defined(USE_DCM)
+#include "Dcm.h"
+#endif
+#if defined(USE_COM)
+#include "Com.h"
+#endif
+#if defined(USE_CANIF)
+#include "CanIf.h"
+#endif
+#if defined(USE_CANTP)
+#include "CanTp.h"
+#endif
+
+extern PduR_PBConfigType PduR_Config;
+
+//  PduR Polite Defines.
+
+#define PDUR_SOURCE_PDU_ID_LedCommandTx COM_PDU_ID_LedCommandTx
+#define PDUR_DEST_PDU_ID_LedCommandTx CANIF_PDU_ID_LedCommandTx
index b220a203b189c68970d6f22ea3cd3e0019419583..88cf7cd3720c843bf6e34e51e9bc15b47d5b35b4 100644 (file)
@@ -1,37 +1,24 @@
-/* -------------------------------- Arctic Core ------------------------------
- * Arctic Core - the open source AUTOSAR platform http://arccore.com
- *
- * Copyright (C) 2009  ArcCore AB <contact@arccore.com>
- *
- * This source code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by the
- * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * for more details.
- * -------------------------------- Arctic Core ------------------------------*/
-
-
-
-
-
-
-
-
-/*
-* Module vendor:  Autocore
-* Module version: 1.0.0
-* Specification: Autosar v3.0.1, Final
-*
+/* 
+* Configuration of module Port (Port_Cfg.c)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
+       
+// File generated on Fri Apr 30 15:54:06 CEST 2010
+// File generated by com.arccore.bswbuilder.modules.port.mpc5516
 \r
-// File generated on Mon Aug 17 14:11:26 CEST 2009\r
-// File generated by org.autocore.modules.port.mpc5516\r
-\r
+#include "Port.h"
 #include "Port_Cfg.h"\r
+#include "stdlib.h"
 \r
 const uint16_t PortPadConfigData[] = {\r
        PCR_RESET,                      /* PCR  0 */\r
@@ -42,11 +29,11 @@ const uint16_t PortPadConfigData[] = {
        PCR_RESET,                      /* PCR  5 */\r
        PCR_RESET,                      /* PCR  6 */\r
        PCR_RESET,                      /* PCR  7 */\r
-       PA_FUNC1,                       /* PCR  8 */\r
-       PA_FUNC1,                       /* PCR  9 */\r
-       PA_FUNC1,                       /* PCR  10 */
-       PA_FUNC1,
-       PA_FUNC1,\r
+       PCR_RESET,                      /* PCR  8 */
+       PCR_RESET,                      /* PCR  9 */
+       PCR_RESET,                      /* PCR  10 */
+       PCR_RESET,                      /* PCR  11 */
+       PCR_RESET,                      /* PCR  12 */
        PCR_RESET,                      /* PCR  13 */\r
        PCR_RESET,                      /* PCR  14 */\r
        PCR_RESET,                      /* PCR  15 */\r
@@ -82,8 +69,8 @@ const uint16_t PortPadConfigData[] = {
        PCR_RESET,                      /* PCR  45 */\r
        PCR_RESET,                      /* PCR  46 */\r
        PCR_RESET,                      /* PCR  47 */\r
-       ( PA_FUNC1 | OBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),  /* PCR  48 : CNTX_A */\r
-       ( PA_FUNC1 | IBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),  /* PCR  49 : CNRX_A */\r
+       ( FUNC1 | OBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  48 : PORT_PIN_MODE_CAN */
+       ( FUNC1 | IBE_ENABLE | SLEW_RATE_MIN | PULL_NONE ),     /* PCR  49 : PORT_PIN_MODE_CAN */
        PCR_RESET,                      /* PCR  50 */\r
        PCR_RESET,                      /* PCR  51 */\r
        PCR_RESET,                      /* PCR  52 */\r
@@ -193,8 +180,8 @@ const uint8_t PortOutConfigData[] = {
        GPDO_RESET,                     /* GPDO 8 */\r
        GPDO_RESET,                     /* GPDO 9 */\r
        GPDO_RESET,                     /* GPDO 10 */\r
-       GPDO_RESET,             /* GPDO 11 */\r
-       GPDO_RESET,             /* GPDO 12 */\r
+       GPDO_RESET,                     /* GPDO 11 */
+       GPDO_RESET,                     /* GPDO 12 */
        GPDO_RESET,                     /* GPDO 13 */\r
        GPDO_RESET,                     /* GPDO 14 */\r
        GPDO_RESET,                     /* GPDO 15 */\r
@@ -231,7 +218,7 @@ const uint8_t PortOutConfigData[] = {
        GPDO_RESET,                     /* GPDO 46 */\r
        GPDO_RESET,                     /* GPDO 47 */\r
        GPDO_RESET,             /* GPDO 48 */\r
-       GPDO_HIGH,              /* GPDO 49 */\r
+       GPDO_RESET,             /* GPDO 49 */
        GPDO_RESET,                     /* GPDO 50 */\r
        GPDO_RESET,                     /* GPDO 51 */\r
        GPDO_RESET,                     /* GPDO 52 */\r
index 902248c4207362c4842bcbbbc0173a11a7f1fc36..5457c5b197a73d89e163db234f580a89d62ca00b 100644 (file)
@@ -1,43 +1,31 @@
-/* -------------------------------- Arctic Core ------------------------------
- * Arctic Core - the open source AUTOSAR platform http://arccore.com
- *
- * Copyright (C) 2009  ArcCore AB <contact@arccore.com>
- *
- * This source code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by the
- * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * for more details.
- * -------------------------------- Arctic Core ------------------------------*/
-
-
-
-
-
-
-
-
 /* 
-* Module vendor:  Autocore
-* Module version: 1.0.0
-* Specification: Autosar v3.0.1, Final
-*
+* Configuration of module Port (Port_Cfg.h)
+* 
+* Created by: ArcCore AB
+* Configured for (MCU): MPC551x
+* 
+* Module editor vendor:  ArcCore
+* Module editor version: 2.0.0
+* 
+* Copyright ArcCore AB 2010
+* Generated by Arctic Studio (http://arccore.com)
+*           on Fri Apr 30 15:54:06 CEST 2010
 */
 
-// File generated on Mon Aug 17 14:11:22 CEST 2009\r
-// File generated by org.autocore.modules.port.mpc5516\r
+
+#if (PORT_SW_MAJOR_VERSION != 1) 
+#error "Port: Configuration file version differs from BSW version."
+#endif
+
 \r
 #ifndef PORT_CFG_H_\r
 #define PORT_CFG_H_\r
 \r
 #include "Std_Types.h"\r
 \r
-#define        PORT_VERSION_INFO_API                           STD_ON\r
-#define        PORT_DEV_ERROR_DETECT                           STD_ON\r
-#define        PORT_PIN_DIRECTION_CHANGES_ALLOWED      STD_ON\r
+#define        PORT_VERSION_INFO_API                           STD_OFF
+#define        PORT_DEV_ERROR_DETECT                           STD_OFF
+#define        PORT_PIN_DIRECTION_CHANGES_ALLOWED      STD_OFF
 \r
 #define                BIT0                    (1<<15)\r
 #define                BIT1                    (1<<14)\r
 #define                ODE_ENABLE              BIT10\r
 #define                IBE_ENABLE              BIT7\r
 #define                OBE_ENABLE              BIT6\r
-#define                PA_IO                   (0)\r
-#define                PA_FUNC0                (0)\r
-#define                PA_FUNC1                (BIT5)\r
-#define                PA_FUNC2                (BIT4)\r
-#define                PA_FUNC3                (BIT4|BIT5)\r
-#define                PA_FUNC4                (BIT3)\r
+#define                IO                              (0)
+#define                FUNC0                   (0)
+#define                FUNC1                   (BIT5)
+#define                FUNC2                   (BIT4)
+#define                FUNC3                   (BIT4|BIT5)
+#define                FUNC4                   (BIT3)
 \r
 #define                PCR_RESET               (0)\r
 #define                GPDO_RESET              (0)\r
 \r
 #define                GPDO_HIGH               (1)\r
 \r
-// Could also use an enum to name the pins here\r
-typedef int Port_PinType;\r
+
+typedef uint16 Port_PinType;
 \r
 typedef struct\r
 {\r
@@ -98,4 +86,4 @@ typedef struct
 \r
 extern const Port_ConfigType PortConfigData;\r
 \r
-#endif /*PORT_CFG_H_*/\r
+#endif /* PORT_CFG_H_ */
index c12de28384749d441e98e414184e23f5ea0e9db0..264ba2d630d48473bd701396a1204d13a77be124 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <AUTOSAR xmlns="http://autosar.org/3.1.2"><TOP-LEVEL-PACKAGES>\r
-    <AR-PACKAGE UUID="b2947917-7efc-415e-893c-bc90c6471c39">\r
+    <AR-PACKAGE UUID="fc563c91-212b-48aa-9b79-bd5e8f4b5ab0">\r
       <SHORT-NAME>switch_node_mpc551x</SHORT-NAME>\r
       <CATEGORY>EcuConfiguration</CATEGORY>\r
       <ADMIN-DATA>\r
         </DOC-REVISIONS>\r
       </ADMIN-DATA>\r
       <ELEMENTS>\r
-        <ECU-CONFIGURATION UUID="7551874e-e892-4ea6-ad1a-14a3eb377b4b">\r
+        <ECU-CONFIGURATION UUID="39c3afa6-22cd-4ebc-83c1-f01c24da1aa7">\r
           <SHORT-NAME>switch_node_mpc551x</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <DOC-REVISIONS>\r
               <DOC-REVISION>\r
-                <REVISION-LABEL>Rev 2</REVISION-LABEL>\r
+                <REVISION-LABEL>Rev 3</REVISION-LABEL>\r
               </DOC-REVISION>\r
             </DOC-REVISIONS>\r
             <SDGS>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <MODULE-REFS>\r
-            <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/Os</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/Can</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/CanIf</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/Com</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/EcuC</MODULE-REF>\r
-            <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/Can</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/Os</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/PduR</MODULE-REF>\r
             <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/Port</MODULE-REF>\r
+            <MODULE-REF DEST="MODULE-CONFIGURATION">/switch_node_mpc551x/EcuM</MODULE-REF>\r
           </MODULE-REFS>\r
         </ECU-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="d2600553-d497-4274-bd8d-41f13ddb53aa">\r
-          <SHORT-NAME>Os</SHORT-NAME>\r
+        <MODULE-CONFIGURATION UUID="903e3de6-5ad8-45e1-ba0f-4e3e3baa7a5a">\r
+          <SHORT-NAME>Can</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="ARCCORE_EDITOR_VERSION">2.0.6</SD>\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Os</DEFINITION-REF>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Can</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="072c3ac2-b689-4cae-9c9a-57c8d77380a3">\r
-              <SHORT-NAME>OsOS</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS</DEFINITION-REF>\r
+            <CONTAINER UUID="4050dda2-24da-4485-bfba-357bda04e3c2">\r
+              <SHORT-NAME>CanConfigSet</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet</DEFINITION-REF>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="2927ceb7-ede4-4fa1-8b9f-1abd7efeee7d">\r
+                  <SHORT-NAME>Controller_1</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanController</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerActivation</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerLoopback</DEFINITION-REF>\r
+                      <VALUE>false</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerBaudRate</DEFINITION-REF>\r
+                      <VALUE>125</VALUE>\r
+                    </INTEGER-VALUE>\r
+                    <ENUMERATION-VALUE>\r
+                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanHWControllerId</DEFINITION-REF>\r
+                      <VALUE>FLEXCAN_A</VALUE>\r
+                    </ENUMERATION-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerPropSeg</DEFINITION-REF>\r
+                      <VALUE>4</VALUE>\r
+                    </INTEGER-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerSeg1</DEFINITION-REF>\r
+                      <VALUE>4</VALUE>\r
+                    </INTEGER-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerSeg2</DEFINITION-REF>\r
+                      <VALUE>4</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                  <SUB-CONTAINERS>\r
+                    <CONTAINER UUID="101d46d2-e7cb-45d4-b8c4-ba4c49192f74">\r
+                      <SHORT-NAME>Mask_1</SHORT-NAME>\r
+                      <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanController/CanFilterMask</DEFINITION-REF>\r
+                      <PARAMETER-VALUES>\r
+                        <INTEGER-VALUE>\r
+                          <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanFilterMask/CanFilterMaskValue</DEFINITION-REF>\r
+                          <VALUE>0</VALUE>\r
+                        </INTEGER-VALUE>\r
+                      </PARAMETER-VALUES>\r
+                    </CONTAINER>\r
+                  </SUB-CONTAINERS>\r
+                </CONTAINER>\r
+                <CONTAINER UUID="623800d6-d672-45fb-9454-be8ca8f1d6db">\r
+                  <SHORT-NAME>HWObj_1</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <ENUMERATION-VALUE>\r
+                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanIdType</DEFINITION-REF>\r
+                      <VALUE>EXTENDED</VALUE>\r
+                    </ENUMERATION-VALUE>\r
+                    <ENUMERATION-VALUE>\r
+                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanObjectType</DEFINITION-REF>\r
+                      <VALUE>TRANSMIT</VALUE>\r
+                    </ENUMERATION-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanMBMask</DEFINITION-REF>\r
+                      <VALUE>16711680</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                  <REFERENCE-VALUES>\r
+                    <REFERENCE-VALUE>\r
+                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanControllerRef</DEFINITION-REF>\r
+                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Can/CanConfigSet/Controller_1</VALUE-REF>\r
+                    </REFERENCE-VALUE>\r
+                    <REFERENCE-VALUE>\r
+                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanFilterMaskRef</DEFINITION-REF>\r
+                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Can/CanConfigSet/Controller_1/Mask_1</VALUE-REF>\r
+                    </REFERENCE-VALUE>\r
+                  </REFERENCE-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="e724dede-61d0-48df-85e0-65806ed2523a">\r
+              <SHORT-NAME>CanGeneral</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsStackMonitoring</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsOS/OsStatus</DEFINITION-REF>\r
-                  <VALUE>EXTENDED</VALUE>\r
-                </ENUMERATION-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseGetServiceId</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseParameterAccess</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanGeneral/CanDevErrorDetection</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseResScheduler</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanGeneral/CanMultiplexedTransmission</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsTickFrequency</DEFINITION-REF>\r
-                  <VALUE>1000</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsInterruptStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsUseDebug</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanGeneral/CanVersionInfoApi</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="85d102ca-e755-47c5-a266-beed10ab3b57">\r
+          <SHORT-NAME>CanIf</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.1</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/CanIf</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="7da13625-c26c-48ff-b0b2-8a76b2306155">\r
+              <SHORT-NAME>CanIfDispatchConfig</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfDispatchConfig</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <FUNCTION-NAME-VALUE>\r
+                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfBusOffNotification</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </FUNCTION-NAME-VALUE>\r
+                <FUNCTION-NAME-VALUE>\r
+                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfErrorNotificaton</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </FUNCTION-NAME-VALUE>\r
+                <FUNCTION-NAME-VALUE>\r
+                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfWakeupNotification</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </FUNCTION-NAME-VALUE>\r
+                <FUNCTION-NAME-VALUE>\r
+                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfWakeupValidNotification</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </FUNCTION-NAME-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="3b595f17-b484-400d-80d1-1c4c0feb134e">\r
+              <SHORT-NAME>CanIfDriverConfig</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfDriverConfig</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugTask</DEFINITION-REF>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfBusoffNotification</DEFINITION-REF>\r
                   <VALUE>true</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugAlarm</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfReceiveIndication</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugResource</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfTransmitCancellation</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugScheduleTable</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfTxConfirmation</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugEvent</DEFINITION-REF>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfWakeupNotification</DEFINITION-REF>\r
                   <VALUE>true</VALUE>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="191cf6ba-72a1-4f1c-bc6a-13874dca0683">\r
-                  <SHORT-NAME>OsHooks</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS/OsHooks</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsErrorHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPostTaskHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPreTaskHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsProtectionHook</DEFINITION-REF>\r
-                      <VALUE>false</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsShutdownHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsStartupHook</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="148c97cb-13ee-4dd5-8a9f-f488f458d2ac">\r
-              <SHORT-NAME>ComTask</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
+            <CONTAINER UUID="f15967b5-baeb-484b-981b-5550737310ee">\r
+              <SHORT-NAME>CanIfInitConfiguration</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
+                <STRING-VALUE>\r
+                  <DEFINITION-REF DEST="STRING-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfConfigSet</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </STRING-VALUE>\r
                 <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
-                  <VALUE>1</VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfNumberOfCanRxPduIds</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
                 </INTEGER-VALUE>\r
                 <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
-                  <VALUE>10</VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfNumberOfCanTXPduIds</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
                 </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
-                  <VALUE>BASIC</VALUE>\r
-                </ENUMERATION-VALUE>\r
                 <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
-                  <VALUE>FULL</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="65562102-831e-4168-821f-87ea15b93ba1">\r
-              <SHORT-NAME>ReadSwitches</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
-                  <VALUE>1</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
-                  <VALUE>5</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
-                  <VALUE>BASIC</VALUE>\r
-                </ENUMERATION-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
-                  <VALUE>FULL</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="cac9a5ff-4d42-4bee-8d9b-fa42bbb94e64">\r
-              <SHORT-NAME>StartupTask</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
-                  <VALUE>1</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
-                  <VALUE>20</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
-                  <VALUE>BASIC</VALUE>\r
-                </ENUMERATION-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
-                  <VALUE>2048</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
-                  <VALUE>FULL</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="2382b0cd-21cb-4d48-b617-187f28f4541b">\r
-                  <SHORT-NAME>OsTaskAutostart</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask/OsTaskAutostart</DEFINITION-REF>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="dcde9f1c-e183-4ff3-99c1-65c3952a09a1">\r
-              <SHORT-NAME>ComAlarm</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm</DEFINITION-REF>\r
-              <REFERENCE-VALUES>\r
-                <REFERENCE-VALUE>\r
-                  <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmCounterRef</DEFINITION-REF>\r
-                  <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/OsTick</VALUE-REF>\r
-                </REFERENCE-VALUE>\r
-              </REFERENCE-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="7097c902-7cd6-4f1b-b5bc-cf0c8beb42d9">\r
-                  <SHORT-NAME>OsAlarmAutostart</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime</DEFINITION-REF>\r
-                      <VALUE>5</VALUE>\r
-                    </INTEGER-VALUE>\r
-                    <ENUMERATION-VALUE>\r
-                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType</DEFINITION-REF>\r
-                      <VALUE>RELATIVE</VALUE>\r
-                    </ENUMERATION-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime</DEFINITION-REF>\r
-                      <VALUE>20</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                </CONTAINER>\r
-                <CONTAINER UUID="d6c53078-e269-46d0-bb6a-8f19730ed12d">\r
-                  <SHORT-NAME>OsAlarmActivateTask</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask</DEFINITION-REF>\r
-                  <REFERENCE-VALUES>\r
-                    <REFERENCE-VALUE>\r
-                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef</DEFINITION-REF>\r
-                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/ComTask</VALUE-REF>\r
-                    </REFERENCE-VALUE>\r
-                  </REFERENCE-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="49ca7087-2de0-4bdf-ac4c-2e59e5553798">\r
-              <SHORT-NAME>ReadSwAlarm</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm</DEFINITION-REF>\r
-              <REFERENCE-VALUES>\r
-                <REFERENCE-VALUE>\r
-                  <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmCounterRef</DEFINITION-REF>\r
-                  <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/OsTick</VALUE-REF>\r
-                </REFERENCE-VALUE>\r
-              </REFERENCE-VALUES>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="bc9cb621-87eb-4b7b-8d89-417518ac3e18">\r
-                  <SHORT-NAME>OsAlarmAutostart</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime</DEFINITION-REF>\r
-                      <VALUE>10</VALUE>\r
-                    </INTEGER-VALUE>\r
-                    <ENUMERATION-VALUE>\r
-                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType</DEFINITION-REF>\r
-                      <VALUE>RELATIVE</VALUE>\r
-                    </ENUMERATION-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime</DEFINITION-REF>\r
-                      <VALUE>30</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                </CONTAINER>\r
-                <CONTAINER UUID="ed28d86c-90d1-40be-8a43-345c34d7971d">\r
-                  <SHORT-NAME>OsAlarmActivateTask</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask</DEFINITION-REF>\r
-                  <REFERENCE-VALUES>\r
-                    <REFERENCE-VALUE>\r
-                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef</DEFINITION-REF>\r
-                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/ReadSwitches</VALUE-REF>\r
-                    </REFERENCE-VALUE>\r
-                  </REFERENCE-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="4f612d3e-9a04-4f17-880a-4e0e1cedb73d">\r
-              <SHORT-NAME>OsTick</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsCounter</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMaxAllowedValue</DEFINITION-REF>\r
-                  <VALUE>65535</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMinCycle</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterTicksPerBase</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
-                </INTEGER-VALUE>\r
-                <ENUMERATION-VALUE>\r
-                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterType</DEFINITION-REF>\r
-                  <VALUE>OS-TICK</VALUE>\r
-                </ENUMERATION-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-          </CONTAINERS>\r
-        </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="bfbcc88f-383e-4c3c-9852-1e600ba081d0">\r
-          <SHORT-NAME>CanIf</SHORT-NAME>\r
-          <ADMIN-DATA>\r
-            <SDGS>\r
-              <SDG/>\r
-              <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.1</SD>\r
-              </SDG>\r
-            </SDGS>\r
-          </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/CanIf</DEFINITION-REF>\r
-          <CONTAINERS>\r
-            <CONTAINER UUID="63420d35-bd1e-4d2a-8107-3e14b0a61a7f">\r
-              <SHORT-NAME>CanIfDispatchConfig</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfDispatchConfig</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <FUNCTION-NAME-VALUE>\r
-                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfBusOffNotification</DEFINITION-REF>\r
-                  <VALUE></VALUE>\r
-                </FUNCTION-NAME-VALUE>\r
-                <FUNCTION-NAME-VALUE>\r
-                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfErrorNotificaton</DEFINITION-REF>\r
-                  <VALUE></VALUE>\r
-                </FUNCTION-NAME-VALUE>\r
-                <FUNCTION-NAME-VALUE>\r
-                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfWakeupNotification</DEFINITION-REF>\r
-                  <VALUE></VALUE>\r
-                </FUNCTION-NAME-VALUE>\r
-                <FUNCTION-NAME-VALUE>\r
-                  <DEFINITION-REF DEST="FUNCTION-NAME-DEF">/ArcCore/CanIf/CanIfDispatchConfig/CanIfWakeupValidNotification</DEFINITION-REF>\r
-                  <VALUE></VALUE>\r
-                </FUNCTION-NAME-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="a683817c-f6fa-4d8f-95ef-c24b67682136">\r
-              <SHORT-NAME>CanIfDriverConfig</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfDriverConfig</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfBusoffNotification</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfReceiveIndication</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfTransmitCancellation</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfTxConfirmation</DEFINITION-REF>\r
-                  <VALUE>false</VALUE>\r
-                </BOOLEAN-VALUE>\r
-                <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/CanIf/CanIfDriverConfig/CanIfWakeupNotification</DEFINITION-REF>\r
-                  <VALUE>true</VALUE>\r
-                </BOOLEAN-VALUE>\r
-              </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="b69a7fb4-5b6e-4680-bee7-f3254ae8e2c8">\r
-              <SHORT-NAME>CanIfInitConfiguration</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration</DEFINITION-REF>\r
-              <PARAMETER-VALUES>\r
-                <STRING-VALUE>\r
-                  <DEFINITION-REF DEST="STRING-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfConfigSet</DEFINITION-REF>\r
-                  <VALUE></VALUE>\r
-                </STRING-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfNumberOfCanRxPduIds</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfNumberOfCanTXPduIds</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
-                </INTEGER-VALUE>\r
-                <INTEGER-VALUE>\r
-                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfNumberOfDynamicCanTXPduIds</DEFINITION-REF>\r
-                  <VALUE>0</VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfNumberOfDynamicCanTXPduIds</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
                 </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="77a1c8df-9b63-43a0-a4ff-077eb7a70ca3">\r
+                <CONTAINER UUID="de0010c7-e224-4341-a27a-b88424103f34">\r
                   <SHORT-NAME>Hoh_1</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfInitHohConfig</DEFINITION-REF>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="6f6b371c-0e02-4956-a460-a2fb442bbba2">\r
+                    <CONTAINER UUID="5b415083-c3b5-4b5f-b4bc-e71b49e1ffe9">\r
                       <SHORT-NAME>Hth_1</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfInitHohConfig/CanIfHthConfig</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                     </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="776111b5-d8e1-4761-99da-bb49758c8ce4">\r
+                <CONTAINER UUID="adadedd5-f56c-4751-ac5d-5048c07faa64">\r
                   <SHORT-NAME>Tx_PDU_1</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfInitConfiguration/CanIfTxPduConfig</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="9e6340fb-355c-449b-8893-47b29de9563e">\r
+            <CONTAINER UUID="618e77b5-eebf-46e3-ba52-756f80010907">\r
               <SHORT-NAME>CanIfPrivateConfiguration</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfPrivateConfiguration</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </ENUMERATION-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="566ba0a0-3510-4362-8393-9fd6f6ca814b">\r
+            <CONTAINER UUID="0ed5a5e2-65c5-429c-b717-8e87fc184cef">\r
               <SHORT-NAME>CanIfPublicConfiguration</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfPublicConfiguration</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="cd75909f-2b20-400c-b8d7-e5b38035729b">\r
+            <CONTAINER UUID="c8cdffa3-3e6e-48d5-bfc0-1b25cc610b6c">\r
               <SHORT-NAME>CanIfTransceiverDrvConfig</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfTransceiverDrvConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
             </CONTAINER>\r
-            <CONTAINER UUID="499b42e1-6f6b-4538-8a91-0f7094a93bbb">\r
+            <CONTAINER UUID="d0bb0449-11b0-4815-8fc4-d98b626da887">\r
               <SHORT-NAME>CHANNEL_0</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/CanIf/CanIfControllerConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="2e00d0d1-0988-4c08-ad75-bdae4f91d955">\r
+        <MODULE-CONFIGURATION UUID="b4e9f534-4441-4a52-968c-fb41e20aa6a0">\r
           <SHORT-NAME>Com</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Com</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="e17d3557-1823-432e-82f1-79f6ef3d6f1e">\r
+            <CONTAINER UUID="64ec3a02-f282-4783-a9d5-1dd92e3cf935">\r
               <SHORT-NAME>ComConfig</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="135d0a3c-9424-4d62-83e3-209e6df61b3c">\r
+                <CONTAINER UUID="b8175764-efe9-441f-adc2-1a4077666cce">\r
                   <SHORT-NAME>TxGroup</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPduGroup</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                     </INTEGER-VALUE>\r
                   </PARAMETER-VALUES>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="ffba79df-1b67-45c4-a698-55fa8de41e75">\r
+                <CONTAINER UUID="66b0d698-8aa0-4883-a45b-02b0746f4636">\r
                   <SHORT-NAME>LedCommandTx</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                     </REFERENCE-VALUE>\r
                   </REFERENCE-VALUES>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="589f70b4-7be9-46ed-8d65-650ed9e892e6">\r
+                    <CONTAINER UUID="c73c2651-058c-4884-9128-d56d4420c1f3">\r
                       <SHORT-NAME>ComTxIPdu</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                         </INTEGER-VALUE>\r
                       </PARAMETER-VALUES>\r
                       <SUB-CONTAINERS>\r
-                        <CONTAINER UUID="1706886c-5fb0-427b-8342-01ef5de6599d">\r
-                          <SHORT-NAME>ComTxModeTrue</SHORT-NAME>\r
-                          <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue</DEFINITION-REF>\r
-                          <SUB-CONTAINERS>\r
-                            <CONTAINER UUID="6b143b52-12fb-4cde-9e0f-524a03019dbc">\r
-                              <SHORT-NAME>ComTxMode</SHORT-NAME>\r
-                              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode</DEFINITION-REF>\r
-                              <PARAMETER-VALUES>\r
-                                <ENUMERATION-VALUE>\r
-                                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeMode</DEFINITION-REF>\r
-                                  <VALUE>DIRECT</VALUE>\r
-                                </ENUMERATION-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeNumberOfRepetitions</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeRepetitionPeriodFactor</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeTimeOffsetFactor</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                                <INTEGER-VALUE>\r
-                                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeTimePeriodFactor</DEFINITION-REF>\r
-                                  <VALUE>0</VALUE>\r
-                                </INTEGER-VALUE>\r
-                              </PARAMETER-VALUES>\r
-                            </CONTAINER>\r
-                          </SUB-CONTAINERS>\r
-                        </CONTAINER>\r
-                        <CONTAINER UUID="60596db3-da0f-4d15-90ab-0c839821e586">\r
+                        <CONTAINER UUID="55257223-b898-4815-abed-5062063a6b8b">\r
                           <SHORT-NAME>ComTxModeTrue</SHORT-NAME>\r
                           <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue</DEFINITION-REF>\r
                           <SUB-CONTAINERS>\r
-                            <CONTAINER UUID="7fedcbcb-f025-4cc7-85ff-7ec66181ea1b">\r
+                            <CONTAINER UUID="51a3dd10-c265-46ad-a9b1-f875238bb8c2">\r
                               <SHORT-NAME>ComTxMode</SHORT-NAME>\r
                               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode</DEFINITION-REF>\r
                               <PARAMETER-VALUES>\r
                     </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
-                <CONTAINER UUID="67c0041f-c216-4529-9495-047baae82663">\r
+                <CONTAINER UUID="96abce40-9742-4c44-a7f2-83171ff1dc8e">\r
                   <SHORT-NAME>SetLedLevelTx</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComConfig/ComSignal</DEFINITION-REF>\r
                   <PARAMETER-VALUES>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="602889dd-7c81-42dd-b229-c61f51a1d53a">\r
+            <CONTAINER UUID="8a567a5a-600d-4b61-942b-a046dce0f07d">\r
               <SHORT-NAME>ComGeneral</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Com/ComGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                   <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
               </PARAMETER-VALUES>\r
-            </CONTAINER>\r
-          </CONTAINERS>\r
-        </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="2d3788ee-3b15-4847-a853-4c422afde50a">\r
-          <SHORT-NAME>EcuC</SHORT-NAME>\r
-          <ADMIN-DATA>\r
-            <SDGS>\r
-              <SDG/>\r
-              <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
-              </SDG>\r
-            </SDGS>\r
-          </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuC</DEFINITION-REF>\r
-          <CONTAINERS>\r
-            <CONTAINER UUID="cdd24aa3-8c43-4f58-b73e-b0fa7b8b6df0">\r
-              <SHORT-NAME>PduCollection</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection</DEFINITION-REF>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="8c81925b-ee12-4860-bbe9-6893abf6866d">\r
+          <SHORT-NAME>EcuC</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuC</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="2680a1e1-37a7-43dc-a9b8-820a78d0e6dd">\r
+              <SHORT-NAME>PduCollection</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection</DEFINITION-REF>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="2c6a8c0f-cccb-4cd6-b807-2f273efb6077">\r
+                  <SHORT-NAME>LedCommandTx</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection/Pdu</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/EcuC/PduCollection/Pdu/PduLength</DEFINITION-REF>\r
+                      <VALUE>64</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="45cc3b0a-a0c2-4368-8950-4fd43999d34d">\r
+          <SHORT-NAME>Os</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.7</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Os</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="85776455-d0ad-42aa-943b-eaf5370c764a">\r
+              <SHORT-NAME>OsOS</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsStackMonitoring</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsOS/OsStatus</DEFINITION-REF>\r
+                  <VALUE>EXTENDED</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseGetServiceId</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseParameterAccess</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsUseResScheduler</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsTickFrequency</DEFINITION-REF>\r
+                  <VALUE>1000</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsInterruptStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsIdleStackSize</DEFINITION-REF>\r
+                  <VALUE>512</VALUE>\r
+                </INTEGER-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsUseDebug</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugTask</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugAlarm</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugResource</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugScheduleTable</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/ArcCoreOsDebugEvent</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="3b9e5e09-7789-4dd0-80f9-8336f61037b2">\r
+                  <SHORT-NAME>OsHooks</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsOS/OsHooks</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsErrorHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPostTaskHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsPreTaskHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsProtectionHook</DEFINITION-REF>\r
+                      <VALUE>false</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsShutdownHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                    <BOOLEAN-VALUE>\r
+                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Os/OsOS/OsHooks/OsStartupHook</DEFINITION-REF>\r
+                      <VALUE>true</VALUE>\r
+                    </BOOLEAN-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="78d54bdf-c217-4592-b670-104b1dbbfc06">\r
+              <SHORT-NAME>ComAlarm</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm</DEFINITION-REF>\r
+              <REFERENCE-VALUES>\r
+                <REFERENCE-VALUE>\r
+                  <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmCounterRef</DEFINITION-REF>\r
+                  <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/OsTick</VALUE-REF>\r
+                </REFERENCE-VALUE>\r
+              </REFERENCE-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="ac32d5ae-8d87-4122-a8f6-b3272edafca6">\r
+                  <SHORT-NAME>OsAlarmAutostart</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime</DEFINITION-REF>\r
+                      <VALUE>5</VALUE>\r
+                    </INTEGER-VALUE>\r
+                    <ENUMERATION-VALUE>\r
+                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType</DEFINITION-REF>\r
+                      <VALUE>RELATIVE</VALUE>\r
+                    </ENUMERATION-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime</DEFINITION-REF>\r
+                      <VALUE>20</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+                <CONTAINER UUID="4074607e-a4c0-440e-a1cc-167c05a9ec83">\r
+                  <SHORT-NAME>OsAlarmActivateTask</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask</DEFINITION-REF>\r
+                  <REFERENCE-VALUES>\r
+                    <REFERENCE-VALUE>\r
+                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef</DEFINITION-REF>\r
+                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/ComTask</VALUE-REF>\r
+                    </REFERENCE-VALUE>\r
+                  </REFERENCE-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="38528920-a11b-4e23-a952-969bdd19bc4b">\r
+              <SHORT-NAME>ReadSwAlarm</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm</DEFINITION-REF>\r
+              <REFERENCE-VALUES>\r
+                <REFERENCE-VALUE>\r
+                  <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmCounterRef</DEFINITION-REF>\r
+                  <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/OsTick</VALUE-REF>\r
+                </REFERENCE-VALUE>\r
+              </REFERENCE-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="802dd1d5-57ad-4ba6-a068-5c97822717e6">\r
+                  <SHORT-NAME>OsAlarmAutostart</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart</DEFINITION-REF>\r
+                  <PARAMETER-VALUES>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime</DEFINITION-REF>\r
+                      <VALUE>10</VALUE>\r
+                    </INTEGER-VALUE>\r
+                    <ENUMERATION-VALUE>\r
+                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType</DEFINITION-REF>\r
+                      <VALUE>RELATIVE</VALUE>\r
+                    </ENUMERATION-VALUE>\r
+                    <INTEGER-VALUE>\r
+                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime</DEFINITION-REF>\r
+                      <VALUE>30</VALUE>\r
+                    </INTEGER-VALUE>\r
+                  </PARAMETER-VALUES>\r
+                </CONTAINER>\r
+                <CONTAINER UUID="fb1d868d-8d1b-4977-a0cc-e2eea00b912b">\r
+                  <SHORT-NAME>OsAlarmActivateTask</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask</DEFINITION-REF>\r
+                  <REFERENCE-VALUES>\r
+                    <REFERENCE-VALUE>\r
+                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef</DEFINITION-REF>\r
+                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Os/ReadSwitches</VALUE-REF>\r
+                    </REFERENCE-VALUE>\r
+                  </REFERENCE-VALUES>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="299edb5c-e9bb-4cb7-99f2-96078c8ef889">\r
+              <SHORT-NAME>OsTick</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsCounter</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMaxAllowedValue</DEFINITION-REF>\r
+                  <VALUE>65535</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterMinCycle</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterTicksPerBase</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsCounter/OsCounterType</DEFINITION-REF>\r
+                  <VALUE>OS_TICK</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="1672b97f-c474-47c9-9e3b-c4fb8f26804b">\r
+              <SHORT-NAME>ComTask</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
+                  <VALUE>10</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
+                  <VALUE>BASIC</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
+                  <VALUE>FULL</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="7997f4d1-9b0c-4282-ba4c-5fdc1708411f">\r
+              <SHORT-NAME>ReadSwitches</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
+                  <VALUE>5</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
+                  <VALUE>BASIC</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
+                  <VALUE>FULL</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="dee9715a-4fa7-42f3-b692-a89b671c2578">\r
+              <SHORT-NAME>StartupTask</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskActivation</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskPriority</DEFINITION-REF>\r
+                  <VALUE>20</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskProcessType</DEFINITION-REF>\r
+                  <VALUE>BASIC</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsTask/ArcCoreOsTaskStackSize</DEFINITION-REF>\r
+                  <VALUE>2048</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Os/OsTask/OsTaskSchedule</DEFINITION-REF>\r
+                  <VALUE>FULL</VALUE>\r
+                </ENUMERATION-VALUE>\r
+              </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="66b0b52d-c9a3-4775-ac7d-ebe6da0375ba">\r
-                  <SHORT-NAME>LedCommandTx</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuC/PduCollection/Pdu</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/EcuC/PduCollection/Pdu/PduLength</DEFINITION-REF>\r
-                      <VALUE>64</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
+                <CONTAINER UUID="030fc701-0f8e-4d53-ad7b-8e341ef54b74">\r
+                  <SHORT-NAME>OsTaskAutostart</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Os/OsTask/OsTaskAutostart</DEFINITION-REF>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="c2fe140a-a879-40ee-95a6-721a3270622d">\r
-          <SHORT-NAME>Can</SHORT-NAME>\r
+        <MODULE-CONFIGURATION UUID="560e71ec-57fc-4fc4-bfaf-a07ebc650bcd">\r
+          <SHORT-NAME>PduR</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.1</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
-          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Can</DEFINITION-REF>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/PduR</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="bb813aa2-555c-4830-9e28-922f492f9af7">\r
-              <SHORT-NAME>CanConfigSet</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet</DEFINITION-REF>\r
-              <SUB-CONTAINERS>\r
-                <CONTAINER UUID="804b2e09-e633-4111-bf8b-1e9029cf6ec4">\r
-                  <SHORT-NAME>Controller_1</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanController</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerActivation</DEFINITION-REF>\r
-                      <VALUE>true</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <BOOLEAN-VALUE>\r
-                      <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerLoopback</DEFINITION-REF>\r
-                      <VALUE>false</VALUE>\r
-                    </BOOLEAN-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerBaudRate</DEFINITION-REF>\r
-                      <VALUE>125</VALUE>\r
-                    </INTEGER-VALUE>\r
-                    <ENUMERATION-VALUE>\r
-                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanHWControllerId</DEFINITION-REF>\r
-                      <VALUE>FLEXCAN_A</VALUE>\r
-                    </ENUMERATION-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerPropSeg</DEFINITION-REF>\r
-                      <VALUE>4</VALUE>\r
-                    </INTEGER-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerSeg1</DEFINITION-REF>\r
-                      <VALUE>4</VALUE>\r
-                    </INTEGER-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanControllerSeg2</DEFINITION-REF>\r
-                      <VALUE>4</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                  <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="6f2d1b79-8d77-45da-b0eb-23e0b38b398a">\r
-                      <SHORT-NAME>Mask_1</SHORT-NAME>\r
-                      <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanController/CanFilterMask</DEFINITION-REF>\r
-                      <PARAMETER-VALUES>\r
-                        <INTEGER-VALUE>\r
-                          <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanController/CanFilterMask/CanFilterMaskValue</DEFINITION-REF>\r
-                          <VALUE>0</VALUE>\r
-                        </INTEGER-VALUE>\r
-                      </PARAMETER-VALUES>\r
-                    </CONTAINER>\r
-                  </SUB-CONTAINERS>\r
-                </CONTAINER>\r
-                <CONTAINER UUID="af852068-aa5f-4a9b-ba0a-2c9ee38a2a90">\r
-                  <SHORT-NAME>HWObj_1</SHORT-NAME>\r
-                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject</DEFINITION-REF>\r
-                  <PARAMETER-VALUES>\r
-                    <ENUMERATION-VALUE>\r
-                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanIdType</DEFINITION-REF>\r
-                      <VALUE>EXTENDED</VALUE>\r
-                    </ENUMERATION-VALUE>\r
-                    <ENUMERATION-VALUE>\r
-                      <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanObjectType</DEFINITION-REF>\r
-                      <VALUE>TRANSMIT</VALUE>\r
-                    </ENUMERATION-VALUE>\r
-                    <INTEGER-VALUE>\r
-                      <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanMBMask</DEFINITION-REF>\r
-                      <VALUE>0</VALUE>\r
-                    </INTEGER-VALUE>\r
-                  </PARAMETER-VALUES>\r
-                  <REFERENCE-VALUES>\r
-                    <REFERENCE-VALUE>\r
-                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanControllerRef</DEFINITION-REF>\r
-                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Can/CanConfigSet/Controller_1</VALUE-REF>\r
-                    </REFERENCE-VALUE>\r
-                    <REFERENCE-VALUE>\r
-                      <DEFINITION-REF DEST="REFERENCE-PARAM-DEF">/ArcCore/Can/CanConfigSet/CanHardwareObject/CanFilterMaskRef</DEFINITION-REF>\r
-                      <VALUE-REF DEST="CONTAINER">/switch_node_mpc551x/Can/CanConfigSet/Controller_1/Mask_1</VALUE-REF>\r
-                    </REFERENCE-VALUE>\r
-                  </REFERENCE-VALUES>\r
-                </CONTAINER>\r
-              </SUB-CONTAINERS>\r
-            </CONTAINER>\r
-            <CONTAINER UUID="b8b3c932-7283-4ffa-b059-8265b77f7a6c">\r
-              <SHORT-NAME>CanGeneral</SHORT-NAME>\r
-              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Can/CanGeneral</DEFINITION-REF>\r
+            <CONTAINER UUID="c02d4309-5afc-4c03-8451-668b3b8bd8ba">\r
+              <SHORT-NAME>PduRGeneral</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/PduR/PduRGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanGeneral/CanDevErrorDetection</DEFINITION-REF>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRCanIfSupport</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRCanTpSupport</DEFINITION-REF>\r
                   <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanGeneral/CanMultiplexedTransmission</DEFINITION-REF>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRComSupport</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRDcmSupport</DEFINITION-REF>\r
                   <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
                 <BOOLEAN-VALUE>\r
-                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Can/CanGeneral/CanVersionInfoApi</DEFINITION-REF>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRDevErrorDetect</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRFifoTxBufferSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRFrIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRFrTpSupport</DEFINITION-REF>\r
                   <VALUE>false</VALUE>\r
                 </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRGatewayOperation</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRIPduMSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRLinIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRLinTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMemorySize</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingLoModule</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingLoRxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingLoTxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingUpModule</DEFINITION-REF>\r
+                  <VALUE></VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingUpRxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMinimumRoutingUpTxPduId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastFromIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastFromTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastToIfSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRMulticastToTpSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRSbTxBufferSupport</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRSingleIf</DEFINITION-REF>\r
+                  <VALUE>CAN_IF</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <ENUMERATION-VALUE>\r
+                  <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRSingleTp</DEFINITION-REF>\r
+                  <VALUE>CAN_TP</VALUE>\r
+                </ENUMERATION-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRVersionInfoApi</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/PduR/PduRGeneral/PduRZeroCostOperation</DEFINITION-REF>\r
+                  <VALUE>true</VALUE>\r
+                </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+            <CONTAINER UUID="31ab650e-b697-4204-ad91-3728915cef20">\r
+              <SHORT-NAME>PduRGlobalConfig</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/PduR/PduRGlobalConfig</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/PduR/PduRGlobalConfig/PduRConfigurationId</DEFINITION-REF>\r
+                  <VALUE>0</VALUE>\r
+                </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
+              <SUB-CONTAINERS>\r
+                <CONTAINER UUID="c988f2e6-82ba-4053-877e-3a973ae704e5">\r
+                  <SHORT-NAME>PduRRoutingTable</SHORT-NAME>\r
+                  <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/PduR/PduRGlobalConfig/PduRRoutingTable</DEFINITION-REF>\r
+                </CONTAINER>\r
+              </SUB-CONTAINERS>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
-        <MODULE-CONFIGURATION UUID="15a17a81-e680-46ac-ba14-dc138f87f865">\r
+        <MODULE-CONFIGURATION UUID="28a14bc0-3b00-496d-94a3-d7046efc2b8c">\r
           <SHORT-NAME>Port</SHORT-NAME>\r
           <ADMIN-DATA>\r
             <SDGS>\r
               <SDG/>\r
               <SDG GID="Arccore::ModuleOptions">\r
-                <SD GID="ARCCORE_EDITOR_VERSION">1.0.0</SD>\r
                 <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
           <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/Port</DEFINITION-REF>\r
           <CONTAINERS>\r
-            <CONTAINER UUID="0c113838-c000-4b9c-8136-8a3230d94bab">\r
+            <CONTAINER UUID="c6b54ed6-2d0c-4028-b87d-a62010a7947c">\r
               <SHORT-NAME>PortConfigSet</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet</DEFINITION-REF>\r
               <SUB-CONTAINERS>\r
-                <CONTAINER UUID="da28e71f-40c6-4ae5-9793-a80673f4d5ad">\r
-                  <SHORT-NAME>PortContainer_1</SHORT-NAME>\r
+                <CONTAINER UUID="586de8a0-4877-4e82-9f18-f73fb8b906eb">\r
+                  <SHORT-NAME>Can</SHORT-NAME>\r
                   <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer</DEFINITION-REF>\r
                   <SUB-CONTAINERS>\r
-                    <CONTAINER UUID="22ada879-2a20-4f3d-b420-ab5d66ad0562">\r
+                    <CONTAINER UUID="b3bdba46-3617-420d-a72d-a33419b81f18">\r
                       <SHORT-NAME>CNTX_A</SHORT-NAME>\r
                       <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin</DEFINITION-REF>\r
                       <PARAMETER-VALUES>\r
                         </ENUMERATION-VALUE>\r
                       </PARAMETER-VALUES>\r
                     </CONTAINER>\r
+                    <CONTAINER UUID="10976fd3-cbb3-493d-91cb-35a890f8ea6b">\r
+                      <SHORT-NAME>CNRX_A</SHORT-NAME>\r
+                      <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin</DEFINITION-REF>\r
+                      <PARAMETER-VALUES>\r
+                        <ENUMERATION-VALUE>\r
+                          <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinPullMode</DEFINITION-REF>\r
+                          <VALUE>PULL_NONE</VALUE>\r
+                        </ENUMERATION-VALUE>\r
+                        <ENUMERATION-VALUE>\r
+                          <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinDirection</DEFINITION-REF>\r
+                          <VALUE>PORT_PIN_IN</VALUE>\r
+                        </ENUMERATION-VALUE>\r
+                        <BOOLEAN-VALUE>\r
+                          <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinDirectionChangeable</DEFINITION-REF>\r
+                          <VALUE>false</VALUE>\r
+                        </BOOLEAN-VALUE>\r
+                        <BOOLEAN-VALUE>\r
+                          <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinHysteresisEnabled</DEFINITION-REF>\r
+                          <VALUE>false</VALUE>\r
+                        </BOOLEAN-VALUE>\r
+                        <BOOLEAN-VALUE>\r
+                          <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinOpenDrainEnabled</DEFINITION-REF>\r
+                          <VALUE>false</VALUE>\r
+                        </BOOLEAN-VALUE>\r
+                        <INTEGER-VALUE>\r
+                          <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinId</DEFINITION-REF>\r
+                          <VALUE>49</VALUE>\r
+                        </INTEGER-VALUE>\r
+                        <ENUMERATION-VALUE>\r
+                          <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinSlewRate</DEFINITION-REF>\r
+                          <VALUE>SLEW_RATE_MIN</VALUE>\r
+                        </ENUMERATION-VALUE>\r
+                        <ENUMERATION-VALUE>\r
+                          <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinLevelValue</DEFINITION-REF>\r
+                          <VALUE>PORT_PIN_LEVEL_LOW</VALUE>\r
+                        </ENUMERATION-VALUE>\r
+                        <ENUMERATION-VALUE>\r
+                          <DEFINITION-REF DEST="ENUMERATION-PARAM-DEF">/ArcCore/Port/PortConfigSet/PortContainer/PortPin/PortPinMode</DEFINITION-REF>\r
+                          <VALUE>PORT_PIN_MODE_CAN</VALUE>\r
+                        </ENUMERATION-VALUE>\r
+                      </PARAMETER-VALUES>\r
+                    </CONTAINER>\r
                   </SUB-CONTAINERS>\r
                 </CONTAINER>\r
               </SUB-CONTAINERS>\r
             </CONTAINER>\r
-            <CONTAINER UUID="40fe25f0-7ca1-40dd-b3b9-0dea04614cf6">\r
+            <CONTAINER UUID="14037ce8-9c63-4019-986f-5e221ee88caf">\r
               <SHORT-NAME>PortGeneral</SHORT-NAME>\r
               <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/Port/PortGeneral</DEFINITION-REF>\r
               <PARAMETER-VALUES>\r
             </CONTAINER>\r
           </CONTAINERS>\r
         </MODULE-CONFIGURATION>\r
+        <MODULE-CONFIGURATION UUID="4e4b8e32-0309-4da2-86b0-2fb7d7450820">\r
+          <SHORT-NAME>EcuM</SHORT-NAME>\r
+          <ADMIN-DATA>\r
+            <SDGS>\r
+              <SDG/>\r
+              <SDG GID="Arccore::ModuleOptions">\r
+                <SD GID="GENERATE_AND_VALIDATE">true</SD>\r
+                <SD GID="ARCCORE_EDITOR_VERSION">2.0.0</SD>\r
+              </SDG>\r
+            </SDGS>\r
+          </ADMIN-DATA>\r
+          <DEFINITION-REF DEST="MODULE-DEF">/ArcCore/EcuM</DEFINITION-REF>\r
+          <CONTAINERS>\r
+            <CONTAINER UUID="03e49c2b-e150-484b-93c4-1805e3ca0ec7">\r
+              <SHORT-NAME>EcuMGeneral</SHORT-NAME>\r
+              <DEFINITION-REF DEST="PARAM-CONF-CONTAINER-DEF">/ArcCore/EcuM/EcuMGeneral</DEFINITION-REF>\r
+              <PARAMETER-VALUES>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMDevErrorDetect</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMIncludeNvramMgr</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+                <BOOLEAN-VALUE>\r
+                  <DEFINITION-REF DEST="BOOLEAN-PARAM-DEF">/ArcCore/EcuM/EcuMGeneral/EcuMVersionInfoApi</DEFINITION-REF>\r
+                  <VALUE>false</VALUE>\r
+                </BOOLEAN-VALUE>\r
+              </PARAMETER-VALUES>\r
+            </CONTAINER>\r
+          </CONTAINERS>\r
+        </MODULE-CONFIGURATION>\r
       </ELEMENTS>\r
     </AR-PACKAGE>\r
   </TOP-LEVEL-PACKAGES></AUTOSAR>\r