Skip to content

Commit a6316c8

Browse files
committedMar 24, 2015
faq: clarifications
1 parent 0313980 commit a6316c8

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed
 

Diff for: ‎doc/manual/faq.rst

+13-10
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ FAQ
44
How do I ...
55
============
66

7-
override the sysclk frequency of just one dds?
8-
----------------------------------------------
7+
override the `sysclk` frequency of just one dds?
8+
------------------------------------------------
99

1010
Override the parameter using an argument in the ddb.
1111

@@ -18,12 +18,13 @@ Names need to be unique.
1818
enforce functional dependencies between parameters?
1919
---------------------------------------------------
2020

21-
Use wrapper experiments, overriding parameters of arguments.
21+
If you want to slave a parameter `b` in the pdb to be `b = 2*a`,
22+
use wrapper experiments, overriding parameters of arguments.
2223

23-
get rid of `DbKeys`?
24+
get rid of `DBKeys`?
2425
--------------------
2526

26-
`DbKeys` enforces valid parameter/argument names, references
27+
`DBKeys` enforces valid parameter/argument names, references
2728
keys in pdb and hints at metadata on how values can be retrieved.
2829

2930
write a generator feeding a kernel feeding an analyze function?
@@ -61,8 +62,10 @@ Use `threading.Thread`: portable, fast, simple for one-shot calls
6162
write part of my experiment as a coroutine/Task/generator?
6263
----------------------------------------------------------
6364

64-
You want to write experiment preparation (`__init__()` or `build()`)
65-
or analysis (`analyze()`)
66-
67-
No. That would make reusing your own code in sub-experiments difficult and
68-
fragile.
65+
You can not change the API that your experiment exposes: `__init__()`,
66+
`build()`, and `analyze()` need to be regular functions, not generators,
67+
coroutines. or `asyncio.Tasks`. That would make reusing your own code in
68+
sub-experiments difficult and fragile. You can however always use the
69+
scheduler API to achieve the same (`scheduler.suspend(duration=0)`)
70+
or wrap your own generators/coroutines/Tasks in regular functions that
71+
you then expose as part of the API.

0 commit comments

Comments
 (0)
Please sign in to comment.