@@ -15,12 +15,9 @@ UID: ZEP-SRS-4-1
1515STATUS: Draft
1616TYPE: Functional
1717COMPONENT: Timers
18- TITLE: Kernel Clock
18+ TITLE: Timer definition at run time
1919STATEMENT: >>>
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<<<
2522RELATIONS:
2623- TYPE: Parent
@@ -31,12 +28,308 @@ UID: ZEP-SRS-4-2
3128STATUS: Draft
3229TYPE: Functional
3330COMPONENT: 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
3571STATEMENT: >>>
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<<<
41334RELATIONS:
42335- TYPE: Parent
0 commit comments