pcdshub / pcdsdevices

Collection of Ophyd device subclasses for IOCs unique to LCLS PCDS.
https://pcdshub.github.io/pcdsdevices/
Other
5 stars 59 forks source link

Opal HDF5 plugin will not prime #616

Open klauer opened 4 years ago

klauer commented 4 years ago

Expected Behavior

HDF5 plugins require priming for bluesky/ophyd to work with them.

Current Behavior

The priming method (warmup) sets the trigger mode to internal, which the opals apparently do not support:

[klauer@xcs-control  ~]$ caget -d 24 XCS:USR:O1000:01:TriggerMode_RBV
XCS:USR:O1000:01:TriggerMode_RBV
    Native data type: DBF_ENUM
    Request type:     DBR_GR_ENUM
    Element count:    1
    Value:            FreeRun
    Status:           NO_ALARM
    Severity:         NO_ALARM
    Enums:            ( 3)
                      [ 0] FreeRun
                      [ 1] External
                      [ 2] Pulse

https://github.com/bluesky/ophyd/blob/4440bc74f226fccac6bb59a17753b9c517cbe864/ophyd/areadetector/plugins.py#L903-L909

Possible Solution

klauer commented 4 years ago

Issue where it complains about the unprimed plugin: https://github.com/pcdshub/hxrsnd/issues/109#issuecomment-706417233 Calling warmup() throws a confusing error: ValueError: invalid literal for int() with base 10: b'Internal'