# iOS and iPadOS Communication with RMCs via SwiftDMCP (plus example apps)

**URL:** <https://forum.deltamotion.com/t/ios-and-ipados-communication-with-rmcs-via-swiftdmcp-plus-example-apps/1058>\
**Category:** Programming\
**Created:** [July 18, 2022, 10:25pm UTC](https://forum.deltamotion.com/t/ios-and-ipados-communication-with-rmcs-via-swiftdmcp-plus-example-apps/1058 "2022-07-18T22:25:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Malcolm\_Anderson](https://forum.deltamotion.com/letter_avatar_proxy/v4/letter/m/6de8d8/32.png) [@Malcolm\_Anderson](https://forum.deltamotion.com/u/Malcolm_Anderson)\
**Post date:** [July 18, 2022, 10:25pm UTC](https://forum.deltamotion.com/t/ios-and-ipados-communication-with-rmcs-via-swiftdmcp-plus-example-apps/1058/1 "2022-07-18T22:25:27Z")

</div>

**SwiftDMCP** is a Swift package that allows Apple platforms (including macOS, iOS, and iPadOS) to communicate with Delta RMCs using the [DMCP protocol](https://deltamotion.com/support/webhelp/rmctools/Communications/Ethernet/Supported_Protocols/DMCP_Ethernet.htm). Its capabilities include:

- Reading controller information (controller name, axis configuration information, etc)
- Reading from and writing to registers
- Sending commands to axes
- Reading plot data

Documentation is included in the code files themselves; Xcode’s code completion features will display information about the API.

 ![image](https://forum.deltamotion.com/uploads/default/original/1X/3a5328da9ab97b64c474010a8689c233a11036b6.jpeg)

SwiftDMCP can be downloaded here:  
[SwiftDMCP.zip](https://forum.deltamotion.com/uploads/short-url/rs0bKJtQbVDEupErHnOlUenNUUN.zip) (43.5 KB)

The following sample projects (iOS/iPadOS) demonstrate how to use SwiftDMCP:

**SwiftDMCPExampleSimple**  
[SwiftDMCPExampleSimple.zip](https://forum.deltamotion.com/uploads/short-url/3WasQVri8CI5ozTJKeaoIPMIh1k.zip) (59.8 KB)  
This app allows the user to choose an address and write a value to or read a value from that address.

 ![7 18 2022 - SwiftDMCP simple app](https://forum.deltamotion.com/uploads/default/original/1X/f3cfbd857e2e9709ffb39d1bdf7f2270a6a8be22.jpeg)

**SwiftDMCPExampleGearAxis**  
[SwiftDMCPExampleGearAxis.zip](https://forum.deltamotion.com/uploads/short-url/jcrXxsMXGnvrRbbbl3bBer3JN8h.zip) (40.2 KB)  
This app provides the user with six sliders that adjust the values of addresses %MD56.0 through %MD56.5. If axes are geared to these variables using RMCTools, the app can then be used to adjust the positions of the axes.

 ![7 18 2022 - SwiftDMCP gear axis app](https://forum.deltamotion.com/uploads/default/original/1X/5f3ab6053156751812e749a9e85831da2e020a20.jpeg)

**SwiftDMCPExample6DOF**  
[SwiftDMCPExample6DOF.zip](https://forum.deltamotion.com/uploads/short-url/eegPEc5OwiHg8yzINVubltMoQ1K.zip) (89.3 KB)  
This app was initially developed to work with the [6DOF Stewart Platform RMCTools project and simulator](https://forum.deltamotion.com/t/6dof-stewart-platform/478), then updated for a more recent iteration of the physical platform. In addition to tilting the platform to match the device’s orientation, the user can also select from a variety of predefined motions, or manually set position and rotation.

 ![7 18 2022 - SwiftDMCP 6DOF profile list](https://forum.deltamotion.com/uploads/default/original/1X/0b4db193f17605b376b1fe0d182485e1730f9ba5.jpeg)  
 ![7 18 2022 - SwiftDMCP 6DOF vertical bounce](https://forum.deltamotion.com/uploads/default/original/1X/9e4aa17626a41465370d661d61c595aad3e17cc8.jpeg)
