3 from robot.api
import logger
4 from robot.utils
import DotDict
5 from robot.utils
import timestr_to_secs
8 from ModOcmif.Ocmif
import (
12 from ModOcmif.Ocmif.OcmDaq
import OcmDaqSync
13 from ModStdif.Stdif.StdCmds
import StdCmdsSync
19 uris = arg.split(
"@")[1]
20 return uris.split(
",")[0]
25 return DotDict(id=r.getId(), error=r.getError())
32 state=str(r.getState()).split(
".")[1],
33 subState=str(r.getSubState()).split(
".")[1],
35 message=r.getMessage(),
36 timestamp=r.getTimestamp(),
46 """Robot library providing keywords for the ocmif.OcmDaq and stdif interface"""
50 ROBOT_LIBRARY_SCOPE =
"GLOBAL"
53 logger.debug(
"Loading MAL and creating factory")
54 self.
mal = pymal.loadMal(
"zpb", {})
55 self.
factory = pymal.CiiFactory.getInstance()
57 logger.debug(
"Loading MAL and creating factory done")
60 """Creates RR clientss with a given ReplyTime timeout."""
61 timeout = timestr_to_secs(timeout)
if timeout
is not None else 3
63 logger.info(
"Create client for uri %s with timeout %d" % (root_uri, timeout))
65 clients.daq = self.
factory.getClient(
68 pymal.rr.qos.ReplyTime(datetime.timedelta(seconds=timeout)),
70 clients.std = self.
factory.getClient(
73 pymal.rr.qos.ReplyTime(datetime.timedelta(seconds=timeout)),
78 logger.info(
"Sending OcmDaq.GetStatus(%s) request", daq_id)
79 r = clients.daq.GetStatus(daq_id)
83 logger.info(
"Sending StdCmds.GetState() request")
84 return clients.std.GetState()
87 logger.info(
"Sending OcmDaq.GetActive() request")
88 daqs = clients.daq.GetActiveList()