TARANIS x7Q TO XBOX ONE (dcl)

THIS CODE ENABLES YOU TO USE A TARANIS CONTROLLER ON XBOX ONE FOR DRONE SIMULATION, SF TOGGELS MODE 1 TO MODE 2 MODE 1 SWITCHES ABCD = BUTTONS ABXY MODE 2 SWITCHES ABCD = BUMPERS & TRIGGERS i'VE BEEN USING THIS FOR 48HRS NOW WITH NO ISSUES
Version1.1
Authorairbornegeek
Publish DateMon, 30 Mar 2020 - 15:41
Last UpdateTue, 7 Apr 2020 - 18:51
Downloads77
RATE


0

0

Release Notes: correct trigger placement. use sf to toggle trigger on or off
Code: Select all
// GPC Online Library
// taranis_x7q_to_xbox_one_dcl.gpc
 
//
// AIRBORNEGEEK FPV @ YOUTUBE
//
//-------------------------------------
 
main {
    set_val(XB1_RY, inv(get_val(XB1_RY)));
    set_val(XB1_LY, inv(get_val(XB1_LY)));
    set_val(XB1_LX, inv(get_val(XB1_LX)));
 
    if((get_val(XB1_LX)) == -100) {
        set_val(XB1_LX, (get_val(XB1_LX)) + 100);
    } else if((get_val(XB1_LX)) < 0) {
        set_val(XB1_LX, (get_val(XB1_LX)) + 100);
    } else {
        set_val(XB1_LX, (get_val(XB1_LX)) - 100);
    }
    if((get_val(XB1_LY)) == -100) {
        set_val(XB1_LY, (get_val(XB1_LY)) + 100);
    } else if((get_val(XB1_LY)) < 0) {
        set_val(XB1_LY, (get_val(XB1_LY)) + 100);
    } else {
        set_val(XB1_LY, (get_val(XB1_LY)) - 100);
    }
    if((get_val(XB1_RX)) == -100) {
        set_val(XB1_RX, (get_val(XB1_RX)) + 100);
    } else if((get_val(XB1_RX)) < 0) {
        set_val(XB1_RX, (get_val(XB1_RX)) + 100);
    } else {
        set_val(XB1_RX, (get_val(XB1_RX)) - 100);
    }
    if((get_val(XB1_RY)) == -100) {
        set_val(XB1_RY, (get_val(XB1_RY)) + 100);
    } else if((get_val(XB1_RY)) < 0) {
        set_val(XB1_RY, (get_val(XB1_RY)) + 100);
    } else {
        set_val(XB1_RY, (get_val(XB1_RY)) - 100);
    }
 
    if((get_val(XB1_LS)) == 100) {
        swap(XB1_MENU, XB1_VIEW);
        swap(XB1_A, XB1_LB);
        if(get_val(XB1_VIEW)) {
            combo_run(Turbo_1);
        }
        if(get_val(XB1_LB)) {
            combo_run(Turbo_2);
        }
        if(get_val(XB1_RB)) {
            combo_run(Turbo_3);
        }
        swap(XB1_B, XB1_RB);
        swap(XB1_X, XB1_LT);
        swap(XB1_Y, XB1_RT);
        if(get_val(XB1_XBOX)) {
            combo_run(Turbo_4);
        }
        if(get_val(XB1_RT)) {
            combo_run(Turbo_5);
        }
        if(get_val(XB1_LT)) {
            combo_run(Turbo_6);
        }
    } else {
        swap(XB1_MENU, XB1_MENU);
        swap(XB1_A, XB1_A);
        swap(XB1_B, XB1_B);
        swap(XB1_X, XB1_X);
        swap(XB1_Y, XB1_Y);
    }
    if(get_val(XB1_A)) {
        combo_run(Turbo_7);
    }
    if(get_val(XB1_X)) {
        combo_run(Turbo_8);
    }
    if(get_val(XB1_B)) {
        combo_run(Turbo_9);
    }
    if(get_val(XB1_Y)) {
        combo_run(Turbo_10);
    }
    if(get_val(XB1_MENU)) {
        combo_run(Turbo_11);
    }
}
 
combo Turbo_1 {
    set_val(XB1_VIEW, 100);
    wait(250);
    set_val(XB1_VIEW, 0);
    wait(990);
    set_val(XB1_VIEW, 0);
}
 
combo Turbo_2 {
    set_val(XB1_LB, 100);
    wait(250);
    set_val(XB1_LB, 0);
    wait(990);
    set_val(XB1_LB, 0);
}
 
combo Turbo_3 {
    set_val(XB1_RB, 100);
    wait(250);
    set_val(XB1_RB, 0);
    wait(990);
    set_val(XB1_RB, 0);
}
 
combo Turbo_4 {
    set_val(XB1_XBOX, 100);
    wait(250);
    set_val(XB1_XBOX, 0);
    wait(990);
    set_val(XB1_XBOX, 0);
}
 
combo Turbo_5 {
    set_val(XB1_RT, 100);
    wait(250);
    set_val(XB1_RT, 0);
    wait(990);
    set_val(XB1_RT, 0);
}
 
combo Turbo_6 {
    set_val(XB1_LT, 100);
    wait(250);
    set_val(XB1_LT, 0);
    wait(990);
    set_val(XB1_LT, 0);
}
 
combo Turbo_7 {
    set_val(XB1_A, 100);
    wait(250);
    set_val(XB1_A, 0);
    wait(990);
    set_val(XB1_A, 0);
}
 
combo Turbo_8 {
    set_val(XB1_X, 100);
    wait(250);
    set_val(XB1_X, 0);
    wait(990);
    set_val(XB1_X, 0);
}
 
combo Turbo_9 {
    set_val(XB1_B, 100);
    wait(250);
    set_val(XB1_B, 0);
    wait(990);
    set_val(XB1_B, 0);
}
 
combo Turbo_10 {
    set_val(XB1_Y, 100);
    wait(250);
    set_val(XB1_Y, 0);
    wait(990);
    set_val(XB1_Y, 0);
}
 
combo Turbo_11 {
    set_val(XB1_MENU, 100);
    wait(250);
    set_val(XB1_MENU, 0);
    wait(990);
    set_val(XB1_MENU, 0);
}