added an Acquistion under the placeholder name: "New unnamed DIA replacement" (NuDIAr)
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user