4
4
How do I ...
5
5
============
6
6
7
- override the `sysclk ` frequency of just one dds ?
7
+ override the `sysclk ` frequency of just one DDS ?
8
8
------------------------------------------------
9
9
10
10
Override the parameter using an argument in the DDB.
@@ -18,15 +18,14 @@ Names need to be unique.
18
18
enforce functional dependencies between parameters?
19
19
---------------------------------------------------
20
20
21
- If you want to override a parameter `b ` in the PDB to be `b = 2*a `,
21
+ If you want to override a parameter `` b `` in the PDB to be `` b = 2*a ` `,
22
22
use wrapper experiments, overriding parameters by passing them to the
23
23
experiment's constructor.
24
24
25
- get rid of `DBKeys `?
26
- --------------------
25
+ get rid of `` DBKeys ` `?
26
+ ----------------------
27
27
28
- `DBKeys ` enforces valid parameter/argument names, references
29
- keys in PDB and hints at metadata on how values can be retrieved.
28
+ ``DBKeys `` references keys in PDB, DDB and RDB.
30
29
31
30
write a generator feeding a kernel feeding an analyze function?
32
31
---------------------------------------------------------------
@@ -49,24 +48,24 @@ write a generator feeding a kernel feeding an analyze function?
49
48
def do(self, i):
50
49
return i
51
50
52
- create and use variable lengths arrays?
53
- ------------------------------------------------
51
+ create and use variable lengths arrays in kernels ?
52
+ --------------------------------------------------
54
53
55
54
Don't. Preallocate everything. Or chunk it and e.g. read 100 events per
56
55
function call, push them upstream and retry until the gate time closes.
57
56
58
57
execute multiple slow controller RPCs in parallel without losing time?
59
58
----------------------------------------------------------------------
60
59
61
- Use `threading.Thread `: portable, fast, simple for one-shot calls.
60
+ Use `` threading.Thread ` `: portable, fast, simple for one-shot calls.
62
61
63
62
write part of my experiment as a coroutine/asyncio task/generator?
64
63
------------------------------------------------------------------
65
64
66
- You can not change the API that your experiment exposes: `__init__() `,
67
- `build() `, `run() ` and `analyze() ` need to be regular functions, not
65
+ You can not change the API that your experiment exposes: `` __init__() ` `,
66
+ `` build() `` , `` run() `` and `` analyze() ` ` need to be regular functions, not
68
67
generators or asyncio coroutines. That would make reusing your own code in
69
68
sub-experiments difficult and fragile. You can however always use the
70
- scheduler API to achieve the same (`scheduler.yield(duration=0) `)
69
+ scheduler API to achieve the same (`` scheduler.yield(duration=0) ` `)
71
70
or wrap your own generators/coroutines/tasks in regular functions that
72
71
you then expose as part of the API.
0 commit comments