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

FlyPT Mover

Discussion in 'FlyPt Mover' started by pmvcda, May 30, 2019.

  1. Attyla.pl

    Attyla.pl Active Member

    Joined:
    Oct 1, 2023
    Messages:
    156
    Location:
    Polska
    Balance:
    646Coins
    Ratings:
    +42 / 0 / -0
    My Motion Simulator:
    2DOF, Arduino
    I have a huge request to the creator of FlyPTmover :), could he please look into the issue of limiting platform movements when receiving high pitch and roll data from DCS if we use "roll speed" and "pitch speed" to control motion platform movements.
    I looked through some ".mover" configuration files I found on the internet but most are related to flying in MSFS 2020 where this situation does not occur, while I only fly in DCS which has its own specificity of situations occurring in it and generated values of "roll speed" and "pitch speed" . In addition, I recently spoke with a MotionXP 6DOF user who confirmed that at the time of shooting down when the aircraft rapidly changes its position in space he has to turn off the movement of his 6DOF to avoid violent movements. Attempts to limit with CROP, MAXCROP, MINCROP , SPIKE filters do not yield good results.
    Yesterday, looking for a solution, I came across a plugin for asseto corsa that simply disables data transfer after exceeding a certain value ( in this case G force) https://www.overtake.gg/downloads/flypt-source-changer.62133/
    The question is whether it is possible to add such a filter in which by selecting a value you could turn off telemetry processing until the value returns to normal?
    It could also be that I just don't know how to use filters :(, that's why I attach my .mover profile and recorded fragment of flight with high values of "roll speed" and "pitch speed" maybe someone smarter than me :) will find some time to watch it and possibly correct my obvious mistakes .
    And one auxiliary question, what could be the reason for the fact that with the set limit of 4 degrees of arm movement in reality the arms rotate in the range of about 45 degrees ? it would seem that after entering 2DOF geometry according to reality the range of motion should be mapped 1:1 ?

    Attached Files:

  2. arminglf

    arminglf New Member

    Joined:
    May 16, 2024
    Messages:
    20
    Balance:
    130Coins
    Ratings:
    +7 / 0 / -0
    My Motion Simulator:
    3DOF
    Is there any way to make EA WRC work while we wait for the new release? thanks
  3. Nick Clements

    Nick Clements Member

    Joined:
    Jan 7, 2019
    Messages:
    41
    Balance:
    87Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, SCN5, Arduino, Motion platform
    What I really need is help on adding a rotating actuator to my existing 2dof setup in Flyptmover to have as yaw/traction loss?
    Do I just add another Rig alongside my 2dof one? If I select 3dof with rotating actuator I get
    [​IMG]

    My rig does notlook anything like this?? I have two motors on the front and one on the back for yaw.

    Do i just add a single rotating actuator to exising setup
    [​IMG]

    If so how do you configure it for Yaw???
    upload_2024-6-24_19-6-27.png
    Very confusing??

    upload_2024-6-24_19-8-24.png
  4. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF
    Please try this: (I could not test...)

    In the folder \Documents\My Games\WRC\telemetry\udp
    Create a file named FlyPTMover353.json anfd put the following text inside:
    Code:
    {
        "versions":
        {
            "schema": 1,
            "data": 3
        },
        "id": "FlyPTMover",
        "header":
        {
            "channels": []
        },
        "packets": [
            {
                "id": "session_update",
                "channels": [
                    "game_total_time",
                    "vehicle_position_x",
                    "vehicle_position_x",
                    "vehicle_position_x",
                    "vehicle_position_x",
                    "vehicle_position_y",
                    "vehicle_position_z",
                    "vehicle_speed",
                    "vehicle_velocity_x",
                    "vehicle_velocity_y",
                    "vehicle_velocity_z",
                    "vehicle_left_direction_x",
                    "vehicle_left_direction_y",
                    "vehicle_left_direction_z",              
                    "vehicle_forward_direction_x",
                    "vehicle_forward_direction_y",
                    "vehicle_forward_direction_z",              
                    "vehicle_hub_position_bl",
                    "vehicle_hub_position_br",
                    "vehicle_hub_position_fl",
                    "vehicle_hub_position_fr",              
                    "vehicle_hub_velocity_bl",
                    "vehicle_hub_velocity_br",
                    "vehicle_hub_velocity_fl",
                    "vehicle_hub_velocity_fr",              
                    "vehicle_cp_forward_speed_bl",
                    "vehicle_cp_forward_speed_br",
                    "vehicle_cp_forward_speed_fl",
                    "vehicle_cp_forward_speed_fr",
                    "vehicle_throttle",
                    "vehicle_steering",
                    "vehicle_brake",
                    "vehicle_clutch",
                    "vehicle_gear_index",
                    "vehicle_acceleration_x",
                    "vehicle_acceleration_y",
                    "vehicle_acceleration_z",
                    "vehicle_engine_rpm_current",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_br",
                    "vehicle_brake_temperature_fl",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                    "vehicle_brake_temperature_fr",
                ]
            }
        ]
    }
    Now go to the folder \Documents\My Games\WRC\telemetry
    and open the file Config.json
    Add the following to the file:
    Code:
                       
                {
                    "structure": "FlyPTMover353",
                    "packet": "session_update",
                    "ip": "127.0.0.1",
                    "port": 20777,
                    "frequencyHz": -1,
                    "bEnabled": true
                },
    Attention!!!, you are adding this inside the packets, it will be something like this:
    Code:
            "packets": [
                {
                    "structure": "FlyPTMover353",
                    "packet": "session_update",
                    "ip": "127.0.0.1",
                    "port": 20777,
                    "frequencyHz": -1,
                    "bEnabled": true
                },
                {
                    "structure": "wrc",
                    "packet": "session_update",
                    "ip": "127.0.0.1",
                    "port": 20777,
                    "frequencyHz": -1,
                    "bEnabled": false
                },
                {
                    "structure": "wrc_experimental",
                    "packet": "session_start",
                    "ip": "127.0.0.1",
                    "port": 20778,
                    "frequencyHz": 0,
                    "bEnabled": false
    
    
    Try and give me some feedback.
    • Friendly Friendly x 1
  5. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF
    Can you post a picture of the rig?
    One of the solutions is to add a direct just for traction. If you are using VR, you loose compensation by using directs
  6. arminglf

    arminglf New Member

    Joined:
    May 16, 2024
    Messages:
    20
    Balance:
    130Coins
    Ratings:
    +7 / 0 / -0
    My Motion Simulator:
    3DOF

    Thanks, I didn't see this reply I'll try tonight. And what source do I choose? sorry still learning
  7. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF
    Dirt rally 2
    • Like Like x 1
  8. Zeeflyboy

    Zeeflyboy New Member

    Joined:
    Feb 26, 2016
    Messages:
    14
    Location:
    UK
    Balance:
    125Coins
    Ratings:
    +10 / 0 / -0
    @pmvcda any chance we could get a source added for KayakVR: Mirage? They added telemetry in the latest update apparently.

    happy to buy you the game if you don’t already have it
  9. Avee

    Avee Virtual Pilot

    Joined:
    Jul 5, 2020
    Messages:
    140
    Location:
    Germany
    Balance:
    1,113Coins
    Ratings:
    +35 / 1 / -0
    My Motion Simulator:
    2DOF
    • Like Like x 1
  10. Zeeflyboy

    Zeeflyboy New Member

    Joined:
    Feb 26, 2016
    Messages:
    14
    Location:
    UK
    Balance:
    125Coins
    Ratings:
    +10 / 0 / -0
  11. Avee

    Avee Virtual Pilot

    Joined:
    Jul 5, 2020
    Messages:
    140
    Location:
    Germany
    Balance:
    1,113Coins
    Ratings:
    +35 / 1 / -0
    My Motion Simulator:
    2DOF
    It's a UDP protocol. Haven't looked into the technicalities, and don't have KayakVR yet. But you could probably just find out the port it is on and then just read what it puts out. Don't think there will be a problem at all.
    • Like Like x 1
  12. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF
    I'm going to add it. I also sent them a reqiest to have telemetry.
    Don't have the game, but I will get it.
    • Like Like x 1
    • Friendly Friendly x 1
  13. Zeeflyboy

    Zeeflyboy New Member

    Joined:
    Feb 26, 2016
    Messages:
    14
    Location:
    UK
    Balance:
    125Coins
    Ratings:
    +10 / 0 / -0
    Can I buy it for you as a donation?
    • Winner Winner x 1
    • Useful Useful x 1
  14. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF
    Yes, would be helpful. :thumbs
  15. Avee

    Avee Virtual Pilot

    Joined:
    Jul 5, 2020
    Messages:
    140
    Location:
    Germany
    Balance:
    1,113Coins
    Ratings:
    +35 / 1 / -0
    My Motion Simulator:
    2DOF
    From what I saw on the steampowered forums, their support knows no more than that they have included an unreal telemetry library. They don't seem to know what the output exactly is. If you have already implemented some other unreal game, chances are that it is exactly the same.
  16. Avee

    Avee Virtual Pilot

    Joined:
    Jul 5, 2020
    Messages:
    140
    Location:
    Germany
    Balance:
    1,113Coins
    Ratings:
    +35 / 1 / -0
    My Motion Simulator:
    2DOF
    Looks like the KayakVR telemetry library is communicating with SRS using their API. There is a description of the data format here https://gitlab.com/simracingstudio/srsapi

    Code:
    # definition of the constants
    SRS_COMPUTER_IP = 'localhost'  # to broadcast to all computers in the network use '0.0.0.0'
    SRS_COMPUTER_PORT = 33001  # this port can be changed on the config.ini of srs app
    PACKET_HEADER = str.encode('api')  # constant to identify the package
    API_VERSION = 102  # constant of the current version of the api
    
    
    # defition of the Telemetry Class
    class TelemetryPacket(Structure):
        _fields_ = [('api_mode', c_char * 3),  # 'api' constant to identify packet
                    ('version', c_uint),  # version value = 102
                    ('game', c_char * 50),  # Game name for example Project Cars 2
                    ('vehicle_name', c_char * 50),  # car, boar or aircraft name
                    ('location', c_char * 50),  # track name, location, airport, etc               
                    ('speed', c_float),  # float
                    ('rpm', c_float),  # float
                    ('max_rpm', c_float),  # float
                    ('gear', c_int),  # -1 = revere 0=Neutral 1 to 9=gears
                    ('pitch', c_float),  # in degrees -180 to +180
                    ('roll', c_float),  # in degrees -180 to +180
                    ('yaw', c_float),  # in degrees -180 to +180
                    ('lateral_velocity', c_float),  # in float between -2 to 2 used for traction loss
                    ('lateral_acceleration', c_float),  # gforce in float values beteween 0 to 10
                    ('vertical_acceleration', c_float),  # gforce in float values beteween 0 to 10
                    ('longitudinal_acceleration', c_float),  # gforce in float values beteween 0 to 10
                    ('suspension_travel_front_left', c_float),  # in float values -10 to 10
                    ('suspension_travel_front_right', c_float),  # in float values -10 to 10
                    ('suspension_travel_rear_left', c_float),  # in float values -10 to 10
                    ('suspension_travel_rear_right', c_float),  # in float values -10 to 10
                    ('wheel_terrain_front_left', c_uint),  # 0=all others, 1=rumble strip, 2=asphalt
                    ('wheel_terrain_front_right', c_uint),  # 0=all others, 1=rumble strip, 2=asphalt
                    ('wheel_terrain_rear_left', c_uint),  # 0=all others, 1=rumble strip, 2=asphalt
                    ('wheel_terrain_rear_right', c_uint),  # 0=all others, 1=rumble strip, 2=asphalt
                    ]
    
    • Like Like x 1
    Last edited: Jun 29, 2024
  17. arminglf

    arminglf New Member

    Joined:
    May 16, 2024
    Messages:
    20
    Balance:
    130Coins
    Ratings:
    +7 / 0 / -0
    My Motion Simulator:
    3DOF
    Sorry I've been busy so couldn't test properly.

    I tried this just now but I can't seem to make it work. Initially I was getting errors in the log file:

    Code:
    Loaded Telemetry Config.
    Parsing file 'custom1.json'
    Loaded upd packet structure 'custom1'
    Parsing file 'FlyPTMover353.json'
    Packet 'session_update' Channels[2] 'vehicle_position_x' is a duplicate channel id.
    Packet 'session_update' Channels[3] 'vehicle_position_x' is a duplicate channel id.
    Packet 'session_update' Channels[4] 'vehicle_position_x' is a duplicate channel id.
    Packet 'session_update' Channels[39] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[40] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[41] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[42] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[43] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[44] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[45] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[46] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[47] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[48] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[49] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[50] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[51] 'vehicle_brake_temperature_bl' is a duplicate channel id.
    Packet 'session_update' Channels[55] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Packet 'session_update' Channels[56] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Packet 'session_update' Channels[57] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Packet 'session_update' Channels[58] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Packet 'session_update' Channels[59] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Packet 'session_update' Channels[60] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Packet 'session_update' Channels[61] 'vehicle_brake_temperature_fr' is a duplicate channel id.
    Failed to validate Packets[0].
    Ignored upd packet structure file 'FlyPTMover353.json', failed to validate file.
    
    So I deleted all the duplicated channels and tried again with this code:

    Code:
    {
        "versions":
        {
            "schema": 1,
            "data": 3
        },
        "id": "FlyPTMover",
        "header":
        {
            "channels": []
        },
        "packets": [
            {
                "id": "session_update",
                "channels": [
                    "game_total_time",
                    "vehicle_position_x",
                    "vehicle_position_y",
                    "vehicle_position_z",
                    "vehicle_speed",
                    "vehicle_velocity_x",
                    "vehicle_velocity_y",
                    "vehicle_velocity_z",
                    "vehicle_left_direction_x",
                    "vehicle_left_direction_y",
                    "vehicle_left_direction_z",             
                    "vehicle_forward_direction_x",
                    "vehicle_forward_direction_y",
                    "vehicle_forward_direction_z",             
                    "vehicle_hub_position_bl",
                    "vehicle_hub_position_br",
                    "vehicle_hub_position_fl",
                    "vehicle_hub_position_fr",             
                    "vehicle_hub_velocity_bl",
                    "vehicle_hub_velocity_br",
                    "vehicle_hub_velocity_fl",
                    "vehicle_hub_velocity_fr",             
                    "vehicle_cp_forward_speed_bl",
                    "vehicle_cp_forward_speed_br",
                    "vehicle_cp_forward_speed_fl",
                    "vehicle_cp_forward_speed_fr",
                    "vehicle_throttle",
                    "vehicle_steering",
                    "vehicle_brake",
                    "vehicle_clutch",
                    "vehicle_gear_index",
                    "vehicle_acceleration_x",
                    "vehicle_acceleration_y",
                    "vehicle_acceleration_z",
                    "vehicle_engine_rpm_current",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_br",
                    "vehicle_brake_temperature_fl",
                    "vehicle_brake_temperature_fr",
                ]
            }
        ]
    }
    After this I get the below:

    Code:
    Loaded Telemetry Config.
    Parsing file 'custom1.json'
    Loaded upd packet structure 'custom1'
    Parsing file 'FlyPTMover353.json'
    Loaded upd packet structure 'flyptmover'
    However when I'm in the game FlyPT is not getting any telemetry.

    Not sure if I'm missing something?
  18. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF

    Ok, I'm looking at it...
    Vars have different types than what I expected, I have to do a new one. Let me try.
    • Like Like x 1
  19. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,103
    Location:
    Portugal
    Balance:
    14,949Coins
    Ratings:
    +2,508 / 17 / -0
    My Motion Simulator:
    6DOF
    @arminglf ,

    Ok, it will not work... Sorry.
    The following works, but...
    Code:
    {
        "versions":
        {
            "schema": 1,
            "data": 3
        },
        "id": "FlyPTMover353",
        "header":
        {
            "channels": []
        },
        "packets": [
            {
                "id": "session_update",
                "channels": [
                    "game_total_time",
                    "game_frame_count",
                    "game_delta_time",
                    "vehicle_position_x",
                    "vehicle_position_y",
                    "vehicle_position_z",
                    "stage_progress",
                    "vehicle_speed",
                    "vehicle_velocity_x",
                    "vehicle_velocity_y",
                    "vehicle_velocity_z",
                    "vehicle_left_direction_x",
                    "vehicle_left_direction_y",
                    "vehicle_left_direction_z",
                    "vehicle_forward_direction_x",
                    "vehicle_forward_direction_y",
                    "vehicle_forward_direction_z",              
                    "vehicle_hub_position_bl",
                    "vehicle_hub_position_br",
                    "vehicle_hub_position_fl",
                    "vehicle_hub_position_fr",
                    "vehicle_hub_velocity_bl",
                    "vehicle_hub_velocity_br",
                    "vehicle_hub_velocity_fl",
                    "vehicle_hub_velocity_fr",              
                    "vehicle_cp_forward_speed_bl",
                    "vehicle_cp_forward_speed_br",
                    "vehicle_cp_forward_speed_fl",
                    "vehicle_cp_forward_speed_fr",
                    "vehicle_throttle",
                    "vehicle_steering",
                    "vehicle_brake",
                    "vehicle_clutch",
                   
                    "vehicle_gear_index_neutral",
                    "vehicle_gear_index_reverse",
                    "vehicle_gear_maximum",
                    "vehicle_gear_index",
                   
                    "vehicle_acceleration_x",
                    "vehicle_acceleration_y",
                    "vehicle_acceleration_z",
                    "vehicle_engine_rpm_current",
                    "vehicle_handbrake",
                    "stage_current_time",
                    "stage_current_distance",
                    "vehicle_engine_rpm_idle",
                    "shiftlights_fraction",
                    "shiftlights_rpm_start",
                    "shiftlights_rpm_end",
                    "vehicle_transmission_speed",
                    "vehicle_up_direction_x",
                    "vehicle_up_direction_y",
                    "vehicle_up_direction_z",
                    "stage_previous_split_time",
                    "vehicle_brake_temperature_bl",
                    "vehicle_brake_temperature_br",
                    "vehicle_brake_temperature_fl",
                    "vehicle_brake_temperature_fr",
                ]
            }
        ]
    }
    In WRC speeds and acclerations are relative to car and in DirtRally they are relative to the world, so what happens is that those values are converted... Sorry, like I said I could not test at the time.
    Also, the selected gera is a byte in WRC and a float in Dirt so values are wrong
    • Informative Informative x 1
    • Friendly Friendly x 1
  20. Marco Annunziata

    Marco Annunziata Member Gold Contributor

    Joined:
    Dec 2, 2019
    Messages:
    116
    Balance:
    844Coins
    Ratings:
    +17 / 0 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF

    Thank you Pedro, do you advise using this method, or better to wait for the new release?