TY - GEN A1 - Pauw, Brian Richard A1 - Hörmann, Anja T1 - Trinamic TMCL IOC for exposing Trinamics motor controllers to EPICS CA N2 - Trinamic TMCL IOC is a Python package designed for controlling stepper motors connected to a Trinamic board using the TMCL language (all boards supported by PyTrinamic should now work, has been tested on the TMCM 6110 and the TMCM 6214). Since it is implementing the TMCL protocol, it should be easy to adapt to other Trinamic motor controller boards. This package assumes the motor controller is connected over a machine network via a network-to-serial converter, but the underlying PyTrinamic package allows for other connections too. This allows the control of attached motors via the EPICS Channel-Access virtual communications bus. If EPICS is not desired, plain Pythonic control via motion_control should also be possible. An example for this will be provided in the example.ipynb Jupyter notebook. This package leverages Caproto for EPICS IOCs and a modified PyTrinamic library for the motor board control, and interfaces between the two via an internal set of dataclasses. Configuration for the motors and boards are loaded from YAML files (see tests/testdata/example_config.yaml). The modifications to PyTrinamic involved extending their library with a socket interface. This was a minor modification that should eventually find its way into the official package (a pull request has been submitted). KW - Instrumentation KW - Motor controller KW - EPICS KW - Channel access KW - Instrument control KW - Laboratory automation PY - 2024 U6 - https://doi.org/10.5281/zenodo.10792593 PB - Zenodo CY - Geneva AN - OPUS4-59624 LA - eng AD - Bundesanstalt fuer Materialforschung und -pruefung (BAM), Berlin, Germany ER -