Tips zum GSI-acquisition-context-field

- Das GSI-acquisition-context-field enthält Informationen zu dem entsprechendem WhiteRabbit TimingEvent, die ansonsten bei einem Get dem Client nicht verfügbar wären (bei subscriptions schon).

- Das GSI-acquisition-context-field wird vom Framework lediglich angelegt (und ich glaube in dem GSI-Template wird schon die Referenz in der Acquisition-Property darauf gesetzt). Das Feld wird nie automatisch befüllt (geht ja auch gar nicht, weil das Framework nicht weiß, wo welche Acquisition Felder befüllt werden). Man muss das also immer selbst befüllen.

- Es gibt verschiedene Möglichkeiten, dass acquisition-context-item mit Daten zu versorgen. Man kann entweder in einer Custom GetAction das item direkt befüllen, oder die Referenz auf das GSI-acquisition-context-field setzen. Wenn man mehrere Properties hat mit dem item, sollte man nicht dasselbe field benutzten, weil die Daten sonst möglicherweise inkorrekt sind (außer die beiden Properties werden immer im gleichen Kontext befüllt)

- Wenn der Kontext von einem WR-TimingEvent kommt, dann kann man die erste Methode von hier https://www-acc.gsi.de/wiki/FESA/FESA700_CodeSnippets#Fill_the_GSI_45acquisition_45context_45field benutzen, um das field zu befüllen (was dann von dem item referenziert werden kann). Ansonsten muss man die Einträge, die man sinnvoll füllen kann, selbst füllen (zb wenn die RT-Action periodisch von einem Timer angestoßen wird).

- Zu klaeren: ob die zweite Methode ((*device)->acquisitionContext.insert( pEvt->getMultiplexingContext(), stamp );) auch ein WR-TimingEvent benötigt, und falls ja, wozu der eigene Timestamp gut ist, das müsste ich nochmal nachschauen)

-- TobiasHabermann - 10 Jan 2020
Topic revision: r1 - 10 Jan 2020, TobiasHabermann
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback