Revision 7de0cc90
core/inc/aos_confcheck.h | ||
---|---|---|
43 | 43 |
|
44 | 44 |
/* kernel parameters and options */ |
45 | 45 |
|
46 |
#ifndef AMIROOS_CFG_DBG
|
|
46 |
#if !defined(AMIROOS_CFG_DBG)
|
|
47 | 47 |
#error "AMIROOS_CFG_DBG not defined in aosconf.h" |
48 |
#endif |
|
48 |
#endif /* !defined(AMIROOS_CFG_DBG) */
|
|
49 | 49 |
|
50 |
#ifndef AMIROOS_CFG_TESTS_ENABLE
|
|
50 |
#if !defined(AMIROOS_CFG_TESTS_ENABLE)
|
|
51 | 51 |
#error "AMIROOS_CFG_TESTS_ENABLE not defined in aosconf.h" |
52 |
#endif |
|
52 |
#endif /* !defined(AMIROOS_CFG_TESTS_ENABLE) */
|
|
53 | 53 |
|
54 |
#ifndef AMIROOS_CFG_PROFILE
|
|
54 |
#if !defined(AMIROOS_CFG_PROFILE)
|
|
55 | 55 |
#error "AMIROOS_CFG_PROFILE not defined in aosconf.h" |
56 |
#endif |
|
56 |
#endif /* !defined(AMIROOS_CFG_PROFILE) */
|
|
57 | 57 |
|
58 |
#ifndef AMIROOS_CFG_MAIN_LOOP_TIMEOUT
|
|
58 |
#if !defined(AMIROOS_CFG_MAIN_LOOP_TIMEOUT)
|
|
59 | 59 |
#error "AMIROOS_CFG_MAIN_LOOP_TIMEOUT not defined in aosconf.h" |
60 |
#endif |
|
60 |
#endif /* !defined(AMIROOS_CFG_MAIN_LOOP_TIMEOUT) */
|
|
61 | 61 |
|
62 | 62 |
/* SSSP parameters and options */ |
63 | 63 |
|
64 |
#ifndef AMIROOS_CFG_SSSP_ENABLE
|
|
64 |
#if !defined(AMIROOS_CFG_SSSP_ENABLE)
|
|
65 | 65 |
#error "AMIROOS_CFG_SSSP_ENABLE not defined in aosconf.h" |
66 |
#endif |
|
66 |
#endif /* !defined(AMIROOS_CFG_SSSP_ENABLE) */
|
|
67 | 67 |
|
68 | 68 |
# if (AMIROOS_CFG_SSSP_ENABLE == true) |
69 | 69 |
|
70 |
#ifndef AMIROOS_CFG_SSSP_MASTER
|
|
70 |
#if !defined(AMIROOS_CFG_SSSP_MASTER)
|
|
71 | 71 |
#error "AMIROOS_CFG_SSSP_MASTER not defined in aosconf.h" |
72 |
#endif |
|
72 |
#endif /* !defined(AMIROOS_CFG_SSSP_MASTER) */
|
|
73 | 73 |
|
74 |
#ifndef AMIROOS_CFG_SSSP_STACK_START
|
|
74 |
#if !defined(AMIROOS_CFG_SSSP_STACK_START)
|
|
75 | 75 |
#error "AMIROOS_CFG_SSSP_STACK_START not defined in aosconf.h" |
76 |
#endif |
|
76 |
#endif /* !defined(AMIROOS_CFG_SSSP_STACK_START) */
|
|
77 | 77 |
|
78 |
#ifndef AMIROOS_CFG_SSSP_STACK_END
|
|
78 |
#if !defined(AMIROOS_CFG_SSSP_STACK_END)
|
|
79 | 79 |
#error "AMIROOS_CFG_SSSP_STACK_END not defined in aosconf.h" |
80 |
#endif |
|
80 |
#endif /* !defined(AMIROOS_CFG_SSSP_STACK_END) */
|
|
81 | 81 |
|
82 | 82 |
#if (AMIROOS_CFG_SSSP_STACK_START == true) && (AMIROOS_CFG_SSSP_STACK_END == true) |
83 | 83 |
#warning "AMIROOS_CFG_SSSP_STACK_START and AMIROOS_CFG_SSSP_STACK_END both enabled in aosconf.h" |
84 | 84 |
#if (AMIROOS_CFG_SSSP_MASTER != true) |
85 | 85 |
#error "AMIROOS_CFG_SSSP_MASTER must be enabled in this case" |
86 |
#endif |
|
87 |
#endif |
|
86 |
#endif /* (AMIROOS_CFG_SSSP_MASTER != true) */
|
|
87 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START == true) && (AMIROOS_CFG_SSSP_STACK_END == true) */
|
|
88 | 88 |
|
89 |
#ifndef AMIROOS_CFG_SSSP_SIGNALDELAY
|
|
89 |
#if !defined(AMIROOS_CFG_SSSP_SIGNALDELAY)
|
|
90 | 90 |
#error "AMIROOS_CFG_SSSP_SIGNALDELAY not defined in aosconf.h" |
91 |
#endif |
|
91 |
#endif /* !defined(AMIROOS_CFG_SSSP_SIGNALDELAY) */
|
|
92 | 92 |
|
93 |
#ifndef AMIROOS_CFG_SSSP_SYSSYNCPERIOD
|
|
93 |
#if !defined(AMIROOS_CFG_SSSP_SYSSYNCPERIOD)
|
|
94 | 94 |
#error "AMIROOS_CFG_SSSP_SYSSYNCPERIOD not defined in aosconf.h" |
95 |
#endif |
|
95 |
#endif /* !defined(AMIROOS_CFG_SSSP_SYSSYNCPERIOD) */
|
|
96 | 96 |
|
97 |
#endif |
|
97 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
98 | 98 |
|
99 | 99 |
/* system shell options */ |
100 | 100 |
|
101 |
#ifndef AMIROOS_CFG_SHELL_ENABLE
|
|
101 |
#if !defined(AMIROOS_CFG_SHELL_ENABLE)
|
|
102 | 102 |
#error "AMIROOS_CFG_SHELL_ENABLE not defined in aosconf.h" |
103 |
#endif |
|
103 |
#endif /* !defined(AMIROOS_CFG_SHELL_ENABLE) */
|
|
104 | 104 |
|
105 | 105 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) |
106 | 106 |
|
107 |
#ifndef AMIROOS_CFG_SHELL_STACKSIZE
|
|
107 |
#if !defined(AMIROOS_CFG_SHELL_STACKSIZE)
|
|
108 | 108 |
#error "AMIROOS_CFG_SHELL_STACKSIZE not defined in aosconf.h" |
109 |
#endif |
|
109 |
#endif /* !defined(AMIROOS_CFG_SHELL_STACKSIZE) */
|
|
110 | 110 |
|
111 |
#ifndef AMIROOS_CFG_SHELL_THREADPRIO
|
|
111 |
#if !defined(AMIROOS_CFG_SHELL_THREADPRIO)
|
|
112 | 112 |
#error "AMIROOS_CFG_SHELL_THREADPRIO not defined in aosconf.h" |
113 |
#endif |
|
113 |
#endif /* !defined(AMIROOS_CFG_SHELL_THREADPRIO) */
|
|
114 | 114 |
|
115 |
#ifndef AMIROOS_CFG_SHELL_LINEWIDTH
|
|
115 |
#if !defined(AMIROOS_CFG_SHELL_LINEWIDTH)
|
|
116 | 116 |
#error "AMIROOS_CFG_SHELL_LINEWIDTH not defined in aosconf.h" |
117 |
#endif |
|
117 |
#endif /* !defined(AMIROOS_CFG_SHELL_LINEWIDTH) */
|
|
118 | 118 |
|
119 |
#ifndef AMIROOS_CFG_SHELL_MAXARGS
|
|
119 |
#if !defined(AMIROOS_CFG_SHELL_MAXARGS)
|
|
120 | 120 |
#error "AMIROOS_CFG_SHELL_MAXARGS not defined in aosconf.h" |
121 |
#endif |
|
121 |
#endif /* !defined(AMIROOS_CFG_SHELL_MAXARGS) */
|
|
122 | 122 |
|
123 |
#else /* AMIROOS_CFG_SHELL_ENABLE == false */
|
|
123 |
#else /* (AMIROOS_CFG_SHELL_ENABLE == true) */
|
|
124 | 124 |
|
125 | 125 |
#if (AMIROOS_CFG_TESTS_ENABLE == true) |
126 | 126 |
#pragma message "AMiRo-OS shell enabled implicitely via AMIROOS_CFG_TESTS_ENABLE" |
127 |
#endif |
|
127 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
128 | 128 |
|
129 |
#endif /* AMIROOS_CFG_SHELL_ENABLE */
|
|
129 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) */
|
|
130 | 130 |
|
131 | 131 |
/******************************************************************************/ |
132 | 132 |
/* DATA STRUCTURES AND TYPES */ |
core/inc/aos_debug.h | ||
---|---|---|
98 | 98 |
} \ |
99 | 99 |
} |
100 | 100 |
|
101 |
#else /* (AMIROOS_CFG_DBG != true) */
|
|
101 |
#else /* (AMIROOS_CFG_DBG == true) */
|
|
102 | 102 |
|
103 | 103 |
#define aosDbgPrintf(fmt, ...) { \ |
104 | 104 |
(void)(fmt); \ |
... | ... | |
117 | 117 |
(void)(r); \ |
118 | 118 |
} |
119 | 119 |
|
120 |
#endif /* AMIROOS_CFG_DBG */
|
|
120 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
121 | 121 |
|
122 | 122 |
/******************************************************************************/ |
123 | 123 |
/* EXTERN DECLARATIONS */ |
core/inc/aos_iostream.h | ||
---|---|---|
142 | 142 |
/* EXTERN DECLARATIONS */ |
143 | 143 |
/******************************************************************************/ |
144 | 144 |
|
145 |
#ifdef __cplusplus
|
|
145 |
#if defined(__cplusplus)
|
|
146 | 146 |
extern "C" { |
147 |
#endif |
|
147 |
#endif /* defined(__cplusplus) */
|
|
148 | 148 |
void aosIOStreamInit(AosIOStream* stream); |
149 | 149 |
void aosIOChannelInit(AosIOChannel* channel, BaseAsynchronousChannel* asyncchannel); |
150 | 150 |
void aosIOStreamAddChannel(AosIOStream* stream, AosIOChannel* channel); |
... | ... | |
153 | 153 |
void aosIOChannelInputDisable(AosIOChannel* channel); |
154 | 154 |
void aosIOChannelOutputEnable(AosIOChannel* channel); |
155 | 155 |
void aosIOChannelOutputDisable(AosIOChannel* channel); |
156 |
#ifdef __cplusplus
|
|
156 |
#if defined(__cplusplus)
|
|
157 | 157 |
} |
158 |
#endif |
|
158 |
#endif /* defined(__cplusplus) */
|
|
159 | 159 |
|
160 | 160 |
/******************************************************************************/ |
161 | 161 |
/* INLINE FUNCTIONS */ |
core/inc/aos_shell.h | ||
---|---|---|
367 | 367 |
/* EXTERN DECLARATIONS */ |
368 | 368 |
/******************************************************************************/ |
369 | 369 |
|
370 |
#ifdef __cplusplus
|
|
370 |
#if defined(__cplusplus)
|
|
371 | 371 |
extern "C" { |
372 |
#endif |
|
372 |
#endif /* defined(__cplusplus) */
|
|
373 | 373 |
void aosShellInit(aos_shell_t* shell, event_source_t* oseventsource, const char* prompt, char* line, size_t linesize, char** arglist, size_t arglistsize); |
374 | 374 |
void aosShellStreamInit(AosShellStream* stream); |
375 | 375 |
void aosShellChannelInit(AosShellChannel* channel, BaseAsynchronousChannel* asyncchannel); |
... | ... | |
383 | 383 |
void aosShellChannelOutputEnable(AosShellChannel* channel); |
384 | 384 |
void aosShellChannelOutputDisable(AosShellChannel* channel); |
385 | 385 |
THD_FUNCTION(aosShellThread, shell); |
386 |
#ifdef __cplusplus
|
|
386 |
#if defined(__cplusplus)
|
|
387 | 387 |
} |
388 |
#endif |
|
388 |
#endif /* defined(__cplusplus) */
|
|
389 | 389 |
|
390 | 390 |
/******************************************************************************/ |
391 | 391 |
/* INLINE FUNCTIONS */ |
core/inc/aos_system.h | ||
---|---|---|
82 | 82 |
*/ |
83 | 83 |
#define AOS_SYSTEM_SSSP_TIMEOUT (10 * AMIROOS_CFG_SSSP_SIGNALDELAY) |
84 | 84 |
|
85 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
85 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
86 | 86 |
|
87 | 87 |
/******************************************************************************/ |
88 | 88 |
/* SETTINGS */ |
... | ... | |
137 | 137 |
*/ |
138 | 138 |
typedef uint16_t aos_ssspmoduleid_t; |
139 | 139 |
|
140 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
140 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
141 | 141 |
|
142 | 142 |
/** |
143 | 143 |
* @brief AMiRo-OS base system structure. |
... | ... | |
160 | 160 |
*/ |
161 | 161 |
aos_ssspmoduleid_t moduleId; |
162 | 162 |
} sssp; |
163 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
163 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
164 | 164 |
|
165 | 165 |
/** |
166 | 166 |
* @brief System I/O stream. |
... | ... | |
184 | 184 |
} events; |
185 | 185 |
|
186 | 186 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__) |
187 |
|
|
187 | 188 |
/** |
188 | 189 |
* @brief Pointer to the shell object. |
189 | 190 |
*/ |
190 | 191 |
aos_shell_t shell; |
191 |
#endif |
|
192 |
|
|
193 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */ |
|
192 | 194 |
|
193 | 195 |
} aos_system_t; |
194 | 196 |
|
... | ... | |
212 | 214 |
*/ |
213 | 215 |
extern aos_system_t aos; |
214 | 216 |
|
215 |
#ifdef __cplusplus
|
|
217 |
#if defined(__cplusplus)
|
|
216 | 218 |
extern "C" { |
217 |
#endif |
|
219 |
#endif /* defined(__cplusplus) */
|
|
218 | 220 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) |
219 | 221 |
void aosSysInit(const char* shellPrompt); |
220 |
#else |
|
222 |
#else /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
221 | 223 |
void aosSysInit(void); |
222 |
#endif |
|
224 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
223 | 225 |
void aosSysStart(void); |
224 | 226 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) || defined (__DOXYGEN__) |
225 | 227 |
eventmask_t aosSysSsspStartupOsInitSyncCheck(event_listener_t* syncEvtListener); |
226 |
#endif |
|
228 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
227 | 229 |
void aosSysGetUptimeX(aos_timestamp_t* ut); |
228 | 230 |
#if (HAL_USE_RTC == TRUE) |
229 | 231 |
void aosSysGetDateTime(struct tm* dt); |
230 | 232 |
void aosSysSetDateTime(struct tm* dt); |
231 |
#endif /* HAL_USE_RTC == TRUE */
|
|
233 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
232 | 234 |
void aosSysShutdownInit(aos_shutdown_t shutdown); |
233 | 235 |
void aosSysStop(void); |
234 | 236 |
void aosSysDeinit(void); |
235 | 237 |
void aosSysShutdownFinal(aos_shutdown_t shutdown); |
236 |
#ifdef __cplusplus
|
|
238 |
#if defined(__cplusplus)
|
|
237 | 239 |
} |
238 |
#endif |
|
240 |
#endif /* defined(__cplusplus) */
|
|
239 | 241 |
|
240 | 242 |
/******************************************************************************/ |
241 | 243 |
/* INLINE FUNCTIONS */ |
core/inc/aos_thread.h | ||
---|---|---|
118 | 118 |
/* EXTERN DECLARATIONS */ |
119 | 119 |
/******************************************************************************/ |
120 | 120 |
|
121 |
#ifdef __cplusplus
|
|
121 |
#if defined(__cplusplus)
|
|
122 | 122 |
extern "C" { |
123 |
#endif |
|
123 |
#endif /* defined(_cplusplus) */
|
|
124 | 124 |
void aosThdSleepUntilS(const aos_timestamp_t t); |
125 | 125 |
#if (AMIROOS_CFG_DBG == true) && (CH_DBG_FILL_THREADS == TRUE) |
126 | 126 |
size_t aosThdGetStackPeakUtilization(thread_t* thread); |
127 |
#endif |
|
128 |
#ifdef __cplusplus
|
|
127 |
#endif /* (AMIROOS_CFG_DBG == true) && (CH_DBG_FILL_THREADS == TRUE) */
|
|
128 |
#if defined(__cplusplus)
|
|
129 | 129 |
} |
130 |
#endif |
|
130 |
#endif /* defined(_cplusplus) */
|
|
131 | 131 |
|
132 | 132 |
/******************************************************************************/ |
133 | 133 |
/* INLINE FUNCTIONS */ |
... | ... | |
292 | 292 |
((size_t)PORT_GUARD_PAGE_SIZE + sizeof(struct port_intctx) + sizeof(struct port_extctx) + (size_t)PORT_INT_REQUIRED_STACK); |
293 | 293 |
} |
294 | 294 |
|
295 |
#endif /* AMIROOS_CFG_DBG == true */
|
|
295 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
296 | 296 |
|
297 | 297 |
#endif /* AMIROOS_THREAD_H */ |
298 | 298 |
|
core/inc/aos_time.h | ||
---|---|---|
236 | 236 |
/* EXTERN DECLARATIONS */ |
237 | 237 |
/******************************************************************************/ |
238 | 238 |
|
239 |
#ifdef __cplusplus
|
|
239 |
#if defined(__cplusplus)
|
|
240 | 240 |
extern "C" { |
241 |
#endif |
|
241 |
#endif /* defined(__cplusplus) */
|
|
242 | 242 |
uint8_t aosTimeDayOfWeekFromDate(const uint16_t day, const uint8_t month, const uint16_t year); |
243 |
#ifdef __cplusplus
|
|
243 |
#if defined(__cplusplus)
|
|
244 | 244 |
} |
245 |
#endif |
|
245 |
#endif /* defined(__cplusplus) */
|
|
246 | 246 |
|
247 | 247 |
/******************************************************************************/ |
248 | 248 |
/* INLINE FUNCTIONS */ |
core/inc/aos_timer.h | ||
---|---|---|
123 | 123 |
/* EXTERN DECLARATIONS */ |
124 | 124 |
/******************************************************************************/ |
125 | 125 |
|
126 |
#ifdef __cplusplus
|
|
126 |
#if defined(__cplusplus)
|
|
127 | 127 |
extern "C" { |
128 |
#endif |
|
128 |
#endif /* defined(__cplusplus) */
|
|
129 | 129 |
void aosTimerInit(aos_timer_t* timer); |
130 | 130 |
void aosTimerSetAbsoluteI(aos_timer_t* timer, aos_timestamp_t* uptime, vtfunc_t cb, void* par); |
131 | 131 |
void aosTimerSetIntervalI(aos_timer_t* timer, aos_interval_t offset, vtfunc_t cb, void* par); |
... | ... | |
133 | 133 |
void aosPeriodicTimerInit(aos_periodictimer_t* ptimer); |
134 | 134 |
void aosPeriodicTimerSetI(aos_periodictimer_t* ptimer, aos_interval_t interval, vtfunc_t cb, void* par); |
135 | 135 |
void aosPeriodicTimerSetLongI(aos_periodictimer_t* ptimer, aos_longinterval_t* interval, vtfunc_t cb, void* par); |
136 |
#ifdef __cplusplus
|
|
136 |
#if defined(__cplusplus)
|
|
137 | 137 |
} |
138 |
#endif |
|
138 |
#endif /* defined(__cplusplus) */
|
|
139 | 139 |
|
140 | 140 |
/******************************************************************************/ |
141 | 141 |
/* INLINE FUNCTIONS */ |
core/inc/aos_unittest.h | ||
---|---|---|
117 | 117 |
/* EXTERN DECLARATIONS */ |
118 | 118 |
/******************************************************************************/ |
119 | 119 |
|
120 |
#ifdef __cplusplus
|
|
120 |
#if defined(__cplusplus)
|
|
121 | 121 |
extern "C" { |
122 |
#endif |
|
122 |
#endif /* defined(__cplusplus) */
|
|
123 | 123 |
uint32_t aosUtResultTotal(aos_utresult_t* result); |
124 | 124 |
float aosUtResultRatio(aos_utresult_t* result); |
125 | 125 |
void aosUtResultPrintSummary(BaseSequentialStream* stream, aos_utresult_t* result, char* heading); |
... | ... | |
130 | 130 |
void aosUtFailed(BaseSequentialStream* stream, aos_utresult_t* result); |
131 | 131 |
void aosUtFailedMsg(BaseSequentialStream* stream, aos_utresult_t* result, const char* fmt, ...); |
132 | 132 |
void aosUtInfoMsg(BaseSequentialStream* stream, const char* fmt, ...); |
133 |
#ifdef __cplusplus
|
|
133 |
#if defined(__cplusplus)
|
|
134 | 134 |
} |
135 |
#endif |
|
135 |
#endif /* defined(__cplusplus) */
|
|
136 | 136 |
|
137 | 137 |
/******************************************************************************/ |
138 | 138 |
/* INLINE FUNCTIONS */ |
139 | 139 |
/******************************************************************************/ |
140 | 140 |
|
141 |
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
|
|
141 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
142 | 142 |
|
143 | 143 |
#endif /* AMIROOS_UNITTEST_H */ |
144 | 144 |
|
core/src/aos_main.cpp | ||
---|---|---|
33 | 33 |
*/ |
34 | 34 |
#if defined(AMIROOS_CFG_MAIN_EXTRA_INCLUDE_HEADER) |
35 | 35 |
#include AMIROOS_CFG_MAIN_EXTRA_INCLUDE_HEADER |
36 |
#endif |
|
36 |
#endif /* defined(AMIROOS_CFG_MAIN_EXTRA_INCLUDE_HEADER) */
|
|
37 | 37 |
|
38 | 38 |
/******************************************************************************/ |
39 | 39 |
/* LOCAL DEFINITIONS */ |
... | ... | |
81 | 81 |
*/ |
82 | 82 |
#define SSSP_STACKINIT_CANMSGID_ABORT 0x001 |
83 | 83 |
|
84 |
#else /* AMIROOS_CFG_SSSP_ENABLE == false */
|
|
84 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
85 | 85 |
|
86 | 86 |
/** |
87 | 87 |
* @brief Default shutdown mode if SSSP is unavailable. |
88 | 88 |
*/ |
89 | 89 |
#define AOS_SHUTDOWN_DEFAULT AOS_SHUTDOWN_DEEPSLEEP |
90 | 90 |
|
91 |
#endif /* AMIROOS_CFG_SSSP_ENABLE */
|
|
91 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
92 | 92 |
|
93 | 93 |
/** |
94 | 94 |
* @brief CAN message identifier for calender synchronization message. |
... | ... | |
136 | 136 |
*/ |
137 | 137 |
#if defined(AMIROOS_CFG_MAIN_EXTRA_STATIC_VARIABLES) |
138 | 138 |
AMIROOS_CFG_MAIN_EXTRA_STATIC_VARIABLES |
139 |
#endif |
|
139 |
#endif /* defined(AMIROOS_CFG_MAIN_EXTRA_STATIC_VARIABLES) */
|
|
140 | 140 |
|
141 | 141 |
/******************************************************************************/ |
142 | 142 |
/* LOCAL FUNCTIONS */ |
... | ... | |
152 | 152 |
{ |
153 | 153 |
#if (AMIROOS_CFG_DBG == true) |
154 | 154 |
aosprintf("CTRL: unexpected/unknown event received. mask: 0x%08X; flags: 0x%08X\n", mask, flags); |
155 |
#else |
|
155 |
#else /* (AMIROOS_CFG_DBG == true) */
|
|
156 | 156 |
(void)(mask); |
157 | 157 |
(void)(flags); |
158 |
#endif |
|
158 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
159 | 159 |
return; |
160 | 160 |
} |
161 | 161 |
|
... | ... | |
175 | 175 |
|
176 | 176 |
return; |
177 | 177 |
} |
178 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
178 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
179 | 179 |
|
180 | 180 |
/** |
181 | 181 |
* @brief Helper function to serialize data. |
... | ... | |
276 | 276 |
return; |
277 | 277 |
} |
278 | 278 |
|
279 |
#endif /* HAL_USE_RTC == TRUE */
|
|
279 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
280 | 280 |
|
281 | 281 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) || defined(__DOXYGEN__) |
282 | 282 |
/** |
... | ... | |
325 | 325 |
CANRxFrame canRxFrame; |
326 | 326 |
#if (AMIROOS_CFG_SSSP_STACK_START != true) || (AMIROOS_CFG_DBG == true) |
327 | 327 |
aos_ssspmoduleid_t lastid = 0; |
328 |
#endif |
|
328 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) || (AMIROOS_CFG_DBG == true) */
|
|
329 | 329 |
flags_t flags; |
330 | 330 |
aos_timestamp_t uptime; |
331 | 331 |
|
... | ... | |
405 | 405 |
aosDbgPrintf(">>> 3-4 (abort)\n"); |
406 | 406 |
break; |
407 | 407 |
} |
408 |
#endif |
|
408 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
409 | 409 |
|
410 | 410 |
// reset wfe flag for the next iteration |
411 | 411 |
flags.wfe_next = true; |
... | ... | |
446 | 446 |
#if (AMIROOS_CFG_SSSP_STACK_END != true) |
447 | 447 |
aosDbgPrintf("disabling UP\n"); |
448 | 448 |
apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_OFF); |
449 |
#endif |
|
449 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
|
|
450 | 450 |
// set shutdown flag and exit the loop |
451 | 451 |
shutdown = AOS_SHUTDOWN_PASSIVE; |
452 | 452 |
break; |
... | ... | |
474 | 474 |
// get the flags |
475 | 475 |
eventflags_t oseventflags = chEvtGetAndClearFlags(&_eventListenerOS); |
476 | 476 |
// there should be no OS events at this point |
477 |
#ifdef MODULE_SSSP_STARTUP_3_OSEVENT_HOOK
|
|
477 |
#if defined(MODULE_SSSP_STARTUP_3_OSEVENT_HOOK)
|
|
478 | 478 |
MODULE_SSSP_STARTUP_3_OSEVENT_HOOK(eventmask, eventflags); |
479 |
#else |
|
479 |
#else /* defined(MODULE_SSSP_STARTUP_3_OSEVENT_HOOK) */
|
|
480 | 480 |
_unexpectedEventError(eventmask, oseventflags); |
481 |
#endif |
|
481 |
#endif /* defined(MODULE_SSSP_STARTUP_3_OSEVENT_HOOK) */
|
|
482 | 482 |
} |
483 | 483 |
// if a CAN event occurred |
484 | 484 |
if ((eventmask & eventListenerCan.events)) { |
... | ... | |
536 | 536 |
// proceed immediately |
537 | 537 |
stage = STAGE_3_2; |
538 | 538 |
flags.wfe_next = false; |
539 |
#else |
|
539 |
#else /* (AMIROOS_CFG_SSSP_STACK_START == true) */
|
|
540 | 540 |
// set the timeout timer |
541 | 541 |
chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout); |
542 | 542 |
// proceed |
543 | 543 |
stage = STAGE_3_3_WAITFORFIRSTID; |
544 |
#endif |
|
545 |
#else |
|
544 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START == true) */
|
|
545 |
#else /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
546 | 546 |
// set the timeout timer |
547 | 547 |
chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout); |
548 |
#endif |
|
548 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
549 | 549 |
} |
550 | 550 |
|
551 | 551 |
#if (AMIROOS_CFG_SSSP_MASTER != true) |
... | ... | |
568 | 568 |
// proceed |
569 | 569 |
stage = STAGE_3_2; |
570 | 570 |
flags.wfe_next = false; |
571 |
#else |
|
571 |
#else /* (AMIROOS_CFG_SSSP_STACK_START == true) */
|
|
572 | 572 |
// set the timeout timer |
573 | 573 |
chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout); |
574 | 574 |
// proceed |
575 | 575 |
stage = STAGE_3_3_WAITFORFIRSTID; |
576 |
#endif |
|
576 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START == true) */
|
|
577 | 577 |
} |
578 | 578 |
} |
579 |
#endif |
|
579 |
#endif /* (AMIROOS_CFG_SSSP_MASTER != true) */
|
|
580 | 580 |
|
581 | 581 |
break; |
582 | 582 |
} /* end of STAGE_3_1 */ |
... | ... | |
599 | 599 |
chEvtBroadcast(&eventSourceTimeout); |
600 | 600 |
break; |
601 | 601 |
} |
602 |
#if (AMIROOS_CFG_SSSP_STACK_START != true) || (AMIROOS_CFG_DBG == true)
|
|
602 |
#if (AMIROOS_CFG_DBG == true) |
|
603 | 603 |
lastid = aos.sssp.moduleId; |
604 |
#endif |
|
604 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
605 | 605 |
#if (AMIROOS_CFG_SSSP_STACK_END == true) |
606 | 606 |
// sequence is already over |
607 | 607 |
// deactivate S |
... | ... | |
609 | 609 |
apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF); |
610 | 610 |
// proceed |
611 | 611 |
stage = STAGE_3_3_WAITFORID; |
612 |
#else |
|
612 |
#else /* (AMIROOS_CFG_SSSP_STACK_END == true) */
|
|
613 | 613 |
// set the delay timer so the UP signal is activated later |
614 | 614 |
chVTSet(&timerDelay, chTimeUS2I(AMIROOS_CFG_SSSP_SIGNALDELAY), _ssspTimerCallback, &eventSourceDelay); |
615 |
#endif |
|
615 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END == true) */
|
|
616 | 616 |
} |
617 | 617 |
|
618 | 618 |
// if a delay event occurred |
... | ... | |
629 | 629 |
// proceed |
630 | 630 |
stage = STAGE_3_3_WAITFORID; |
631 | 631 |
} |
632 |
#endif |
|
632 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START == true) */
|
|
633 | 633 |
|
634 | 634 |
break; |
635 | 635 |
} /* end of STAGE_3_2 */ |
... | ... | |
666 | 666 |
eventmask &= ~(eventListenerTimeout.events); |
667 | 667 |
} |
668 | 668 |
} |
669 |
#endif |
|
669 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
|
|
670 | 670 |
break; |
671 | 671 |
} /* end of STAGE_3_3_WAITFORFIRSTID */ |
672 | 672 |
|
... | ... | |
728 | 728 |
// activate UP |
729 | 729 |
aosDbgPrintf("enabling UP\n"); |
730 | 730 |
apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_ON); |
731 |
#endif |
|
731 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
|
|
732 | 732 |
// deactivate S |
733 | 733 |
aosDbgPrintf("disabling S\n"); |
734 | 734 |
apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF); |
... | ... | |
739 | 739 |
// proceed |
740 | 740 |
stage = STAGE_3_3_WAITFORID; |
741 | 741 |
} |
742 |
#endif |
|
742 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
|
|
743 | 743 |
|
744 | 744 |
break; |
745 | 745 |
} /* end of STAGE_3_3_WAITFORIDORSIG */ |
... | ... | |
760 | 760 |
// Plausibility of the received ID is not checked at this point but is done by other modules still in a previous stage. |
761 | 761 |
lastid = _deserialize(canRxFrame.data8, 4); |
762 | 762 |
aosDbgPrintf("ID (%u)\n", lastid); |
763 |
#endif |
|
763 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) || (AMIROOS_CFG_DBG == true) */
|
|
764 | 764 |
// restart timeout timer |
765 | 765 |
chVTSet(&timerTimeout, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT), _ssspTimerCallback, &eventSourceTimeout); |
766 | 766 |
chEvtWaitAnyTimeout(eventListenerTimeout.events, TIME_IMMEDIATE); |
767 | 767 |
eventmask &= ~(eventListenerTimeout.events); |
768 | 768 |
} |
769 | 769 |
} |
770 |
#endif |
|
770 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
|
|
771 | 771 |
|
772 | 772 |
break; |
773 | 773 |
} /* end of STAGE_3_3_WAITFORID */ |
... | ... | |
877 | 877 |
#if (AMIROOS_CFG_SSSP_STACK_END != true) |
878 | 878 |
aosDbgPrintf("disabling UP\n"); |
879 | 879 |
apalControlGpioSet(&moduleSsspGpioUp, APAL_GPIO_OFF); |
880 |
#endif |
|
880 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
|
|
881 | 881 |
aosDbgPrintf("disabling S\n"); |
882 | 882 |
apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_OFF); |
883 | 883 |
aosSysGetUptime(&uptime); |
... | ... | |
885 | 885 |
|
886 | 886 |
return shutdown; |
887 | 887 |
} |
888 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
888 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
889 | 889 |
|
890 | 890 |
/** |
891 | 891 |
* @brief Application entry point. |
... | ... | |
899 | 899 |
aos_shutdown_t shutdown = AOS_SHUTDOWN_NONE; |
900 | 900 |
#if defined(AMIROOS_CFG_MAIN_EXTRA_THREAD_VARIABLES) |
901 | 901 |
AMIROOS_CFG_MAIN_EXTRA_THREAD_VARIABLES |
902 |
#endif |
|
902 |
#endif /* defined(AMIROOS_CFG_MAIN_EXTRA_THREAD_VARIABLES) */
|
|
903 | 903 |
|
904 | 904 |
/* |
905 | 905 |
* ########################################################################## |
... | ... | |
910 | 910 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_0) |
911 | 911 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_0_ARGS) |
912 | 912 |
AMIROOS_CFG_MAIN_INIT_HOOK_0(AMIROOS_CFG_MAIN_INIT_HOOK_0_ARGS); |
913 |
#else |
|
913 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_0_ARGS) */
|
|
914 | 914 |
AMIROOS_CFG_MAIN_INIT_HOOK_0(); |
915 |
#endif |
|
916 |
#endif |
|
915 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_0_ARGS) */
|
|
916 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_0) */
|
|
917 | 917 |
|
918 | 918 |
/* hardware, kernel, and operating system initialization */ |
919 | 919 |
// ChibiOS/HAL and custom hal additions (if any) |
920 | 920 |
halInit(); |
921 |
#ifdef MODULE_INIT_HAL_EXTRA
|
|
921 |
#if defined(MODULE_INIT_HAL_EXTRA)
|
|
922 | 922 |
MODULE_INIT_HAL_EXTRA(); |
923 |
#endif |
|
923 |
#endif /* defined(MODULE_INIT_HAL_EXTRA) */
|
|
924 | 924 |
|
925 | 925 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_1) |
926 | 926 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_1_ARGS) |
927 | 927 |
AMIROOS_CFG_MAIN_INIT_HOOK_1(AMIROOS_CFG_MAIN_INIT_HOOK_1_ARGS); |
928 |
#else |
|
928 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_1_ARGS) */
|
|
929 | 929 |
AMIROOS_CFG_MAIN_INIT_HOOK_1(); |
930 |
#endif |
|
931 |
#endif |
|
930 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_1_ARGS) */
|
|
931 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_1) */
|
|
932 | 932 |
|
933 | 933 |
// ChibiOS/RT kernel and custom kernel additions (if any) |
934 | 934 |
chSysInit(); |
935 |
#ifdef MODULE_INIT_KERNEL_EXTRA
|
|
935 |
#if defined(MODULE_INIT_KERNEL_EXTRA)
|
|
936 | 936 |
MODULE_INIT_KERNEL_EXTRA(); |
937 |
#endif |
|
937 |
#endif /* defined(MODULE_INIT_KERNEL_EXTRA) */
|
|
938 | 938 |
|
939 | 939 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_2) |
940 | 940 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_2_ARGS) |
941 | 941 |
AMIROOS_CFG_MAIN_INIT_HOOK_2(AMIROOS_CFG_MAIN_INIT_HOOK_2_ARGS); |
942 |
#else |
|
942 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_2_ARGS) */
|
|
943 | 943 |
AMIROOS_CFG_MAIN_INIT_HOOK_2(); |
944 |
#endif |
|
945 |
#endif |
|
944 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_2_ARGS) */
|
|
945 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_2) */
|
|
946 | 946 |
|
947 | 947 |
// AMiRo-OS and custom OS additions (if any) |
948 | 948 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) |
949 | 949 |
aosSysInit(moduleShellPrompt); |
950 |
#else |
|
950 |
#else /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
951 | 951 |
aosSysInit(); |
952 |
#endif |
|
953 |
#ifdef MODULE_INIT_OS_EXTRA
|
|
952 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
953 |
#if defined(MODULE_INIT_OS_EXTRA)
|
|
954 | 954 |
MODULE_INIT_OS_EXTRA(); |
955 |
#endif |
|
955 |
#endif /* defined(MODULE_INIT_OS_EXTRA) */
|
|
956 | 956 |
|
957 | 957 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_3) |
958 | 958 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_3_ARGS) |
959 | 959 |
AMIROOS_CFG_MAIN_INIT_HOOK_3(AMIROOS_CFG_MAIN_INIT_HOOK_3_ARGS); |
960 |
#else |
|
960 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_3_ARGS) */
|
|
961 | 961 |
AMIROOS_CFG_MAIN_INIT_HOOK_3(); |
962 |
#endif |
|
963 |
#endif |
|
962 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_3_ARGS) */
|
|
963 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_3) */
|
|
964 | 964 |
|
965 | 965 |
/* event associations */ |
966 | 966 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
967 | 967 |
ioeventflagsmask |= MODULE_SSSP_EVENTFLAGS_PD | MODULE_SSSP_EVENTFLAGS_SYNC; |
968 | 968 |
#if (AMIROOS_CFG_SSSP_STACK_START != true) |
969 | 969 |
ioeventflagsmask |= MODULE_SSSP_EVENTFLAGS_DN; |
970 |
#endif |
|
970 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
|
|
971 | 971 |
#if (AMIROOS_CFG_SSSP_STACK_END != true) |
972 | 972 |
ioeventflagsmask |= MODULE_SSSP_EVENTFLAGS_UP; |
973 |
#endif |
|
974 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
973 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
|
|
974 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
975 | 975 |
if (ioeventflagsmask != 0) { |
976 | 976 |
chEvtRegisterMaskWithFlags(&aos.events.io, &_eventListenerIO, IOEVENT_MASK, ioeventflagsmask); |
977 | 977 |
} |
... | ... | |
980 | 980 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_4) |
981 | 981 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_4_ARGS) |
982 | 982 |
AMIROOS_CFG_MAIN_INIT_HOOK_4(AMIROOS_CFG_MAIN_INIT_HOOK_4_ARGS); |
983 |
#else |
|
983 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_4_ARGS) */
|
|
984 | 984 |
AMIROOS_CFG_MAIN_INIT_HOOK_4(); |
985 |
#endif |
|
986 |
#endif |
|
985 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_4_ARGS) */
|
|
986 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_4) */
|
|
987 | 987 |
|
988 | 988 |
/* periphery communication initialization */ |
989 | 989 |
// module specific initialization (if any) |
990 |
#ifdef MODULE_INIT_PERIPHERY_COMM
|
|
990 |
#if defined(MODULE_INIT_PERIPHERY_COMM)
|
|
991 | 991 |
MODULE_INIT_PERIPHERY_COMM(); |
992 |
#endif |
|
992 |
#endif /* defined(MODULE_INIT_PERIPHERY_COMM) */
|
|
993 | 993 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
994 | 994 |
// CAN (mandatory) |
995 | 995 |
canStart(&MODULE_HAL_CAN, &moduleHalCanConfig); |
996 |
#endif |
|
996 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
997 | 997 |
// user interface (if any) |
998 |
#ifdef MODULE_HAL_PROGIF
|
|
998 |
#if defined(MODULE_HAL_PROGIF)
|
|
999 | 999 |
aosIOChannelInit(&_stdiochannel, (BaseAsynchronousChannel*)&MODULE_HAL_PROGIF); |
1000 | 1000 |
aosIOChannelOutputEnable(&_stdiochannel); |
1001 | 1001 |
aosIOStreamAddChannel(&aos.iostream, &_stdiochannel); |
... | ... | |
1004 | 1004 |
aosShellChannelInputEnable(&_stdshellchannel); |
1005 | 1005 |
aosShellChannelOutputEnable(&_stdshellchannel); |
1006 | 1006 |
aosShellStreamAddChannel(&aos.shell.stream, &_stdshellchannel); |
1007 |
#endif |
|
1008 |
#endif |
|
1007 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
1008 |
#endif /* defined(MODULE_HAL_PROGIF) */
|
|
1009 | 1009 |
|
1010 | 1010 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_5) |
1011 | 1011 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_5_ARGS) |
1012 | 1012 |
AMIROOS_CFG_MAIN_INIT_HOOK_5(AMIROOS_CFG_MAIN_INIT_HOOK_5_ARGS); |
1013 |
#else |
|
1013 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_5_ARGS) */
|
|
1014 | 1014 |
AMIROOS_CFG_MAIN_INIT_HOOK_5(); |
1015 |
#endif |
|
1016 |
#endif |
|
1015 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_5_ARGS) */
|
|
1016 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_5) */
|
|
1017 | 1017 |
|
1018 | 1018 |
/* module is ready -> print welcome prompt */ |
1019 | 1019 |
aosprintf("\n"); |
... | ... | |
1035 | 1035 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_6) |
1036 | 1036 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_6_ARGS) |
1037 | 1037 |
AMIROOS_CFG_MAIN_INIT_HOOK_6(AMIROOS_CFG_MAIN_INIT_HOOK_6_ARGS); |
1038 |
#else |
|
1038 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_6_ARGS) */
|
|
1039 | 1039 |
AMIROOS_CFG_MAIN_INIT_HOOK_6(); |
1040 |
#endif |
|
1041 |
#endif |
|
1040 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_6_ARGS) */
|
|
1041 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_6) */
|
|
1042 | 1042 |
|
1043 | 1043 |
#if (AMIROOS_CFG_TESTS_ENABLE == true) |
1044 | 1044 |
#if defined(MODULE_INIT_TESTS) |
1045 | 1045 |
MODULE_INIT_TESTS(); |
1046 |
#else |
|
1047 |
#warning "MODULE_INIT_TESTS() not defined" |
|
1048 |
#endif |
|
1049 |
#endif |
|
1046 |
#else /* defined(MODULE_INIT_TESTS) */
|
|
1047 |
#warning "AMIROOS_CFG_TESTS_ENABLE set to true, but MODULE_INIT_TESTS() not defined"
|
|
1048 |
#endif /* defined(MODULE_INIT_TESTS) */
|
|
1049 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
1050 | 1050 |
|
1051 | 1051 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_7) |
1052 | 1052 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_7_ARGS) |
1053 | 1053 |
AMIROOS_CFG_MAIN_INIT_HOOK_7(AMIROOS_CFG_MAIN_INIT_HOOK_7_ARGS); |
1054 |
#else |
|
1054 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_7_ARGS) */
|
|
1055 | 1055 |
AMIROOS_CFG_MAIN_INIT_HOOK_7(); |
1056 |
#endif |
|
1057 |
#endif |
|
1056 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_7_ARGS) */
|
|
1057 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_7) */
|
|
1058 | 1058 |
|
1059 | 1059 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
1060 | 1060 |
/* SSSP startup OS synchronization phase (end of startup stage 2) */ |
... | ... | |
1070 | 1070 |
if (eventflags & MODULE_SSSP_EVENTFLAGS_PD) { |
1071 | 1071 |
shutdown = AOS_SHUTDOWN_PASSIVE; |
1072 | 1072 |
} else { |
1073 |
#ifdef MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK
|
|
1073 |
#if defined(MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK)
|
|
1074 | 1074 |
MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK(eventmask, eventflags); |
1075 |
#else |
|
1075 |
#else /* defined(MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK) */
|
|
1076 | 1076 |
// ignore any other IO events |
1077 |
#endif |
|
1077 |
#endif /* defined(MODULE_SSSP_STARTUP_2_2_IOEVENT_HOOK) */
|
|
1078 | 1078 |
} |
1079 | 1079 |
} |
1080 | 1080 |
// OS event |
... | ... | |
1096 | 1096 |
if (shutdown == AOS_SHUTDOWN_NONE) { |
1097 | 1097 |
shutdown = _ssspModuleStackInitialization(); |
1098 | 1098 |
} |
1099 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
1099 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1100 | 1100 |
|
1101 | 1101 |
/* |
1102 | 1102 |
* There must be no delays at this point, thus no hook is allowed. |
... | ... | |
1126 | 1126 |
canTransmitTimeout(&MODULE_HAL_CAN, CAN_ANY_MAILBOX, &frame, TIME_IMMEDIATE); |
1127 | 1127 |
|
1128 | 1128 |
aosDbgPrintf("done\n"); |
1129 |
#else /* AMIROOS_CFG_SSSP_MASTER == false */
|
|
1129 |
#else /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
1130 | 1130 |
CANRxFrame frame; |
1131 | 1131 |
uint64_t encoded; |
1132 | 1132 |
struct tm t; |
... | ... | |
1136 | 1136 |
#if (AMIROOS_CFG_DBG == true) |
1137 | 1137 |
// increase timeout in debug mode due to additional delays introduced by the many prinf() calls |
1138 | 1138 |
if (canReceiveTimeout(&MODULE_HAL_CAN, CAN_ANY_MAILBOX, &frame, chTimeUS2I(10 * AOS_SYSTEM_SSSP_TIMEOUT)) == MSG_OK) { |
1139 |
#else |
|
1139 |
#else /* (AMIROOS_CFG_DBG == true) */
|
|
1140 | 1140 |
if (canReceiveTimeout(&MODULE_HAL_CAN, CAN_ANY_MAILBOX, &frame, chTimeUS2I(AOS_SYSTEM_SSSP_TIMEOUT)) == MSG_OK) { |
1141 |
#endif |
|
1141 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
1142 | 1142 |
// validate message |
1143 | 1143 |
if (frame.DLC == 8 && |
1144 | 1144 |
frame.RTR == CAN_RTR_DATA && |
... | ... | |
1157 | 1157 |
} else { |
1158 | 1158 |
aosDbgPrintf("fail (timeout)\n"); |
1159 | 1159 |
} |
1160 |
#endif /* AMIROOS_CFG_SSSP_MASTER == false */
|
|
1160 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
1161 | 1161 |
aosDbgPrintf("\n"); |
1162 | 1162 |
} |
1163 | 1163 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) && (HAL_USE_RTC == TRUE) */ |
... | ... | |
1165 | 1165 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_8) |
1166 | 1166 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_8_ARGS) |
1167 | 1167 |
AMIROOS_CFG_MAIN_INIT_HOOK_8(AMIROOS_CFG_MAIN_INIT_HOOK_8_ARGS); |
1168 |
#else |
|
1168 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_8_ARGS) */
|
|
1169 | 1169 |
AMIROOS_CFG_MAIN_INIT_HOOK_8(); |
1170 |
#endif |
|
1171 |
#endif |
|
1170 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_8_ARGS) */
|
|
1171 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_8) */
|
|
1172 | 1172 |
|
1173 | 1173 |
/* completely start AMiRo-OS */ |
1174 | 1174 |
if (shutdown == AOS_SHUTDOWN_NONE) { |
... | ... | |
1178 | 1178 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_9) |
1179 | 1179 |
#if defined(AMIROOS_CFG_MAIN_INIT_HOOK_9_ARGS) |
1180 | 1180 |
AMIROOS_CFG_MAIN_INIT_HOOK_9(AMIROOS_CFG_MAIN_INIT_HOOK_9_ARGS); |
1181 |
#else |
|
1181 |
#else /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_9_ARGS) */
|
|
1182 | 1182 |
AMIROOS_CFG_MAIN_INIT_HOOK_9(); |
1183 |
#endif |
|
1184 |
#endif |
|
1183 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_9_ARGS) */
|
|
1184 |
#endif /* defined(AMIROOS_CFG_MAIN_INIT_HOOK_9) */
|
|
1185 | 1185 |
|
1186 | 1186 |
/* |
1187 | 1187 |
* ########################################################################## |
... | ... | |
1194 | 1194 |
// wait for an event |
1195 | 1195 |
#if (AMIROOS_CFG_MAIN_LOOP_TIMEOUT != 0) |
1196 | 1196 |
eventmask = chEvtWaitOneTimeout(ALL_EVENTS, chTimeUS2I(AMIROOS_CFG_MAIN_LOOP_TIMEOUT)); |
1197 |
#else |
|
1197 |
#else /* (AMIROOS_CFG_MAIN_LOOP_TIMEOUT != 0) */
|
|
1198 | 1198 |
eventmask = chEvtWaitOne(ALL_EVENTS); |
1199 |
#endif |
|
1199 |
#endif /* (AMIROOS_CFG_MAIN_LOOP_TIMEOUT != 0) */
|
|
1200 | 1200 |
|
1201 | 1201 |
#if defined(AMIROOS_CFG_MAIN_LOOP_HOOK_0) |
1202 | 1202 |
#if defined(AMIROOS_CFG_MAIN_LOOP_HOOK_0_ARGS) |
1203 | 1203 |
AMIROOS_CFG_MAIN_LOOP_HOOK_0(AMIROOS_CFG_MAIN_LOOP_HOOK_0_ARGS); |
1204 |
#else |
|
1204 |
#else /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_0_ARGS) */
|
|
1205 | 1205 |
AMIROOS_CFG_MAIN_LOOP_HOOK_0(); |
1206 |
#endif |
|
1207 |
#endif |
|
1206 |
#endif /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_0_ARGS) */
|
|
1207 |
#endif /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_0) */
|
|
1208 | 1208 |
|
1209 | 1209 |
switch (eventmask) { |
1210 | 1210 |
// if this was an I/O event |
... | ... | |
1217 | 1217 |
shutdown = AOS_SHUTDOWN_PASSIVE; |
1218 | 1218 |
} |
1219 | 1219 |
// all other events |
1220 |
#ifdef MODULE_MAIN_LOOP_IO_EVENT
|
|
1220 |
#if defined(MODULE_MAIN_LOOP_IO_EVENT)
|
|
1221 | 1221 |
else { |
1222 | 1222 |
MODULE_MAIN_LOOP_IO_EVENT(eventflags); |
1223 | 1223 |
} |
1224 |
#endif |
|
1225 |
#else /* AMIROOS_CFG_SSSP_ENABLE == false */
|
|
1226 |
#ifdef MODULE_MAIN_LOOP_IO_EVENT
|
|
1224 |
#endif /* defined(MODULE_MAIN_LOOP_IO_EVENT) */
|
|
1225 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1226 |
#if defined(MODULE_MAIN_LOOP_IO_EVENT)
|
|
1227 | 1227 |
MODULE_MAIN_LOOP_IO_EVENT(eventflags); |
1228 |
#endif |
|
1229 |
#endif /* AMIROOS_CFG_SSSP_ENABLE */
|
|
1228 |
#endif /* defined(MODULE_MAIN_LOOP_IO_EVENT) */
|
|
1229 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1230 | 1230 |
break; |
1231 | 1231 |
|
1232 | 1232 |
// if this was an OS event |
... | ... | |
1247 | 1247 |
case AOS_SYSTEM_EVENTFLAGS_RESTART: |
1248 | 1248 |
shutdown = AOS_SHUTDOWN_RESTART; |
1249 | 1249 |
break; |
1250 |
#else /* AMIROOS_CFG_SSSP_ENABLE == false */
|
|
1250 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1251 | 1251 |
case AOS_SYSTEM_EVENTFLAGS_SHUTDOWN: |
1252 | 1252 |
shutdown = AOS_SHUTDOWN_DEFAULT; |
1253 | 1253 |
break; |
1254 |
#endif /* AMIROOS_CFG_SSSP_ENABLE */
|
|
1254 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1255 | 1255 |
default: |
1256 | 1256 |
_unexpectedEventError(eventmask, eventflags); |
1257 | 1257 |
break; |
... | ... | |
1263 | 1263 |
eventflags = 0; |
1264 | 1264 |
#if (AMIROOS_CFG_MAIN_LOOP_TIMEOUT == 0) |
1265 | 1265 |
_unexpectedEventError(eventmask, eventflags); |
1266 |
#endif |
|
1266 |
#endif /* (AMIROOS_CFG_MAIN_LOOP_TIMEOUT == 0) */
|
|
1267 | 1267 |
break; |
1268 | 1268 |
} |
1269 | 1269 |
|
1270 | 1270 |
#if defined(AMIROOS_CFG_MAIN_LOOP_HOOK_1) |
1271 | 1271 |
#if defined(AMIROOS_CFG_MAIN_LOOP_HOOK_1_ARGS) |
1272 | 1272 |
AMIROOS_CFG_MAIN_LOOP_HOOK_1(AMIROOS_CFG_MAIN_LOOP_HOOK_1_ARGS); |
1273 |
#else |
|
1273 |
#else /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_1_ARGS) */
|
|
1274 | 1274 |
AMIROOS_CFG_MAIN_LOOP_HOOK_1(); |
1275 |
#endif |
|
1276 |
#endif |
|
1275 |
#endif /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_1_ARGS) */
|
|
1276 |
#endif /* defined(AMIROOS_CFG_MAIN_LOOP_HOOK_1) */
|
|
1277 | 1277 |
} |
1278 | 1278 |
|
1279 | 1279 |
/* |
... | ... | |
1285 | 1285 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0) |
1286 | 1286 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0_ARGS) |
1287 | 1287 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0_ARGS); |
1288 |
#else |
|
1288 |
#else /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0_ARGS) */
|
|
1289 | 1289 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0(); |
1290 |
#endif |
|
1291 |
#endif |
|
1290 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0_ARGS) */
|
|
1291 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_0) */
|
|
1292 | 1292 |
|
1293 | 1293 |
// initialize/acknowledge shutdown |
1294 | 1294 |
aosSysShutdownInit(shutdown); |
... | ... | |
1296 | 1296 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1) |
1297 | 1297 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1_ARGS) |
1298 | 1298 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1_ARGS); |
1299 |
#else |
|
1299 |
#else /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1_ARGS) */
|
|
1300 | 1300 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1(); |
1301 |
#endif |
|
1302 |
#endif |
|
1301 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1_ARGS) */
|
|
1302 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_1) */
|
|
1303 | 1303 |
|
1304 | 1304 |
// stop system threads |
1305 | 1305 |
aosSysStop(); |
... | ... | |
1307 | 1307 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2) |
1308 | 1308 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2_ARGS) |
1309 | 1309 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2_ARGS); |
1310 |
#else |
|
1310 |
#else /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2_ARGS) */
|
|
1311 | 1311 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2(); |
1312 |
#endif |
|
1313 |
#endif |
|
1312 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2_ARGS) */
|
|
1313 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_2) */
|
|
1314 | 1314 |
|
1315 | 1315 |
// deinitialize system |
1316 | 1316 |
aosSysDeinit(); |
... | ... | |
1318 | 1318 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3) |
1319 | 1319 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3_ARGS) |
1320 | 1320 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3_ARGS); |
1321 |
#else |
|
1321 |
#else /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3_ARGS) */
|
|
1322 | 1322 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3(); |
1323 |
#endif |
|
1324 |
#endif |
|
1323 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3_ARGS) */
|
|
1324 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_3) */
|
|
1325 | 1325 |
|
1326 | 1326 |
/* stop all periphery communication */ |
1327 | 1327 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
1328 | 1328 |
// CAN (mandatory) |
1329 | 1329 |
canStop(&MODULE_HAL_CAN); |
1330 |
#endif |
|
1331 |
#ifdef MODULE_SHUTDOWN_PERIPHERY_COMM
|
|
1330 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1331 |
#if defined(MODULE_SHUTDOWN_PERIPHERY_COMM)
|
|
1332 | 1332 |
MODULE_SHUTDOWN_PERIPHERY_COMM(); |
1333 |
#endif |
|
1333 |
#endif /* defined(MODULE_SHUTDOWN_PERIPHERY_COMM) */
|
|
1334 | 1334 |
|
1335 | 1335 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4) |
1336 | 1336 |
#if defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4_ARGS) |
1337 | 1337 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4_ARGS); |
1338 |
#else |
|
1338 |
#else /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4_ARGS) */
|
|
1339 | 1339 |
AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4(); |
1340 |
#endif |
|
1341 |
#endif |
|
1340 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4_ARGS) */
|
|
1341 |
#endif /* defined(AMIROOS_CFG_MAIN_SHUTDOWN_HOOK_4) */
|
|
1342 | 1342 |
|
1343 | 1343 |
// finally hand over to bootloader |
1344 | 1344 |
aosSysShutdownFinal(shutdown); |
core/src/aos_shell.c | ||
---|---|---|
336 | 336 |
dt.tm_min, |
337 | 337 |
dt.tm_sec); |
338 | 338 |
} |
339 |
#endif /* HAL_USE_RTC == TRUE */
|
|
339 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
340 | 340 |
else { |
341 | 341 |
aosDbgAssert(false); |
342 | 342 |
} |
core/src/aos_system.c | ||
---|---|---|
34 | 34 |
#if (AMIROOS_CFG_TESTS_ENABLE == true) |
35 | 35 |
#include <ch_test.h> |
36 | 36 |
#include <rt_test_root.h> |
37 |
#endif |
|
37 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
38 | 38 |
|
39 | 39 |
/******************************************************************************/ |
40 | 40 |
/* LOCAL DEFINITIONS */ |
... | ... | |
90 | 90 |
static int _shellcmd_shutdowncb(BaseSequentialStream* stream, int argc, char* argv[]); |
91 | 91 |
#if (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__) |
92 | 92 |
static int _shellcmd_kerneltestcb(BaseSequentialStream* stream, int argc, char* argv[]); |
93 |
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
|
|
93 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
94 | 94 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */ |
95 | 95 |
|
96 | 96 |
/** |
... | ... | |
168 | 168 |
static aos_shellcommand_t _shellcmd_shutdown = { |
169 | 169 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
170 | 170 |
/* name */ "system:shutdown", |
171 |
#else |
|
171 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
172 | 172 |
/* name */ "module:shutdown", |
173 |
#endif |
|
173 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
174 | 174 |
/* callback */ _shellcmd_shutdowncb, |
175 | 175 |
/* next */ NULL, |
176 | 176 |
}; |
... | ... | |
184 | 184 |
/* callback */ _shellcmd_kerneltestcb, |
185 | 185 |
/* next */ NULL, |
186 | 186 |
}; |
187 |
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
|
|
187 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
188 | 188 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */ |
189 | 189 |
|
190 | 190 |
/******************************************************************************/ |
... | ... | |
263 | 263 |
#if (HAL_USE_RTC == TRUE) |
264 | 264 |
struct tm dt; |
265 | 265 |
aosSysGetDateTime(&dt); |
266 |
#endif /* HAL_USE_RTC == TRUE */
|
|
266 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
267 | 267 |
|
268 | 268 |
// print static information about module and operating system |
269 | 269 |
_printSystemInfoSeparator(stream, '=', SYSTEM_INFO_WIDTH); |
270 | 270 |
_printSystemInfoLine(stream, "Module", SYSTEM_INFO_NAMEWIDTH, "%s", BOARD_NAME); |
271 |
#ifdef PLATFORM_NAME
|
|
271 |
#if defined(PLATFORM_NAME)
|
|
272 | 272 |
_printSystemInfoLine(stream, "Platform", SYSTEM_INFO_NAMEWIDTH, "%s", PLATFORM_NAME); |
273 |
#endif |
|
274 |
#ifdef PORT_CORE_VARIANT_NAME
|
|
273 |
#endif /* defined(PLATFORM_NAME) */
|
|
274 |
#if defined(PORT_CORE_VARIANT_NAME)
|
|
275 | 275 |
_printSystemInfoLine(stream, "Core Variant", SYSTEM_INFO_NAMEWIDTH, "%s", PORT_CORE_VARIANT_NAME); |
276 |
#endif |
|
276 |
#endif /* defined(PORT_CORE_VARIANT_NAME) */
|
|
277 | 277 |
_printSystemInfoLine(stream, "Architecture", SYSTEM_INFO_NAMEWIDTH, "%s", PORT_ARCHITECTURE_NAME); |
278 | 278 |
_printSystemInfoSeparator(stream, '-', SYSTEM_INFO_WIDTH); |
279 | 279 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
280 | 280 |
_printSystemInfoLine(stream, "AMiRo-OS" , SYSTEM_INFO_NAMEWIDTH, "%u.%u.%u %s (SSSP %u.%u)", AMIROOS_VERSION_MAJOR, AMIROOS_VERSION_MINOR, AMIROOS_VERSION_PATCH, AMIROOS_RELEASE_TYPE, AOS_SYSTEM_SSSP_VERSION_MAJOR, AOS_SYSTEM_SSSP_VERSION_MINOR); |
281 |
#else |
|
281 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
282 | 282 |
_printSystemInfoLine(stream, "AMiRo-OS" , SYSTEM_INFO_NAMEWIDTH, "%u.%u.%u %s", AMIROOS_VERSION_MAJOR, AMIROOS_VERSION_MINOR, AMIROOS_VERSION_PATCH, AMIROOS_RELEASE_TYPE); |
283 |
#endif |
|
283 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
284 | 284 |
_printSystemInfoLine(stream, "AMiRo-LLD" , SYSTEM_INFO_NAMEWIDTH, "%u.%u.%u %s (periphAL %u.%u)", AMIRO_LLD_VERSION_MAJOR, AMIRO_LLD_VERSION_MINOR, AMIRO_LLD_VERSION_PATCH, AMIRO_LLD_RELEASE_TYPE, PERIPHAL_VERSION_MAJOR, PERIPHAL_VERSION_MINOR); |
285 | 285 |
_printSystemInfoLine(stream, "ChibiOS/RT" , SYSTEM_INFO_NAMEWIDTH, "%u.%u.%u %s", CH_KERNEL_MAJOR, CH_KERNEL_MINOR, CH_KERNEL_PATCH, (CH_KERNEL_STABLE == 1) ? "stable" : "non-stable"); |
286 | 286 |
_printSystemInfoLine(stream, "ChibiOS/HAL", SYSTEM_INFO_NAMEWIDTH, "%u.%u.%u %s", CH_HAL_MAJOR, CH_HAL_MINOR, CH_HAL_PATCH, (CH_HAL_STABLE == 1) ? "stable" : "non-stable"); |
... | ... | |
307 | 307 |
aosprintf("WARNING: Bootloader and AMiRo-OS implement incompatible SSSP versions!\n"); |
308 | 308 |
} |
309 | 309 |
} |
310 |
#endif |
|
310 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
311 | 311 |
_printSystemInfoLine(stream, "Compiler", SYSTEM_INFO_NAMEWIDTH, "%s %u.%u.%u", (BL_CALLBACK_TABLE_ADDRESS->vCompiler.identifier == BL_VERSION_ID_GCC) ? "GCC" : "<compiler unknown>", BL_CALLBACK_TABLE_ADDRESS->vCompiler.major, BL_CALLBACK_TABLE_ADDRESS->vCompiler.minor, BL_CALLBACK_TABLE_ADDRESS->vCompiler.patch); // TODO: support other compilers than GCC |
312 | 312 |
} else { |
313 | 313 |
if (stream) { |
... | ... | |
325 | 325 |
} else { |
326 | 326 |
_printSystemInfoLine(stream, "Module ID", SYSTEM_INFO_NAMEWIDTH, "not available"); |
327 | 327 |
} |
328 |
#endif |
|
328 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
329 | 329 |
#if (HAL_USE_RTC == TRUE) |
330 | 330 |
_printSystemInfoLine(stream, "Date", SYSTEM_INFO_NAMEWIDTH, "%s %02u-%02u-%04u", (dt.tm_wday == 0) ? "Sunday" : (dt.tm_wday == 1) ? "Monday" : (dt.tm_wday == 2) ? "Tuesday" : (dt.tm_wday == 3) ? "Wednesday" : (dt.tm_wday == 4) ? "Thursday" : (dt.tm_wday == 5) ? "Friday" : "Saturday", |
331 | 331 |
dt.tm_mday, |
332 | 332 |
dt.tm_mon + 1, |
333 | 333 |
dt.tm_year + 1900); |
334 | 334 |
_printSystemInfoLine(stream, "Time", SYSTEM_INFO_NAMEWIDTH, "%02u:%02u:%02u", dt.tm_hour, dt.tm_min, dt.tm_sec); |
335 |
#endif /* HAL_USE_RTC == TRUE */
|
|
335 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
336 | 336 |
|
337 | 337 |
_printSystemInfoSeparator(stream, '=', SYSTEM_INFO_WIDTH); |
338 | 338 |
|
... | ... | |
475 | 475 |
|
476 | 476 |
retval = AOS_OK; |
477 | 477 |
} |
478 |
#endif /* HAL_USE_RTC == TRUE */
|
|
478 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
479 | 479 |
} |
480 | 480 |
|
481 | 481 |
// print help, if required |
... | ... | |
501 | 501 |
chprintf(stream, " hour\n"); |
502 | 502 |
chprintf(stream, " minute\n"); |
503 | 503 |
chprintf(stream, " second\n"); |
504 |
#endif /* HAL_USE_RTC == TRUE */
|
|
504 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
505 | 505 |
} |
506 | 506 |
|
507 | 507 |
return (argc > 1 && strcmp(argv[1], "--help") == 0) ? AOS_OK : retval; |
... | ... | |
542 | 542 |
chprintf(stream, "%10u microseconds\n", (uint16_t)(uptime % MICROSECONDS_PER_MILLISECOND / MICROSECONDS_PER_MICROSECOND)); |
543 | 543 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) && (AMIROOS_CFG_SSSP_MASTER != true) && (AMIROOS_CFG_PROFILE == true) |
544 | 544 |
chprintf(stream, "SSSP synchronization offset: %.3fus per %uus\n", _syssyncskew, AMIROOS_CFG_SSSP_SYSSYNCPERIOD); |
545 |
#endif /* AMIROOS_CFG_SSSP_MASTER != true && AMIROOS_CFG_PROFILE == true */
|
|
545 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) && (AMIROOS_CFG_SSSP_MASTER != true) && (AMIROOS_CFG_PROFILE == true) */
|
|
546 | 546 |
_printSystemInfoSeparator(stream, '=', SYSTEM_INFO_WIDTH); |
547 | 547 |
|
548 | 548 |
// print shell info |
... | ... | |
554 | 554 |
chprintf(stream, "\tthread stack size: %u bytes\n", aosThdGetStacksize(aos.shell.thread)); |
555 | 555 |
#if (CH_DBG_FILL_THREADS == TRUE) |
556 | 556 |
chprintf(stream, "\tstack peak utilization: %u bytes (%.2f%%)\n", aosThdGetStackPeakUtilization(aos.shell.thread), (float)aosThdGetStackPeakUtilization(aos.shell.thread) / (float)aosThdGetStacksize(aos.shell.thread) * 100.0f); |
557 |
#endif /* CH_DBG_FILL_THREADS == TRUE */
|
|
558 |
#endif /* AMIROOS_CFG_DBG == true */
|
|
557 |
#endif /* (CH_DBG_FILL_THREADS == TRUE) */
|
|
558 |
#endif /* (AMIROOS_CFG_DBG == true) */
|
|
559 | 559 |
_printSystemInfoSeparator(stream, '=', SYSTEM_INFO_WIDTH); |
560 | 560 |
|
561 | 561 |
return AOS_OK; |
... | ... | |
624 | 624 |
return AOS_INVALID_ARGUMENTS; |
625 | 625 |
} |
626 | 626 |
} |
627 |
#else /* AMIROOS_CFG_SSSP_ENABLE == false */
|
|
627 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
628 | 628 |
(void)argv; |
629 | 629 |
(void)argc; |
630 | 630 |
|
631 | 631 |
chEvtBroadcastFlags(&aos.events.os, AOS_SYSTEM_EVENTFLAGS_SHUTDOWN); |
632 | 632 |
chThdTerminate(chThdGetSelfX()); |
633 | 633 |
return AOS_OK; |
634 |
#endif /* AMIROOS_CFG_SSSP_ENABLE */
|
|
634 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
635 | 635 |
} |
636 | 636 |
|
637 | 637 |
#if (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__) |
... | ... | |
655 | 655 |
|
656 | 656 |
return retval; |
657 | 657 |
} |
658 |
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
|
|
658 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
659 | 659 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */ |
660 | 660 |
|
661 | 661 |
// suppress warning in case no interrupt GPIOs are defined |
... | ... | |
705 | 705 |
_uptime -= uptime % AMIROOS_CFG_SSSP_SYSSYNCPERIOD; |
706 | 706 |
#if (AMIROOS_CFG_PROFILE == true) |
707 | 707 |
_syssyncskew = ((1.0f - SYSTEM_SYSSYNCSKEW_LPFACTOR) * _syssyncskew) + (SYSTEM_SYSSYNCSKEW_LPFACTOR * (uptime % AMIROOS_CFG_SSSP_SYSSYNCPERIOD)); |
708 |
#endif |
|
708 |
#endif /* (AMIROOS_CFG_PROFILE == true) */
|
|
709 | 709 |
} else { |
710 | 710 |
_uptime += AMIROOS_CFG_SSSP_SYSSYNCPERIOD - (uptime % AMIROOS_CFG_SSSP_SYSSYNCPERIOD); |
711 | 711 |
#if (AMIROOS_CFG_PROFILE == true) |
712 | 712 |
_syssyncskew = ((1.0f - SYSTEM_SYSSYNCSKEW_LPFACTOR) * _syssyncskew) - (SYSTEM_SYSSYNCSKEW_LPFACTOR * (AMIROOS_CFG_SSSP_SYSSYNCPERIOD - (uptime % AMIROOS_CFG_SSSP_SYSSYNCPERIOD))); |
713 |
#endif |
|
713 |
#endif /* (AMIROOS_CFG_PROFILE == true) */
|
|
714 | 714 |
} |
715 | 715 |
} |
716 | 716 |
} |
... | ... | |
792 | 792 |
*/ |
793 | 793 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__) |
794 | 794 |
void aosSysInit(const char* shellPrompt) |
795 |
#else |
|
795 |
#else /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
796 | 796 |
void aosSysInit(void) |
797 |
#endif |
|
797 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
798 | 798 |
{ |
799 | 799 |
/* set control thread to maximum priority */ |
800 | 800 |
chThdSetPriority(AOS_THD_CTRLPRIO); |
... | ... | |
807 | 807 |
#if (AMIROOS_CFG_SSSP_MASTER == true) |
808 | 808 |
chVTObjectInit(&_syssynctimer); |
809 | 809 |
_syssynctime = 0; |
810 |
#endif |
|
810 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
811 | 811 |
#if (AMIROOS_CFG_SSSP_MASTER != true) && (AMIROOS_CFG_PROFILE == true) |
812 | 812 |
_syssyncskew = 0.0f; |
813 |
#endif |
|
814 |
#else /* AMIROOS_CFG_SSSP_ENABLE == false */
|
|
813 |
#endif /* (AMIROOS_CFG_SSSP_MASTER != true) && (AMIROOS_CFG_PROFILE == true) */
|
|
814 |
#else /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
815 | 815 |
// start the uptime counter |
816 | 816 |
chSysLock(); |
817 | 817 |
_synctime = chVTGetSystemTimeX(); |
818 | 818 |
_uptime = 0; |
819 | 819 |
chVTSetI(&_systimer, SYSTIMER_PERIOD, &_uptimeCallback, NULL); |
820 | 820 |
chSysUnlock(); |
821 |
#endif /* AMIROOS_CFG_SSSP_ENABLE */
|
|
821 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
822 | 822 |
|
823 | 823 |
/* initialize aos configuration */ |
824 | 824 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
825 | 825 |
aos.sssp.stage = AOS_SSSP_STARTUP_2_1; |
826 | 826 |
aos.sssp.moduleId = 0; |
827 |
#endif |
|
827 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
828 | 828 |
aosIOStreamInit(&aos.iostream); |
829 | 829 |
chEvtObjectInit(&aos.events.io); |
830 | 830 |
chEvtObjectInit(&aos.events.os); |
... | ... | |
837 | 837 |
// SYNC signal |
838 | 838 |
#if (AMIROOS_CFG_SSSP_MASTER == true) |
839 | 839 |
palSetPadCallback(moduleSsspGpioSync.gpio->port, moduleSsspGpioSync.gpio->pad, _intCallback, &moduleSsspGpioSync.gpio->pad); |
840 |
#else |
|
840 |
#else /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
841 | 841 |
palSetPadCallback(moduleSsspGpioSync.gpio->port, moduleSsspGpioSync.gpio->pad, _signalSyncCallback, &moduleSsspGpioSync.gpio->pad); |
842 |
#endif |
|
842 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
843 | 843 |
palEnablePadEvent(moduleSsspGpioSync.gpio->port, moduleSsspGpioSync.gpio->pad, APAL2CH_EDGE(moduleSsspGpioSync.meta.edge)); |
844 | 844 |
#if (AMIROOS_CFG_SSSP_STACK_START != true) |
845 | 845 |
// DN signal |
846 | 846 |
palSetPadCallback(moduleSsspGpioDn.gpio->port, moduleSsspGpioDn.gpio->pad, _intCallback, &moduleSsspGpioDn.gpio->pad); |
847 | 847 |
palEnablePadEvent(moduleSsspGpioDn.gpio->port, moduleSsspGpioDn.gpio->pad, APAL2CH_EDGE(moduleSsspGpioDn.meta.edge)); |
848 |
#endif |
|
848 |
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
|
|
849 | 849 |
#if (AMIROOS_CFG_SSSP_STACK_END != true) |
850 | 850 |
// UP signal |
851 | 851 |
palSetPadCallback(moduleSsspGpioUp.gpio->port, moduleSsspGpioUp.gpio->pad, _intCallback, &moduleSsspGpioUp.gpio->pad); |
852 | 852 |
palEnablePadEvent(moduleSsspGpioUp.gpio->port, moduleSsspGpioUp.gpio->pad, APAL2CH_EDGE(moduleSsspGpioUp.meta.edge)); |
853 |
#endif |
|
854 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
855 |
#ifdef MODULE_INIT_INTERRUPTS
|
|
853 |
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
|
|
854 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
855 |
#if defined(MODULE_INIT_INTERRUPTS)
|
|
856 | 856 |
// further interrupt signals |
857 | 857 |
MODULE_INIT_INTERRUPTS(); |
858 |
#endif |
|
858 |
#endif /* defined(MODULE_INIT_INTERRUPTS) */
|
|
859 | 859 |
|
860 | 860 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) |
861 | 861 |
/* init shell */ |
... | ... | |
872 | 872 |
aosShellAddCommand(&aos.shell, &_shellcmd_shutdown); |
873 | 873 |
#if (AMIROOS_CFG_TESTS_ENABLE == true) |
874 | 874 |
aosShellAddCommand(&aos.shell, &_shellcmd_kerneltest); |
875 |
#endif |
|
875 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
876 | 876 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */ |
877 | 877 |
|
878 | 878 |
return; |
... | ... | |
898 | 898 |
chVTSetI(&_syssynctimer, chTimeUS2I((t > (AMIROOS_CFG_SSSP_SYSSYNCPERIOD / 2)) ? (t - (AMIROOS_CFG_SSSP_SYSSYNCPERIOD / 2)) : (t + (AMIROOS_CFG_SSSP_SYSSYNCPERIOD / 2))), _sysSyncTimerCallback, NULL); |
899 | 899 |
chSysUnlock(); |
900 | 900 |
} |
901 |
#endif |
|
902 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
901 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
902 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
903 | 903 |
|
904 | 904 |
// print system information; |
905 | 905 |
_printSystemInfo((BaseSequentialStream*)&aos.iostream); |
... | ... | |
909 | 909 |
// start system shell thread |
910 | 910 |
#if (CH_CFG_USE_THREADHIERARCHY == TRUE) |
911 | 911 |
aos.shell.thread = chThdCreateStatic(_shell_wa, sizeof(_shell_wa), AMIROOS_CFG_SHELL_THREADPRIO, aosShellThread, &aos.shell, &ch.mainthread); |
912 |
#else |
|
912 |
#else /* (CH_CFG_USE_THREADHIERARCHY == TRUE) */
|
|
913 | 913 |
aos.shell.thread = chThdCreateStatic(_shell_wa, sizeof(_shell_wa), AMIROOS_CFG_SHELL_THREADPRIO, aosShellThread, &aos.shell); |
914 |
#endif |
|
915 |
#endif |
|
914 |
#endif /* (CH_CFG_USE_THREADHIERARCHY == TRUE) */
|
|
915 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
916 | 916 |
|
917 | 917 |
return; |
918 | 918 |
} |
... | ... | |
968 | 968 |
return m; |
969 | 969 |
} |
970 | 970 |
} |
971 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
971 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
972 | 972 |
|
973 | 973 |
/** |
974 | 974 |
* @brief Retrieves the system uptime. |
... | ... | |
1018 | 1018 |
return; |
1019 | 1019 |
} |
1020 | 1020 |
|
1021 |
#endif /* HAL_USE_RTC == TRUE */
|
|
1021 |
#endif /* (HAL_USE_RTC == TRUE) */
|
|
1022 | 1022 |
|
1023 | 1023 |
/** |
1024 | 1024 |
* @brief Initializes/Acknowledges a system shutdown/restart request. |
... | ... | |
1035 | 1035 |
#if (AMIROOS_CFG_SSSP_MASTER == true) |
1036 | 1036 |
// deactivate the system synchronization timer |
1037 | 1037 |
chVTReset(&_syssynctimer); |
1038 |
#endif |
|
1038 |
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
|
|
1039 | 1039 |
|
1040 | 1040 |
// update the system SSSP stage |
1041 | 1041 |
aos.sssp.stage = AOS_SSSP_SHUTDOWN_1_1; |
... | ... | |
1048 | 1048 |
// activate the SYS_SYNC signal |
1049 | 1049 |
apalControlGpioSet(&moduleSsspGpioSync, APAL_GPIO_ON); |
1050 | 1050 |
chSysUnlock(); |
1051 |
#endif /* AMIROOS_CFG_SSSP_ENABLE == true */
|
|
1051 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1052 | 1052 |
|
1053 | 1053 |
switch (shutdown) { |
1054 | 1054 |
case AOS_SHUTDOWN_PASSIVE: |
... | ... | |
1080 | 1080 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
1081 | 1081 |
// update the system SSSP stage |
1082 | 1082 |
aos.sssp.stage = AOS_SSSP_SHUTDOWN_1_2; |
1083 |
#endif |
|
1083 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1084 | 1084 |
|
1085 | 1085 |
return; |
1086 | 1086 |
} |
... | ... | |
1092 | 1092 |
{ |
1093 | 1093 |
#if (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) |
1094 | 1094 |
chThdWait(aos.shell.thread); |
1095 |
#endif |
|
1095 |
#endif /* (AMIROOS_CFG_SHELL_ENABLE == true) || (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
1096 | 1096 |
|
1097 | 1097 |
return; |
1098 | 1098 |
} |
... | ... | |
1122 | 1122 |
#if (AMIROOS_CFG_SSSP_ENABLE == true) |
1123 | 1123 |
// update the system SSSP stage |
1124 | 1124 |
aos.sssp.stage = AOS_SSSP_SHUTDOWN_1_3; |
1125 |
#endif |
|
1125 |
#endif /* (AMIROOS_CFG_SSSP_ENABLE == true) */
|
|
1126 | 1126 |
|
1127 | 1127 |
// validate bootloader |
1128 | 1128 |
if ((BL_CALLBACK_TABLE_ADDRESS->magicNumber == BL_MAGIC_NUMBER) && |
core/src/aos_unittest.c | ||
---|---|---|
293 | 293 |
return; |
294 | 294 |
} |
295 | 295 |
|
296 |
#endif /* AMIROOS_CFG_TESTS_ENABLE == true */
|
|
296 |
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
|
|
297 | 297 |
|
298 | 298 |
/** @} */ |
modules/DiWheelDrive_1-1/aosconf.h | ||
---|---|---|
42 | 42 |
*/ |
43 | 43 |
#if defined(AMIRO_APPS) && (AMIRO_APPS == true) |
44 | 44 |
#include <osconf.h> |
45 |
#endif |
|
45 |
#endif /* defined(AMIRO_APPS) && (AMIRO_APPS == true) */
|
|
46 | 46 |
|
47 | 47 |
/*===========================================================================*/ |
48 | 48 |
/** |
... | ... | |
56 | 56 |
*/ |
57 | 57 |
#if !defined(OS_CFG_DBG) |
58 | 58 |
#define AMIROOS_CFG_DBG true |
59 |
#else |
|
59 |
#else /* !defined(OS_CFG_DBG) */
|
|
60 | 60 |
#define AMIROOS_CFG_DBG OS_CFG_DBG |
61 |
#endif |
|
61 |
#endif /* !defined(OS_CFG_DBG) */
|
|
62 | 62 |
|
Also available in: Unified diff