aboutsummaryrefslogtreecommitdiff
path: root/embassy-time/Cargo.toml
diff options
context:
space:
mode:
authorBarnaby Walters <[email protected]>2023-12-22 17:08:39 +0100
committerBarnaby Walters <[email protected]>2023-12-22 17:08:39 +0100
commit0fb57ef87d678830e2ccb3753432535897bbb1c3 (patch)
tree48393d59a2a0b827df359240febbdf6b5c51b948 /embassy-time/Cargo.toml
parent87c03037e320ce30c0cd34fe97e0365e1b11aa9a (diff)
Improved documentation
* Documented features including all tick rates * Corrected some out-of-date information * Sorted tick rate features * Removed gen_tick.py dependency on toml * Restructured README.md to better explain tick rate, more clearly prioritise time driver docs, correct header levels
Diffstat (limited to 'embassy-time/Cargo.toml')
-rw-r--r--embassy-time/Cargo.toml352
1 files changed, 263 insertions, 89 deletions
diff --git a/embassy-time/Cargo.toml b/embassy-time/Cargo.toml
index 6d9b7aa69..534894b20 100644
--- a/embassy-time/Cargo.toml
+++ b/embassy-time/Cargo.toml
@@ -32,204 +32,376 @@ features = ["defmt", "std"]
32std = ["tick-hz-1_000_000", "critical-section/std"] 32std = ["tick-hz-1_000_000", "critical-section/std"]
33wasm = ["dep:wasm-bindgen", "dep:js-sys", "dep:wasm-timer", "tick-hz-1_000_000"] 33wasm = ["dep:wasm-bindgen", "dep:js-sys", "dep:wasm-timer", "tick-hz-1_000_000"]
34 34
35# Display a timestamp of the number of seconds since startup next to defmt log messages 35## Display a timestamp of the number of seconds since startup next to defmt log messages
36# To use this you must have a time driver provided. 36## To use this you must have a time driver provided.
37defmt-timestamp-uptime = ["defmt"] 37defmt-timestamp-uptime = ["defmt"]
38 38
39# Create a global, generic queue that can be used with any executor 39## Create a `MockDriver` that can be manually advanced for testing purposes.
40# To use this you must have a time driver provided. 40mock-driver = ["tick-hz-1_000_000"]
41
42#! ### Generic Queue
43
44## Create a global, generic queue that can be used with any executor
45## To use this you must have a time driver provided.
41generic-queue = [] 46generic-queue = []
42 47
43# Set the number of timers for the generic queue. 48#! The following features set how many timers are used for the generic queue. At most 1
44# 49#! `generic-queue-*` feature can be enabled. If none is enabled, a default of 64 timers is used.
45# At most 1 `generic-queue-*` feature can be enabled. If none is enabled, a default of 64 timers is used. 50#!
46# 51#! When using embassy-time from libraries, you should *not* enable any `generic-queue-*` feature, to allow the
47# When using embassy-time from libraries, you should *not* enable any `generic-queue-*` feature, to allow the 52#! end user to pick.
48# end user to pick. 53
54## Generic Queue with 8 timers
49generic-queue-8 = ["generic-queue"] 55generic-queue-8 = ["generic-queue"]
56## Generic Queue with 16 timers
50generic-queue-16 = ["generic-queue"] 57generic-queue-16 = ["generic-queue"]
58## Generic Queue with 32 timers
51generic-queue-32 = ["generic-queue"] 59generic-queue-32 = ["generic-queue"]
60## Generic Queue with 64 timers
52generic-queue-64 = ["generic-queue"] 61generic-queue-64 = ["generic-queue"]
62## Generic Queue with 128 timers
53generic-queue-128 = ["generic-queue"] 63generic-queue-128 = ["generic-queue"]
54 64
55# Create a `MockDriver` that can be manually advanced for testing purposes. 65#! ### Tick Rate
56mock-driver = ["tick-hz-1_000_000"] 66#!
57 67#! At most 1 `tick-*` feature can be enabled. If none is enabled, a default of 1MHz is used.
58# Set the `embassy_time` tick rate. 68#!
59# 69#! If the time driver in use supports using arbitrary tick rates, you can enable one `tick-*`
60# At most 1 `tick-*` feature can be enabled. If none is enabled, a default of 1MHz is used. 70#! feature from your binary crate to set the tick rate. The driver will use configured tick rate.
61# 71#! If the time driver supports a fixed tick rate, it will enable one feature itself, so you should
62# If the time driver in use supports using arbitrary tick rates, you can enable one `tick-*` 72#! not enable one. Check the time driver documentation for details.
63# feature from your binary crate to set the tick rate. The driver will use configured tick rate. 73#!
64# If the time driver supports a fixed tick rate, it will enable one feature itself, so you should 74#! When using embassy-time from libraries, you should *not* enable any `tick-*` feature, to allow the
65# not enable one. Check the time driver documentation for details. 75#! end user or the driver to pick.
66# 76#! <details>
67# When using embassy-time from libraries, you should *not* enable any `tick-*` feature, to allow the 77#! <summary>Available tick rates:</summary>
68# end user or the driver to pick. 78#! <!-- Next line must be left empty for the features to render correctly! -->
79#!
69 80
70# BEGIN TICKS 81# BEGIN TICKS
71# Generated by gen_tick.py. DO NOT EDIT. 82# Generated by gen_tick.py. DO NOT EDIT.
83## 1Hz Tick Rate
72tick-hz-1 = [] 84tick-hz-1 = []
73tick-hz-10 = [] 85## 2Hz Tick Rate
74tick-hz-100 = []
75tick-hz-1_000 = []
76tick-hz-10_000 = []
77tick-hz-100_000 = []
78tick-hz-1_000_000 = []
79tick-hz-10_000_000 = []
80tick-hz-100_000_000 = []
81tick-hz-1_000_000_000 = []
82tick-hz-2 = [] 86tick-hz-2 = []
87## 4Hz Tick Rate
83tick-hz-4 = [] 88tick-hz-4 = []
89## 8Hz Tick Rate
84tick-hz-8 = [] 90tick-hz-8 = []
91## 10Hz Tick Rate
92tick-hz-10 = []
93## 16Hz Tick Rate
85tick-hz-16 = [] 94tick-hz-16 = []
95## 32Hz Tick Rate
86tick-hz-32 = [] 96tick-hz-32 = []
97## 64Hz Tick Rate
87tick-hz-64 = [] 98tick-hz-64 = []
99## 100Hz Tick Rate
100tick-hz-100 = []
101## 128Hz Tick Rate
88tick-hz-128 = [] 102tick-hz-128 = []
103## 256Hz Tick Rate
89tick-hz-256 = [] 104tick-hz-256 = []
105## 512Hz Tick Rate
90tick-hz-512 = [] 106tick-hz-512 = []
107## 1.0kHz Tick Rate
108tick-hz-1_000 = []
109## 1.024kHz Tick Rate
91tick-hz-1_024 = [] 110tick-hz-1_024 = []
92tick-hz-2_048 = [] 111## 2.0kHz Tick Rate
93tick-hz-4_096 = []
94tick-hz-8_192 = []
95tick-hz-16_384 = []
96tick-hz-32_768 = []
97tick-hz-65_536 = []
98tick-hz-131_072 = []
99tick-hz-262_144 = []
100tick-hz-524_288 = []
101tick-hz-1_048_576 = []
102tick-hz-2_097_152 = []
103tick-hz-4_194_304 = []
104tick-hz-8_388_608 = []
105tick-hz-16_777_216 = []
106tick-hz-2_000 = [] 112tick-hz-2_000 = []
113## 2.048kHz Tick Rate
114tick-hz-2_048 = []
115## 4.0kHz Tick Rate
107tick-hz-4_000 = [] 116tick-hz-4_000 = []
117## 4.096kHz Tick Rate
118tick-hz-4_096 = []
119## 8.0kHz Tick Rate
108tick-hz-8_000 = [] 120tick-hz-8_000 = []
121## 8.192kHz Tick Rate
122tick-hz-8_192 = []
123## 10.0kHz Tick Rate
124tick-hz-10_000 = []
125## 16.0kHz Tick Rate
109tick-hz-16_000 = [] 126tick-hz-16_000 = []
110tick-hz-32_000 = [] 127## 16.384kHz Tick Rate
111tick-hz-64_000 = [] 128tick-hz-16_384 = []
112tick-hz-128_000 = [] 129## 20.0kHz Tick Rate
113tick-hz-256_000 = []
114tick-hz-512_000 = []
115tick-hz-1_024_000 = []
116tick-hz-2_048_000 = []
117tick-hz-4_096_000 = []
118tick-hz-8_192_000 = []
119tick-hz-16_384_000 = []
120tick-hz-32_768_000 = []
121tick-hz-65_536_000 = []
122tick-hz-131_072_000 = []
123tick-hz-262_144_000 = []
124tick-hz-524_288_000 = []
125tick-hz-20_000 = [] 130tick-hz-20_000 = []
131## 32.0kHz Tick Rate
132tick-hz-32_000 = []
133## 32.768kHz Tick Rate
134tick-hz-32_768 = []
135## 40.0kHz Tick Rate
126tick-hz-40_000 = [] 136tick-hz-40_000 = []
137## 64.0kHz Tick Rate
138tick-hz-64_000 = []
139## 65.536kHz Tick Rate
140tick-hz-65_536 = []
141## 80.0kHz Tick Rate
127tick-hz-80_000 = [] 142tick-hz-80_000 = []
143## 100.0kHz Tick Rate
144tick-hz-100_000 = []
145## 128.0kHz Tick Rate
146tick-hz-128_000 = []
147## 131.072kHz Tick Rate
148tick-hz-131_072 = []
149## 160.0kHz Tick Rate
128tick-hz-160_000 = [] 150tick-hz-160_000 = []
151## 256.0kHz Tick Rate
152tick-hz-256_000 = []
153## 262.144kHz Tick Rate
154tick-hz-262_144 = []
155## 320.0kHz Tick Rate
129tick-hz-320_000 = [] 156tick-hz-320_000 = []
157## 512.0kHz Tick Rate
158tick-hz-512_000 = []
159## 524.288kHz Tick Rate
160tick-hz-524_288 = []
161## 640.0kHz Tick Rate
130tick-hz-640_000 = [] 162tick-hz-640_000 = []
163## 1.0MHz Tick Rate
164tick-hz-1_000_000 = []
165## 1.024MHz Tick Rate
166tick-hz-1_024_000 = []
167## 1.048576MHz Tick Rate
168tick-hz-1_048_576 = []
169## 1.28MHz Tick Rate
131tick-hz-1_280_000 = [] 170tick-hz-1_280_000 = []
132tick-hz-2_560_000 = [] 171## 2.0MHz Tick Rate
133tick-hz-5_120_000 = []
134tick-hz-10_240_000 = []
135tick-hz-20_480_000 = []
136tick-hz-40_960_000 = []
137tick-hz-81_920_000 = []
138tick-hz-163_840_000 = []
139tick-hz-327_680_000 = []
140tick-hz-655_360_000 = []
141tick-hz-1_310_720_000 = []
142tick-hz-2_621_440_000 = []
143tick-hz-5_242_880_000 = []
144tick-hz-2_000_000 = [] 172tick-hz-2_000_000 = []
173## 2.048MHz Tick Rate
174tick-hz-2_048_000 = []
175## 2.097152MHz Tick Rate
176tick-hz-2_097_152 = []
177## 2.56MHz Tick Rate
178tick-hz-2_560_000 = []
179## 3.0MHz Tick Rate
145tick-hz-3_000_000 = [] 180tick-hz-3_000_000 = []
181## 4.0MHz Tick Rate
146tick-hz-4_000_000 = [] 182tick-hz-4_000_000 = []
183## 4.096MHz Tick Rate
184tick-hz-4_096_000 = []
185## 4.194304MHz Tick Rate
186tick-hz-4_194_304 = []
187## 5.12MHz Tick Rate
188tick-hz-5_120_000 = []
189## 6.0MHz Tick Rate
147tick-hz-6_000_000 = [] 190tick-hz-6_000_000 = []
191## 8.0MHz Tick Rate
148tick-hz-8_000_000 = [] 192tick-hz-8_000_000 = []
193## 8.192MHz Tick Rate
194tick-hz-8_192_000 = []
195## 8.388608MHz Tick Rate
196tick-hz-8_388_608 = []
197## 9.0MHz Tick Rate
149tick-hz-9_000_000 = [] 198tick-hz-9_000_000 = []
199## 10.0MHz Tick Rate
200tick-hz-10_000_000 = []
201## 10.24MHz Tick Rate
202tick-hz-10_240_000 = []
203## 12.0MHz Tick Rate
150tick-hz-12_000_000 = [] 204tick-hz-12_000_000 = []
205## 16.0MHz Tick Rate
151tick-hz-16_000_000 = [] 206tick-hz-16_000_000 = []
207## 16.384MHz Tick Rate
208tick-hz-16_384_000 = []
209## 16.777216MHz Tick Rate
210tick-hz-16_777_216 = []
211## 18.0MHz Tick Rate
152tick-hz-18_000_000 = [] 212tick-hz-18_000_000 = []
213## 20.0MHz Tick Rate
214tick-hz-20_000_000 = []
215## 20.48MHz Tick Rate
216tick-hz-20_480_000 = []
217## 24.0MHz Tick Rate
153tick-hz-24_000_000 = [] 218tick-hz-24_000_000 = []
219## 30.0MHz Tick Rate
220tick-hz-30_000_000 = []
221## 32.0MHz Tick Rate
154tick-hz-32_000_000 = [] 222tick-hz-32_000_000 = []
223## 32.768MHz Tick Rate
224tick-hz-32_768_000 = []
225## 36.0MHz Tick Rate
155tick-hz-36_000_000 = [] 226tick-hz-36_000_000 = []
156tick-hz-48_000_000 = [] 227## 40.0MHz Tick Rate
157tick-hz-64_000_000 = []
158tick-hz-72_000_000 = []
159tick-hz-96_000_000 = []
160tick-hz-128_000_000 = []
161tick-hz-144_000_000 = []
162tick-hz-192_000_000 = []
163tick-hz-256_000_000 = []
164tick-hz-288_000_000 = []
165tick-hz-384_000_000 = []
166tick-hz-512_000_000 = []
167tick-hz-576_000_000 = []
168tick-hz-768_000_000 = []
169tick-hz-20_000_000 = []
170tick-hz-30_000_000 = []
171tick-hz-40_000_000 = [] 228tick-hz-40_000_000 = []
229## 40.96MHz Tick Rate
230tick-hz-40_960_000 = []
231## 48.0MHz Tick Rate
232tick-hz-48_000_000 = []
233## 50.0MHz Tick Rate
172tick-hz-50_000_000 = [] 234tick-hz-50_000_000 = []
235## 60.0MHz Tick Rate
173tick-hz-60_000_000 = [] 236tick-hz-60_000_000 = []
237## 64.0MHz Tick Rate
238tick-hz-64_000_000 = []
239## 65.536MHz Tick Rate
240tick-hz-65_536_000 = []
241## 70.0MHz Tick Rate
174tick-hz-70_000_000 = [] 242tick-hz-70_000_000 = []
243## 72.0MHz Tick Rate
244tick-hz-72_000_000 = []
245## 80.0MHz Tick Rate
175tick-hz-80_000_000 = [] 246tick-hz-80_000_000 = []
247## 81.92MHz Tick Rate
248tick-hz-81_920_000 = []
249## 90.0MHz Tick Rate
176tick-hz-90_000_000 = [] 250tick-hz-90_000_000 = []
251## 96.0MHz Tick Rate
252tick-hz-96_000_000 = []
253## 100.0MHz Tick Rate
254tick-hz-100_000_000 = []
255## 110.0MHz Tick Rate
177tick-hz-110_000_000 = [] 256tick-hz-110_000_000 = []
257## 120.0MHz Tick Rate
178tick-hz-120_000_000 = [] 258tick-hz-120_000_000 = []
259## 128.0MHz Tick Rate
260tick-hz-128_000_000 = []
261## 130.0MHz Tick Rate
179tick-hz-130_000_000 = [] 262tick-hz-130_000_000 = []
263## 131.072MHz Tick Rate
264tick-hz-131_072_000 = []
265## 140.0MHz Tick Rate
180tick-hz-140_000_000 = [] 266tick-hz-140_000_000 = []
267## 144.0MHz Tick Rate
268tick-hz-144_000_000 = []
269## 150.0MHz Tick Rate
181tick-hz-150_000_000 = [] 270tick-hz-150_000_000 = []
271## 160.0MHz Tick Rate
182tick-hz-160_000_000 = [] 272tick-hz-160_000_000 = []
273## 163.84MHz Tick Rate
274tick-hz-163_840_000 = []
275## 170.0MHz Tick Rate
183tick-hz-170_000_000 = [] 276tick-hz-170_000_000 = []
277## 180.0MHz Tick Rate
184tick-hz-180_000_000 = [] 278tick-hz-180_000_000 = []
279## 190.0MHz Tick Rate
185tick-hz-190_000_000 = [] 280tick-hz-190_000_000 = []
281## 192.0MHz Tick Rate
282tick-hz-192_000_000 = []
283## 200.0MHz Tick Rate
186tick-hz-200_000_000 = [] 284tick-hz-200_000_000 = []
285## 210.0MHz Tick Rate
187tick-hz-210_000_000 = [] 286tick-hz-210_000_000 = []
287## 220.0MHz Tick Rate
188tick-hz-220_000_000 = [] 288tick-hz-220_000_000 = []
289## 230.0MHz Tick Rate
189tick-hz-230_000_000 = [] 290tick-hz-230_000_000 = []
291## 240.0MHz Tick Rate
190tick-hz-240_000_000 = [] 292tick-hz-240_000_000 = []
293## 250.0MHz Tick Rate
191tick-hz-250_000_000 = [] 294tick-hz-250_000_000 = []
295## 256.0MHz Tick Rate
296tick-hz-256_000_000 = []
297## 260.0MHz Tick Rate
192tick-hz-260_000_000 = [] 298tick-hz-260_000_000 = []
299## 262.144MHz Tick Rate
300tick-hz-262_144_000 = []
301## 270.0MHz Tick Rate
193tick-hz-270_000_000 = [] 302tick-hz-270_000_000 = []
303## 280.0MHz Tick Rate
194tick-hz-280_000_000 = [] 304tick-hz-280_000_000 = []
305## 288.0MHz Tick Rate
306tick-hz-288_000_000 = []
307## 290.0MHz Tick Rate
195tick-hz-290_000_000 = [] 308tick-hz-290_000_000 = []
309## 300.0MHz Tick Rate
196tick-hz-300_000_000 = [] 310tick-hz-300_000_000 = []
311## 320.0MHz Tick Rate
197tick-hz-320_000_000 = [] 312tick-hz-320_000_000 = []
313## 327.68MHz Tick Rate
314tick-hz-327_680_000 = []
315## 340.0MHz Tick Rate
198tick-hz-340_000_000 = [] 316tick-hz-340_000_000 = []
317## 360.0MHz Tick Rate
199tick-hz-360_000_000 = [] 318tick-hz-360_000_000 = []
319## 380.0MHz Tick Rate
200tick-hz-380_000_000 = [] 320tick-hz-380_000_000 = []
321## 384.0MHz Tick Rate
322tick-hz-384_000_000 = []
323## 400.0MHz Tick Rate
201tick-hz-400_000_000 = [] 324tick-hz-400_000_000 = []
325## 420.0MHz Tick Rate
202tick-hz-420_000_000 = [] 326tick-hz-420_000_000 = []
327## 440.0MHz Tick Rate
203tick-hz-440_000_000 = [] 328tick-hz-440_000_000 = []
329## 460.0MHz Tick Rate
204tick-hz-460_000_000 = [] 330tick-hz-460_000_000 = []
331## 480.0MHz Tick Rate
205tick-hz-480_000_000 = [] 332tick-hz-480_000_000 = []
333## 500.0MHz Tick Rate
206tick-hz-500_000_000 = [] 334tick-hz-500_000_000 = []
335## 512.0MHz Tick Rate
336tick-hz-512_000_000 = []
337## 520.0MHz Tick Rate
207tick-hz-520_000_000 = [] 338tick-hz-520_000_000 = []
339## 524.288MHz Tick Rate
340tick-hz-524_288_000 = []
341## 540.0MHz Tick Rate
208tick-hz-540_000_000 = [] 342tick-hz-540_000_000 = []
343## 560.0MHz Tick Rate
209tick-hz-560_000_000 = [] 344tick-hz-560_000_000 = []
345## 576.0MHz Tick Rate
346tick-hz-576_000_000 = []
347## 580.0MHz Tick Rate
210tick-hz-580_000_000 = [] 348tick-hz-580_000_000 = []
349## 600.0MHz Tick Rate
211tick-hz-600_000_000 = [] 350tick-hz-600_000_000 = []
351## 620.0MHz Tick Rate
212tick-hz-620_000_000 = [] 352tick-hz-620_000_000 = []
353## 640.0MHz Tick Rate
213tick-hz-640_000_000 = [] 354tick-hz-640_000_000 = []
355## 655.36MHz Tick Rate
356tick-hz-655_360_000 = []
357## 660.0MHz Tick Rate
214tick-hz-660_000_000 = [] 358tick-hz-660_000_000 = []
359## 680.0MHz Tick Rate
215tick-hz-680_000_000 = [] 360tick-hz-680_000_000 = []
361## 700.0MHz Tick Rate
216tick-hz-700_000_000 = [] 362tick-hz-700_000_000 = []
363## 720.0MHz Tick Rate
217tick-hz-720_000_000 = [] 364tick-hz-720_000_000 = []
365## 740.0MHz Tick Rate
218tick-hz-740_000_000 = [] 366tick-hz-740_000_000 = []
367## 760.0MHz Tick Rate
219tick-hz-760_000_000 = [] 368tick-hz-760_000_000 = []
369## 768.0MHz Tick Rate
370tick-hz-768_000_000 = []
371## 780.0MHz Tick Rate
220tick-hz-780_000_000 = [] 372tick-hz-780_000_000 = []
373## 800.0MHz Tick Rate
221tick-hz-800_000_000 = [] 374tick-hz-800_000_000 = []
375## 820.0MHz Tick Rate
222tick-hz-820_000_000 = [] 376tick-hz-820_000_000 = []
377## 840.0MHz Tick Rate
223tick-hz-840_000_000 = [] 378tick-hz-840_000_000 = []
379## 860.0MHz Tick Rate
224tick-hz-860_000_000 = [] 380tick-hz-860_000_000 = []
381## 880.0MHz Tick Rate
225tick-hz-880_000_000 = [] 382tick-hz-880_000_000 = []
383## 900.0MHz Tick Rate
226tick-hz-900_000_000 = [] 384tick-hz-900_000_000 = []
385## 920.0MHz Tick Rate
227tick-hz-920_000_000 = [] 386tick-hz-920_000_000 = []
387## 940.0MHz Tick Rate
228tick-hz-940_000_000 = [] 388tick-hz-940_000_000 = []
389## 960.0MHz Tick Rate
229tick-hz-960_000_000 = [] 390tick-hz-960_000_000 = []
391## 980.0MHz Tick Rate
230tick-hz-980_000_000 = [] 392tick-hz-980_000_000 = []
393## 1.0GHz Tick Rate
394tick-hz-1_000_000_000 = []
395## 1.31072GHz Tick Rate
396tick-hz-1_310_720_000 = []
397## 2.62144GHz Tick Rate
398tick-hz-2_621_440_000 = []
399## 5.24288GHz Tick Rate
400tick-hz-5_242_880_000 = []
231# END TICKS 401# END TICKS
232 402
403#! </details>
404
233[dependencies] 405[dependencies]
234defmt = { version = "0.3", optional = true } 406defmt = { version = "0.3", optional = true }
235log = { version = "0.4.14", optional = true } 407log = { version = "0.4.14", optional = true }
@@ -243,6 +415,8 @@ critical-section = "1.1"
243cfg-if = "1.0.0" 415cfg-if = "1.0.0"
244heapless = "0.8" 416heapless = "0.8"
245 417
418document-features = "0.2.7"
419
246# WASM dependencies 420# WASM dependencies
247wasm-bindgen = { version = "0.2.81", optional = true } 421wasm-bindgen = { version = "0.2.81", optional = true }
248js-sys = { version = "0.3", optional = true } 422js-sys = { version = "0.3", optional = true }