summaryrefslogtreecommitdiffstats
path: root/spec/rtems/clock
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/clock')
-rw-r--r--spec/rtems/clock/if/get-seconds-since-epoch.yml30
-rw-r--r--spec/rtems/clock/if/get-ticks-per-second.yml23
-rw-r--r--spec/rtems/clock/if/get-ticks-since-boot.yml23
-rw-r--r--spec/rtems/clock/if/get-tod-timeval.yml30
-rw-r--r--spec/rtems/clock/if/get-tod.yml30
-rw-r--r--spec/rtems/clock/if/get-uptime-nanoseconds.yml26
-rw-r--r--spec/rtems/clock/if/get-uptime-seconds.yml26
-rw-r--r--spec/rtems/clock/if/get-uptime-timeval.yml30
-rw-r--r--spec/rtems/clock/if/get-uptime.yml30
-rw-r--r--spec/rtems/clock/if/group.yml20
-rw-r--r--spec/rtems/clock/if/header.yml12
-rw-r--r--spec/rtems/clock/if/set.yml30
-rw-r--r--spec/rtems/clock/if/tick-before.yml40
-rw-r--r--spec/rtems/clock/if/tick-later-usec.yml41
-rw-r--r--spec/rtems/clock/if/tick-later.yml32
-rw-r--r--spec/rtems/clock/if/tick.yml26
16 files changed, 449 insertions, 0 deletions
diff --git a/spec/rtems/clock/if/get-seconds-since-epoch.yml b/spec/rtems/clock/if/get-seconds-since-epoch.yml
new file mode 100644
index 00000000..239b3d58
--- /dev/null
+++ b/spec/rtems/clock/if/get-seconds-since-epoch.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${../../type/if/interval:/name} *${.:/params[0]/name}
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_seconds_since_epoch
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: the_interval
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-ticks-per-second.yml b/spec/rtems/clock/if/get-ticks-per-second.yml
new file mode 100644
index 00000000..d0f534ad
--- /dev/null
+++ b/spec/rtems/clock/if/get-ticks-per-second.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/watchdog/if/ticks-per-second:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_ticks_per_second
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-ticks-since-boot.yml b/spec/rtems/clock/if/get-ticks-since-boot.yml
new file mode 100644
index 00000000..f60b7d58
--- /dev/null
+++ b/spec/rtems/clock/if/get-ticks-since-boot.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/watchdog/if/ticks-since-boot:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_ticks_since_boot
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-tod-timeval.yml b/spec/rtems/clock/if/get-tod-timeval.yml
new file mode 100644
index 00000000..303ff03d
--- /dev/null
+++ b/spec/rtems/clock/if/get-tod-timeval.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/c/if/timeval:/name} *${.:/params[0]/name}
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_tod_timeval
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: time
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-tod.yml b/spec/rtems/clock/if/get-tod.yml
new file mode 100644
index 00000000..703f2b79
--- /dev/null
+++ b/spec/rtems/clock/if/get-tod.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${../../type/if/time-of-day:/name} *${.:/params[0]/name}
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_tod
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: time_buffer
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-uptime-nanoseconds.yml b/spec/rtems/clock/if/get-uptime-nanoseconds.yml
new file mode 100644
index 00000000..bf1134e7
--- /dev/null
+++ b/spec/rtems/clock/if/get-uptime-nanoseconds.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params: []
+ return: ${/c/if/uint64_t:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_uptime_nanoseconds
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-uptime-seconds.yml b/spec/rtems/clock/if/get-uptime-seconds.yml
new file mode 100644
index 00000000..5a9729ea
--- /dev/null
+++ b/spec/rtems/clock/if/get-uptime-seconds.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params: []
+ return: ${/c/if/time_t:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_uptime_seconds
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-uptime-timeval.yml b/spec/rtems/clock/if/get-uptime-timeval.yml
new file mode 100644
index 00000000..c936d71d
--- /dev/null
+++ b/spec/rtems/clock/if/get-uptime-timeval.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/c/if/timeval:/name} *${.:/params[0]/name}
+ return: void
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_uptime_timeval
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: uptime
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/get-uptime.yml b/spec/rtems/clock/if/get-uptime.yml
new file mode 100644
index 00000000..2fc66f0f
--- /dev/null
+++ b/spec/rtems/clock/if/get-uptime.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/c/if/timespec:/name} *${.:/params[0]/name}
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_get_uptime
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: uptime
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/group.yml b/spec/rtems/clock/if/group.yml
new file mode 100644
index 00000000..a772d89f
--- /dev/null
+++ b/spec/rtems/clock/if/group.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ The Clock Manager provides support for time of day and other time related
+ capabilities.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+description: null
+enabled-by: true
+identifier: RTEMSAPIClassicClock
+interface-type: group
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: ../../if/group
+name: Clock Manager
+text: |
+ The Classic API shall provide an interface to the Clock Manager.
+type: interface
diff --git a/spec/rtems/clock/if/header.yml b/spec/rtems/clock/if/header.yml
new file mode 100644
index 00000000..19c8414e
--- /dev/null
+++ b/spec/rtems/clock/if/header.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: This header file defines the Clock Manager API.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: /if/domain
+path: rtems/rtems/clock.h
+prefix: cpukit/include
+type: interface
diff --git a/spec/rtems/clock/if/set.yml b/spec/rtems/clock/if/set.yml
new file mode 100644
index 00000000..91f8c87f
--- /dev/null
+++ b/spec/rtems/clock/if/set.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - const ${../../type/if/time-of-day:/name} *${.:/params[0]/name}
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_set
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: time_buffer
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/tick-before.yml b/spec/rtems/clock/if/tick-before.yml
new file mode 100644
index 00000000..2c31eca9
--- /dev/null
+++ b/spec/rtems/clock/if/tick-before.yml
@@ -0,0 +1,40 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns true if the current ticks counter value indicates a time before the
+ time specified by the tick value and false otherwise.
+copyrights:
+- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ default:
+ body: |
+ return (${/c/if/int32_t:/name}) ( ${.:/params[0]/name} - ${/score/watchdog/if/ticks-since-boot:/name} ) > 0;
+ params:
+ - ${../../type/if/interval:/name} ${.:/params[0]/name}
+ return: ${/c/if/bool:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_tick_before
+notes: |
+ This directive can be used to write busy loops with a timeout.
+params:
+- description: is the tick value.
+ dir: null
+ name: tick
+return:
+ return: null
+ return-values:
+ - description: |
+ The current ticks counter value indicates a time before the time
+ specified by the tick value.
+ value: 'true'
+ - description: |
+ Otherwise.
+ value: 'false'
+type: interface
diff --git a/spec/rtems/clock/if/tick-later-usec.yml b/spec/rtems/clock/if/tick-later-usec.yml
new file mode 100644
index 00000000..ef3f33c8
--- /dev/null
+++ b/spec/rtems/clock/if/tick-later-usec.yml
@@ -0,0 +1,41 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the ticks counter value at least delta microseconds in the future.
+copyrights:
+- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ default:
+ body: |
+ ${../../type/if/interval:/name} us_per_tick;
+
+ us_per_tick = ${../../config/if/get-microseconds-per-tick:/name}();
+
+ /*
+ * Add one additional tick, since we do not know the time to the clock
+ * next tick.
+ */
+ return ${/score/watchdog/if/ticks-since-boot:/name} + 1
+ + ( ${.:/params[0]/name} + us_per_tick - 1 ) / us_per_tick;
+ params:
+ - ${../../type/if/interval:/name} ${.:/params[0]/name}
+ return: ${../../type/if/interval:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_tick_later_usec
+notes: null
+params:
+- description: is the delta value in microseconds.
+ dir: null
+ name: delta_in_usec
+return:
+ return: |
+ The tick counter value delta ticks in the future is returned.
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/tick-later.yml b/spec/rtems/clock/if/tick-later.yml
new file mode 100644
index 00000000..9ce69c7f
--- /dev/null
+++ b/spec/rtems/clock/if/tick-later.yml
@@ -0,0 +1,32 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the ticks counter value delta ticks in the future.
+copyrights:
+- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ default:
+ body: |
+ return ${/score/watchdog/if/ticks-since-boot:/name} + ${.:/params[0]/name};
+ params:
+ - ${../../type/if/interval:/name} ${.:/params[0]/name}
+ return: ${../../type/if/interval:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_tick_later
+notes: null
+params:
+- description: is the ticks delta value.
+ dir: null
+ name: delta
+return:
+ return: |
+ The tick counter value delta ticks in the future is returned.
+ return-values: []
+type: interface
diff --git a/spec/rtems/clock/if/tick.yml b/spec/rtems/clock/if/tick.yml
new file mode 100644
index 00000000..5216a67a
--- /dev/null
+++ b/spec/rtems/clock/if/tick.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params: []
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_clock_tick
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface