1. Hundreds of coffees, endless nights of debugging and coding, and countless feedback by our beta testers led to this new major release. SimTools 2.4 is probably the version with the most upgrades and improvements in a single release ever. Look at everything Dustin has included:
    SimTools 2.4 all features.
    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 Download Package Now!
  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 here. Do not following these rules will lead to permanent exclusion from this website: Read the forum rules.

FlyPT Mover Interface

Discussion in 'SimTools compatible interfaces' started by pmvcda, May 30, 2019.

  1. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    Forum image.jpg


    ALERT!

    This is WIP. Current build has many problems with threads.
    Please be patient while I'm working on it.
    Would be nice if you want to try and give feedback, but for now it's not really usable for most people.
    Version 1.4 and 1.5 are available for download. They worked somehow...



    ABOUT

    This can be considered version 2.0 of the FlyPT Hexapod Interface.
    But due to limitations on how the code was developed, new ideas forced to a profound change.
    So picked what I could from the old program to build this one.

    THIS IS FOR WHAT?
    It's a solution to get info from the games or SimTools and generate outputs to the hardware.
    In between, you can play with the values and generate motion using motion cueing algorithms or pass values directly to the hardware.
    Hopefully, I managed to make it simple and understandable. Might have an hard initial learning curve, but after understanding the basics, it's fairly easy to test infinite solutions and search for your rig ideal and personal preference.

    VERSION HISTORY

    1.9 Beta (16 07 2019) More info in this post

    1.8 Beta (16 07 2019)
    More info in this post

    1.7 Beta (06 07 2019) More info in this post

    1.6 Beta (05 07 2019) More info in this post

    1.5 Beta (04 07 2019)
    More info in this post

    1.4 Beta (03 07 2019) More info in this post

    1.3 Beta (29 06 2019) More info in this post

    1.2 Beta (28 06 2019)
    More info in this post

    1.1 Beta (26 06 2019)
    More info in this post

    1.0 Beta (25 06 2019) More info in this post.
    KNOWN PROBLEMS (latest version)

    - Worried with interface performance (user interface). Thread for loop calculation might need some more for updates to allow a better relation between threads.
    - Missing soft start/transition/stop. BE CAREFUL!
    - Missing license text (but read the text on the main window).
    - There's no default setups to help users.
    - Missing tool tips and help texts.
    - To much modules, and there's no scrollbar to access them in the main window.
    - No Limits 2 has some data problems that I need to solve. Seems the transforms are not - correct.
    - Graphic viewer with some problems. Data is not always saved (selections), graphics could be more clear. Needs more work.
    - Outputs to serial could report connection problems in a better way.
    - Memory cleanup needed.
    - Speed optimisation needed.
    - English errors. Please report them and the sequence that lead to them.
    - Bugs everywhere. Please report them.
    - Missing some announced features.​

    DOWNLOAD
    See link attached to this post.

    Attached Files:

    • Like Like x 8
    Last edited: Jul 18, 2019 at 18:38
  2. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    MAIN WINDOW

    You start the program with the main window:

    base.jpg

    The window has nothing.
    To access the menu, just right click on the window.

    From there, you can add modules. Those modules are displayed in the main window.
    Here you can see the main window populated with modules:

    Sem nome.jpg
    So each time you add a module, a new window shows, where you can setup that module.
    Each component receives and outputs data.
    If you close the module window in the X, you are removing the module.
    You can hide the module by pressing the arrow in the window, or by clicking in the square of the module in the main window.
    So light squares are visible modules/windows, while darker ones are just hidden.

    You can see the modules are ordered by type, each column is a type.
    Calculations are made in the order of the columns and can't be changed.

    text10610.png
    Modules can be:

    Sources
    That receive data from games or generate data to be sent to poses or directs

    Poses
    That receive data from sources or generate data to be sent to rigs

    Rigs
    That receive data from poses and send data to outputs

    Directs
    That receive data from sources and generate data to send to outputs

    Outputs
    That receive data from rigs and/or directs and send data by serial or UDP (future version).

    3D
    For 3D views of rigs.

    Graphics
    For graphics visualisation from selected values.
    Just think like this:

    - All modules receive information
    - All modules treat that info
    - All modules send out the treated info to another module (see diagram)
    - Not all modules receive or send info to all other modules. Usually a kind of module sends data to another kind of module.
    Load and save setups

    Setups are saved with the default "FlyPTMover" extension.
    Every time you exit the application, the last setup is saved.
    When you open the application, the last setup file is loaded.
    That "LastSetup.FlyPTMover" file is saved on the installation folder.

    You can save in a different location by accessing the main window menu (right click) and select save.
    That way you can store multiple configs for different games.

    You can load a file by dropping the setup file over the main window, or by selecting Load from the menu.

    If you want to, you can associate the extension file to the FlyPT Mover and by double clicking on the files, the FlyPT Mover opens with that file.

    All current info is saved. Fields values and window size and position are saved.
    There's still some problems with auto starting hidden windows.

    Start/Stop
    Source and Output modules show a small square that can turn red.
    When red, it means that module is connected (receiving or sending info).
    You can start/stop all at the same time in the menu.
    • Like Like x 3
    Last edited: Jun 24, 2019
  3. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    SOURCES

    We have multiple types of sources.
    They can be info from games/applications or info generated by internal code.
    Current sources are:

    Noise (generated noise for one or more values)
    Loop (generated loops for one or more values)
    Record player (soon in a future update)

    3.jpg

    SimTools (MMF) for more, see this post.
    Project CARS 2 (MMF)
    Project CARS 2 (UDP)
    Assetto Corsa (MMF) --> Should be compatible with Assetto Corsa Competizioni
    RFactor2 (MMF + DLL) --> Requires specific DLL!
    Live For Speed (UDP)
    RaceRoom (MMF)
    iRacing (MMF)
    No Limits 2 (TCP)
    DCS (UDP) --> Requires Lua script! For more, see this post.

    2.jpg

    Where:

    MMF is data received from a memory mapped file (shared memory)
    UDP is data received by UDP protocol
    TCP is data received by TCP protocol​

    All sources generate a list of 49 values with the following info:

    Lateral acceleration (m/ss)
    Longitudinal acceleration (m/ss)
    Vertical acceleration(m/ss)
    Yaw acceleration(º/ss)
    Roll acceleration(º/ss)
    Pitch acceleration(º/ss)
    Lateral speed (m/s)
    Longitudinal speed (m/s)
    Vertical speed (m/s)
    Yaw speed (º/s)
    Roll speed (º/s)
    Pitch speed (º/s)
    Lateral position (world coordinates) (m)
    Longitudinal position (world coordinates) (m)
    Vertical position (world coordinates) (m)
    Yaw position (º)
    Roll position (º)
    Pitch position (º)
    Front left suspension acceleration (m/ss)
    Front right suspension acceleration (m/ss)
    Rear left suspension acceleration (m/ss)
    Rear right suspension acceleration (m/ss)
    Front left suspension speed (m/s)
    Front right suspension speed (m/s)
    Rear left suspension speed (m/s)
    Rear right suspension speed (m/s)
    Front left suspension position (m)
    Front right suspension position (m)
    Rear left suspension position (m)
    Rear right suspension position (m)
    Rotations per minute of the motor (rpm)
    Gear
    Speed (m/s)
    SimTools Axis1a
    SimTools Axis2a
    SimTools Axis3a
    SimTools Axis4a
    SimTools Axis5a
    SimTools Axis6a
    SimTools Axis1b
    SimTools Axis2b
    SimTools Axis3b
    SimTools Axis4b
    SimTools Axis5b
    SimTools Axis6b

    Not all sources generate all values.
    Most fill only some of them. It depends on the source.
    You can see the values received in the list (that can be hidden for better performance).

    You have also the option to use or not gravity in the accelerations.
    Some games have it included others don't.
    But the FlyPT Mover, calculates gravity accelerations in each direction of the pose and allows you to add or remove it from the data.

    There's a big difference compared to SimTools here.
    There's no tuning center, all values are received as they are. Just converted to the same units.
    And that affects how we receive data from SimTools.

    So if you are using SimTools as a source, I recommend to setup the tuning center with the following values:

    Sem nome.jpg

    This way we receive the values without cropping or scale.
    Rotations from -180 to 180 and accelerations up to around 10g's.
    Those are not mandatory values. But a guide of what I think is best.
    For more on SimTools source, go to this post.

    Another important fact here, is the possibility to use more than one source at the same time.
    So you can join LFS source with a noise source and mix them later on the pose generation.
    Only problem here is if sources use the same ports, only one will work.

    Besides the sources from applications, you can generate internal sources:

    Noise - Random noise
    Loops - Based on Sin, square, triangle or saw curves
    Those effects can be generated just for one or more of the 33 values presented above. Just check them in the list shown at the right.
    Don't forget you can have multiple sources of those types.
    Also important is that in loops, all sources use the same timing, so you can adjust phase shifting to generate some interesting effects.
    • Like Like x 2
    Last edited: Jun 29, 2019
  4. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    POSES

    So we have our sources.
    We are receiving information about positions/accelerations and we want to generate a pose.
    A pose is the orientation/position that the rig will make to represent that info.
    So here is where we have the motion cueing alghorithm.

    Right now we have the following poses:

    Pose from motion
    This is where we setup the motion cueing alghorithm.
    Select the source of data from the right (you can select more than one to add them).
    Also, select witch value you want to use for each pose component.
    Now you can select acceleration, speed, position or any other value to generate the pose.
    Don't forget you can generate more than one pose and add them on the rig.
    2.jpg


    Pose from RPM
    Generates a pose from the received RPM of the motor to simulate vibration due to RPM.
    That's an arcade one... or maybe not.
    3.jpg

    Pose from suspension
    Generates a pose from the suspension info of a car game.
    Will become useful for other types of rigs besides hexapods.
    4.jpg

    So we can play with this!
    Let's add motor vibration and suspension travel to the motion cueing.
    If your actuators can work at high frequencies, you can even replace tactile transducers... Well, maybe in my imagination.
    • Like Like x 1
    Last edited: Jun 24, 2019
  5. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    RIGS

    For now we have:

    Classic Stewart platform with linear actuators
    Like the one in version 1 of the FlyPT Interface.
    But with a difference.
    Here we specify witch names we want to give to each axis and the bit range we want for them:
    Look a rig defined to receive a mix of poses from motion, rpm and suspension, outputing info with the usual <Axis1a> to <Axis6a> (we can change the names):
    Sem nome.jpg

    Classic Stewart platform with rotating actuators
    Like above, but with rotating actuators... I have a bug, can't post image for now.

    I'm also thinking of developing for:

    3DOF with 4 actuators (4 vertical actuators in each corner)
    A kind of rig that's turning the new standard (my opinion).
    Certainly limited in action compared to a Stewart platform, so some of the pose components are ignored here.

    3DOF with 3 rotational actuators
    Same like above. Fairly easy to add.

    Custom
    Where we specify how many and where are the actuators.
    That's a complicated one, but I made the code to be ready for that.
    So inverted, wall mounted Stewart platforms or other kinds of platforms can be generated.
    • Winner Winner x 3
    • Like Like x 1
    Last edited: May 31, 2019
  6. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    DIRECTS

    3.jpg

    With directs, you pick a value from the source, treat him and create an "actuator".
    That actuator can be used in the outputs to send data to the hardware.

    In the above picture, is an example for wind.
    We select Speed value from the selected source on the right.
    Use some filtering/remap.
    Convert it to a specific bit range and give it a key.

    Now that key is available in the output modules.

    This allows also the possibility to control your rig like we do in SimTools (or almost, needs testing).
    Last edited: Jun 24, 2019
  7. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    OUTPUTS

    That's where we send/receive data to/from the hardware.
    For now we can only send data by serial output.
    Soon, it will be added UDP and also receive data from hardware.

    With serial output, we can send by serial, the pretended position of the actuators.
    We add a serial output module for each board we are using.
    The interface looks like this:

    Serial Output.jpg

    We can see:

    - On the right, the actuators available. They come from rigs or directs.
    The names/keys shown for each actuator are defined by the user on the rigs or directs.
    If a key is repeated, you can't use that actuator. If you use that name, only the first occurrence of that key is accessible.

    - On the bottom, we can see the sequence of bytes sent to the boards (debug).
    Each value separated by spaces is the value of one byte.

    - On the top, you specify the connection settings.
    Port shows the available ports. Don't forget that if you change the board to another USB port, this port might change.
    Interval is the time between each data sent to the board.
    Type of output, can be binary or decimal.
    In decimal, you convert the values to a string and send the byte values of the chars. So for example value 1234, uses 4 bytes to be sent in decimal.
    With binary, you send only the necessary bytes to define the value. So 1234 fits inside 2 bytes.
    See about strings bellow, to understand how binary can send values.

    - Strings sent to the boards are defined in the 3 text lines.
    One when you connect, one when you disconnect and the normal work string.
    You can use any char to compose the string. Only < and > are reserved for the keys.
    To use a key, you can drag the key from the right column to where you want her in the text.
    If the key inside the <> is not recognised, the chars are ignored.
    The number of bytes used for the keys are specified in the rigs and directs.
    The way they are sent, depends if you use binary or decimal.
    You can also send fixed values.
    If you use <54>, the value 54 is sent in one byte (for binary).
    But you can send 54 in 4 bytes, just put <<<<54>.
    For example, 1234 doesn't fit in one byte. Send it with <<1234> it generates two bytes to hold this value.
    If you send it with <1234>, the value overflows and you can't send the high byte, only the low one.
    Last edited: Jun 23, 2019
  8. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    VIEWERS

    3D Viewer

    Add one or more 3D viewers to visualize your rig behaviour.
    Don't forget, that the shown position is before applying any gain or filter to the actuators.
    You can add how many viewers you want to see the rig in different perspectives.
    In case you have more than one rig setup, you can choose witch one to view on the pull down menu.

    Sem nome.jpg

    Use the mouse to rotate the rig, and the wheel mouse to zoom.
    Those are "heavy" tasks, so close the windows if you don't need them for better performance.


    Graphic viewer

    3.jpg

    Some bug here (sorry).
    Still needing work.

    On the right you have all the available values to show on the graphic.
    Check the ones you want to see.

    Values are draw, all in the same scale, that you can define in the top left corner.
    This brings a problem, because the values can have big differences in ranges. So take it into account when using graphics.

    Also, for optimisation and speed, if you change selection or scale, only the new values have those new settings. History is kept unchanged, just scrolling left until it disappears (and I don't think it's going to change).
    Also for optimisation reasons, values are shown in translucent areas instead of lines.

    As I said, it needs work.
    Last edited: Jun 24, 2019
  9. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    SPEED

    One of the features of this interface is the possibility to add many items to the data processing.
    There's many things happening visually, to help on the setup of the rig.
    When you achieve satisfying results, you should hide all windows and remove the ones you don't need to avoid updates on the interface.
    Any extra info update increases lag. So, use only what you need.
    Run the program in "minimal" mode for better performance.
    Also hide panels that show resulting values to avoid those updates.


    SLIDERS
    (general explanation)

    All sliders used in the interface follow a specific logic.
    There's a button you can use to change the value when the control is active (blue).
    When we are receiving a value, the button becomes grey, and you can't change it's value.
    so if we are receiving data, the button position reflects the received value.
    If the value received is beyond the range of the slider, the button shows red.

    Sem nome.jpg

    You will also notice, there's a bar behind the button.
    That bar represents the output value.
    If there's no filtering happening, the bar matches the button, but with filtering or gain, the bar shows a position that might not match the button position.
    If the bar is red, it's because the output value is beyond the range of the slider.

    Sliders are just a tool to allow the user to manually input values or to get a visual representation of what's happening.


    WINDOWS NAMES

    Why those names?
    The name is the same for windows of the same type, but they are always appended with an ID to make easier it's identification on the input lists of each window.
    As an example, two sources and one pose.
    You can select witch sources to use on the pose. Even using two loop sources, the names would be different with the appending ID:

    Sem nome.jpg
    • Like Like x 1
    Last edited: Jun 6, 2019
  10. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    OTHERS

    Nothing for now.
    Reserved.
  11. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,450
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    18,699Coins
    Ratings:
    +3,128 / 30 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Looking good dude :D
    • Agree Agree x 2
    • Like Like x 1
    • Friendly Friendly x 1
  12. Tuyisenge

    Tuyisenge New Member

    Joined:
    Feb 5, 2019
    Messages:
    3
    Location:
    France
    Balance:
    - 32Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    6DOF
    I confess that looks awesome!!!
    • Like Like x 1
  13. Gabor Pittner

    Gabor Pittner Active Member Gold Contributor

    Joined:
    Oct 25, 2018
    Messages:
    122
    Location:
    Szekesfehervar Hungary
    Balance:
    755Coins
    Ratings:
    +47 / 0 / -0
    My Motion Simulator:
    6DOF
    It looks fantastic :thumbs
    • Like Like x 1
  14. Dirty

    Dirty Active Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    231
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    2,543Coins
    Ratings:
    +226 / 1 / -0
    Impressive! Especially the modular design is smart!

    That will allow users to adapt the software to their projects and you to add features anyway you like. :thumbs Great!

    Also great! Rad or degrees, Km/h or m/s, ...doesn't really make a difference. From a developers perspective I'd prefer Rad and m/s (because they are easier to process in the context of SI unit systems), but agreeing on ONE standard for all games would be a plus. Most people will want to see degrees and Km/h or Mph, I guess.
    I'd also advocate finding a quasi-standard for data extraction would be a good Idea. Like your concept of: All slots are there, just not every Sim fills every slot.


    Great to see you thinking outside the box! I thought about ceiling mounted and wall mounted as well. Probably not going to be "main stream" but allowing for custom kinematics will make users get creative :)

    Like! I mean... L-I-K-E-!-!-!

    One point I stumbled across:
    Do you really want to create random (white) noise? Have you looked into Perlin noise? It's more coherent and great to generate turbulence, ground roll, etc.

    THUMBS UP!!!

    Dirty :)
    • Like Like x 2
  15. Gabor Pittner

    Gabor Pittner Active Member Gold Contributor

    Joined:
    Oct 25, 2018
    Messages:
    122
    Location:
    Szekesfehervar Hungary
    Balance:
    755Coins
    Ratings:
    +47 / 0 / -0
    My Motion Simulator:
    6DOF
    Are you planning to make it as dual PC mode? Like simtools works separatable game engine and game manager applications using ethernet... DCS will work using IP address in lua script, but what about the others? :roll
    I use a laptop to controll the rig but the game runs on my desktop pc...
  16. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,161
    Location:
    Newcastle Australia
    Balance:
    25,803Coins
    Ratings:
    +2,454 / 23 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Looks great :thumbs. Just not enough spare hrs in the day to try all this out :(.
    • Like Like x 1
  17. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    This is the current state:

    YES PC with game and interface ---Serial---> Boards (the standard solution)

    NO PC with game and interface
    ---UDP---> Boards with network (almost done, in a future version - I want this one for my ESP32 Wifi boards)

    NO PC with game and interface ---UDP---> PC with UDP to Serial application ---Serial---> Boards (too work, needs the UDP to Serial application, not even started)

    YES PC with game ---TCP or UDP---> PC with interface ---Serial---> Boards (Works for games that output in TCP or UDP, others need application to convert shared memory to UDP)

    NO PC with game ---TCP or UDP---> PC with interface ---UDP---> PC with UDP to Serial application ---Serial---> Boards (see above)

    NO PC with game ---TCP or UDP---> PC with interface ---UDP---> Boards with network (almost done, in a future version - I want this one for my ESP32 Wifi boards)

    Since everything is modular, I can add those features.
    For now, only the green ones will be available.
    The yellow one is almost done.
    • Like Like x 1
    • Informative Informative x 1
  18. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    Yes, Perlin noise. Didn't thought of that one.

    That Rad vs Degree, is something I have to change. I'm converting to degrees, because I wanted it more visual for the interface. But that brings so many multiplications ahead, that I have to change it all.
    Not for now. I'm making a general cleanup and solving some stupid bugs to post the first version.

    When I thought of making user defined rigs, I thought in different Stewart configs, but now I want it to be used with any kind of rig. Even 2DOF.
    But it will take more time than I tough. It's not so easy. Actuators dependent on other actuators and rotating actuators not only vertical... o_O But it will work!

    I was so stuck with the old interface. This one had to be completely modular. Might be more confusing at start, but gives so many possible configs. Whatever we want.
    • Like Like x 1
  19. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    595
    Location:
    Portugal
    Balance:
    4,305Coins
    Ratings:
    +649 / 10 / -0
    My Motion Simulator:
    6DOF
    Sorry.
    Was going to release it in the end of last week, but I couldn't get time to make it.
    Unfortunately, there's some problems still to solve before releasing it.

    Here's a video with a new preview.
    Some of the windows, might change until release. Specially that blue one, the main one. What you see is just for debug.



    On this video, I show Outputs. Those are the outputs to serial. You should use one output for each board.
    You can also see Directs. That's a direct conversion of a game value to an output value.
    In the video,, you can see it capturing speed and generating a bit output to control a fan to simulate wind.

    Also, I show keys. Keys are the names used by each actuator/output on the output string.
    You can name it the way you want and use drag and drop to put them on the output string.
    The bit range used is specified on the rig definition or the direct output definition.

    More explanations soon.
    Stay tuned.
    • Like Like x 4
  20. Gabor Pittner

    Gabor Pittner Active Member Gold Contributor

    Joined:
    Oct 25, 2018
    Messages:
    122
    Location:
    Szekesfehervar Hungary
    Balance:
    755Coins
    Ratings:
    +47 / 0 / -0
    My Motion Simulator:
    6DOF
    Just take your time there is no deadline to meet at all :) Nice job!!!
    • Agree Agree x 2
    • Like Like x 1