gotthard2: bursts and burst period, written to same register as triggers and delay (kept in server as variables) and set if conditions meet. bursts and burst period only in auto timing and burst mode. Also updating theses registers when switching between timing modes or burst modes

This commit is contained in:
2020-02-25 15:45:40 +01:00
parent f902bb06ad
commit 6a0a931e3e
18 changed files with 1097 additions and 201 deletions

View File

@ -155,12 +155,10 @@ class Detector {
void setPeriod(ns t, Positions pos = {});
/** [Gotthard][Jungfrau][CTB][Mythen3]
* [Gotthard2] only in continuous mode */
/** [Gotthard][Jungfrau][CTB][Mythen3][Gotthard2] */
Result<ns> getDelayAfterTrigger(Positions pos = {}) const;
/** [Gotthard][Jungfrau][CTB][Mythen3]
* [Gotthard2] only in continuous mode */
/** [Gotthard][Jungfrau][CTB][Mythen3][Gotthard2] */
void setDelayAfterTrigger(ns value, Positions pos = {});
/** [Gotthard][Jungfrau][CTB][Mythen3]
@ -898,6 +896,18 @@ class Detector {
* *
* ************************************************/
/** [Gotthard2] only in burst mode and auto timing mode */
Result<int64_t> getNumberOfBursts(Positions pos = {}) const;
/** [Gotthard2] only in burst mode and auto timing mode */
void setNumberOfBursts(int64_t value);
/** [Gotthard2] only in burst mode and auto timing mode */
Result<ns> getBurstPeriod(Positions pos = {}) const;
/** [Gotthard2] only in burst mode and auto timing mode */
void setBurstPeriod(ns value, Positions pos = {});
/** [Gotthard2] offset channel, increment channel */
Result<std::array<int, 2>> getInjectChannel(Positions pos = {});