added an Acquistion under the placeholder name: "New unnamed DIA replacement" (NuDIAr)

This commit is contained in:
2020-06-08 15:44:07 +02:00
parent 3aff2cfab4
commit dea48732f7
2 changed files with 57 additions and 0 deletions
+1
View File
@@ -2,6 +2,7 @@
from .bsacquisition import BSAcquisition
from .dbacquisition import DBAcquisition
from .diaacquisition import DIAAcquisition
from .nudiaracquisition import NuDIArAcquisition
from .pvacquisition import PVAcquisition
@@ -0,0 +1,56 @@
import os
from time import sleep
from slic.utils.channels import Channels
from slic.core.task import DAQTask
from .baseacquisition import BaseAcquisition
from .sfpaths import SwissFELPaths
from .broker_client import BrokerClient
class NuDIArAcquisition(BaseAcquisition):
def __init__(self, instrument, pgroup, default_channels=None, api_address="http://sf-daq-1:10002", rate_multiplicator=1):
self.instrument = instrument
self.pgroup = pgroup
self.paths = SwissFELPaths(instrument, pgroup)
if not default_channels:
default_channel_list = self.paths.default_channel_list
default_channels = Channels(default_channel_list)
self.default_channels = default_channels
self.api_address = api_address
self.client = BrokerClient(pgroup, address=api_address, rate_multiplicator=rate_multiplicator)
self.current_task = None
def acquire(self, filename=None, channels=None, n_pulses=100):
if not filename:
filename = "/dev/null"
if not channels:
print("No channels specified, using default channel list.")
channels = self.default_channels
client = self.client
client.set_config(n_pulses, filename, channels=channels)
task = DAQTask(client.start, stopper=client.stop, filename=filename, hold=False)
self.current_task = task
return task
@property
def status(self):
return self.client.status
def __repr__(self):
return "New unnamed DIA replacement on {} (status: {})".format(self.api_address, self.status)