Skip to content

Commit 4ff379f

Browse files
authored
Merge pull request #328 from dls-controls/feature/double-buff-seq
Feature/double buff seq
2 parents b96e6ff + 747894f commit 4ff379f

File tree

6 files changed

+1371
-528
lines changed

6 files changed

+1371
-528
lines changed

CHANGELOG.rst

+23
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,29 @@ Change Log
33
All notable changes to this project will be documented in this file.
44
This project adheres to `Semantic Versioning <http://semver.org/>`_ after 2-1.
55

6+
Unreleased
7+
----------
8+
9+
Changed:
10+
11+
- Implemented Double Buffering, using both Sequencer tables available on the PandA
12+
to be able to scan over the 2000 max number of rows, and to decrease the
13+
configuration time for long scans.
14+
15+
See the updated "template_double_seq_pcomp" for the new reccomended
16+
design. It is also reccomended to set repeats on both of the SEQ tables to be
17+
'1', although the PandASeqTriggerPart does also set this when it is needed.
18+
19+
This has a **breaking change** for old PandA designs as seqReset now has to be
20+
exported. Otherwise Stack scans where each inner scan is small enough that the
21+
points will not fill 2 SEQ tables (<8192 points or 30s per inner scan), but large
22+
enough that it will use more than 1 (>4096 points, 15s per inner scan) will fail.
23+
24+
Fixed:
25+
26+
- Fixed bug where, during a 3D scan, the first point of all inner scans after the
27+
first previously triggered immediately even if the outer axes was still moving.
28+
629
`5.2`_ - 2022-01-05
730
-------------------
831

malcolm/modules/ADPandABlocks/blocks/panda_runnable_block_designs/template_double_seq_pcomp.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@
7575
"exports": {
7676
"SEQ1.table": "seqTableA",
7777
"SEQ2.table": "seqTableB",
78-
"SRGATE2.forceSet": "seqSetEnable"
78+
"SRGATE2.forceSet": "seqSetEnable",
79+
"SRGATE2.forceRst": "seqReset"
7980
}
8081
},
8182
"children": {
@@ -114,9 +115,9 @@
114115
"inputs": "expanded",
115116
"inpa": "SEQ2.ACTIVE",
116117
"inpaDelay": 0,
117-
"inpb": "PCAP.ACTIVE",
118+
"inpb": "SRGATE2.OUT",
118119
"inpbDelay": 0,
119-
"inpc": "SRGATE2.OUT",
120+
"inpc": "ZERO",
120121
"inpcDelay": 0,
121122
"inpd": "ZERO",
122123
"inpdDelay": 0,
@@ -128,18 +129,18 @@
128129
"typec": "Input-Level",
129130
"typed": "Input-Level",
130131
"typee": "Input-Level",
131-
"func": "~A&B&C",
132+
"func": "~A&B",
132133
"outputs": "expanded"
133134
},
134135
"LUT3": {
135136
"label": "SeqB Enable",
136137
"inputs": "expanded",
137138
"inpa": "SEQ1.ACTIVE",
138139
"inpaDelay": 0,
139-
"inpb": "PCAP.ACTIVE",
140+
"inpb": "SRGATE2.OUT",
140141
"inpbDelay": 8,
141-
"inpc": "SRGATE2.OUT",
142-
"inpcDelay": 8,
142+
"inpc": "ZERO",
143+
"inpcDelay": 0,
143144
"inpd": "ZERO",
144145
"inpdDelay": 0,
145146
"inpe": "ZERO",
@@ -150,7 +151,7 @@
150151
"typec": "Input-Level",
151152
"typed": "Input-Level",
152153
"typee": "Input-Level",
153-
"func": "~A&B&C",
154+
"func": "~A&B",
154155
"outputs": "expanded"
155156
},
156157
"LUT4": {
@@ -214,7 +215,6 @@
214215
"tsEndCapture": "No",
215216
"tsTrigCapture": "No",
216217
"samplesCapture": "Value",
217-
"readbacks": "expanded",
218218
"attributesFile": "",
219219
"triggerMode": "Internal"
220220
},
@@ -255,7 +255,7 @@
255255
},
256256
"prescale": 0.0,
257257
"prescaleUnits": "s",
258-
"repeats": 0,
258+
"repeats": 1,
259259
"outputs": "expanded",
260260
"readbacks": "expanded"
261261
},
@@ -296,7 +296,7 @@
296296
},
297297
"prescale": 0.0,
298298
"prescaleUnits": "s",
299-
"repeats": 0,
299+
"repeats": 1,
300300
"outputs": "expanded",
301301
"readbacks": "expanded"
302302
},
@@ -322,7 +322,7 @@
322322
"enableDelay": 0,
323323
"set": "ZERO",
324324
"setDelay": 0,
325-
"rst": "PCAP.ACTIVE",
325+
"rst": "ZERO",
326326
"rstDelay": 0,
327327
"parameters": "expanded",
328328
"whenDisabled": "Set output low",

0 commit comments

Comments
 (0)