OSR2/SR6 to Intiface Central connection unofficial rough guide

Good news messing around with the min command delay on scriptplayer seem to fixed it. It was a really high number before because of my keon. MFP still wont work and on scriptplayer I still get the same error but the device is playing the script correctly now on scriptplayer.

1 Like

Why connect thru intiface if you can connect directly to the device in MFP/Scriptplayer?
In MFP you can try switching your device map from FixedUpdate to PolledUpdate if for some reason the device cannot handle high update rate.

To my knowledge funsr1 cannot directly connect to the scriptplayer thats why,

I bought a SR6 and start to find what it can do. Thanks for your guide bro.
Sad to see intiface dont support for multi-axis. (:」∠)_Look like too few users to support more.
So which games now support multi-axis?
I had tested VAM and it works well. Any other multi-axis games to recommend?

Although currently it doesn’t do multi-axis it has been said that this is just to get the connection working so in the future (which could be years) it will have multi-axis.
For games that support multi-axis…sadly none (that I know of currently) as VAM isn’t technically a game, instead it’s a scene playing game which is horribly optimized if you use it in VR.

EDI does have multi-axis script support but I don’t know of any games that have the scripts making use of it…which uh yeah doing one multi-axis script is normally hard to do, so doing a set for a game is asking a lot.

buttplug-device-config.json (194.8 KB)
add this file to your “…Roaming\com.nonpolynomial\intiface_central\config”
revise com43 to your “COM”

interface central no longer work with osr2/sr6 serial port from my side after udpate.


COM43 detected but no device can able to connect.

2 Likes

Hello, I just bought a FunSR1 2.0 device and the fact that it was supported in Intiface / Buttplug was a big factor in the decision. Today I tried to connect the device to Intiface under Android (latest version, 2.6.6) but could not succeed. I am not sure I understand exactly how this is supposed to work - the FunSR1 connects via Bluetooth, but acts as a serial device? Are serial devices supported in the Android version of Intiface? I could not find them in the interface.

Any help would be appreciated - or maybe I should contact qdot directly about this?
Thanks

@mirdanhel I’m afraid you’ve misread or misunderstood what two devices this guide is for also possibly under researched the FunSR1 2.0 before purchasing so you felt you knew how to use it fully.

This guide is not for SSR1 type devices (which is the FunSR1 just an modified version based on it) it is instead for OSR2 and SR6 type devices as both are extremely similar software and function wise and was possible for myself to personally test the method on my SR6. (I haven’t checked this method for a while nor updated my Intiface Central so I don’t know if this guide is valid still anymore as well)
On the FunSR1 2.0 topic post I can’t see anything mentioning Bluetooth in it’s description though there’s posts talking about it having it. Additionally on Buttplug’s index of supported devices it lists it as only supported via USB. (though it doesn’t specifically have the FUN version of it)
Not all hope is lost as other’s have had problems in the past so I would suggest searching on this site as I found this result but it was for Windows instead of Android. So I’m afraid this is something you should contact the FUN team about via their Discord or send @renwoxing an message.

Contacting qdot I don’t believe would be much help at all as they didn’t sell you the product additionally they said an bunch about supporting devices and such in this prior post above:

They also spoke more at length a few posts later, mentioning the FunSSR1.

Hello, thanks for the reply. I did not realize this guide was not for FunSR1, however I think this device is quite similar to the two others. I found this guide by a link made by @Falafel on a thread about the FunSR1.
I progressed a bit since my initial post. I got the device to work with MFP, both in wired and in Bluetooth mode (it does support Bluetooth 100%). However I still cannot make it work in Intiface, even under Windows. On the Windows version there is a section about Serial Devices, but I cannot do anything there - all the fields to add a serial device are inactive. This may be an Intiface bug, which is why I was asking about qdot. I agree they did not sell the product and dont have any obligation to provide support, but it’s their (great) project and generally developers wants to support their project and make it thrive.
So I might post a bug report in the Intiface Github repository, unless someone can help here with more details about how to add a serial device in Intiface (Windows). I am now almost sure that Intiface Android does not support serial devices, I’ll try to contact qdot to confirm 100%.

You need to enable serial in setting first

I did it. of course.

qdot helped me on the Intiface forum. I needed to deactivate the server first, else you cannot add the device :frowning:

How does Intiface Central connect to OSR devices via IP Internet?

Afraid that’s a question you should ask the Intiface Dev about to be sure but I believe it isn’t via any specific method just if the computer (and the program) can see it.
I do not work on Intiface myself and are just a once in a while user of it that made this guide to help others.

Well, it’s not supporting multiaxis for sure, but can you by any chance set up home position for pitch\roll, that will be used for linear single-axis movement

Other soft let you somewhat config home position for sr6, don’t see it here

As far as I’m aware you can’t set an home position. Although I haven’t looked at Intiface Central at all since I last updated this so I don’t know if any updates to it since has changed anything.

The first post is edit-able by anyone as it’s an wiki so if you find out anything you can add it.

Am I missing something or is there not an option for Serial devices on the MacOS app for Intiface Central?

If you are still looking for that, there’s a complex workaround to bridge serial COM connection to UDP connection. Be warned, it’s a lot of manual setups…

tl;dr:

The idea is that you create a virtual serial COM port on your computer, let Intiface output to this virtual COM, then redirects the virtual COM outputs to your OSR device UDP destination.

Steps:

What I’ve done is to use com2com for creating the virtual COM ports, socat to redirect the COM ↔ UDP/IP communication, and since socat is a linux program I have to run it from Cygwin

  1. Your OSR
    • Check your OSR UDP address and port. Eg it would be 192.168.123.456:8000ish, if it does come with wifi capability.
  2. com2com. Creates the virtual COM ports on your PC.
    • Use Version 2.2.2.0 (signed) on Win 11. (I’ve tried v3.0 did not work.)
    • Require you to launch “setup” program and rename serial ports in the "Virtual Port Pair 0 ", eg rename them to COM11 and COM12.
    • After setting up, you should see "com0com - bus for serial port emulator 0 (COM11 <-> COM12) " in your Windows Device Manager.
  3. Cygwin. Helps running socat.
    • When installing, the program will ask you what packages to include. Search and include “socat”.
    • When done, run the Cygwin Terminal executable and a terminal will pop up.
    • In Cygwin Terminal, type socat -V to make sure socat it’s installed.
  4. socat (SOcket CAT). This is a linux program that redirects serial port communication to UDP/IP.
    • Run socat -d -d /dev/ttyS10,raw,echo=0,b115200,cs8,parenb=0,cstopb=0 udp:192.168.123.456:8000. This will forward COM11 outputs to your OSR’s UDP destination with the same serial Baud Rate, Data Bits, etc as in this post.
    • If you want to stop it, type CTRL-C
  5. Intiface.
    • Setup Intiface to connect to virtual COM. Do exactly as this thread did except change the port name to COM12.

And you’re good to go. You might need to rerun Intiface scan or restart socat a few times.
I guess the topology looks like Intiface <-> COM12 <-> COM11 <-> SoCAT relay <-> UDP on OSR

Why this

Pro:

  • IT JUST WORKS. (I mean, you don’t need to write code to integrate with existing programs supporting OSR over serial.) I’m using this only because I couldn’t find the source code to Funscript Player which talks to OSR (or Intiface → OSR if you’re on a older version) over serial and there’s a few older game integration depending on that.
  • The general strategy should work for macOS and Linux as well; in fact it should be easier since you only need brew install or apt-get socat and it should just run, plus socat CAN create pseudo terminal pair (unix version of virtual COM I think?) by itself without com2com.

Cons:

  • Lags. From the topology there’s a lot of relay happening slowing down the TCode round trip time. A native UDP client will run much better.
  • Complex setup, and you have to manually start/stop socat every time.

My OSR2 uses TCodeESP32 running on a custom ESP32 controller and it got fried every time when I try to test motor movements through serial connection. Guess it’s because the external power supply is tuned off. I have zero electrical engineering knowledge and don’t know how to either modify the firmware to protect it from burning when power disconnected nor how to wire/solder things up so the power could be supplied by USB PD. I can’t risk that looseish USB cable getting shook off and lose another controller :sweat_smile:.
On the other hand Intiface is too big a project I don’t think I have the knowledge or time to add OSR wifi support.

Hope this helps.

3 Likes

Hi, I’m using a SR6 with Intiface Central v2.68.
In some games (e.g. Suposeku – Battle Fuck Game, which uses a built-in Intiface CLI ([Fully Released][EatTheMeat] Suposeku - Battle Fuck Game | スポセク ~天井特化のバトルファック~), the game detects my device correctly, but the L0 stroke starts moving up/down continuously and never changes with in-game actions. Even after I close the game, the device keeps stroking at the last speed until I manually unplug the usb-c connector.

Games that use EDI / scripts(MFP) work normally, .

Has anyone seen this before or knows a fix? Ty so much guys.