ophyd-async 0.3a4__py3-none-any.whl → 0.3a6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. ophyd_async/_version.py +1 -1
  2. ophyd_async/core/__init__.py +6 -1
  3. ophyd_async/core/async_status.py +83 -39
  4. ophyd_async/core/detector.py +23 -29
  5. ophyd_async/core/device.py +32 -11
  6. ophyd_async/core/flyer.py +1 -1
  7. ophyd_async/core/mock_signal_backend.py +14 -15
  8. ophyd_async/core/mock_signal_utils.py +9 -13
  9. ophyd_async/core/signal.py +71 -21
  10. ophyd_async/core/utils.py +30 -0
  11. ophyd_async/epics/areadetector/aravis.py +1 -5
  12. ophyd_async/epics/areadetector/controllers/aravis_controller.py +6 -1
  13. ophyd_async/epics/areadetector/drivers/ad_base.py +1 -7
  14. ophyd_async/epics/areadetector/drivers/aravis_driver.py +2 -120
  15. ophyd_async/epics/areadetector/writers/hdf_writer.py +3 -2
  16. ophyd_async/epics/areadetector/writers/nd_file_hdf.py +0 -2
  17. ophyd_async/epics/areadetector/writers/nd_plugin.py +9 -0
  18. ophyd_async/epics/demo/__init__.py +33 -34
  19. ophyd_async/epics/motion/motor.py +47 -42
  20. ophyd_async/epics/pvi/pvi.py +2 -2
  21. ophyd_async/epics/signal/__init__.py +8 -1
  22. ophyd_async/panda/__init__.py +2 -0
  23. ophyd_async/panda/writers/_hdf_writer.py +4 -4
  24. ophyd_async/plan_stubs/__init__.py +13 -0
  25. ophyd_async/plan_stubs/ensure_connected.py +22 -0
  26. ophyd_async/plan_stubs/fly.py +149 -0
  27. ophyd_async/protocols.py +32 -2
  28. ophyd_async/sim/demo/sim_motor.py +67 -82
  29. {ophyd_async-0.3a4.dist-info → ophyd_async-0.3a6.dist-info}/METADATA +1 -1
  30. {ophyd_async-0.3a4.dist-info → ophyd_async-0.3a6.dist-info}/RECORD +34 -33
  31. ophyd_async/planstubs/__init__.py +0 -5
  32. ophyd_async/planstubs/prepare_trigger_and_dets.py +0 -57
  33. {ophyd_async-0.3a4.dist-info → ophyd_async-0.3a6.dist-info}/LICENSE +0 -0
  34. {ophyd_async-0.3a4.dist-info → ophyd_async-0.3a6.dist-info}/WHEEL +0 -0
  35. {ophyd_async-0.3a4.dist-info → ophyd_async-0.3a6.dist-info}/entry_points.txt +0 -0
  36. {ophyd_async-0.3a4.dist-info → ophyd_async-0.3a6.dist-info}/top_level.txt +0 -0
@@ -1,29 +1,29 @@
1
1
  ophyd_async/__init__.py,sha256=v-rRiDOgZ3sQSMQKq0vgUQZvpeOkoHFXissAx6Ktg84,61
2
2
  ophyd_async/__main__.py,sha256=G-Zcv_G9zK7Nhx6o5L5w-wyhMxdl_WgyMELu8IMFqAE,328
3
- ophyd_async/_version.py,sha256=KnUL22nu-ueGx6I5b6OJXJXe49pxXyZLEJ7g8y71WnM,408
3
+ ophyd_async/_version.py,sha256=LuF-BqHYcrns31aIHwEtbxWREi37LwJcIxVOaUpUzgM,408
4
4
  ophyd_async/log.py,sha256=DbMjt0bkfUOLHIinZYt0Q0FHZmCXXi5x8y0uFiEmqoQ,3587
5
- ophyd_async/protocols.py,sha256=48jqS78KAMvy6LmenL21ARoTAD8oOL9YdVmIlI0E0VA,2890
6
- ophyd_async/core/__init__.py,sha256=h1jha-uq0_QfQx2ZD8wit5a58doHfNebyK1mxHMKTUI,2843
5
+ ophyd_async/protocols.py,sha256=EF2W9nfElV-0QNMYrX1zusL1PqDJR3kNsjlalR29j0I,3412
6
+ ophyd_async/core/__init__.py,sha256=wF90GU1BHjCzVVgBtUDHoogCIx6XNXq050wth9YPzVo,2991
7
7
  ophyd_async/core/_providers.py,sha256=LrlTMPHKXWOPVkpAOw-pqBq0kip-c3C9ZZPoFfiaV4M,2212
8
- ophyd_async/core/async_status.py,sha256=7cf5vfOaP6qZ8GW7sl--IZOi8CaLfPM5ULa8H1K3aeA,2803
9
- ophyd_async/core/detector.py,sha256=OkdaaJnj2v8DKF4k7VsTo8ReAvIzyFjBqbqdiYf7FBE,11179
10
- ophyd_async/core/device.py,sha256=xoxz0Iz4vovOWwpUzecDFLtLyJb_aLVi2EBnwxMyeMQ,6209
8
+ ophyd_async/core/async_status.py,sha256=9TOgOXIAuH62RDo5t-Y5GdjrJ76d_6TFlBxYv-5_a88,4367
9
+ ophyd_async/core/detector.py,sha256=8mdLKphirgit5CVCklJI9eHqKKiCz4CYs9BElo10-lc,11007
10
+ ophyd_async/core/device.py,sha256=280zFnLCoiMZAA-Dh1_AjUSnhxUfKYGgj4H_2S1njOA,7086
11
11
  ophyd_async/core/device_save_loader.py,sha256=RXA3dPUPihAR2ZGDStlGiA-TAsr_xqL0snsCjMsMnfA,9138
12
- ophyd_async/core/flyer.py,sha256=LfO3EQTW2zMeNqZh8TLXvE92E30Duds2RXskRYAdJ_4,2299
13
- ophyd_async/core/mock_signal_backend.py,sha256=MZQr1oGv2ssnAK9WxItthiZogCh8rw4BL2N4YoHCgww,3041
14
- ophyd_async/core/mock_signal_utils.py,sha256=weaH1PnjyzIxo2FmhLwx4o5i-X71srvvvsHsN3C4XqY,4267
15
- ophyd_async/core/signal.py,sha256=zjfS_QuPNx9bm8K4tpZYrxqba5A1CHAlRPYg1kokrAQ,14674
12
+ ophyd_async/core/flyer.py,sha256=bIjzBkrl8HVAlKgsZ_FF0WL69Qvksyzp9ZWmTLl8Yrw,2304
13
+ ophyd_async/core/mock_signal_backend.py,sha256=13BAbQG1OPC3o_fOFFQH4x1mPYLQ8Zf53WviRPXWDTM,2938
14
+ ophyd_async/core/mock_signal_utils.py,sha256=TgVV3D6i7ItXRiy98H1Ov8dKZhiop_9CdTaRjiH5cwQ,4143
15
+ ophyd_async/core/signal.py,sha256=FbTb5qDPLhVxEbh6gimqXfkZwcqB4ymHTEYVXZVZYrk,16456
16
16
  ophyd_async/core/signal_backend.py,sha256=qDdWz8X4CWStuYknxcj4G76BLq4TzrAIyZO1NOEq9ao,1519
17
17
  ophyd_async/core/soft_signal_backend.py,sha256=56zvcEi4c8n1yYbafTbp7X0VhSkhoehm3L8RBhu2fik,5596
18
18
  ophyd_async/core/standard_readable.py,sha256=uVG3vs3s7-Kzg5dRCtT4I2mhZPqwVGYy2dxNmaOpDVU,8980
19
- ophyd_async/core/utils.py,sha256=AVF5e42CVG_GaLoHJSI82iC4KAO60fb9fEJMISHBCNM,5043
19
+ ophyd_async/core/utils.py,sha256=3oZcXNqAUHX4ZWMBH5gSuK6cFWEhSkZ9GSDYv0pf8jc,5783
20
20
  ophyd_async/epics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  ophyd_async/epics/_backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  ophyd_async/epics/_backend/_aioca.py,sha256=cpPNZmRMi7FnAh2-3ec5uklLVFOqsmEmpI1nh5Ud1Ls,8794
23
23
  ophyd_async/epics/_backend/_p4p.py,sha256=lIKx7kQ2o8h3M4wPwrq8JBo8xuDnasJxpDH2ATVBY78,12257
24
24
  ophyd_async/epics/_backend/common.py,sha256=16mAuxDwA3eZFjUW8DHMabaW3CtEI0Qe8DLpP2xlW7Y,814
25
25
  ophyd_async/epics/areadetector/__init__.py,sha256=ViKzx-wUxkRyNR33wfpL11QB97o0J47_KMyI2C_NphI,510
26
- ophyd_async/epics/areadetector/aravis.py,sha256=ujO82hYZ5D5GIaBhz0JNC2G5uVSgowY8xxsY2tunzi4,2277
26
+ ophyd_async/epics/areadetector/aravis.py,sha256=YklN4V0loqUQBs4swVX304N49JIGPvrNOk8iA5EWofg,2127
27
27
  ophyd_async/epics/areadetector/kinetix.py,sha256=7rE2MLnz9DEmeiN9pCekDfpXuZ2DErnMajRp_9eoLZY,1359
28
28
  ophyd_async/epics/areadetector/pilatus.py,sha256=ki-BOBCEIiUD2wAtmujBIB1eX-nbXB4yMLJK_Q3opRM,1398
29
29
  ophyd_async/epics/areadetector/single_trigger_det.py,sha256=U92dqhioIfnve3jtCThq9gXBCdEzzqzY4ezk6rZV19g,1182
@@ -31,34 +31,34 @@ ophyd_async/epics/areadetector/utils.py,sha256=p66UbVdKRFj6Sm1Qvm23kmlVyBMMqIvXF
31
31
  ophyd_async/epics/areadetector/vimba.py,sha256=IxG8KLzfb84iLtzf6ZoX9JikqZLP49lwkWu33bkDV9Y,1291
32
32
  ophyd_async/epics/areadetector/controllers/__init__.py,sha256=af58ci7X2z2s_FyUwR3IGQrws8q4TKcBw7vFyIS5FoI,217
33
33
  ophyd_async/epics/areadetector/controllers/ad_sim_controller.py,sha256=mthZ6WxajMEgUKptq3bnkIctbLhjzTagV66i1auB8cg,1587
34
- ophyd_async/epics/areadetector/controllers/aravis_controller.py,sha256=vRiSexnFzijG8eEwowMAFIe730xFNMmgjjbXQVi4zrc,2394
34
+ ophyd_async/epics/areadetector/controllers/aravis_controller.py,sha256=CIfnZdq_NobO_UMC2TJoAfUEP9GlzZg5z5bz6Dn1DxY,2669
35
35
  ophyd_async/epics/areadetector/controllers/kinetix_controller.py,sha256=9QmydX85QOXfQL_UX49M9EQ2b2hUZPVzLxgGQn-A9Oc,1611
36
36
  ophyd_async/epics/areadetector/controllers/pilatus_controller.py,sha256=cd1CKkaXlwkpQ0I1VL7nN0U8R4VweTsa08WhvHYI4nY,2243
37
37
  ophyd_async/epics/areadetector/controllers/vimba_controller.py,sha256=Eh4Hr9rWgq1mKvE93JzgixntjPHxF3_07GTFqiOdZqE,2123
38
38
  ophyd_async/epics/areadetector/drivers/__init__.py,sha256=-Ib0Lz4fFQQmB7K0uFxMDvAerkLxadMQERH7lNAvrs4,495
39
- ophyd_async/epics/areadetector/drivers/ad_base.py,sha256=cE7I-IsfQz3UR9yqghy4czAxHeHERTTKe080GB9sCFQ,3847
40
- ophyd_async/epics/areadetector/drivers/aravis_driver.py,sha256=2KbfcsAN2lYXWDc773KS0tE37Fw5gs7IATbDBOyLD-8,5704
39
+ ophyd_async/epics/areadetector/drivers/ad_base.py,sha256=18WFAiWEUg0H2LcvTQHrKYj2wThGafQzDpiyAWki6vo,3411
40
+ ophyd_async/epics/areadetector/drivers/aravis_driver.py,sha256=PmIygsVNoxxYHvZZzFAbAm2DXmXFc13nAzL_DJB6YSU,1464
41
41
  ophyd_async/epics/areadetector/drivers/kinetix_driver.py,sha256=yIV23BkGBJ4i0VskLiLL7AFbadCCR6Ch1UwUDJ9r2YM,743
42
42
  ophyd_async/epics/areadetector/drivers/pilatus_driver.py,sha256=0DsUu9vAPXDa2v8_V0f_kPjBtLu3y4_EkmFfFjYO4Gk,553
43
43
  ophyd_async/epics/areadetector/drivers/vimba_driver.py,sha256=J54VtWkOklfbSqZYxGWH1e6Uzm9_Gph_ZbCf9Zax0LU,1713
44
44
  ophyd_async/epics/areadetector/writers/__init__.py,sha256=tpPcrYd1hs8WS7C0gmCnR2EBwjE5RzCljI7WwZ2V_LM,191
45
45
  ophyd_async/epics/areadetector/writers/_hdfdataset.py,sha256=E0C9VgsPyY35h7k0mvcIhjsIVNavApLxizqNWlM388w,167
46
46
  ophyd_async/epics/areadetector/writers/_hdffile.py,sha256=YtUgOKX53m0TaFEGBW671qXqNuuEKxEyLV5Ein1fjvo,1799
47
- ophyd_async/epics/areadetector/writers/hdf_writer.py,sha256=e7EbusP3Ell-2npdLtDWcZ_kDIRidUwHeqcbeMx4mlU,5427
48
- ophyd_async/epics/areadetector/writers/nd_file_hdf.py,sha256=whKDkvKnU1qiDym4xQq4Fd1jHEhtDu552xhhGSnB--w,1910
49
- ophyd_async/epics/areadetector/writers/nd_plugin.py,sha256=sG4XZAS_k065g88n9U3IJGtYI4PPHfyJMcVqh9hVAa4,979
50
- ophyd_async/epics/demo/__init__.py,sha256=D-jYrorqa5C3gLzIi2Hkn8f8uaE9wb5S-WX3YYuHV48,6052
47
+ ophyd_async/epics/areadetector/writers/hdf_writer.py,sha256=ZpbVilNVv81OpbCrqaeZUoHLarrjzRWEGe-zI1Wxyyw,5436
48
+ ophyd_async/epics/areadetector/writers/nd_file_hdf.py,sha256=EkiaEh_0U6Iz17jFi2IIsRPsVQTQIJRG8EPNCiAHkkU,1762
49
+ ophyd_async/epics/areadetector/writers/nd_plugin.py,sha256=GUzaeTMdG07Rb1x0WzBBxMEltBhr10jb5dL29tEWXEQ,1547
50
+ ophyd_async/epics/demo/__init__.py,sha256=ZcuZ66aIQ58WSydLOSKnk-h_W-aWjhDRZkWQA6f3sig,5790
51
51
  ophyd_async/epics/demo/demo_ad_sim_detector.py,sha256=06y65yvaqXvL2rDocjYyLz9kTVzuwV-LeuPhEfExdOA,944
52
52
  ophyd_async/epics/demo/mover.db,sha256=RFz0rxZue689Wh1sWTZwWeFMUrH04ttPq2u5xJH_Fp4,998
53
53
  ophyd_async/epics/demo/sensor.db,sha256=AVtiydrdtwAz2EFurO2Ult9SSRtre3r0akOBbL98LT0,554
54
54
  ophyd_async/epics/motion/__init__.py,sha256=tnmVRIwKa9PdN_xonJdAUD04UpEceh-hoD7XI62yDB0,46
55
- ophyd_async/epics/motion/motor.py,sha256=9sWF2oawtKLL1JZIT8FZc8WtKhrZVKfmwgyQv0x48B4,3826
55
+ ophyd_async/epics/motion/motor.py,sha256=G8cc-okSXJ6s2fGxRO155xm7PrBbVImBmBMRWts895k,3630
56
56
  ophyd_async/epics/pvi/__init__.py,sha256=TbOQNY4enQWgtr1T7x129vpo2p7FIFlr8cyZqqv5Lk4,158
57
- ophyd_async/epics/pvi/pvi.py,sha256=5Hd9BkULbVv9mCmEn3LFafs2oz77xqlGHn-X48nJ-4o,11331
58
- ophyd_async/epics/signal/__init__.py,sha256=wb93RTqvSbGKVFQj8OHykbVLGLmwKHU72oi5xYu2UaY,188
57
+ ophyd_async/epics/pvi/pvi.py,sha256=PJdY3rCRyIQbsbHDru-TJ-IVOItyaQwCQKAC0Widu6A,11363
58
+ ophyd_async/epics/signal/__init__.py,sha256=JXKBSGpRL9y3auh27JRxsqDn_rBOXpJjtd4nCuDOX2g,261
59
59
  ophyd_async/epics/signal/_epics_transport.py,sha256=DEIL0iYUAWssysVEgWGu1fHSM1l-ATV2kjUgPtDN9LY,858
60
60
  ophyd_async/epics/signal/signal.py,sha256=M8ZVG_zLdYJfroCRX-u_w8c3yIhswSRw8e3RkW2szio,3166
61
- ophyd_async/panda/__init__.py,sha256=ZaD1nRgGKAGFGdpP1WWF-FnX3wcGuYqqq0QRZbaSBYQ,692
61
+ ophyd_async/panda/__init__.py,sha256=FuSnvp-RtdA0X4RcHEF0nTiXymRts2MNdFmF_1_i41w,775
62
62
  ophyd_async/panda/_common_blocks.py,sha256=n0PPc1rar43oDSIA-yNubTc8fR5YCW1tyjQU58whsg0,1038
63
63
  ophyd_async/panda/_hdf_panda.py,sha256=QjfZyYos0ZBlIqBiZ5UbyEd_wuh_cGzwV8QE9jvLiIY,1419
64
64
  ophyd_async/panda/_panda_controller.py,sha256=dIqcjmaIHVrki8UXSoDx46kk6I2Lhpe2o3sXNg5f-RQ,1238
@@ -66,20 +66,21 @@ ophyd_async/panda/_table.py,sha256=dLoRP4zYNOkD_s0Vkp2wVYAwkjVG8nNdf8-FaXOTfPo,5
66
66
  ophyd_async/panda/_trigger.py,sha256=tBH8uq_4o1ASG9yofVxq3tjf5v8LPzniDTRL4yjramI,1195
67
67
  ophyd_async/panda/_utils.py,sha256=VHW5kPVISyEkmse_qQcyisBkkEwMO6GG2Ago-CH1AFA,487
68
68
  ophyd_async/panda/writers/__init__.py,sha256=xy7BguVQG4HNIDBfKPjMj0KQo1tptC9LbCpEuMcVGaM,70
69
- ophyd_async/panda/writers/_hdf_writer.py,sha256=_KlawqQHuWXLCvhGg1N6S4dQ8LhM88NbHsbXryxPvPA,7617
69
+ ophyd_async/panda/writers/_hdf_writer.py,sha256=vnyIg3JmlzMIIq75o0IDMfGzBm_GJAhOUisAZE_0cyg,7597
70
70
  ophyd_async/panda/writers/_panda_hdf_file.py,sha256=42iHaTax4JjOBpNC7d4nkNL9SM14OTnFPTIcXv2jg-4,1759
71
- ophyd_async/planstubs/__init__.py,sha256=G9B80_d87lnOThUsGbAYPqzMw9xDelq2TbS7dkB692o,188
72
- ophyd_async/planstubs/prepare_trigger_and_dets.py,sha256=0c4XDAxVkSanyDKtaMda0VgPEbk2jM0geVzAx707DhI,1772
71
+ ophyd_async/plan_stubs/__init__.py,sha256=nO9ELG9J7fYwfVTVRWVorz4kffeszYpwk1ROh6Ha--w,405
72
+ ophyd_async/plan_stubs/ensure_connected.py,sha256=1MkDu8UqVRPHLnW9IXRn-QvKiG8-rCV8T4KDbjf9K6w,557
73
+ ophyd_async/plan_stubs/fly.py,sha256=nl8XLoY7hvlam6H3zl4NcPRUiEJ3xIjopHEfA0ehTDg,4845
73
74
  ophyd_async/sim/__init__.py,sha256=ScjH1g7FMo5yPACfJRZE6xGBWCHU4bKDzNQk1tqObnA,366
74
75
  ophyd_async/sim/pattern_generator.py,sha256=pvSk2zb82D08j2jiKAMqMAfRohGnYd_rpjUraLrCD6c,10640
75
76
  ophyd_async/sim/sim_pattern_detector_control.py,sha256=Ypz8IuRYAY2J243IhVbNyGr_Z-XtpJZ1qxma6NR3TgM,1838
76
77
  ophyd_async/sim/sim_pattern_detector_writer.py,sha256=ESpcVyHd1TP7Cojznv2hJAwLinu3XbgAiVKfX12FCII,1237
77
78
  ophyd_async/sim/sim_pattern_generator.py,sha256=fbcwWxTPYKLK33OzIY15vGylnonOO8HIudz1y_56GZU,1336
78
79
  ophyd_async/sim/demo/__init__.py,sha256=9mxKpslrL89cfSj4g3og8Br3O--pMj3hhWZS-Xu6kyA,56
79
- ophyd_async/sim/demo/sim_motor.py,sha256=knpfyrqeNr7HnlV54TQGUr3pLnDyg84vfj_4vKB9UYc,4065
80
- ophyd_async-0.3a4.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
81
- ophyd_async-0.3a4.dist-info/METADATA,sha256=wPoVN6LuWFSMlFzEaAriOPfJD-XncaJHVzpao8HUBlg,6284
82
- ophyd_async-0.3a4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
83
- ophyd_async-0.3a4.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
84
- ophyd_async-0.3a4.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
85
- ophyd_async-0.3a4.dist-info/RECORD,,
80
+ ophyd_async/sim/demo/sim_motor.py,sha256=a2p5wnHXjF-V5zOFai7jnszk4kbGmrZRnUqBtkOgEfQ,3733
81
+ ophyd_async-0.3a6.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
82
+ ophyd_async-0.3a6.dist-info/METADATA,sha256=oFejS6nfk0zaWbJASTeSieIQnPMjC1mvkIFaUrmH1MQ,6284
83
+ ophyd_async-0.3a6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
84
+ ophyd_async-0.3a6.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
85
+ ophyd_async-0.3a6.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
86
+ ophyd_async-0.3a6.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- from .prepare_trigger_and_dets import (
2
- prepare_static_seq_table_flyer_and_detectors_with_same_trigger,
3
- )
4
-
5
- __all__ = ["prepare_static_seq_table_flyer_and_detectors_with_same_trigger"]
@@ -1,57 +0,0 @@
1
- from typing import List
2
-
3
- import bluesky.plan_stubs as bps
4
-
5
- from ophyd_async.core.detector import DetectorTrigger, StandardDetector, TriggerInfo
6
- from ophyd_async.core.flyer import HardwareTriggeredFlyable
7
- from ophyd_async.core.utils import in_micros
8
- from ophyd_async.panda._table import SeqTable, SeqTableRow, seq_table_from_rows
9
- from ophyd_async.panda._trigger import SeqTableInfo
10
-
11
-
12
- def prepare_static_seq_table_flyer_and_detectors_with_same_trigger(
13
- flyer: HardwareTriggeredFlyable[SeqTableInfo],
14
- detectors: List[StandardDetector],
15
- num: int,
16
- width: float,
17
- deadtime: float,
18
- shutter_time: float,
19
- repeats: int = 1,
20
- period: float = 0.0,
21
- ):
22
- trigger_info = TriggerInfo(
23
- num=num * repeats,
24
- trigger=DetectorTrigger.constant_gate,
25
- deadtime=deadtime,
26
- livetime=width,
27
- )
28
-
29
- trigger_time = num * (width + deadtime)
30
- pre_delay = max(period - 2 * shutter_time - trigger_time, 0)
31
-
32
- table: SeqTable = seq_table_from_rows(
33
- # Wait for pre-delay then open shutter
34
- SeqTableRow(
35
- time1=in_micros(pre_delay),
36
- time2=in_micros(shutter_time),
37
- outa2=True,
38
- ),
39
- # Keeping shutter open, do N triggers
40
- SeqTableRow(
41
- repeats=num,
42
- time1=in_micros(width),
43
- outa1=True,
44
- outb1=True,
45
- time2=in_micros(deadtime),
46
- outa2=True,
47
- ),
48
- # Add the shutter close
49
- SeqTableRow(time2=in_micros(shutter_time)),
50
- )
51
-
52
- table_info = SeqTableInfo(table, repeats)
53
-
54
- for det in detectors:
55
- yield from bps.prepare(det, trigger_info, wait=False, group="prep")
56
- yield from bps.prepare(flyer, table_info, wait=False, group="prep")
57
- yield from bps.wait(group="prep")