-
Hi, How can i use a 2D array as record in pythonSoftIOC? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
Have converted this to a Q&A discussion. The answer is perhaps frustratingly simple: EPICS, at least without the more advanced features of PVA (EPICS 7), does not support 2D arrays. What you have to do is flatten your 2D array into 1D for transport and reshape it back to 2D at the receiving end. |
Beta Was this translation helpful? Give feedback.
-
Thanks for moving to Q&A So with pythonSoftIOC supporting PVA, i could just try to use a 2D array, right? |
Beta Was this translation helpful? Give feedback.
-
Well... but pythonSoftIOC is oblivious of PVA, so I'm afraid, no. |
Beta Was this translation helpful? Give feedback.
-
Yes, PVA sits as a layer on top of existing EPICS records (which pythonSoftIOC produces), so although PVA can serve an NTNDArray, there are no records that can produce it natively. Even an NTNDArray is still a 1D waveform, just with metadata to allow the client to reshape it. It might be possible to use QSRV info tags with a 1D waveform record to add the extra metadata, but I haven't tried it. |
Beta Was this translation helpful? Give feedback.
Have converted this to a Q&A discussion.
The answer is perhaps frustratingly simple: EPICS, at least without the more advanced features of PVA (EPICS 7), does not support 2D arrays. What you have to do is flatten your 2D array into 1D for transport and reshape it back to 2D at the receiving end.