LARPIX数据采集系统
larpix-daq的Python项目详细描述
LARPIX数据采集
LARPIX DAQ是LARPIX的数据采集系统。它处理 “数据板”和脱机存储之间的数据流,包括 基于木质部的数据监控和操作员控制功能 DAQ框架。
larpix daq由一组脚本组成,这些脚本负责 DAQ系统功能的各个部分,以及 可在交互式python会话中运行的操作员接口api 或者用作更复杂的交互程序的基础。这个 脚本可以在同一台或不同的计算机上运行,只要 各种计算机的IP地址是已知的。
系统状态
系统有三种状态:READY
,RUN
,和
STOP
。状态通过Operator
对象控制,使用
方法prepare_run
(转换到READY
),begin_run
(过渡到START
)和end_run
(过渡到STOP
)。
STOP
:启动时的默认状态。并非所有组件都需要 数据。READY
:组件应该准备接收数据。数据可能到达 在转换到RUN
的指令之前的组件上 州政府(尽管这种情况很少见)。组件应处理 数据好像是在RUN
状态下接收的。RUN
:组件应该期望接收数据。数据不应该是 在任何其他州生产的。
要在数据流中标记运行的开始和结束,请使用producer.py
脚本
生成内容为INFO
且
^分别是{
操作员
LARPIX DAQ操作员模块提供与DAQ核心的接口 所有数据采集操作。
操作员方法与DAQ核心交互以完成 期望的行为。对于最简单的交互,一个请求 发生响应交换,并返回结果。 (托多!!!统一这个接口)对于大多数交互,有 一个请求的多个响应-例如 确认收到,然后是最终结果。这个 实现这些交互的方法返回generator iterators 而不是价值观。调用这些函数的方法通常看起来像
o=Operator()final_responses=[]forresponseino.run_routine('example'):print(response)# interact with response object within loop# When the loop ends, the last response received is still saved in# the response objectfinal_responses.append(response)