1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Need help converting 2DOF pneumatic sims to SimTools...

Discussion in 'Commercial Simulators and Peripherie' started by saucer78, Jan 24, 2017.

  1. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,911Coins
    Ratings:
    +5,027 / 16 / -0
    Hi @saucer78 ,
    I would be willing to bet that if you rode a sim with true telemetry output driving the sim vs. a scripted output.
    You would never ride the scripted one again.
    I just don't see how your going to replace the output that is really happening with a scripted one and get a better ride than what is really happening.
    But after you play with it a bit, I'd be interested to see what you think buddy.
    yobuddy
  2. saucer78

    saucer78 Member

    Joined:
    Feb 14, 2015
    Messages:
    31
    Balance:
    939Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Yeah you may be right @yobuddy, but one thing I haven't read about or asked about is how programs like SimTools interpret and convert real telemetry data to "fake" data for the simulated experience.

    (Please bear with me, as I might not know all the correct terminology.)

    For example, an airplane or a spacecraft is very easy to simulate, as the G-forces are pretty straight forward: vehicle nose up = simulator leans back, nose down = leans forward. Bank left = rotate left, bank right = rotate right.

    However, cars - which seem to be very popular for the sim community - are a different animal. Does SimTools pretty much just reverse the left/right axis? Because, as we all know, a sharp right turn in a car actually throws a person to the left, and therefore a simulator should lean the opposite way of an in-game turn, correct? (A least this is how I've been programming my machines for years!)

    So is SimTools heavily modified to fudge all of these commands, or is the telemetry data output by games/Unity based in a physics environment that would already be interpreted accurately by the rider? And what about effects like bumps in the road, or a rough landing from a jump?

    I'm assuming if I went with Unity, I could place "triggers" within certain spots of the ride to output pre-programmed data?

    If there's a section of this site I've overlooked, I'd welcome a link... or to any other reading that might help me understand these concepts.

    Thanks again!
  3. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,911Coins
    Ratings:
    +5,027 / 16 / -0
    Actually, the gforces affect the plane/car the same.
    Roll and Pitch would always match what's on screen.
    for example, if the car/plane leans a bit to the right, so should the roll value.
    Remember, Roll, Pith and Yaw are always in degrees.

    Where Sway, Surge and Heave are in g forces.
    And Sway and Surge do exactly as you say, as you go around a corner to the left, the gforces get applied to the right.

    But this is a mute point, as the axis assignments are completely configurable and can be setup anyway you want it to work.

    No, SimTools does not 'fudge' anything.
    You ride the direct output from the game.
    Giving you bet best ride possible.

    No, This would only take away from the quality of the output.
    And only negatively affect the ride.

    Chat Soon,
    yobuddy
    • Informative Informative x 1
  4. saucer78

    saucer78 Member

    Joined:
    Feb 14, 2015
    Messages:
    31
    Balance:
    939Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Thanks @yobuddy! I think I understand now. I've never thought about surge forces, because I've never had a simulator capable of reproducing them... accurately I guess.

    From what I've seen though, many sim projects on here are similar to mine, offering only 2DOF (or less, with some of the wiper motor kits seeming to offer only 1DOF) so I'm assuming that people simply assign the sway, surge, and heave to one of the two axes. (Actually, now that I'm recalling going through your SimTools tutorial a few months ago, this is exactly how it's done, correct?)

    So if I can accurately "reassign" the G forces, I think I could get away with live telemetry! The only remaining issue would be the quick-release valve we use as a drop effect, but I'm sure I could find a way to trigger this effect within Unity, as with our fans and Buttkickers. (Even though I believe your 2.0 release will be featuring custom programming for Buttkickers and the like?)

    Even though John has been very helpful with support for his boards, I might just look into building my own with Arduinos, since it will help me to learn along the way. International communication is always tough...

    I'm sure you're busy with your own stuff, so know that I really appreciate you helping a new guy like me out :)
  5. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,911Coins
    Ratings:
    +5,027 / 16 / -0
    Remember if its in the game, the "quick-release valve" will affect telemetry and therefore you will feel it in the chair.

    Any time buddy, Im never to busy to help a fellow sim'er!

    Depending on how you have built you simulator, you will assign the output the output accordingly.
    But in short yes, you build the output you need, and its completely configurable.

    char soon man,
    Dustin
  6. saucer78

    saucer78 Member

    Joined:
    Feb 14, 2015
    Messages:
    31
    Balance:
    939Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Ok @yobuddy,

    I spoke with my uncle over the weekend and we've decided that we might be best to move forward with a new motion controller if I can handle putting one together. (Probably with LOTS of help from the community, haha!)

    I've emailed both of the original creators (Walt and John) for more details, but have yet to hear back. As I've mentioned before, this is an old project for them and they're probably busy with their own lives these days, which is what could make upgrading the current system difficult. So, it's probably best to just scrap all of the motion control and start over with SimTools.

    I have no problem poking around this forum and finding some help/DIYs for building a control board for the current valves and pots, but was wondering if you could lend some of your expertise to what platform I should go with. From what you know of this system thus far, would you recommend Arduino or SimAxe?

    Again, we're shooting for more "wow! factor" than accuracy (which isn't 100% attainable with a pneumatic setup anyway, correct?) and are dealing with 2DOF, with 3 actuators. The pots are 2.5k linear units. The valves are ASCO sub-miniature, 2 way normally closed units. I cannot tell what voltage they are without a better look, though. All I can see on the labels are "6.3 Watts". We also have the drop valve, and the desire to control fan speed for wind effects, so the need for these effects to be controlled by the board/software is necessary as well.

    Here is a picture of the valve box:

    [​IMG]

    And the control boards:

    [​IMG]

    Thanks for any help you can provide!

    -Scott
  7. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,911Coins
    Ratings:
    +5,027 / 16 / -0
    Honestly, it may work outa the box, if we can figure out what the movement commands look like.
    How does it connect to the PC?
    Serial port, or virtual serial port?
    Maybe install a port monitor and log the movement commands for any game.

    What would be very useful is to see what the command is to center the unit.
    Make it tip full left.
    Make it tip full right.
    Make it lean full forward.
    Make it lean full backward.

    So we know the limits of the sim, and I bet it looks a lot easier after we get this info.
    Dustin
  8. saucer78

    saucer78 Member

    Joined:
    Feb 14, 2015
    Messages:
    31
    Balance:
    939Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Arduino or SimAxe? Or are you talking about getting SimTools to communicate with the current boards?

    The current boards connect via serial port (via USB converter on the PC end) where I can set the COM.

    I will look into using a port monitor to get the commands coming from the current software ASAP, but am a little confused as to how this would be helpful if I'm wanting to do away with everything entirely and use SimTools and a new control board featuring Arduino or SimAxe...

    Thanks again @yobuddy!
  9. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,911Coins
    Ratings:
    +5,027 / 16 / -0
    Yep!
    I mean if all we have to do is figure out how to send it movement commands, no sense replacing everything.
    My guess is you will get something like "R53P45" but it could be anything really.
  10. saucer78

    saucer78 Member

    Joined:
    Feb 14, 2015
    Messages:
    31
    Balance:
    939Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Finally found a port monitor that works, @yobuddy! I have NO idea what the data means though, haha.

    I have tried "Manual Control" within the software, to be able to increase/decrease either axis with the push of the buttons, but it continuously produces data... maybe because the positional readout of each pot is constantly slightly fluctuating. I can record this for you if necessary, but leaving it connected in Manual Control for just a few seconds produces hundreds of lines of data.

    However, I can get a bit more precise just staying on the main screen and dragging the axis position control bar left and right, to raise the machine up and down.

    So, this screenshot shows the results of me clicking and dragging the position control all the way to the right (raising the sim all the way up) and then clicking and dragging all the way to the left (lowering the machine all the way down):

    [​IMG]

    Hopefully the two windows open on the left side (Terminal View and Line View) are good enough to see what's going on. Can you make any sense of this data?

    Thanks!
  11. JDW

    JDW New Member

    Joined:
    Jan 28, 2017
    Messages:
    3
    Location:
    United Kingdom
    Balance:
    263Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Hello All,

    It's John Wale here. Sorry to be rather slow to join the party, but thought I'd better get involved in this discussion, since my name has been mentioned a few times!

    First, to clear up a bit of misunderstanding, the sim controller board isn't based on MIDI (although easy to see why it might seem likely, as the majority of my product developments are music-related).

    The controller board serial protocol and pneumatic control algorithms were developed by myself and Walt Noon and I still have all the documentation. My issue is knowing what's needed to write a plugin for the SimTools game engine so it can send the necessary signals to the PC's serial port. We're using a protocol that isn't compatible with any other sims that I'm aware of, so a custom plug-in will be needed. I'm happy to write code in C/C++ with calls to Windows API - just need to know how the interface to SimTools works. If there are some demo code samples that I can download and try compiling (I assume we need to build a DLL), then that would help a lot. All offers of assistance welcome!

    Greetings from England.

    John.
    • Winner Winner x 1
  12. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,463
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    144,614Coins
    Ratings:
    +10,741 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    The SimTools API information is here and the likes of @yobuddy can advise as questions arise: https://www.xsimulator.net/community/faq/how-to-write-a-plugin-for-simtools-api-documentation.131/
  13. Zed

    Zed VR Simming w/Reverb Gold Contributor

    Joined:
    Apr 4, 2017
    Messages:
    1,044
    Location:
    USA
    Balance:
    5,828Coins
    Ratings:
    +1,042 / 4 / -0
    My Motion Simulator:
    2DOF, DC motor, JRK
  14. JDW

    JDW New Member

    Joined:
    Jan 28, 2017
    Messages:
    3
    Location:
    United Kingdom
    Balance:
    263Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    Thanks to @noorbeast and @Zed for your prompt replies.

    Of the links mentioned the one ending in 8813 is the most relevant, since we're interested in getting SimTools to talk to our hardware, rather than interfacing to any specific game. I've still got a problem with getting the example code, though, as the web page in question says 'File To Be Posted with SimTools 2.0 Release' - but all I have is the executable part of SimTools 2.1, which I downloaded from the SimTools website as file SimTools_2..1.zip and contains a single installer file, SimTools_2.1.exe. I have installed SimTools from this successfully, but there's no sign of any plug-in example source code. Can anyone help to point me in the right direction? Was it included in 2.0 but not 2.1, perhaps?

    Thanks,

    John.
  15. Zed

    Zed VR Simming w/Reverb Gold Contributor

    Joined:
    Apr 4, 2017
    Messages:
    1,044
    Location:
    USA
    Balance:
    5,828Coins
    Ratings:
    +1,042 / 4 / -0
    My Motion Simulator:
    2DOF, DC motor, JRK
    I think @yobuddy would be the one to ask, and if not, he'd definitely know who would know.
  16. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,911Coins
    Ratings:
    +5,027 / 16 / -0
    Hi Guys,
    I have just finished going over and touching up all of the interface plugins for the next release.
    I believe the interface API is rock solid enough to release some examples.
    I have been hesitant to release them as the API needed time to mature.
    Make sure everything we need is there, and it is as easy as can be to work with.

    Anyway, @JDW
    What bit depth do communicate with the controller at? 8bit 10bit ??
    How do you send it, as Binary, Decimal or Hex?
    It works thru serial communication, correct?

    I will put together an example plugin for you buddy, and you can follow my little 'how to' and tell me how hard it is to work with maybe?
    And I can fix up the Interface 'how to' as we go if needed.

    Honestly, its not to hard I think, as allot of it is already completed.
    But it would be nice to get some input on the Interface API.
    Take Care all :thumbs
    yobuddy
    • Winner Winner x 1
    • Useful Useful x 1
    Last edited: Jun 7, 2017
  17. JDW

    JDW New Member

    Joined:
    Jan 28, 2017
    Messages:
    3
    Location:
    United Kingdom
    Balance:
    263Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, Motion platform
    This is great, thanks @yobuddy!

    I need the example files, at least partly because I'm not a VB programmer (I used to write a lot of BASIC many years ago, but I'm a C/C++ coder these days) and it will help me to see how all the parts go together to build the plugin.

    Our simulator control board uses a binary multi-byte protocol over the serial bus. Messages are headed with a command byte (most significant bit set), then there are following data bytes (most significant bit clear) that define the simulator axis to be addressed and the value to send to that axis. Since only 7 bits are available to carry data in each byte transmitted, we pack binary values into 7-bit fields and transmit them sequentially. Resolution for any one parameter is typically 14 bits to allow packing into two transmitted data bytes. Some commands update parameters in the sim controller, whilst others request status information to be sent back.

    I look forward to seeing what can be done. Thanks again for your support.