Skip to content

Commit 09d20ea

Browse files
committed
reqmgmt: Import Timer requirements
Import Timer requirements from #75 pull request. Fixes #65 Signed-off-by: Stephane Parenti <[email protected]>
1 parent 08b2468 commit 09d20ea

File tree

1 file changed

+302
-9
lines changed

1 file changed

+302
-9
lines changed

docs/software_requirements/timers.sdoc

Lines changed: 302 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,9 @@ UID: ZEP-SRS-4-1
1515
STATUS: Draft
1616
TYPE: Functional
1717
COMPONENT: Timers
18-
TITLE: Kernel Clock
18+
TITLE: Timer definition at run time
1919
STATEMENT: >>>
20-
The Zephyr RTOS shall provide a interface for checking the current value of the real-time clock.
21-
<<<
22-
USER_STORY: >>>
23-
As a Zephyr RTOS user, I want to be able to track the passed real time in the OS with a dedicated hardware counter and interrupt.
20+
The Zephyr RTOS shall provide a mechanism to define and initialize timers at run time.
2421
<<<
2522
RELATIONS:
2623
- TYPE: Parent
@@ -31,12 +28,308 @@ UID: ZEP-SRS-4-2
3128
STATUS: Draft
3229
TYPE: Functional
3330
COMPONENT: Timers
34-
TITLE: Call functions in interrupt context
31+
TITLE: Timer definition at compile time
32+
STATEMENT: >>>
33+
The Zephyr RTOS shall provide a mechanism to define and static initialize timers (compile time).
34+
<<<
35+
RELATIONS:
36+
- TYPE: Parent
37+
VALUE: ZEP-SYRS-18
38+
39+
[REQUIREMENT]
40+
UID: ZEP-SRS-4-3
41+
STATUS: Draft
42+
TYPE: Non-Functional
43+
COMPONENT: Timers
44+
TITLE: Timer status
45+
STATEMENT: >>>
46+
A Zephyr RTOS timer shall have a status which indicates the expiration of the timer.
47+
<<<
48+
RELATIONS:
49+
- TYPE: Parent
50+
VALUE: ZEP-SYRS-18
51+
52+
[REQUIREMENT]
53+
UID: ZEP-SRS-4-4
54+
STATUS: Draft
55+
TYPE: Functional
56+
COMPONENT: Timers
57+
TITLE: Timer period
58+
STATEMENT: >>>
59+
A Zephyr RTOS timer shall support repeated expiration of the timer given by a timer-specific time period.
60+
<<<
61+
RELATIONS:
62+
- TYPE: Parent
63+
VALUE: ZEP-SYRS-18
64+
65+
[REQUIREMENT]
66+
UID: ZEP-SRS-4-5
67+
STATUS: Draft
68+
TYPE: Functional
69+
COMPONENT: Timers
70+
TITLE: Timer duration
3571
STATEMENT: >>>
36-
The Zephyr RTOS shall provide an interface to schedule user mode call back function triggered by a real time clock value.
72+
A Zephyr RTOS timer shall have a duration which indicates when the timer expires for the first time.
3773
<<<
38-
USER_STORY: >>>
39-
As a Zephyr RTOS user, I want to be able to execute functions in the interrupt context and the interrupt context shall be base on a real-time counter.
74+
RELATIONS:
75+
- TYPE: Parent
76+
VALUE: ZEP-SYRS-18
77+
78+
[REQUIREMENT]
79+
UID: ZEP-SRS-4-6
80+
STATUS: Draft
81+
TYPE: Functional
82+
COMPONENT: Timers
83+
TITLE: Timer expiry function
84+
STATEMENT: >>>
85+
A Zephyr RTOS timer shall support a user-settable expiry function that gets called whenever the timer expires.
86+
<<<
87+
RELATIONS:
88+
- TYPE: Parent
89+
VALUE: ZEP-SYRS-18
90+
91+
[REQUIREMENT]
92+
UID: ZEP-SRS-4-7
93+
STATUS: Draft
94+
TYPE: Functional
95+
COMPONENT: Timers
96+
TITLE: Timer stop function
97+
STATEMENT: >>>
98+
A Zephyr RTOS timer shall support a user-settable stop function that gets called when the timer is stopped while running.
99+
<<<
100+
RELATIONS:
101+
- TYPE: Parent
102+
VALUE: ZEP-SYRS-18
103+
104+
[REQUIREMENT]
105+
UID: ZEP-SRS-4-8
106+
STATUS: Draft
107+
TYPE: Functional
108+
COMPONENT: Timers
109+
TITLE: Initialialization with expiry function
110+
STATEMENT: >>>
111+
When initializing a Zephyr RTOS timer, the expiry function a timer can have shall be settable.
112+
<<<
113+
RELATIONS:
114+
- TYPE: Parent
115+
VALUE: ZEP-SYRS-18
116+
117+
[REQUIREMENT]
118+
UID: ZEP-SRS-4-9
119+
STATUS: Draft
120+
TYPE: Functional
121+
COMPONENT: Timers
122+
TITLE: Initialialization with stop function
123+
STATEMENT: >>>
124+
When initializing a Zephyr RTOS timer, the stop function a timer can have shall be settable.
125+
<<<
126+
RELATIONS:
127+
- TYPE: Parent
128+
VALUE: ZEP-SYRS-18
129+
130+
[REQUIREMENT]
131+
UID: ZEP-SRS-4-10
132+
STATUS: Draft
133+
TYPE: Functional
134+
COMPONENT: Timers
135+
TITLE: Timer start
136+
STATEMENT: >>>
137+
The Zephyr RTOS shall provide a mechanism to start a defined and initialized timer.
138+
<<<
139+
RELATIONS:
140+
- TYPE: Parent
141+
VALUE: ZEP-SYRS-18
142+
143+
[REQUIREMENT]
144+
UID: ZEP-SRS-4-11
145+
STATUS: Draft
146+
TYPE: Functional
147+
COMPONENT: Timers
148+
TITLE: Start timer status reset
149+
STATEMENT: >>>
150+
Whenever a not running timer is started the timer's status shall be reset to zero.
151+
<<<
152+
RELATIONS:
153+
- TYPE: Parent
154+
VALUE: ZEP-SYRS-18
155+
156+
[REQUIREMENT]
157+
UID: ZEP-SRS-4-12
158+
STATUS: Draft
159+
TYPE: Functional
160+
COMPONENT: Timers
161+
TITLE: Start timer counting values
162+
STATEMENT: >>>
163+
Whenever a Zephyr RTOS timer is started, the timer shall start running with the duration and period values provided during timer initialization.
164+
<<<
165+
RELATIONS:
166+
- TYPE: Parent
167+
VALUE: ZEP-SYRS-18
168+
169+
[REQUIREMENT]
170+
UID: ZEP-SRS-4-13
171+
STATUS: Draft
172+
TYPE: Functional
173+
COMPONENT: Timers
174+
TITLE: Timer stop
175+
STATEMENT: >>>
176+
A Zephyr RTOS timer that is running shall be stoppable
177+
<<<
178+
RELATIONS:
179+
- TYPE: Parent
180+
VALUE: ZEP-SYRS-18
181+
182+
[REQUIREMENT]
183+
UID: ZEP-SRS-4-14
184+
STATUS: Draft
185+
TYPE: Functional
186+
COMPONENT: Timers
187+
TITLE: Timer status read
188+
STATEMENT: >>>
189+
The Zephyr RTOS shall provide a mechanism to read the number of times a timer that is running has already expired.
190+
<<<
191+
RELATIONS:
192+
- TYPE: Parent
193+
VALUE: ZEP-SYRS-18
194+
195+
[REQUIREMENT]
196+
UID: ZEP-SRS-4-15
197+
STATUS: Draft
198+
TYPE: Functional
199+
COMPONENT: Timers
200+
TITLE: Timer status read reset
201+
STATEMENT: >>>
202+
When the timer is read via the timer status read mechanism, the status shall be reset.
203+
<<<
204+
RELATIONS:
205+
- TYPE: Parent
206+
VALUE: ZEP-SYRS-18
207+
208+
[REQUIREMENT]
209+
UID: ZEP-SRS-4-16
210+
STATUS: Draft
211+
TYPE: Functional
212+
COMPONENT: Timers
213+
TITLE: Timer thread synchronization
214+
STATEMENT: >>>
215+
The Zephyr RTOS shall provide a mechanism to synchronize a thread with a defined and initialized timer.
216+
<<<
217+
RELATIONS:
218+
- TYPE: Parent
219+
VALUE: ZEP-SYRS-18
220+
221+
[REQUIREMENT]
222+
UID: ZEP-SRS-4-17
223+
STATUS: Draft
224+
TYPE: Functional
225+
COMPONENT: Timers
226+
TITLE: Synchronized thread blocks until timer has expired
227+
STATEMENT: >>>
228+
When the thread synchronization mechanism is used, the thread shall be blocked until the timer expires.
229+
<<<
230+
RELATIONS:
231+
- TYPE: Parent
232+
VALUE: ZEP-SYRS-18
233+
234+
[REQUIREMENT]
235+
UID: ZEP-SRS-4-18
236+
STATUS: Draft
237+
TYPE: Functional
238+
COMPONENT: Timers
239+
TITLE: Synchronized thread is unblocked when timer is stopped.
240+
STATEMENT: >>>
241+
When the thread synchronization mechanism is used, the synchronized thread shall be unblocked when the timer is stopped.
242+
<<<
243+
RELATIONS:
244+
- TYPE: Parent
245+
VALUE: ZEP-SYRS-18
246+
247+
[REQUIREMENT]
248+
UID: ZEP-SRS-4-19
249+
STATUS: Draft
250+
TYPE: Functional
251+
COMPONENT: Timers
252+
TITLE: Timer thread synchronization status reset
253+
STATEMENT: >>>
254+
When the thread synchronization mechanism is used, the status of the timer shall be reset.
255+
<<<
256+
RELATIONS:
257+
- TYPE: Parent
258+
VALUE: ZEP-SYRS-18
259+
260+
[REQUIREMENT]
261+
UID: ZEP-SRS-4-20
262+
STATUS: Draft
263+
TYPE: Functional
264+
COMPONENT: Timers
265+
TITLE: Provide timer remaining expiration time in units of system ticks
266+
STATEMENT: >>>
267+
The Zephyr RTOS shall provide a mechanism to get the timer's remaining time until its next expiry in system ticks.
268+
<<<
269+
RELATIONS:
270+
- TYPE: Parent
271+
VALUE: ZEP-SYRS-18
272+
273+
[REQUIREMENT]
274+
UID: ZEP-SRS-4-21
275+
STATUS: Draft
276+
TYPE: Functional
277+
COMPONENT: Timers
278+
TITLE: Provide timer remaining expiration time in milliseconds
279+
STATEMENT: >>>
280+
The Zephyr RTOS shall provide a mechanism to get the timer's remaining time until its next expiry in milliseconds.
281+
<<<
282+
RELATIONS:
283+
- TYPE: Parent
284+
VALUE: ZEP-SYRS-18
285+
286+
[REQUIREMENT]
287+
UID: ZEP-SRS-4-22
288+
STATUS: Draft
289+
TYPE: Functional
290+
COMPONENT: Timers
291+
TITLE: Timer set user data
292+
STATEMENT: >>>
293+
The Zephyr RTOS shall provide a mechanism to set user data to a timer.
294+
<<<
295+
RELATIONS:
296+
- TYPE: Parent
297+
VALUE: ZEP-SYRS-18
298+
299+
[REQUIREMENT]
300+
UID: ZEP-SRS-4-23
301+
STATUS: Draft
302+
TYPE: Functional
303+
COMPONENT: Timers
304+
TITLE: Timer get user data
305+
STATEMENT: >>>
306+
The Zephyr RTOS shall provide a mechanism to get user data from a timer.
307+
<<<
308+
RELATIONS:
309+
- TYPE: Parent
310+
VALUE: ZEP-SYRS-18
311+
312+
[REQUIREMENT]
313+
UID: ZEP-SRS-4-24
314+
STATUS: Draft
315+
TYPE: Functional
316+
COMPONENT: Timers
317+
TITLE: Timer expire functions in interrupt context
318+
STATEMENT: >>>
319+
When the timer expiry function is defined, it shall be called in the interrupt context.
320+
<<<
321+
RELATIONS:
322+
- TYPE: Parent
323+
VALUE: ZEP-SYRS-18
324+
325+
[REQUIREMENT]
326+
UID: ZEP-SRS-4-25
327+
STATUS: Draft
328+
TYPE: Functional
329+
COMPONENT: Timers
330+
TITLE: Provide timer next expiration time in units of system ticks
331+
STATEMENT: >>>
332+
The Zephyr RTOS shall provide a mechanism to get the timer's next time of expiration in system ticks.
40333
<<<
41334
RELATIONS:
42335
- TYPE: Parent

0 commit comments

Comments
 (0)