Connecting Multiple Serial Devices to Intiface

So as a continuation of my journey with the Nimblestroker (see Nimblestroker and Scripting, a Deep Dive), I have just acquired a SR1 to provide synchronized motion to the device.

I have already managed to connect the SR1 to both Intiface Central and Multifunplayer via the serial port, but the issue here is that the Nimblestroker connection also uses the serial port.

Now for MFP, the software has very conveniently provided the ability to add multiple serial devices; all I had to do was select the new serial port and both of them connected like a charm! So that’s great, I can play a script and both devices will sync to it, great job MFP!

Unfortunately, with Intiface, things seem like they are going to be a bit more complicated. For starters, adding a serial device already takes a bit of extra work. I already had to do this setup for the Nimblestroker, but to summarize, this requires editing the buttplug-device-config file to set the proper serial port in the tcode-v03 protocol. By modifying this config, I was able to swap the port to connect to my SR1, but the issue here is that I can have one or the other, but not both.

So I feel like there has to be a way to specify multiple serial tcode devices within this single section of the config. I found a bit of documentation for adding to the configurations (Device Configuration | buttplug.io), but I haven’t had any success with this so far. Notably there also seems to be a feature for customizing configurations via a separate user config file, with the one minor issue being that this section of the documentation is quite empty.

I have to imagine that the actual software support of adding multiple serial devices is present, but knowing that it’s going to be a pretty limited use case, I can understand why documenting it wasn’t the first priority.

So well, I guess I might as well ask, does anyone know how to add multiple serial devices to the Intiface config, either by updating the master config or leveraging the user config? If this hasn’t been documented anywhere, might as well start now!

Its probably better to ask directly over at the buttplug discord:

Or maybe the author of Intiface himself @qdot could chime in :+1:

Man why does everyone decide to start talking about serial ports this week.

I’m on track to release Intiface Central v2.7, with an overhauled configuration system, this weekend. I would recommend just holding out until I do that, because right now if you try using Intiface Central, it will blow away your changes whenever it saves device data to the user config file itself. v2.7 will fix that.

Later in the v2.7 series, I’ll be adding serial port addition UI to Central, but it’s not high enough priority for this first version, unless I just happen to have extra time this week.

If you really want to work on development before then, I’d recommend using Initface Engine, the CLI version of the buttplug server. It doesn’t have any capacity to update the user config file itself, so you can at least get started with that.

All that said: Why are you trying to add multiple serial devices to intiface? I can’t imagine using the SR-6 with intiface to be a good experience, we don’t have nearly enough commands in our protocol to hit all of the features of the device.

3 Likes

Thanks for the response!

I’m happy enough knowing that it’s planned for the future and I appreciate all the work you’ve done on the software!

I understand that my use case is pretty niche, so I’m perfectly fine waiting for higher priority features to be worked on!

To elaborate a bit on what it is that I’m doing though, I’ve been trying to build a fancy setup for my Nimblestroker. To assist the device in its motion, I had been strapping it into a Handy and syncing them both to a single script, which is possible because they both use linear commands. I’ve had pretty decent results with this combo, but wanting an upgrade, I am swapping the Handy out for an SR1 (single-axis, not an SR6). Functionally, this device should work the same as the Handy, but connection-wise, it needs the serial port, which the Nimblestroker is also using.

Once again, I’m perfectly fine waiting a bit for the functionality, I think I only have a few cases at the moment where I would need this connection to be done through Intiface (also there’s an argument to be made that I might get better results not syncing the Nimblestroker with the SR1 to provide resistance). Thanks again!

Yeah I’ve just been going through your post on getting the nimble stroker working with video, that’s really interesting! I have a NS as well as an OSR-2, still need to build an SR-1/6 but just upgraded my 3d printer so I’m hoping to get those parts started soon. Would maybe be interested in replicating your setup just because I loved bodged together projects like this, even if I don’t really use video sync myself. :3

1 Like