1 | SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause |
---|
2 | brief: | |
---|
3 | Creates a timer. |
---|
4 | copyrights: |
---|
5 | - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) |
---|
6 | - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) |
---|
7 | definition: |
---|
8 | default: |
---|
9 | attributes: null |
---|
10 | body: null |
---|
11 | params: |
---|
12 | - ${../../type/if/name:/name} ${.:/params[0]/name} |
---|
13 | - ${../../type/if/id:/name} *${.:/params[1]/name} |
---|
14 | return: ${../../status/if/code:/name} |
---|
15 | variants: [] |
---|
16 | description: | |
---|
17 | This directive creates a timer. The assigned object identifier is returned |
---|
18 | in ${.:/params[1]/name}. This identifier is used to access the timer with |
---|
19 | other timer related directives. |
---|
20 | enabled-by: true |
---|
21 | index-entries: |
---|
22 | - create a timer |
---|
23 | interface-type: function |
---|
24 | links: |
---|
25 | - role: interface-placement |
---|
26 | uid: header |
---|
27 | - role: interface-ingroup |
---|
28 | uid: group |
---|
29 | name: rtems_timer_create |
---|
30 | notes: | |
---|
31 | This directive may cause the calling task to be preempted due to an obtain |
---|
32 | and release of the object allocator mutex. |
---|
33 | |
---|
34 | For control and maintenance of the timer, RTEMS allocates a |
---|
35 | ${/glossary/tmcb:/term} from the local TMCB free pool and initializes it. |
---|
36 | |
---|
37 | In SMP configurations, the processor of the currently executing thread |
---|
38 | determines the processor used for the created timer. During the life-time of |
---|
39 | the timer this processor is used to manage the timer internally. |
---|
40 | params: |
---|
41 | - description: is the name of the timer. |
---|
42 | dir: null |
---|
43 | name: name |
---|
44 | - description: | |
---|
45 | is the pointer to an object identifier variable. The identifier of the |
---|
46 | created timer object will be stored in this variable, in case of a |
---|
47 | successful operation. |
---|
48 | dir: out |
---|
49 | name: id |
---|
50 | return: |
---|
51 | return: null |
---|
52 | return-values: |
---|
53 | - description: | |
---|
54 | The requested operation was successful. |
---|
55 | value: ${../../status/if/successful:/name} |
---|
56 | - description: | |
---|
57 | The timer name was invalid. |
---|
58 | value: ${../../status/if/invalid-name:/name} |
---|
59 | - description: | |
---|
60 | The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. |
---|
61 | value: ${../../status/if/invalid-address:/name} |
---|
62 | - description: | |
---|
63 | There was no inactive object available to create a new timer. The number |
---|
64 | of timers available to the application is configured through the |
---|
65 | ${/acfg/if/max-timers:/name} configuration option. |
---|
66 | value: ${../../status/if/too-many:/name} |
---|
67 | type: interface |
---|