Revision cd0cba58
inc/urt_core.h | ||
---|---|---|
54 | 54 |
|
55 | 55 |
void urtCoreInit(void); |
56 | 56 |
urt_status_t urtCoreGetStatus(void); |
57 |
urt_osEventMask_t urtCoreGetEventMask(void); |
|
57 | 58 |
urt_osMutex_t urtCoreGetMutex(void); |
58 | 59 |
urt_osEventSource_t* urtCoreGetEvtSource(void); |
59 | 60 |
urt_node_t* urtCoreGetNodes(void); |
src/urt_core.c | ||
---|---|---|
92 | 92 |
return core._status; |
93 | 93 |
} |
94 | 94 |
|
95 |
urt_osEventMask_t urtCoreGetEventMask(void) |
|
96 |
{ |
|
97 |
return EVENT_MASK(32); |
|
98 |
} |
|
99 |
|
|
95 | 100 |
/** |
96 | 101 |
* @brief Get Core mutex. |
97 | 102 |
* |
src/urt_node.c | ||
---|---|---|
51 | 51 |
void _main(void* arg) |
52 | 52 |
{ |
53 | 53 |
urt_osEventMask_t mask; |
54 |
urt_osEventFlags_t flag; //TODO: flag from core here
|
|
54 |
urt_osEventFlags_t flag = 0;
|
|
55 | 55 |
urtEventRegister(urtCoreGetEvtSource(), &localNode.listener, mask, flag); |
56 | 56 |
if (localNode.setupcallback != NULL) |
57 | 57 |
{ |
58 | 58 |
mask = localNode.setupcallback(&localNode, arg); |
59 |
if (mask /*TODO: check single bits from mask to find out if bit for core is 1 */)
|
|
59 |
if (mask == urtCoreGetEventMask())
|
|
60 | 60 |
{ |
61 | 61 |
urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK); |
62 | 62 |
} |
... | ... | |
75 | 75 |
if (terminated /*TODO: replace with function*/) |
76 | 76 |
{ |
77 | 77 |
urt_osEventMask_t temp = urtEventWait(mask, URT_EVENT_WAIT_ONE, URT_DELAY_INFINITE); |
78 |
if (temp /*TODO: check single bits from mask to find out if bit for core is 1 */)
|
|
78 |
if (temp == urtCoreGetEventMask())
|
|
79 | 79 |
{ |
80 | 80 |
localNode.loopcallback(&localNode, mask, arg); |
81 | 81 |
#if (URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING) |
82 | 82 |
localNode.loops++; |
83 | 83 |
#endif /* URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING */ |
84 |
if (mask /*TODO: check single bits from mask to find out if bit for core is 1 */)
|
|
84 |
if (mask == urtCoreGetEventMask())
|
|
85 | 85 |
{ |
86 | 86 |
urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK); |
87 | 87 |
} |
Also available in: Unified diff