[c4fe9f5] | 1 | SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause |
---|
[c970d63] | 2 | brief: | |
---|
| 3 | Creates a timer. |
---|
[c4fe9f5] | 4 | copyrights: |
---|
[45b6997] | 5 | - Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de) |
---|
[c4fe9f5] | 6 | - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) |
---|
| 7 | definition: |
---|
| 8 | default: |
---|
[d3edaca] | 9 | attributes: null |
---|
[c4fe9f5] | 10 | body: null |
---|
| 11 | params: |
---|
[3bdf817] | 12 | - ${../../type/if/name:/name} ${.:/params[0]/name} |
---|
| 13 | - ${../../type/if/id:/name} *${.:/params[1]/name} |
---|
| 14 | return: ${../../status/if/code:/name} |
---|
[c4fe9f5] | 15 | variants: [] |
---|
[c970d63] | 16 | description: | |
---|
[45b6997] | 17 | This directive creates a timer which resides on the local node. The timer |
---|
| 18 | has the user-defined object name specified in ${.:/params[0]/name}. The |
---|
| 19 | assigned object identifier is returned in ${.:/params[1]/name}. This |
---|
| 20 | identifier is used to access the timer with other timer related directives. |
---|
[c4fe9f5] | 21 | enabled-by: true |
---|
[c970d63] | 22 | index-entries: |
---|
| 23 | - create a timer |
---|
[c4fe9f5] | 24 | interface-type: function |
---|
| 25 | links: |
---|
| 26 | - role: interface-placement |
---|
| 27 | uid: header |
---|
| 28 | - role: interface-ingroup |
---|
[cead53e] | 29 | uid: group |
---|
[45b6997] | 30 | - role: constraint |
---|
| 31 | uid: /constraint/directive-ctx-devinit |
---|
| 32 | - role: constraint |
---|
| 33 | uid: /constraint/directive-ctx-task |
---|
| 34 | - role: constraint |
---|
| 35 | uid: /constraint/object-allocator |
---|
| 36 | - role: constraint |
---|
| 37 | uid: ../constraint/max |
---|
| 38 | - role: constraint |
---|
| 39 | uid: /constraint/obj-unlimited-alloc |
---|
[c4fe9f5] | 40 | name: rtems_timer_create |
---|
[c970d63] | 41 | notes: | |
---|
[45b6997] | 42 | The processor used to maintain the timer is the processor of the calling task |
---|
| 43 | at some point during the timer creation. |
---|
[c970d63] | 44 | |
---|
| 45 | For control and maintenance of the timer, RTEMS allocates a |
---|
| 46 | ${/glossary/tmcb:/term} from the local TMCB free pool and initializes it. |
---|
[c4fe9f5] | 47 | params: |
---|
[45b6997] | 48 | - description: | |
---|
| 49 | is the object name of the timer. |
---|
[c4fe9f5] | 50 | dir: null |
---|
| 51 | name: name |
---|
[c970d63] | 52 | - description: | |
---|
| 53 | is the pointer to an object identifier variable. The identifier of the |
---|
[45b6997] | 54 | created timer will be stored in this variable, in case of a successful |
---|
| 55 | operation. |
---|
[c970d63] | 56 | dir: out |
---|
[c4fe9f5] | 57 | name: id |
---|
| 58 | return: |
---|
| 59 | return: null |
---|
[c970d63] | 60 | return-values: |
---|
| 61 | - description: | |
---|
| 62 | The requested operation was successful. |
---|
| 63 | value: ${../../status/if/successful:/name} |
---|
| 64 | - description: | |
---|
[45b6997] | 65 | The ${.:/params[0]/name} parameter was invalid. |
---|
[c970d63] | 66 | value: ${../../status/if/invalid-name:/name} |
---|
| 67 | - description: | |
---|
| 68 | The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. |
---|
| 69 | value: ${../../status/if/invalid-address:/name} |
---|
| 70 | - description: | |
---|
[45b6997] | 71 | There was no inactive object available to create a timer. The number of |
---|
| 72 | timers available to the application is configured through the |
---|
| 73 | ${/acfg/if/max-timers:/name} application configuration option. |
---|
[c970d63] | 74 | value: ${../../status/if/too-many:/name} |
---|
[c4fe9f5] | 75 | type: interface |
---|