Revision 2934c7a4 doc/classdiagrams/overview.uml

View differences:

doc/classdiagrams/overview.uml
28 28
/' Not a type but a set of configuration macros. '/
29 29
class urt_config <<(C,grey)>> {
30 30
    'Selection to en-/disable debug checks.
31
  + URT_CONFIG_DEBUG : bool
31
  + URT_CFG_DEBUG : bool
32 32
    'Selector to specify the width of urt_delay_t type.
33
  + URT_CONFIG_DELAY_WIDTH
34
    'Selector to specify the widtg of the urt_topicid_t type.
35
  + URT_CONFIG_TOPICID_WIDTH
36
    'Selector to specify the integer type of urt_nodesync_t.
37
  + URT_CONFIG_NODESYNC_TYPE
33
  + URT_CFG_DELAY_WIDTH
34
    'Selector to specify the width of the urt_topicid_t type.
35
  + URT_CFG_TOPICID_WIDTH
36
    'Selector to specify the width of the urt_nodestage_t type.
37
  + URT_CFG_NODESTAGE_WIDTH
38 38
}
39 39

  
40 40
package "primitives" {
......
68 68
  }
69 69
  urt_topicid_t ..> urt_config
70 70

  
71
  /' Just a function for debugging. '/
72
  class urt_debug <<(F,white)>> {
73
      'Checks the condition in debug mode.
74
    + urtDebugAssert(condition : bool) : void
75
  }
76

  
77 71
  /' Node synchronization type. '/
78
  class urt_nodesync_t <<T,lightblue>> {
72
  class urt_nodestage_t <<T,lightblue>> {
79 73
    'configurable
80 74
    uin8_t
81 75
    .. or ..
82
    int8_t
83
    .. or ..
84 76
    uint16_t
85 77
    .. or ..
86
    int16_t
87
    .. or ..
88 78
    uint32_t
89 79
    .. or ..
90
    int32_t
91
    .. or ..
92 80
    uint64_t
93
    .. or ..
94
    int64_t
95 81
  }
96
  urt_nodesync_t ..> urt_config
82
  urt_nodestage_t ..> urt_config
97 83

  
98 84
} /' package "primitives" '/
99 85

  
......
177 163
  package "thread" {
178 164

  
179 165
    /' Thread priority type. '/
180
    class urt_osThreadPrio_t <<(T,lightblue)>>
166
    class urt_osThreadPrio_t <<(T,lightblue)>> {
167
      'Minimum priority for low priority threads.
168
      + URT_THREAD_PRIO_LOW_MIN
169
        'Maximum priority for low priority threads.
170
      + URT_THREAD_PRIO_LOW_MAX
171
        'Minimum priority for normal priority threads.
172
      + URT_THREAD_PRIO_NORMAL_MIN
173
        'Maximum priority for normal priority threads.
174
      + URT_THREAD_PRIO_NORMAL_MAX
175
        'Minimum priority for high priority threads.
176
      + URT_THREAD_PRIO_HIGH_MIN
177
        'Maximum priority for high priority threads.
178
      + URT_THREAD_PRIO_HIGH_MAX
179
        'Minimum priority for real-time threads.
180
      + URT_THREAD_PRIO_RT_MIN
181
        'Maximum priority for real-time threads.
182
      + URT_THREAD_PRIO_RT_MAX
183
    }
181 184

  
182 185
    /' Thread main function type. '/
183 186
    class urt_osThreadFunction_t <<(T,lightblue)>> {
......
210 213

  
211 214
    /' OS thread interface. '/
212 215
    class urt_osThread_t <<(T,lightblue)>> {
213
        'Minimum priority for low priority threads.
214
      + URT_THREAD_PRIO_LOW_MIN : urt_osThreadPrio_t
215
        'Maximum priority for low priority threads.
216
      + URT_THREAD_PRIO_LOW_MAX : urt_osThreadPrio_t
217
        'Minimum priority for normal priority threads.
218
      + URT_THREAD_PRIO_NORMAL_MIN : urt_osThreadPrio_t
219
        'Maximum priority for normal priority threads.
220
      + URT_THREAD_PRIO_NORMAL_MAX : urt_osThreadPrio_t
221
        'Minimum priority for high priority threads.
222
      + URT_THREAD_PRIO_HIGH_MIN : urt_osThreadPrio_t
223
        'Maximum priority for high priority threads.
224
      + URT_THREAD_PRIO_HIGH_MAX : urt_osThreadPrio_t
225
        'Minimum priority for real-time threads.
226
      + URT_THREAD_PRIO_RT_MIN : urt_osThreadPrio_t
227
        'Maximum priority for real-time threads.
228
      + URT_THREAD_PRIO_RT_MAX : urt_osThreadPrio_t
229
      ..
230 216
        'Maximum sleep interval in seconds (as float).
231
      + URT_THREAD_MAX_SLEEP : float
217
      + URT_THREAD_SLEEP_MAX : float
232 218
        'Maximum sleep interval in seconds.
233
      + URT_THREAD_MAX_SSLEP : unsigned int
219
      + URT_THREAD_SSLEP_MAX : unsigned int
234 220
        'Maximum sleep interval in milliseconds.
235
      + URT_THREAD_MAX_MSLEEP : unsigned int
221
      + URT_THREAD_MSLEEP_MAX : unsigned int
236 222
        'Maximum sleep interval in microseconds.
237
      + URT_THREAD_MAX_USLEEP : unsigned int
223
      + URT_THREAD_USLEEP_MAX : unisgned int
238 224
      __
239 225
        'Macro to setup working area as static variable (handles alignment if required).
240
      + URT_THREAD_WORKING_AREA (varname, stacksize)
226
      + URT_THREAD_MEMORY (varname, stacksize)
241 227
      ..
242 228
        'Initializes an urt_osThread_t object.
243
      + urtThreadInit (wa : void*, wasize : size_t, func : urt_osThreadFunction_t*, arg : void*) : urt_osThread_t*
229
      + urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*
244 230
        'Starts a thread.
245 231
      + urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
246 232
        'The calling threads yields.
247 233
      + urtThreadYield (void) : void
248
        'Retrieves the priority of a thread.
249
      + urtThreadGetPriority (thread : urt_osThread_t*) : urt_osThreadPrio_t
250
        'Sets the priority of a thread.
251
      + urtThreadSetPriority (thread : urt_osThread_t*, prio : urt_osThreadPrio_t) : void
252
        'Retrieves the first thread in the list of children.
253
      + urtThreadSuspend (void) : void
234
        'Retrieves the priority of the calling thread.
235
      + urtThreadGetPriority (void) : urt_osThreadPrio_t
236
        'Sets the priority of the calling thread.
237
      + urtThreadSetPriority (prio : urt_osThreadPrio_t) : void
238
        'Suspends a thread so it will no longer be executed.
239
      + urtThreadSuspend (thread : urt_osThread_t*) : void
254 240
        'Wakes a suspended thread.
255 241
      + urtThreadResume (thread : urt_osThread_t*) : urt_status_t
256 242
        'Suspends the calling thread for the specified time.
......
268 254
        'Terminates a specified thread.
269 255
      + urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
270 256
        'Waits until the specified thread terminates.
271
      + urtThreadJoin (thread : urt_osThread_t*) : void
257
      + urtThreadJoin (thread : urt_osThread_t*) : int
272 258
        'Retrieves the execution state of the specified thread.
273 259
      + urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
260
        'Retrieves the calling thread itself.
261
      + urtThreadGetSelf (void) : urt_osThread_t*
274 262
        'Retrieves the first child of a thread (or ""NULL"").
275 263
      + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
276 264
        'Retrieves a sibling (next child in a list) of the thread or ""NULL"".
277
      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_psThread_t*
265
      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*
266
        'Retrieves the parent thread.
267
      + urtThreadGetParent (thread : urt_osThread_t) : urt_osThread_t*
278 268
    }
279 269
    urt_osThread_t ..> urt_osThreadPrio_t
280 270
    urt_osThread_t ..> urt_osThreadFunction_t
281 271
    urt_osThread_t ..> urt_osTime_t
282 272
    urt_osThread_t ..> urt_osThreadTerminateSignal_t
283 273
    urt_osThread_t ..> urt_osThreadState_t
274
    urt_osThread_t ..> urt_status_t
284 275

  
285 276
  } /' package "thread" '/
286 277

  
......
328 319
        'Unregisters a listener from a source.
329 320
      + urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t
330 321
        'Blocks the thread until any event occurs or the timeout expires.
331
      + urtEventWait (type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t
322
      + urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t
332 323
    }
333 324
    urt_events ..> urt_osEventSource_t
334 325
    urt_events ..> urt_osEventListener_t
......
351 342

  
352 343
package "middleware" {
353 344

  
345
  /' Just a function for debugging. '/
346
  class urt_debug <<(F,white)>> {
347
      'Checks the condition in debug mode.
348
    + urtDebugAssert(condition : bool) : void
349
  }
350
  urt_debug ..> urt_config
351

  
354 352
  package "real-time class" {
355 353

  
356 354
    /' The top level RT class structure. '/
......
584 582
      'Starts all node threads (nodes will block before the loop).
585 583
    + urtCoreStartNodes (void) : urt_status_t
586 584
      'Nodes can use this function to synchronize globally.
587
    + urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodesync_t) : urt_status_t
585
    + urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t
588 586
      'Stops all nodes.
589 587
    + urtCoreStopNodes (void) : urt_status_t
590 588
      'Retrieves a topic given an identifier.
......
595 593
  urt_core_t "1" *-- "1" urt_osEventSource_t
596 594
  urt_core_t "1" *-- "1" urt_osMutex_t
597 595
  urt_core_t ..> urt_status_t
598
  urt_core_t --> urt_nodesync_t
596
  urt_core_t --> urt_nodestage_t
599 597
  urt_core_t ..> urt_topicid_t
600 598

  
601 599
  package "node" {
......
632 630
        'Optional parameters for the loop callback function.
633 631
      + loopparams : void*
634 632
        'Execution stage of the node.
635
      + stage : urt_nodesync_t
633
      + stage : urt_nodestage_t
636 634
        'Event listener for middleware-wide control events.
637 635
      + listener : urt_osEventListener_t
638 636
      __
......
645 643
    urt_node_t "1" o-- "1" urt_osThread_t
646 644
    urt_node_t "1" o-- "1" urt_nodeSetupCallback_t
647 645
    urt_node_t "1" o-- "1" urt_nodeLoopCallback_t
648
    urt_node_t "1" *-- "1" urt_nodesync_t
646
    urt_node_t "1" *-- "1" urt_nodestage_t
649 647
    urt_node_t "1" *-- "1" urt_osEventMask_t
650 648
    urt_node_t "1" *-- "1" urt_osEventWaitType_t
651 649
    urt_node_t "1" *-- "1" urt_osEventListener_t

Also available in: Unified diff