Skip to content

Commit 9cef711

Browse files
committed
Skip 2D+ Waveforms in EPICS CA Transport
1 parent 3fe7b0c commit 9cef711

File tree

1 file changed

+11
-1
lines changed
  • src/fastcs/transports/epics/ca

1 file changed

+11
-1
lines changed

src/fastcs/transports/epics/ca/ioc.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
from fastcs.attributes import AttrR, AttrRW, AttrW
1010
from fastcs.datatypes import DataType, DType_T
11+
from fastcs.datatypes.waveform import Waveform
1112
from fastcs.logging import bind_logger
1213
from fastcs.methods import Command
1314
from fastcs.tracer import Tracer
@@ -131,8 +132,17 @@ def _create_and_link_attribute_pvs(
131132
pv_prefix = controller_pv_prefix(root_pv_prefix, controller_api)
132133

133134
for attr_name, attribute in controller_api.attributes.items():
134-
pv_name = snake_to_pascal(attr_name)
135+
if (
136+
isinstance(attribute.datatype, Waveform)
137+
and len(attribute.datatype.shape) > 1
138+
):
139+
logger.warning(
140+
"Only 1D Waveform attributes are supported in EPICS CA transport",
141+
attribute=attribute,
142+
)
143+
continue
135144

145+
pv_name = snake_to_pascal(attr_name)
136146
full_pv_name_length = len(f"{pv_prefix}:{pv_name}")
137147
if full_pv_name_length > EPICS_MAX_NAME_LENGTH:
138148
attribute.enabled = False

0 commit comments

Comments
 (0)