diff --git a/docs/source/tutor/_basic_b.ipynb b/docs/source/tutor/_basic_b.ipynb index 662d7d64..943dee7d 100644 --- a/docs/source/tutor/_basic_b.ipynb +++ b/docs/source/tutor/_basic_b.ipynb @@ -652,634 +652,6 @@ "RE(bp.scan([scaler], m1, -1, 1, 5), myCallback)" ] }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from ophyd import EpicsMotor\n", - "m1 = EpicsMotor(\"gp:m1\", name=\"m1\")\n", - "m1.wait_for_connection()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Show the current value of the motor (that's the `.RBV` field, in case you were interested)." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "m1.position = 1.0\n" - ] - } - ], - "source": [ - "print(f\"{m1.position = }\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Connect the scaler (as was done in the [basic_scaler](_basic_a.ipynb) lesson). Define some of the channel names and clear out others." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "from ophyd.scaler import ScalerCH\n", - "scaler = ScalerCH(\"gp:scaler1\", name=\"scaler\")\n", - "scaler.wait_for_connection()\n", - "\n", - "# Since there are no detectors actually connected to this scaler,\n", - "# we can change names at our choice. A real scaler will have\n", - "# detectors connected to specific channels and we should not modify\n", - "# these names without regard to how signals are physically connected.\n", - "scaler.channels.chan01.chname.put(\"clock\")\n", - "scaler.channels.chan02.chname.put(\"I0\")\n", - "scaler.channels.chan03.chname.put(\"scint\")\n", - "scaler.channels.chan04.chname.put(\"\")\n", - "scaler.channels.chan05.chname.put(\"\")\n", - "scaler.channels.chan06.chname.put(\"\")\n", - "scaler.channels.chan07.chname.put(\"\")\n", - "scaler.channels.chan08.chname.put(\"\")\n", - "scaler.channels.chan09.chname.put(\"\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Use only the channels with EPICS names, those are the *interesting* channels." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OrderedDict([('clock', {'value': 16000000.0, 'timestamp': 1684257298.403889}),\n", - " ('I0', {'value': 9.0, 'timestamp': 1684257298.403889}),\n", - " ('scint', {'value': 7.0, 'timestamp': 1684257298.403889}),\n", - " ('scaler_time', {'value': 1.6, 'timestamp': 1684257298.403889})])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "scaler.select_channels(None)\n", - "scaler.read()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Create a RunEngine but do not connect it with a data collection strategy. That will come in the next lessons." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "from bluesky import RunEngine\n", - "import bluesky.plans as bp\n", - "RE = RunEngine({})" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Run a step scan using the motor and the scaler." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('d5960bf4-fb29-43a1-9783-e7b9f3a926f3',)" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "RE(bp.scan([scaler], m1, -1, 1, 5))" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Ah, yes. Nothing to see here since we did not setup anything to receive the *documents* from the RunEngine. Here's the basic callback from the [`basic_scaler`](_basic_a.ipynb) notebook." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "import pprint\n", - "def myCallback(key, doc):\n", - " print()\n", - " print(key, len(doc))\n", - " pprint.pprint(doc)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Repeat the same scan but handle the document stream with `myCallback()`." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "start 15\n", - "{'detectors': ['scaler'],\n", - " 'hints': {'dimensions': [(['m1'], 'primary')]},\n", - " 'motors': ('m1',),\n", - " 'num_intervals': 4,\n", - " 'num_points': 5,\n", - " 'plan_args': {'args': [\"EpicsMotor(prefix='gp:m1', name='m1', \"\n", - " 'settle_time=0.0, timeout=None, '\n", - " \"read_attrs=['user_readback', 'user_setpoint'], \"\n", - " \"configuration_attrs=['user_offset', \"\n", - " \"'user_offset_dir', 'velocity', 'acceleration', \"\n", - " \"'motor_egu'])\",\n", - " -1,\n", - " 1],\n", - " 'detectors': [\"ScalerCH(prefix='gp:scaler1', name='scaler', \"\n", - " \"read_attrs=['channels', 'channels.chan01', \"\n", - " \"'channels.chan01.s', 'channels.chan02', \"\n", - " \"'channels.chan02.s', 'channels.chan03', \"\n", - " \"'channels.chan03.s', 'time'], \"\n", - " \"configuration_attrs=['channels', \"\n", - " \"'channels.chan01', 'channels.chan01.chname', \"\n", - " \"'channels.chan01.preset', \"\n", - " \"'channels.chan01.gate', 'channels.chan02', \"\n", - " \"'channels.chan02.chname', \"\n", - " \"'channels.chan02.preset', \"\n", - " \"'channels.chan02.gate', 'channels.chan03', \"\n", - " \"'channels.chan03.chname', \"\n", - " \"'channels.chan03.preset', \"\n", - " \"'channels.chan03.gate', 'count_mode', 'delay', \"\n", - " \"'auto_count_delay', 'freq', 'preset_time', \"\n", - " \"'auto_count_time', 'egu'])\"],\n", - " 'num': 5,\n", - " 'per_step': 'None'},\n", - " 'plan_name': 'scan',\n", - " 'plan_pattern': 'inner_product',\n", - " 'plan_pattern_args': {'args': [\"EpicsMotor(prefix='gp:m1', name='m1', \"\n", - " 'settle_time=0.0, timeout=None, '\n", - " \"read_attrs=['user_readback', \"\n", - " \"'user_setpoint'], \"\n", - " \"configuration_attrs=['user_offset', \"\n", - " \"'user_offset_dir', 'velocity', \"\n", - " \"'acceleration', 'motor_egu'])\",\n", - " -1,\n", - " 1],\n", - " 'num': 5},\n", - " 'plan_pattern_module': 'bluesky.plan_patterns',\n", - " 'plan_type': 'generator',\n", - " 'scan_id': 2,\n", - " 'time': 1684257313.26152,\n", - " 'uid': 'f5cee92c-ecf0-4e92-8ba6-075d574638fe',\n", - " 'versions': {'bluesky': '1.10.0', 'ophyd': '1.7.0'}}\n", - "\n", - "descriptor 8\n", - "{'configuration': {'m1': {'data': {'m1_acceleration': 0.2,\n", - " 'm1_motor_egu': 'degrees',\n", - " 'm1_user_offset': 0.0,\n", - " 'm1_user_offset_dir': 0,\n", - " 'm1_velocity': 1.0},\n", - " 'data_keys': OrderedDict([('m1_user_offset',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': -1e+300,\n", - " 'precision': 4,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.OFF',\n", - " 'units': 'degrees',\n", - " 'upper_ctrl_limit': 1e+300}),\n", - " ('m1_user_offset_dir',\n", - " {'dtype': 'integer',\n", - " 'enum_strs': ('Pos',\n", - " 'Neg'),\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.DIR',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('m1_velocity',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.1,\n", - " 'precision': 4,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.VELO',\n", - " 'units': 'degrees',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('m1_acceleration',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': -1e+300,\n", - " 'precision': 4,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.ACCL',\n", - " 'units': 'sec',\n", - " 'upper_ctrl_limit': 1e+300}),\n", - " ('m1_motor_egu',\n", - " {'dtype': 'string',\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.EGU',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None})]),\n", - " 'timestamps': {'m1_acceleration': 1684257260.388981,\n", - " 'm1_motor_egu': 1684257298.535858,\n", - " 'm1_user_offset': 1684257260.388981,\n", - " 'm1_user_offset_dir': 1684257260.388981,\n", - " 'm1_velocity': 1684257260.388981}},\n", - " 'scaler': {'data': {'scaler_auto_count_delay': 0.0,\n", - " 'scaler_auto_count_time': 1.0,\n", - " 'scaler_channels_chan01_chname': 'clock',\n", - " 'scaler_channels_chan01_gate': 'Y',\n", - " 'scaler_channels_chan01_preset': 15000000.0,\n", - " 'scaler_channels_chan02_chname': 'I0',\n", - " 'scaler_channels_chan02_gate': 'N',\n", - " 'scaler_channels_chan02_preset': 0.0,\n", - " 'scaler_channels_chan03_chname': 'scint',\n", - " 'scaler_channels_chan03_gate': 'N',\n", - " 'scaler_channels_chan03_preset': 0.0,\n", - " 'scaler_count_mode': 'OneShot',\n", - " 'scaler_delay': 0.0,\n", - " 'scaler_egu': '',\n", - " 'scaler_freq': 10000000.0,\n", - " 'scaler_preset_time': 1.5},\n", - " 'data_keys': OrderedDict([('scaler_channels_chan01_chname',\n", - " {'dtype': 'string',\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.NM1',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_channels_chan01_preset',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 0,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.PR1',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_channels_chan01_gate',\n", - " {'dtype': 'string',\n", - " 'enum_strs': ('N',\n", - " 'Y'),\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.G1',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_channels_chan02_chname',\n", - " {'dtype': 'string',\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.NM2',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_channels_chan02_preset',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 0,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.PR2',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_channels_chan02_gate',\n", - " {'dtype': 'string',\n", - " 'enum_strs': ('N',\n", - " 'Y'),\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.G2',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_channels_chan03_chname',\n", - " {'dtype': 'string',\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.NM3',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_channels_chan03_preset',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 0,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.PR3',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_channels_chan03_gate',\n", - " {'dtype': 'string',\n", - " 'enum_strs': ('N',\n", - " 'Y'),\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.G3',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_count_mode',\n", - " {'dtype': 'string',\n", - " 'enum_strs': ('OneShot',\n", - " 'AutoCount'),\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.CONT',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None}),\n", - " ('scaler_delay',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 3,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.DLY',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_auto_count_delay',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 3,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.DLY1',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_freq',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 3,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.FREQ',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_preset_time',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 3,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.TP',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_auto_count_time',\n", - " {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'precision': 3,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.TP1',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}),\n", - " ('scaler_egu',\n", - " {'dtype': 'string',\n", - " 'lower_ctrl_limit': None,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.EGU',\n", - " 'units': None,\n", - " 'upper_ctrl_limit': None})]),\n", - " 'timestamps': {'scaler_auto_count_delay': 1684257317.33793,\n", - " 'scaler_auto_count_time': 1684257317.33793,\n", - " 'scaler_channels_chan01_chname': 1684257317.33793,\n", - " 'scaler_channels_chan01_gate': 1684257317.33793,\n", - " 'scaler_channels_chan01_preset': 1684257317.33793,\n", - " 'scaler_channels_chan02_chname': 1684257317.33793,\n", - " 'scaler_channels_chan02_gate': 1684257317.33793,\n", - " 'scaler_channels_chan02_preset': 1684257317.33793,\n", - " 'scaler_channels_chan03_chname': 1684257317.33793,\n", - " 'scaler_channels_chan03_gate': 1684257317.33793,\n", - " 'scaler_channels_chan03_preset': 1684257317.33793,\n", - " 'scaler_count_mode': 1684257317.33793,\n", - " 'scaler_delay': 1684257317.33793,\n", - " 'scaler_egu': 1684257317.33793,\n", - " 'scaler_freq': 1684257317.33793,\n", - " 'scaler_preset_time': 1684257317.33793}}},\n", - " 'data_keys': {'I0': {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'object_name': 'scaler',\n", - " 'precision': 0,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.S2',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0},\n", - " 'clock': {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'object_name': 'scaler',\n", - " 'precision': 0,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.S1',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0},\n", - " 'm1': {'dtype': 'number',\n", - " 'lower_ctrl_limit': -1000.0,\n", - " 'object_name': 'm1',\n", - " 'precision': 4,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.RBV',\n", - " 'units': 'degrees',\n", - " 'upper_ctrl_limit': 1000.0},\n", - " 'm1_user_setpoint': {'dtype': 'number',\n", - " 'lower_ctrl_limit': -1000.0,\n", - " 'object_name': 'm1',\n", - " 'precision': 4,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:m1.VAL',\n", - " 'units': 'degrees',\n", - " 'upper_ctrl_limit': 1000.0},\n", - " 'scaler_time': {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'object_name': 'scaler',\n", - " 'precision': 3,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.T',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0},\n", - " 'scint': {'dtype': 'number',\n", - " 'lower_ctrl_limit': 0.0,\n", - " 'object_name': 'scaler',\n", - " 'precision': 0,\n", - " 'shape': [],\n", - " 'source': 'PV:gp:scaler1.S3',\n", - " 'units': '',\n", - " 'upper_ctrl_limit': 0.0}},\n", - " 'hints': {'m1': {'fields': ['m1']},\n", - " 'scaler': {'fields': ['clock', 'I0', 'scint']}},\n", - " 'name': 'primary',\n", - " 'object_keys': {'m1': ['m1', 'm1_user_setpoint'],\n", - " 'scaler': ['clock', 'I0', 'scint', 'scaler_time']},\n", - " 'run_start': 'f5cee92c-ecf0-4e92-8ba6-075d574638fe',\n", - " 'time': 1684257317.3608406,\n", - " 'uid': 'cb045687-1fb9-489a-a626-469cf73c8af2'}\n", - "\n", - "event 7\n", - "{'data': {'I0': 8.0,\n", - " 'clock': 16000000.0,\n", - " 'm1': -1.0,\n", - " 'm1_user_setpoint': -1.0,\n", - " 'scaler_time': 1.6,\n", - " 'scint': 6.0},\n", - " 'descriptor': 'cb045687-1fb9-489a-a626-469cf73c8af2',\n", - " 'filled': {},\n", - " 'seq_num': 1,\n", - " 'time': 1684257318.4262064,\n", - " 'timestamps': {'I0': 1684257317.33793,\n", - " 'clock': 1684257317.33793,\n", - " 'm1': 1684257315.616413,\n", - " 'm1_user_setpoint': 1684257313.372947,\n", - " 'scaler_time': 1684257317.33793,\n", - " 'scint': 1684257317.33793},\n", - " 'uid': '29a9a538-c101-412a-bf1e-11b27ccdab31'}\n", - "\n", - "event 7\n", - "{'data': {'I0': 8.0,\n", - " 'clock': 16000000.0,\n", - " 'm1': -0.5,\n", - " 'm1_user_setpoint': -0.5,\n", - " 'scaler_time': 1.6,\n", - " 'scint': 6.0},\n", - " 'descriptor': 'cb045687-1fb9-489a-a626-469cf73c8af2',\n", - " 'filled': {},\n", - " 'seq_num': 2,\n", - " 'time': 1684257320.9464417,\n", - " 'timestamps': {'I0': 1684257320.943829,\n", - " 'clock': 1684257320.943829,\n", - " 'm1': 1684257319.222574,\n", - " 'm1_user_setpoint': 1684257318.484022,\n", - " 'scaler_time': 1684257320.943829,\n", - " 'scint': 1684257320.943829},\n", - " 'uid': '7aa89cb9-52ae-468b-91ea-e95279d92680'}\n", - "\n", - "event 7\n", - "{'data': {'I0': 9.0,\n", - " 'clock': 16000000.0,\n", - " 'm1': 0.0,\n", - " 'm1_user_setpoint': 0.0,\n", - " 'scaler_time': 1.6,\n", - " 'scint': 8.0},\n", - " 'descriptor': 'cb045687-1fb9-489a-a626-469cf73c8af2',\n", - " 'filled': {},\n", - " 'seq_num': 3,\n", - " 'time': 1684257323.4557936,\n", - " 'timestamps': {'I0': 1684257323.449555,\n", - " 'clock': 1684257323.449555,\n", - " 'm1': 1684257321.727785,\n", - " 'm1_user_setpoint': 1684257321.025257,\n", - " 'scaler_time': 1684257323.449555,\n", - " 'scint': 1684257323.449555},\n", - " 'uid': 'f38c11ff-5139-4ab7-9128-3f6c0d112dff'}\n", - "\n", - "event 7\n", - "{'data': {'I0': 9.0,\n", - " 'clock': 16000000.0,\n", - " 'm1': 0.5,\n", - " 'm1_user_setpoint': 0.5,\n", - " 'scaler_time': 1.6,\n", - " 'scint': 7.0},\n", - " 'descriptor': 'cb045687-1fb9-489a-a626-469cf73c8af2',\n", - " 'filled': {},\n", - " 'seq_num': 4,\n", - " 'time': 1684257326.0549905,\n", - " 'timestamps': {'I0': 1684257326.051597,\n", - " 'clock': 1684257326.051597,\n", - " 'm1': 1684257324.333163,\n", - " 'm1_user_setpoint': 1684257323.565358,\n", - " 'scaler_time': 1684257326.051597,\n", - " 'scint': 1684257326.051597},\n", - " 'uid': '91a4c029-ac64-41a7-b46f-25dea5dcd799'}\n", - "\n", - "event 7\n", - "{'data': {'I0': 7.0,\n", - " 'clock': 16000000.0,\n", - " 'm1': 1.0,\n", - " 'm1_user_setpoint': 1.0,\n", - " 'scaler_time': 1.6,\n", - " 'scint': 7.0},\n", - " 'descriptor': 'cb045687-1fb9-489a-a626-469cf73c8af2',\n", - " 'filled': {},\n", - " 'seq_num': 5,\n", - " 'time': 1684257328.6620367,\n", - " 'timestamps': {'I0': 1684257328.660073,\n", - " 'clock': 1684257328.660073,\n", - " 'm1': 1684257326.938315,\n", - " 'm1_user_setpoint': 1684257326.140348,\n", - " 'scaler_time': 1684257328.660073,\n", - " 'scint': 1684257328.660073},\n", - " 'uid': '1be6e09f-4a92-4bf1-9ffc-7c5f787eba37'}\n", - "\n", - "stop 6\n", - "{'exit_status': 'success',\n", - " 'num_events': {'primary': 5},\n", - " 'reason': '',\n", - " 'run_start': 'f5cee92c-ecf0-4e92-8ba6-075d574638fe',\n", - " 'time': 1684257328.7292325,\n", - " 'uid': '97b6c313-ddf5-4fb4-8ae4-39e10f70201a'}\n" - ] - }, - { - "data": { - "text/plain": [ - "('f5cee92c-ecf0-4e92-8ba6-075d574638fe',)" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "RE(bp.scan([scaler], m1, -1, 1, 5), myCallback)" - ] - }, { "attachments": {}, "cell_type": "markdown",