Revision 75c1f470 core/src/aos_main.cpp
core/src/aos_main.cpp | ||
---|---|---|
64 | 64 |
*/ |
65 | 65 |
#define DELAYEVENT_MASK EVENT_MASK(4) |
66 | 66 |
|
67 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) || defined(__DOXYGEN__) |
|
67 |
#if ((AMIROOS_CFG_SSSP_ENABLE == true) && (HAL_USE_CAN == TRUE)) || defined(__DOXYGEN__) |
|
68 |
#define SSSP_STAGE3_ENABLE true |
|
69 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) && (HAL_USE_CAN == TRUE) */ |
|
70 |
#define SSSP_STAGE3_ENABLE false |
|
71 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) && (HAL_USE_CAN == TRUE) */ |
|
72 |
|
|
73 |
#if (SSSP_STAGE3_ENABLE == true) || defined(__DOXYGEN__) |
|
68 | 74 |
|
69 | 75 |
/** |
70 | 76 |
* @brief CAN message identifier for initialization of the SSSP stack initialization sequence. |
... | ... | |
81 | 87 |
*/ |
82 | 88 |
#define SSSP_STACKINIT_CANMSGID_ABORT 0x001 |
83 | 89 |
|
84 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
90 |
#endif /* (SSSP_STAGE3_ENABLE == true) */
|
|
85 | 91 |
|
92 |
#if (AMIROOS_CFG_SSSP_ENABLE != true) || defined(__DOXYGEN__) |
|
86 | 93 |
/** |
87 | 94 |
* @brief Default shutdown mode if SSSP is unavailable. |
88 | 95 |
*/ |
89 | 96 |
#define AOS_SHUTDOWN_DEFAULT AOS_SHUTDOWN_DEEPSLEEP |
90 |
|
|
91 | 97 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */ |
92 | 98 |
|
99 |
#if (HAL_USE_CAN == TRUE) || defined(__DOXYGEN__) |
|
93 | 100 |
/** |
94 | 101 |
* @brief CAN message identifier for calender synchronization message. |
95 | 102 |
*/ |
96 | 103 |
#define CALENDERSYNC_CANMSGID 0x004 |
104 |
#endif /* (HAL_USE_CAN == TRUE) */ |
|
97 | 105 |
|
98 | 106 |
/******************************************************************************/ |
99 | 107 |
/* EXPORTED VARIABLES */ |
... | ... | |
159 | 167 |
return; |
160 | 168 |
} |
161 | 169 |
|
162 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) || defined(__DOXYGEN__)
|
|
170 |
#if (SSSP_STAGE3_ENABLE == true) || defined(__DOXYGEN__)
|
|
163 | 171 |
/** |
164 | 172 |
* @brief Callback function to be used during SSSP stack initialization sequence. |
165 | 173 |
* |
... | ... | |
175 | 183 |
|
176 | 184 |
return; |
177 | 185 |
} |
178 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
186 |
#endif /* (SSSP_STAGE3_ENABLE == true) */
|
|
179 | 187 |
|
180 | 188 |
/** |
181 | 189 |
* @brief Helper function to serialize data. |
... | ... | |
278 | 286 |
|
279 | 287 |
#endif /* (HAL_USE_RTC == TRUE) */ |
280 | 288 |
|
281 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) || defined(__DOXYGEN__)
|
|
289 |
#if (SSSP_STAGE3_ENABLE) || defined(__DOXYGEN__)
|
|
282 | 290 |
/** |
283 | 291 |
* @brief Implementation of the SSSP module stack initialization sequence (startup phase 3). |
284 | 292 |
* |
... | ... | |
885 | 893 |
|
886 | 894 |
return shutdown; |
887 | 895 |
} |
888 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
896 |
#endif /* (SSSP_STAGE3_ENABLE == true) */
|
|
889 | 897 |
|
890 | 898 |
/** |
891 | 899 |
* @brief Application entry point. |
... | ... | |
990 | 998 |
#if defined(MODULE_INIT_PERIPHERY_COMM) |
991 | 999 |
MODULE_INIT_PERIPHERY_COMM(); |
992 | 1000 |
#endif /* defined(MODULE_INIT_PERIPHERY_COMM) */ |
993 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
|
994 |
// CAN (mandatory) |
|
995 |
canStart(&MODULE_HAL_CAN, &moduleHalCanConfig); |
|
996 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */ |
|
1001 |
#if (SSSP_STAGE3_ENABLE == true ) |
|
1002 |
// CAN |
|
1003 |
if (MODULE_HAL_CAN.state == CAN_STOP) { |
|
1004 |
canStart(&MODULE_HAL_CAN, &moduleHalCanConfig); |
|
1005 |
} |
|
1006 |
#endif /* (SSSP_STAGE3_ENABLE == true) */ |
|
997 | 1007 |
// user interface (if any) |
998 | 1008 |
#if defined(MODULE_HAL_PROGIF) |
999 | 1009 |
aosIOChannelInit(&_stdiochannel, (BaseAsynchronousChannel*)&MODULE_HAL_PROGIF); |
... | ... | |
1088 | 1098 |
} |
1089 | 1099 |
} |
1090 | 1100 |
|
1101 |
#if (HAL_USE_CAN == TRUE) |
|
1102 |
|
|
1091 | 1103 |
/* |
1092 | 1104 |
* There must be no delays at this point, thus no hook is allowed. |
1093 | 1105 |
*/ |
... | ... | |
1096 | 1108 |
if (shutdown == AOS_SHUTDOWN_NONE) { |
1097 | 1109 |
shutdown = _ssspModuleStackInitialization(); |
1098 | 1110 |
} |
1099 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */ |
|
1100 | 1111 |
|
1101 | 1112 |
/* |
1102 | 1113 |
* There must be no delays at this point, thus no hook is allowed. |
1103 | 1114 |
*/ |
1104 | 1115 |
|
1105 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) && (HAL_USE_RTC == TRUE)
|
|
1116 |
#if (HAL_USE_RTC == TRUE) |
|
1106 | 1117 |
/* synchronize calendars */ |
1107 | 1118 |
if (shutdown == AOS_SHUTDOWN_NONE) { |
1108 | 1119 |
#if (AMIROOS_CFG_SSSP_MASTER == true) |
... | ... | |
1160 | 1171 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */ |
1161 | 1172 |
aosDbgPrintf("\n"); |
1162 | 1173 |
} |
1163 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) && (HAL_USE_RTC == TRUE) */ |
|
1174 |
#endif /* (HAL_USE_RTC == TRUE) */ |
|
1175 |
#endif /* (HAL_USE_CAN == TRUE) */ |
|
1176 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */ |
|
1164 | 1177 |
|
1165 | 1178 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_8) |
1166 | 1179 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_8_ARGS) |
... | ... | |
1324 | 1337 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3) */ |
1325 | 1338 |
|
1326 | 1339 |
/* stop all periphery communication */ |
1327 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
|
1328 |
// CAN (mandatory) |
|
1329 |
canStop(&MODULE_HAL_CAN); |
|
1330 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */ |
|
1331 | 1340 |
#if defined(MODULE_SHUTDOWN_PERIPHERY_COMM) |
1332 | 1341 |
MODULE_SHUTDOWN_PERIPHERY_COMM(); |
1333 | 1342 |
#endif /* defined(MODULE_SHUTDOWN_PERIPHERY_COMM) */ |
1343 |
#if (HAL_USE_CAN == TRUE) |
|
1344 |
if (MODULE_HAL_CAN.state != CAN_STOP) { |
|
1345 |
canStop(&MODULE_HAL_CAN); |
|
1346 |
} |
|
1347 |
#endif /* (HAL_USE_CAN == TRUE) */ |
|
1334 | 1348 |
|
1335 | 1349 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4) |
1336 | 1350 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4_ARGS) |
Also available in: Unified diff