ophyd-async 0.8.0a2__py3-none-any.whl → 0.8.0a3__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 (40) hide show
  1. ophyd_async/_version.py +1 -1
  2. ophyd_async/core/__init__.py +7 -1
  3. ophyd_async/core/_device.py +1 -0
  4. ophyd_async/core/_device_filler.py +208 -130
  5. ophyd_async/core/_readable.py +128 -129
  6. ophyd_async/core/_utils.py +9 -1
  7. ophyd_async/epics/adaravis/_aravis_io.py +1 -1
  8. ophyd_async/epics/adcore/_core_io.py +1 -1
  9. ophyd_async/epics/adcore/_single_trigger.py +4 -9
  10. ophyd_async/epics/adkinetix/_kinetix_io.py +1 -1
  11. ophyd_async/epics/adpilatus/_pilatus_io.py +1 -1
  12. ophyd_async/epics/advimba/_vimba_io.py +1 -1
  13. ophyd_async/epics/core/__init__.py +26 -0
  14. ophyd_async/epics/{signal → core}/_aioca.py +3 -6
  15. ophyd_async/epics/core/_epics_connector.py +53 -0
  16. ophyd_async/epics/core/_epics_device.py +13 -0
  17. ophyd_async/epics/{signal → core}/_p4p.py +3 -6
  18. ophyd_async/epics/core/_pvi_connector.py +92 -0
  19. ophyd_async/epics/{signal → core}/_signal.py +31 -16
  20. ophyd_async/epics/{signal/_common.py → core/_util.py} +19 -1
  21. ophyd_async/epics/demo/_mover.py +4 -5
  22. ophyd_async/epics/demo/_sensor.py +9 -12
  23. ophyd_async/epics/eiger/_eiger_io.py +1 -1
  24. ophyd_async/epics/eiger/_odin_io.py +1 -1
  25. ophyd_async/epics/motor.py +4 -5
  26. ophyd_async/epics/signal.py +11 -0
  27. ophyd_async/fastcs/core.py +2 -2
  28. ophyd_async/sim/demo/_sim_motor.py +3 -4
  29. ophyd_async/tango/base_devices/_base_device.py +15 -16
  30. ophyd_async/tango/demo/_counter.py +6 -16
  31. ophyd_async/tango/demo/_mover.py +3 -4
  32. {ophyd_async-0.8.0a2.dist-info → ophyd_async-0.8.0a3.dist-info}/METADATA +1 -1
  33. {ophyd_async-0.8.0a2.dist-info → ophyd_async-0.8.0a3.dist-info}/RECORD +37 -35
  34. ophyd_async/epics/pvi/__init__.py +0 -3
  35. ophyd_async/epics/pvi/_pvi.py +0 -73
  36. ophyd_async/epics/signal/__init__.py +0 -20
  37. {ophyd_async-0.8.0a2.dist-info → ophyd_async-0.8.0a3.dist-info}/LICENSE +0 -0
  38. {ophyd_async-0.8.0a2.dist-info → ophyd_async-0.8.0a3.dist-info}/WHEEL +0 -0
  39. {ophyd_async-0.8.0a2.dist-info → ophyd_async-0.8.0a3.dist-info}/entry_points.txt +0 -0
  40. {ophyd_async-0.8.0a2.dist-info → ophyd_async-0.8.0a3.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,11 @@
1
1
  ophyd_async/__init__.py,sha256=tEfgj45lRItQ-_u8SRFPM-mpBh3gWvHXr3emhiJJG_M,225
2
2
  ophyd_async/__main__.py,sha256=n_U4O9bgm97OuboUB_9eK7eFiwy8BZSgXJ0OzbE0DqU,481
3
- ophyd_async/_version.py,sha256=89ACrxBz6ayPyRUoZiAmc28ARp-c3Nyrpb31qenCm-Y,413
3
+ ophyd_async/_version.py,sha256=7HtuNUHmvgApFDFxIXlpPtAL7GP25idINU4Fd3AJSWE,413
4
4
  ophyd_async/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- ophyd_async/core/__init__.py,sha256=j1QNO04b_uYqIJzEo7dGgyQq5h1VT0cFMHcimpCX6zs,4178
5
+ ophyd_async/core/__init__.py,sha256=0UUwdcqeXFVxGDBLIbZkA5cZx4rbqdud6n4rCfcrpIY,4253
6
6
  ophyd_async/core/_detector.py,sha256=bKLekM2J3GzLXsKwe8qXQjNP_sAVsa8EtwFEWD-8MeA,14307
7
- ophyd_async/core/_device.py,sha256=bKFE-RG3SS966FRcZSSfOZnAWcz1At6FFBcpKMeGxi8,10956
8
- ophyd_async/core/_device_filler.py,sha256=YoBhH_r9xEFrLPOCaIOTZdlrmSsosyn3np69RJsk-6Q,8345
7
+ ophyd_async/core/_device.py,sha256=AJvqPRfN4LOSVptPC9hyyabH2gBUFMLMNpugWsP501E,11019
8
+ ophyd_async/core/_device_filler.py,sha256=Nw-DUyuXYpvt4mmCAQaNVA0LFBBaPK84ubZo3bR39Ak,11407
9
9
  ophyd_async/core/_device_save_loader.py,sha256=OViN9_LWNOLuajzrHDKYEqd5I47u5npQACdGceKcIGY,8375
10
10
  ophyd_async/core/_flyer.py,sha256=us5z6MNGCvIfgPDTmFTxNERSP37g0WVRkRD0Z2JiMgM,1701
11
11
  ophyd_async/core/_hdf_dataset.py,sha256=wW_OL8OYLGOsE01ny3hGaapOrxK7BzhWTxKgz8CIXK0,2492
@@ -14,59 +14,61 @@ ophyd_async/core/_mock_signal_backend.py,sha256=E8YMLJJyAt8UAwX-5PMQCuAuHuVVs5ko
14
14
  ophyd_async/core/_mock_signal_utils.py,sha256=i7CCFeB6JkTpdAe32Jtap2nrvFL-gbz_3zrnlK7Lbow,5139
15
15
  ophyd_async/core/_protocol.py,sha256=MuYRqSfakdry9RllX7G9UTzp4lw3eDjtkdGPpnbNb34,4040
16
16
  ophyd_async/core/_providers.py,sha256=ff9ZT5-PZ6rhTTdE-q8w9l_k9DuZqLWLebsKZLeJ0Ds,7112
17
- ophyd_async/core/_readable.py,sha256=KC5n-LXKzFyYkhZ7KXwFlHM05pe8iDCnyldfS1pel3s,9075
17
+ ophyd_async/core/_readable.py,sha256=7FxqxhAT1wBQqOEivgnY731zA9QoK1Tt-ZGcH7GBOXM,10623
18
18
  ophyd_async/core/_signal.py,sha256=4Umj1EXgz89ZO1Ej-b5TEkmr72pdw3Jbyk-nIsYIYpo,20011
19
19
  ophyd_async/core/_signal_backend.py,sha256=YWPgLSPbfPnWIUDHvP1ArCVK8zKXJxzzbloqQe_ucCI,5040
20
20
  ophyd_async/core/_soft_signal_backend.py,sha256=VBemKbSM397zhtjm6zLKozhJ8cY3XhDu42OagBc_d64,5663
21
21
  ophyd_async/core/_status.py,sha256=OUKhblRQ4KU5PDsWbpvYduM7G60JMk1NqeV4eqyPtKc,5131
22
22
  ophyd_async/core/_table.py,sha256=ZToBVmAPDmhrVDgjx0f8SErxVdKhvGdGwQ-fXxGCtN8,5386
23
- ophyd_async/core/_utils.py,sha256=e5zmHkkCvMYJRWGIMGMww18YSyOhSsdNYTta3FQzdQY,7515
23
+ ophyd_async/core/_utils.py,sha256=agOw4xTv2NFPfywDUkY_NYT2GNXI6p7GGs08z0H51jk,7548
24
24
  ophyd_async/epics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- ophyd_async/epics/motor.py,sha256=mOrFiTt6WrXJM4d5Stksrxc_j9Vcd3L3w1QLCX_K0zM,8752
25
+ ophyd_async/epics/motor.py,sha256=pujJXV_vslvo3AxsVySTAEoFuduuv5Hp6sz8aRvIbeQ,8792
26
+ ophyd_async/epics/signal.py,sha256=hJCGIIWjRVhjEHkeL1I_oPEaaN7dDFKmm7G7ZmgoTYQ,219
26
27
  ophyd_async/epics/adaravis/__init__.py,sha256=u979_9nQTYB0TvDOTXFN4qMrbDP8-xQFfXYMGzLVBo4,207
27
28
  ophyd_async/epics/adaravis/_aravis.py,sha256=XBuLQBZYj2tptY39bVzXjl6t-ZpPwqrUOwpR54l-hSo,1952
28
29
  ophyd_async/epics/adaravis/_aravis_controller.py,sha256=t4vuMsQ_67tNsAYPFFtBKq3YIHhRnK08DwPzi8Am_-k,2831
29
- ophyd_async/epics/adaravis/_aravis_io.py,sha256=wjeN3qYVyy-HsLKJH0SZLC663AERKYPD38vvL71BRAQ,1605
30
+ ophyd_async/epics/adaravis/_aravis_io.py,sha256=KCfylSNGN7rC6W4uJDCVtaQ4-o5_FR_bTyTDXnhmMt4,1603
30
31
  ophyd_async/epics/adcore/__init__.py,sha256=3wMOyFGaq1X61LqK4iY4pq-m_BjhOgYZD2-mNCAjpzk,1086
31
- ophyd_async/epics/adcore/_core_io.py,sha256=Tgi9djvG5z-dgxO6Jq2-kAi-dAE5VOntL88xRrLLP8I,6078
32
+ ophyd_async/epics/adcore/_core_io.py,sha256=ZQjRLdpFMVS9kwEm5LAh60pxiy7XWyYtc2TzEvCEVYM,6076
32
33
  ophyd_async/epics/adcore/_core_logic.py,sha256=JjrSmKErRFSv1C98or1Upwi01k3NWDRMi2fPHVWMmWw,3561
33
34
  ophyd_async/epics/adcore/_hdf_writer.py,sha256=eWT9SH7uegf9rpCWRmVCZTsOxF1drPaOAMmoXm99mVk,7215
34
- ophyd_async/epics/adcore/_single_trigger.py,sha256=NaTOHKDD0nzAPPrva-4dR-h102khpJ3cPKqEmS3HzY8,1168
35
+ ophyd_async/epics/adcore/_single_trigger.py,sha256=tu1kZ1zsqgL0PM3ibmnxabNUA3gXaluQ6JW5C093tYc,1177
35
36
  ophyd_async/epics/adcore/_utils.py,sha256=MZBKeSPIRzyo6f84MpzPp28KwOLa9qgrkMIFc618wOE,3932
36
37
  ophyd_async/epics/adkinetix/__init__.py,sha256=cvnwOqbvEENf70eFp6bPGwayP0u14UTIhs3WiZEcF_Q,262
37
38
  ophyd_async/epics/adkinetix/_kinetix.py,sha256=JsQVc4d7lRCnVObJlM775hHLfp3rYRSRgOoIyRvrSek,1184
38
39
  ophyd_async/epics/adkinetix/_kinetix_controller.py,sha256=LyK-CWkEV1l_RVhCOHf2lLgo1FRIkDCa4P8JnAGZ4us,1701
39
- ophyd_async/epics/adkinetix/_kinetix_io.py,sha256=KcNqmt0ejNR6zqJ0opRuAP4DGvryzar4j-03eba090o,912
40
+ ophyd_async/epics/adkinetix/_kinetix_io.py,sha256=D72HNtob74SnhBa3Zsbp37MhqS6kdrCPac7pnTlm0PQ,910
40
41
  ophyd_async/epics/adpilatus/__init__.py,sha256=daimScOCCMHR2eb8VbezHOcGOkd6uIRZQiyeTQsaAx4,308
41
42
  ophyd_async/epics/adpilatus/_pilatus.py,sha256=AbWfxEds8ESB73kRXz56FzRPYqy67Ue0m11HRaNUqZY,1751
42
43
  ophyd_async/epics/adpilatus/_pilatus_controller.py,sha256=eBZnNPHJosYAMdD-efLNgAmTYaqONLJ3qKX-2RW13fg,2676
43
- ophyd_async/epics/adpilatus/_pilatus_io.py,sha256=0cqv1eXe11Oiz69C0CGEWf6saboC6OJj6cHHJ6fK8Z8,740
44
+ ophyd_async/epics/adpilatus/_pilatus_io.py,sha256=upIc5mr8RMmPjQMZcG7-Y8C9a5nPl91OTDjZ5JYDVIc,738
44
45
  ophyd_async/epics/adsimdetector/__init__.py,sha256=t3crUgTEvVJGI8o6FsfN42k0A-l4v9ZBwXIYtixoE-M,128
45
46
  ophyd_async/epics/adsimdetector/_sim.py,sha256=jzsPJdcwdciR2mVPbvg9KhGHWWGNDQwK5TwPcS7_tco,1009
46
47
  ophyd_async/epics/adsimdetector/_sim_controller.py,sha256=lxBCJtREDOySrpLNl7_9DbuIw2IhRpSOBK_CvJ5XBs4,1677
47
48
  ophyd_async/epics/advimba/__init__.py,sha256=l0ElP3Zyff_pzrTRdj9oUO9xigCfmzo3pMVjstlVsJY,320
48
49
  ophyd_async/epics/advimba/_vimba.py,sha256=E_RJ0uJQt-RWAY7uFTNkHaOdGYS5sa7ZbRgAe6ngXTA,1125
49
50
  ophyd_async/epics/advimba/_vimba_controller.py,sha256=Ej7irxTab9cfjmqz4G4Zxv3CjhJw_eRmIb3E62YWh6g,2226
50
- ophyd_async/epics/advimba/_vimba_io.py,sha256=HlMFKv9lTDk1085Zy4n5XGriUNBAfsGd4AqLj8wyjJI,1866
51
+ ophyd_async/epics/advimba/_vimba_io.py,sha256=F3KUzMN-GMe637za-iRVGGTt8v9F1a79fRcl3MCkfXA,1864
52
+ ophyd_async/epics/core/__init__.py,sha256=8NoQxEEc2Ny_L9nrD2fnGSf_2gJr1wCR1LwUeLNcIJo,588
53
+ ophyd_async/epics/core/_aioca.py,sha256=318lw_dGWnckgyQ1f4K8QeX_KVOD4idzWX8sx2jbnyk,11625
54
+ ophyd_async/epics/core/_epics_connector.py,sha256=n1FlQYui8HdobPxaX3VAflrzi2UT7QCe3cFasssmVLw,1789
55
+ ophyd_async/epics/core/_epics_device.py,sha256=kshNiKQhevsL2OZXa-r093L_sQGvGK_0J4PWVLg3Eqw,437
56
+ ophyd_async/epics/core/_p4p.py,sha256=Ap_WVWCa4Eb44i50bxjy8qS-n8AUKTaLbFNq5eZZk0w,14619
57
+ ophyd_async/epics/core/_pvi_connector.py,sha256=D4IM_SiNkUEe01DsstTX-s2XEgT3X-jspGmZePSCYZE,3577
58
+ ophyd_async/epics/core/_signal.py,sha256=jHdMXV1-0bd7PC8XV32Sso1xgubZVDhWFNsWV-UuamQ,4642
59
+ ophyd_async/epics/core/_util.py,sha256=6CCWDfp54WeBIJdGjg_YBVZTKoNjponWyykMmLPrj7U,1820
51
60
  ophyd_async/epics/demo/__init__.py,sha256=wCrgemEo-zR4TTvaqCKnQ-AIUHorotV5jhftbq1tXz0,1368
52
- ophyd_async/epics/demo/_mover.py,sha256=2bNfaLZzP1MMzsaLgDEQLf9_uWeOR9fcYzKiGVM2Ze8,3531
53
- ophyd_async/epics/demo/_sensor.py,sha256=0wICt8888vS5iNQCy8NWBfQPwUhyMo6g0GwQf8cJOs0,1180
61
+ ophyd_async/epics/demo/_mover.py,sha256=uyg60SlL7k2C3KA_05EUFOlDe6RB5QBbw7QGs969ItQ,3571
62
+ ophyd_async/epics/demo/_sensor.py,sha256=ATlS5jejoHzpgjHhEienEmRguTzZ7DGvzZkuPCHY49U,1040
54
63
  ophyd_async/epics/demo/mover.db,sha256=RFz0rxZue689Wh1sWTZwWeFMUrH04ttPq2u5xJH_Fp4,998
55
64
  ophyd_async/epics/demo/sensor.db,sha256=AstyG9E0R4KZBz2FZQSrV_QlrfLoU6M2cvYc15Lf548,553
56
65
  ophyd_async/epics/eiger/__init__.py,sha256=b3Tt4pVLk23Giyj50R4e94d2MxWDDmNHWhWwNq2jlaw,221
57
66
  ophyd_async/epics/eiger/_eiger.py,sha256=hkMsjVwrzDcE1u5BRIQtn8RSR2e0b1JMpDvuIONoNaI,1133
58
67
  ophyd_async/epics/eiger/_eiger_controller.py,sha256=GCoZ40BGCFkxDUrgYk9_CwzSr86l-CALw9nUILJVaZA,2251
59
- ophyd_async/epics/eiger/_eiger_io.py,sha256=It4BvSSbpfKlxuWqRrOe9MaQ5Z0yznoV6yEFjq6OXNM,1808
60
- ophyd_async/epics/eiger/_odin_io.py,sha256=MC0WVHHfVlpeeHixh5LcstZIuGxRAmOSBpn3qtzOj28,4155
61
- ophyd_async/epics/pvi/__init__.py,sha256=cTt0ixrEPUTXyOs7A_yscsVOvWUEDKwU94BOvhjxVy0,71
62
- ophyd_async/epics/pvi/_pvi.py,sha256=2gAuujZyAW5KiSXJrlbs-YokW_sgZJrtKi9sfBNr3-k,2697
63
- ophyd_async/epics/signal/__init__.py,sha256=e6CVNlEhxXPzruTItHFALk2JyHc5a1zJYCzoFFeqd5o,437
64
- ophyd_async/epics/signal/_aioca.py,sha256=zOIF6ca9ombRLS0QghPSheHF_lC_mxp0bShFll8bLfs,11666
65
- ophyd_async/epics/signal/_common.py,sha256=xQBoZQs1lPmocpBokxFle-BxVGq2mVjtRoe7TYZMZNw,1462
66
- ophyd_async/epics/signal/_p4p.py,sha256=eHVl7ifjdOu55K701d_Gf2TlFgJ9tDCnJQhp2ag98HA,14660
67
- ophyd_async/epics/signal/_signal.py,sha256=h8iUqXOInhJ6M-xw3KJlU3srRPFwmfdHqlohy-uHRS8,4148
68
+ ophyd_async/epics/eiger/_eiger_io.py,sha256=0iimpsa8TI2mJ8hTolQByIhdeKltUGcg6aEkY5GwIyQ,1806
69
+ ophyd_async/epics/eiger/_odin_io.py,sha256=3E33ysvMlf8t0bbSVPnzUrvPgUwA7491uoViWpivpf8,4153
68
70
  ophyd_async/fastcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- ophyd_async/fastcs/core.py,sha256=0t9fvXeqfP8V4Qz1LIjsh6HqLxZO0R62dbThy1ruWDI,349
71
+ ophyd_async/fastcs/core.py,sha256=kykwmblZfj9xfakL8FTAqmPmPA8qRbQ90OS3d8WLyto,342
70
72
  ophyd_async/fastcs/odin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
73
  ophyd_async/fastcs/panda/__init__.py,sha256=_o7n7ckoTM6hTRHpLphpL7r_9sADE59MRNM0gq_ut2o,980
72
74
  ophyd_async/fastcs/panda/_block.py,sha256=STQo6NJAqIVfxyMf-2pxINPyr9_nKtXSdicp92a25xo,1709
@@ -82,7 +84,7 @@ ophyd_async/plan_stubs/_fly.py,sha256=WxghBAHsF-8xFrILCm44jeHIu9udLhm-tj4JXd9kZj
82
84
  ophyd_async/plan_stubs/_nd_attributes.py,sha256=TVfy3bhnrLFBXZ6b2bREBj0LzEviEGzuGvgWK3I7tII,2198
83
85
  ophyd_async/sim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
86
  ophyd_async/sim/demo/__init__.py,sha256=JKWFnHqmFuRRMvvU0aBuclke3OdF0iq89yvHEd4J7Bg,371
85
- ophyd_async/sim/demo/_sim_motor.py,sha256=13mswR9ybIHD00BFlmrqR7c4v_3in5FBv33cVfu8Uyc,3623
87
+ ophyd_async/sim/demo/_sim_motor.py,sha256=hZAoZniLd-Fh5Ru9v6TyFNJHrQB_l9ljM04vByuz_Ls,3665
86
88
  ophyd_async/sim/demo/_pattern_detector/__init__.py,sha256=o_dSZDIl_CyS3YPSNKpGiQiR9UaC4cNzZ8_ByEN9dIk,402
87
89
  ophyd_async/sim/demo/_pattern_detector/_pattern_detector.py,sha256=R-UbcxHLFfCK9tBryKZN5Dit0IjYeJGP-QKV2ssKFoQ,1275
88
90
  ophyd_async/sim/demo/_pattern_detector/_pattern_detector_controller.py,sha256=HqlKNgjd_9pjy6pc74xdJ7JtV1Iko6cNxB2aZReJozw,1999
@@ -91,20 +93,20 @@ ophyd_async/sim/demo/_pattern_detector/_pattern_generator.py,sha256=gP0Q1-1p_3KO
91
93
  ophyd_async/sim/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
94
  ophyd_async/tango/__init__.py,sha256=2XxSpJWvvAlCs0GLPv6sEnUUD40fWq9OzKuiBEZ_MEs,861
93
95
  ophyd_async/tango/base_devices/__init__.py,sha256=fbn1-rfK8MCErpSmjAJuQioDikbjOobd4sDvAB9Xupw,157
94
- ophyd_async/tango/base_devices/_base_device.py,sha256=aMhDB2REBFRLX6R1nyHEvA9xUNbOV9STI1qldfdnkLE,5924
96
+ ophyd_async/tango/base_devices/_base_device.py,sha256=5Jt3UXIK1wNlKGnlGcKthigHBoLQ-MX7tzq4J3QY-_8,5968
95
97
  ophyd_async/tango/base_devices/_tango_readable.py,sha256=J-XeR2fmQU5RTdsNhRvzNPJD8xZRVJ6-qXt09vfpVtI,951
96
98
  ophyd_async/tango/demo/__init__.py,sha256=_j-UicTnckuIBp8PnieFMOMnLFGivnaKdmo9o0hYtzc,256
97
- ophyd_async/tango/demo/_counter.py,sha256=u4abG9AMpiz_Xlomu05AHFEjb9YKzSFolanm8NdqnOE,1262
99
+ ophyd_async/tango/demo/_counter.py,sha256=neKkuepWfpBxMOPnnHJ79SHgwepymG4gTDVacuHE6fA,1134
98
100
  ophyd_async/tango/demo/_detector.py,sha256=0wwk7Y-Dl9QF1YsCIU_BxqI6-PQ40qN_0gknrYBkxsY,1292
99
- ophyd_async/tango/demo/_mover.py,sha256=aag8J-8Vd_wX3HitrTwh17caUAg1rq-YHfCMkEYAyy0,2659
101
+ ophyd_async/tango/demo/_mover.py,sha256=hlg0IeR6_1m7ZeavQ1HS_ZFA_MdE0c1kAso6H1Ntz-w,2701
100
102
  ophyd_async/tango/demo/_tango/__init__.py,sha256=FfONT7vM49nNo3a1Lv-LcMZO9EHv6bv91yY-RnxIib4,85
101
103
  ophyd_async/tango/demo/_tango/_servers.py,sha256=MwkkoZWJQm_cgafCBBXeQfwyAiOgU8cE90_uNfcdcGA,2916
102
104
  ophyd_async/tango/signal/__init__.py,sha256=-_wBvhSPb58h_XSeGVaJ6gMFOY8TQNsVYfZxQuxGB1c,750
103
105
  ophyd_async/tango/signal/_signal.py,sha256=72iOxCt6HkyaYPgE402h5fd1KryyVUarR0exV2A3UbU,6277
104
106
  ophyd_async/tango/signal/_tango_transport.py,sha256=DVTdLu8C19k-QzYaKUzFK2WMbaSd6dIO77k99ugD8U4,28990
105
- ophyd_async-0.8.0a2.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
106
- ophyd_async-0.8.0a2.dist-info/METADATA,sha256=sCPoZNdh3J_MsprPjPLEqfHPcsY88R9FBgWbE4DcGXY,6708
107
- ophyd_async-0.8.0a2.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
108
- ophyd_async-0.8.0a2.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
109
- ophyd_async-0.8.0a2.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
110
- ophyd_async-0.8.0a2.dist-info/RECORD,,
107
+ ophyd_async-0.8.0a3.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
108
+ ophyd_async-0.8.0a3.dist-info/METADATA,sha256=tAf70XFrRZAkgiqGePl9EqzyGRpYsKEh3Jz2-_3qj5w,6708
109
+ ophyd_async-0.8.0a3.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
110
+ ophyd_async-0.8.0a3.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
111
+ ophyd_async-0.8.0a3.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
112
+ ophyd_async-0.8.0a3.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- from ._pvi import PviDeviceConnector
2
-
3
- __all__ = ["PviDeviceConnector"]
@@ -1,73 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from unittest.mock import Mock
4
-
5
- from ophyd_async.core import (
6
- Device,
7
- DeviceConnector,
8
- DeviceFiller,
9
- Signal,
10
- SignalR,
11
- SignalRW,
12
- SignalX,
13
- )
14
- from ophyd_async.epics.signal import (
15
- PvaSignalBackend,
16
- pvget_with_timeout,
17
- )
18
-
19
-
20
- def _get_signal_details(entry: dict[str, str]) -> tuple[type[Signal], str, str]:
21
- match entry:
22
- case {"r": read_pv}:
23
- return SignalR, read_pv, read_pv
24
- case {"r": read_pv, "w": write_pv}:
25
- return SignalRW, read_pv, write_pv
26
- case {"rw": read_write_pv}:
27
- return SignalRW, read_write_pv, read_write_pv
28
- case {"x": execute_pv}:
29
- return SignalX, execute_pv, execute_pv
30
- case _:
31
- raise TypeError(f"Can't process entry {entry}")
32
-
33
-
34
- class PviDeviceConnector(DeviceConnector):
35
- def __init__(self, pvi_pv: str = "") -> None:
36
- self.pvi_pv = pvi_pv
37
-
38
- def create_children_from_annotations(self, device: Device):
39
- self._filler = DeviceFiller(
40
- device=device,
41
- signal_backend_factory=PvaSignalBackend,
42
- device_connector_factory=PviDeviceConnector,
43
- )
44
-
45
- async def connect(
46
- self, device: Device, mock: bool | Mock, timeout: float, force_reconnect: bool
47
- ) -> None:
48
- if mock:
49
- # Make 2 entries for each DeviceVector
50
- self._filler.make_soft_device_vector_entries(2)
51
- else:
52
- pvi_structure = await pvget_with_timeout(self.pvi_pv, timeout)
53
- entries: dict[str, dict[str, str]] = pvi_structure["value"].todict()
54
- # Ensure we have device vectors for everything that should be there
55
- self._filler.make_device_vectors(list(entries))
56
- for name, entry in entries.items():
57
- if set(entry) == {"d"}:
58
- connector = self._filler.make_child_device(name)
59
- connector.pvi_pv = entry["d"]
60
- else:
61
- signal_type, read_pv, write_pv = _get_signal_details(entry)
62
- backend = self._filler.make_child_signal(name, signal_type)
63
- backend.read_pv = read_pv
64
- backend.write_pv = write_pv
65
- # Check that all the requested children have been created
66
- if unfilled := self._filler.unfilled():
67
- raise RuntimeError(
68
- f"{device.name}: cannot provision {unfilled} from "
69
- f"{self.pvi_pv}: {entries}"
70
- )
71
- # Set the name of the device to name all children
72
- device.set_name(device.name)
73
- return await super().connect(device, mock, timeout, force_reconnect)
@@ -1,20 +0,0 @@
1
- from ._common import get_supported_values
2
- from ._p4p import PvaSignalBackend, pvget_with_timeout
3
- from ._signal import (
4
- epics_signal_r,
5
- epics_signal_rw,
6
- epics_signal_rw_rbv,
7
- epics_signal_w,
8
- epics_signal_x,
9
- )
10
-
11
- __all__ = [
12
- "get_supported_values",
13
- "PvaSignalBackend",
14
- "pvget_with_timeout",
15
- "epics_signal_r",
16
- "epics_signal_rw",
17
- "epics_signal_rw_rbv",
18
- "epics_signal_w",
19
- "epics_signal_x",
20
- ]