|
| 1 | + |
| 2 | +""" |
| 3 | +Ophyd support for the EPICS asyn record |
| 4 | +
|
| 5 | +
|
| 6 | +Public Structures |
| 7 | +
|
| 8 | +.. autosummary:: |
| 9 | + |
| 10 | + ~AsynRecord |
| 11 | +
|
| 12 | +:see: https://github.com/epics-modules/asyn |
| 13 | +""" |
| 14 | + |
| 15 | +#----------------------------------------------------------------------------- |
| 16 | +# :author: Pete R. Jemian |
| 17 | + |
| 18 | +# :copyright: (c) 2017-2019, UChicago Argonne, LLC |
| 19 | +# |
| 20 | +# Distributed under the terms of the Creative Commons Attribution 4.0 International Public License. |
| 21 | +# |
| 22 | +# The full license is in the file LICENSE.txt, distributed with this software. |
| 23 | +#----------------------------------------------------------------------------- |
| 24 | + |
| 25 | +from ophyd.device import Component |
| 26 | +from ophyd import EpicsSignal, EpicsSignalRO |
| 27 | +from ._common import EpicsRecordDeviceCommonAll |
| 28 | +from ._common import EpicsRecordFloatFields |
| 29 | + |
| 30 | + |
| 31 | +__all__ = ["AsynRecord", ] |
| 32 | + |
| 33 | + |
| 34 | +class AsynRecord(EpicsRecordDeviceCommonAll): |
| 35 | + """ |
| 36 | + EPICS asyn record support in ophyd |
| 37 | + |
| 38 | + :see: https://epics.anl.gov/modules/soft/asyn/R4-36/asynRecord.html |
| 39 | + :see: https://github.com/epics-modules/asyn |
| 40 | + :see: https://epics.anl.gov/modules/soft/asyn/ |
| 41 | + """ |
| 42 | + ascii_output = Component(EpicsSignal, ".AOUT") |
| 43 | + binary_output = Component(EpicsSignal, ".BOUT") |
| 44 | + binary_output_maxlength = Component(EpicsSignal, ".BMAX") |
| 45 | + end_of_message_reason = Component(EpicsSignalRO, ".EOMR") |
| 46 | + input_format = Component(EpicsSignalRO, ".IFMT") |
| 47 | + interface = Component(EpicsSignal, ".IFACE") |
| 48 | + number_bytes_actually_read = Component(EpicsSignalRO, ".NRRD") |
| 49 | + number_bytes_actually_written = Component(EpicsSignalRO, ".NAWT") |
| 50 | + number_bytes_to_read = Component(EpicsSignal, ".NORD") |
| 51 | + number_bytes_to_write = Component(EpicsSignal, ".NOWT") |
| 52 | + octet_is_valid = Component(EpicsSignalRO, ".OCTETIV") |
| 53 | + output_format = Component(EpicsSignalRO, ".OFMT") |
| 54 | + terminator_input = Component(EpicsSignal, ".IEOS") |
| 55 | + terminator_output = Component(EpicsSignal, ".OEOS") |
| 56 | + timeout = Component(EpicsSignal, ".TMOT") |
| 57 | + transaction_mode = Component(EpicsSignal, ".TMOD") |
| 58 | + translated_input = Component(EpicsSignal, ".TINP") |
0 commit comments