Open canismarko opened 1 year ago
Is there a reason you are using binary output mode when the value you are sending appears to be an ASCII string?
The error could be because you are using cmdWriteRead. When it reads from the device it needs to know when the read is complete. If you use binary mode then it ignores terminators, and so the readback may be timing out. You can use asynTrace to debug.
@MarkRivers I'm copying from @timmmooney's PSOEnsembleFly.db file which uses .BOUT. I tried the ascii output and that also seems to work, so I guess I don't have a reason to use .BOUT other than this is what Tim used.
It also matters what input format and output format the asyn record is using. These are the IFMT and OFMT fields documented here: https://epics-modules.github.io/asyn/asynRecord.html#input-output-control-fields
Trying to write commands via the binary output of an asyn record for setting up an ensemble controller. The commands seem to get sent, but the returned status object does not complete properly.
Step Taken
Expected Outcome
The wait status completes successfully without error.
Actual Outcome
The command gets properly set to the EPICS record as seen via a camonitor, but the status does not complete properly:
Workaround
If I subclass the AsynRecord and make binary_output a string record using
string=True
, then it works as expected.