Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

saitek or fsuipc

Featured Replies

Hi

As a new owner of a Saitek yoke and throttle (no pedals yet)

I was wondering what the consensus is regarding the assignment of buttons/switch etc , Is it better to use the Saitek profiler or use fsuipc?

I also use Opus camera's and weather which means I have to have the enable controller ticked in fsx, which may cause problems using fsuipc,  just wondered what other people do or use in similar cicumstances?

all the best for 2014

rgds

Pete

 

Pete Little

I also have Opus weather + cameras and I use a Saitek yoke + X52 throttle + CH pedals and I use FSUIPC all the way. For me Saitek software is nothing but trouble. Why do you "have" to enable the controller option in FSX?

 

FSUIPC is so simple to use for controller set up with far more options and light years ahead of any the software that typically comes with controller hardware.

 

Regards,

Rick Hobbs

Boeing777_Banner_Pilot.jpg

 

  • Moderator

I use the Saitek X-52, CH yoke, CH TQ and CH rudders and have them ALL set through FSUIPC. Once you get it done, it's the only way to fly.

 

Vic

 

RIG#1 - I9 14900K MSI Pro z790 RTX 5070Ti
40" 4K Monitor 3840x2160 

Hi Pete,

 

In my opinion, absolutely program it through FSUIPC.  The SST programing software is problematic at best and it's less flexible.  Be sure to read the FSUIPC manual, vis a vis programing, as there are a lot of options available in getting everything configured the way you want it.   Also, be sure to go into the Settings-controls section of FSX and deselect the joystick button assignments so you don't end up with conflicts.  All except the POV 1 assignment as I find it best to leave that set in FSX. 

 

Cheers.  :smile:

"For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return."

-Leonardo da Vinci  (some experts question the attribution, but I'll go with it for now.) 

 

The Saitek  Software is a problem, I know first hand. Listening to the comments about FSUIPC makes sense. I have it but have never used it for my controller, but will use it now.

  • Author

Thanks all slowly getting to grips with it

just got to get on with the mode switches now lol

thanks

Pete Little

dumped Saitek software and drivers back in XP days.  Only use fsuipc and windows drivers.  Fsuipc allows "per aircraft" control assignments, so you don't really need mode switches.

 

scott s.

.

Thanks all slowly getting to grips with it

just got to get on with the mode switches now lol

thanks

Using FSUIPC and the 'conditional' button/switch assignment capability you can have multiple modes however you

will need to be savy to editing the FSUIPC.ini file to achieve the ultimate in flexability.

 

I use a method that determines the 'mode' by the contents of one of the user-defined offsets. All the siwtches on my Saitek Pro dual throttle quadrants have multiple finctions based upon the current 'mode'.

 

In my A2A B-17G I have 9 'modes'....each of 10 switches have 9 functions. Thus my throttle quad switches cotrol 90 functions. In theory I could expand to 256 'modes' but so far the most I've needed for any aircraft has been the 9 for the B-17G.

 

Just as an illustration, here is a section of my FSUIPC.ini file for the B-17G. User-defined offser 0x66C0 is the offset that defines the mode. The value is incremented or decremented using the 11th and 12th switches on my throttle quads. The other 10 take on their functions based on that setting. Note that in some cases I have multiple functions assigned to a switch for a given mode....One press of the switch causes 2,3 or 4 functions to be executed.

In the B-17 when I select an engine for starting, that same 'select' also switches the fire extinguisher to that engine and also sets the primer selector to that engine.

 

Here are the first 5 'modes' for the B-17G. (Note that I use letter assignments for my controllers instead of numbers "A" and "D" are my two throttle quads)

[Buttons.Boeing B-17G]
!1=//SET 1 GENERATORS, FUEL PUMPS, FUEL VALVES, CONTROLS LOCK
0=B66C0=0 PD,14,CM6:39,0 ;//TOGGLE ENG1 FUEL VALVE
1=B66C0=0 PD,16,CM6:40,0 ;//TOGGLE ENG2 FUEL VALVE
2=B66C0=0 PD,18,CM6:41,0 ;//TOGGLE ENG3 FUEL VALVE
3=B66C0=0 PA,0,CM6:42,0 ;//TOGGLE ENG4 FUEL VALVE
4=B66C0=0 PD,15,C66340,0 ;//TOGGLE FUEL PUMP 1
5=B66C0=0 PD,17,C66341,0 ;//TOGGLE FUEL PUMP 2
6=B66C0=0 PD,19,C66342,0 ;//TOGGLE FUEL PUMP 3
7=B66C0=0 PA,1,C66343,0 ;//TOGGLE FUEL PUMP 4
8=B66C0=0 PA,2,CM6:45,0 ;//CONTROLS LOCK OFF
9=B66C0=0 PA,2,CM6:46,0 ;//CONTROLS LOCK OFF
10=B66C0=0 PA,3,CM6:45,1 ;//CONTROLS LOCK ON
11=B66C0=0 PA,3,CM6:46,1 ;//CONTROLS LOCK ON

!2=//SET 2 STARTERS ENG 1 - 4 CLEAR START & MESH SET 4 PRIMER & PUMP - ALL MACROS
20=B66C0=1 PD,14,CM6:5,0 ;//STARTER ENG 1 - SET PRIMER TO ENG 1 MACRO
21=B66C0=1 PD,16,CM6:5,2 ;//STARTER ENG 2 - SET PRIMER TO ENG 2 MACRO
22=B66C0=1 PD,18,CM6:6,2 ;//STARTER ENG 3 - SET PRIMER TO ENG 3 MACRO
23=B66C0=1 PA,0,CM6:6,0 ;//STARTER ENG 4 - SET PRIMER TO ENG 4 MACRO
24=B66C0=1 PD,15,CM6:7,0 ;//MESH ENG 1
25=B66C0=1 PD,17,CM6:7,2 ;//MESH ENG 2
26=B66C0=1 PD,19,CM6:8,2 ;//MESH ENG 3
27=B66C0=1 PA,1,CM6:8,0 ;//MESH ENG 4
28=B66C0=1 PA,2,CM6:5,1 ;//CLEAR STARTER 1/2
29=B66C0=1 PA,2,CM6:6,1 ;//CLEAR STARTER 3/4
30=B66C0=1 PA,2,CM6:7,1 ;//CLEAR MESH 1/2
31=B66C0=1 PA,2,CM6:8,1 ;//CLEAR MESH 3/4
32=B66C0=1 PA,2,CM6:30,0 ;//SET PRIMER SELCT TO OFF
33=B66C0=1 PA,3,CM6:31,1 ;//ACTIVATE PRIMER
34=B66C0=1 PD,14,CM6:30,1 ;//SET PRIMER SELCT TO ENG 1
35=B66C0=1 PD,16,CM6:30,2 ;//SET PRIMER SELCT TO ENG 2
36=B66C0=1 PD,18,CM6:30,3 ;//SET PRIMER SELCT TO ENG 3
37=B66C0=1 PA,0,CM6:30,4 ;//SET PRIMER SELCT TO ENG 4
38=B66C0=1 PD,14,CM6:37,1 ;//SET FIRE EXT. SWITCH TO ENG 1
39=B66C0=1 PD,16,CM6:37,2 ;//SET FIRE EXT. SWITCH TO ENG 2
40=B66C0=1 PD,18,CM6:37,3 ;//SET FIRE EXT. SWITCH TO ENG 3
41=B66C0=1 PA,0,CM6:37,4 ;//SET FIRE EXT. SWITCH TO ENG 4
42=B66C0=1 PA,2,CM6:37,0 ;//SET FIRE EXT. SWITCH TO OFF

!3=//SET 3 MAGNETOS, INVERTERS
50=B66C0=2 RD,14,Cx11000892,x00030001 ;//MAG1 INC
51=B66C0=2 RD,15,Cx21000892,x00000001 ;//MAG1 DEC
52=B66C0=2 RD,16,Cx1100092A,x00030001 ;//MAG2 INC
53=B66C0=2 RD,17,Cx2100092A,x00000001 ;//MAG2 DEC
54=B66C0=2 RD,18,Cx110009C2,x00030001 ;//MAG3 INC
55=B66C0=2 RD,19,Cx210009C2,x00000001 ;//MAG3 DEC
56=B66C0=2 RA,0,Cx11000A5A,x00030001 ;//MAG4 INC
57=B66C0=2 RA,1,Cx21000A5A,x00000001 ;//MAG4 DEC
58=B66C0=2 PA,2,CM6:38,0 ;//INVERTER SWITCH ON
59=B66C0=2 PA,3,CM6:38,2 ;//INVERTER SWITCH OFF
60=B66C0=2 UA,3,CM6:38,1 ;//INVERTER SWITCH NEUTRAL
61=PA,2,CM6:83,50 ;//SUIT HEATER 1 50%
62=PA,2,CM6:84,50 ;//SUIT HEATER 2 50%
63=PA,3,CM6:83,0 ;//SUIT HEATER 1 0%
64=PA,3,CM6:84,0 ;//SUIT HEATER 2 0%

!4=//SET 4  GENERATORS, RADIO POWER, PITOT HEAT, MASTER IGN, APU, BATTERIES
70=B66C0=3 PD,14,CM6:13,0 ;//TOGGLE GENERATOR 1 MACRO
71=B66C0=3 PD,15,CM6:64,1 ;//RADIO POWER
72=B66C0=3 PD,16,CM6:14,0 ;//TOGGLE GENERATOR 2
73=B66C0=3 PD,17,C65858,0 ;//PITOT HEAT
74=B66C0=3 PD,18,CM6:15,0 ;//TOGGLE GENERATOR 3
75=B66C0=3 PD,19,C66535,0 ;//MASTER IGNITION TOGGLE
76=B66C0=3 PA,0,CM6:16,0 ;//TOGGLE GENERATOR 4
77=B66C0=3 PA,1,CM6:32,0 ;//APU MACRO
78=B66C0=3 PA,2,CM6:18,1 ;//BATTERY 1 ON  MACRO
79=B66C0=3 PA,2,CM6:19,1 ;//BATTERY 2 ON  MACRO
80=B66C0=3 PA,2,CM6:20,1 ;//BATTERY 3 ON  MACRO
81=B66C0=3 PA,3,CM6:18,0 ;//BATTERY 1 OFF  MACRO
82=B66C0=3 PA,3,CM6:19,0 ;//BATTERY 2 OFF  MACRO
83=B66C0=3 PA,3,CM6:20,0 ;//BATTERY 3 OFF  MACRO

!5=//SET 5 COWL FLAP SETTINGS,HYDR PUMP MODE,CARB FILTER
90=B66C0=4 RD,14,C66329,99 ;//OPEN COWL FLAPS 1
91=B66C0=4 RD,15,C66330,1 ;//CLOSE COWL FLAPS 1
92=B66C0=4 RD,16,C66331,99 ;//OPEN COWL FLAPS 2
93=B66C0=4 RD,17,C66332,1 ;//CLOSE COWL FLAPS 2
94=B66C0=4 RD,18,C66333,99 ;//OPEN COWL FLAPS 3
95=B66C0=4 RD,19,C66334,1 ;//CLOSE COWL FLAPS 3
96=B66C0=4 RA,0,C66335,99 ;//OPEN COWL FLAPS 4
97=B66C0=4 RA,1,C66336,1 ;//CLOSE COWL FLAPS 4
98=B66C0=4 UD,14,C66330,0 ;//SET COWL FLAP SWITCH TO NEUTRAL ON RELEASE
99=B66C0=4 UD,15,C66329,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
100=B66C0=4 UD,16,C66332,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
101=B66C0=4 UD,17,C66331,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
102=B66C0=4 UD,18,C66334,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
103=B66C0=4 UD,19,C66333,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
104=B66C0=4 UA,0,C66336,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
105=B66C0=4 UA,1,C66335,0 ;//SET COWL FLAP SWITCH TO NEUTRAL
106=B66C0=4 RA,2,CM6:43,1 ;//HYDRAULIC MODE MANUAL
107=B66C0=4 UA,2,CM6:43,0 ;//HYDRAULIC MODE AUTO
108=B66C0=4 PA,3,CM6:44,0 ;//CARB FILTER TOGGLE

The next two lines are the 'mode select' switch assignments:
161=PA,4,Cx510066C0,x00080001 ;//INCREMENT 0X66C0 VALUE BY 1, MAX 8 THEN 0, CYLCLIC
162=PA,5,Cx610066C0,x00080001 ;//DECREMENT 0X66C0 VALUE BY 1, MIN 0 THEN 8, CYLCLIC

It is not complicated to achieve this sort of flexability. You jut need to read and re-read the "FSUIPC4 for Advanced Users.pdf" document. I also make use of Kua scripts...another powerful feature provided by FSUIPC4. The "FSUIPC Lua Library.pdf" document will reveal additional capabilities to custom sontrols programming.

 

One of the things I use a Lua script for it to display the current assingments for each of my 10 switches when I change the 'mode'. A Lua small Lua window pops up for 2-3 seconds (programmable) that shows me what the assignments are for that mode so I don't have to remember them :)

 

Again, a 'sample' from my B-17G setup:

-- B-17G Control Set display routine
--
-- Last Edit 05/06/2011  Added C1 functions and Turbo Dial readout
--
function dispCS(offs, val)

  ipc.setdisplay(770, 50, 500, 100)
  conset=val
  if val == 0 then
    ipc.display("FUEL VALVE 1 _ 2 _ 3 _ 4 _ CTL LOCK OFF\nFUEL PUMP  1 _ 2 _ 3 _ 4 _ CTL LOCK ON\nControl Set = "..conset, 10)
  end

  if val == 1 then
   ipc.display("START  1 _ 2 _ 3 _ 4 _CLEAR\nMESH   1 _ 2 _ 3 _ 4 _PRIMER \nControl Set = "..conset, 10)
  end

  if val == 2 then
   ipc.display("MAGNETO INC 1 _ 2 _ 3 _ 4 _ INVERTER ON\nMAGNETO DEC 1 _ 2 _ 3 _ 4 _ INVERTER OFF\nControl Set = "..conset, 10)
  end

  if val == 3 then
   ipc.display("GEN 1  _ GEN 2 _ GEN 3 _ GEN 4 _ BATTERY ON \nRADIOS _ PITOT _ IGN   _ APU    _ BATTERY OFF\nControl Set = "..conset, 10)
   end

  if val == 4 then
   ipc.display("COWL FLAPS OPEN  1 _ 2 _ 3 _ 4 _  HYDR MODE\nCOWL FLAPS CLOSE 1 _ 2 _ 3 _ 4 _ CARB FILTER\nControl Set = "..conset, 10)
   end

  if val == 5 then
   ipc.display("IC FLAPS HOT   1 _ 2 _ 3 _ 4 _ TW LOCK\nIC FLAPS COLD 1 _ 2 _ 3 _ 4 _ OXYGEN\nControl Set = "..conset, 10)
  end

  if val == 6 then
   ipc.display("C1 AP _ GPS _ DRIFT METER  _ PANEL _ MP INC  \nANR75 _ MAP _ AP CHART      _ TAGS  _ MP DEC\nControl Set = "..conset, 10)
  end

  if val == 7 then
   ipc.display("C1 MSTR ON _ C1 AIL ON  _ C1 EL ON   _ C1 EL UP   _ C1 TURN RIGHT\nC1 MSTR OFF_ C1 RUD ON _ TT LIGHTS _ C1 EL DWN _ C1 TURN LEFT\nControl Set = "..conset, 10)
  end

  if val == 8 then
   ipc.display("BAY DOORS _ BOMB BAY _ BOMBARDIER 1 _  NAV    _ LAND LIGHTS \nBOMBS AWAY_ BDA VIEW _ BOMBARDIER 2 _ BEACON _  STROBE\nControl Set = "..conset, 10)
  end
end

function BOMBS_AWAY(offs, val3)
   State = "L:BomberCallSwitch"
  Bomb_Switch = ipc.readLvar(State)

 if Bomb_Switch == 1 then
 	ipc.display("BOMB DROP COMMANDED", 1)
	i = 0
    ipc.sleep(2500)
	while i < 12 do
	ipc.macro("A2A_B17G:BOMB_DROP")
	ipc.keypress(68, 1)
	ipc.sleep(350)
	i = i + 1
	end
	ipc.display("BOMBS AWAY!", 2)
 end
end

function C1_ELEVATOR(offs, val4)
	ELEVATOR_in = ipc.readSB(0x66C3)
	ipc.writeLvar("L:c1CenterElevatorKnob", ELEVATOR_in)
	ipc.display("Elevator Knob = "..ELEVATOR_in, 1)
end

function C1_TURN(offs, val6)
	TURN_in = ipc.readSB(0x66C4)
	ipc.writeLvar("L:c1TurnControlKnob", TURN_in)
	ipc.display("Turn Knob = "..TURN_in, 1)
end

function TURBO_DIAL(offs, val5)
	TURBO_in = ipc.readLvar("L:DialTurbocharger")
	TURBO_out = math.floor(TURBO_in)/10
	ipc.display("Turbo Dial = "..TURBO_out, 1)
end

event.offset(0x66C0,"UB","dispCS")

event.offset(0x66C2,"UB","BOMBS_AWAY")

event.offset(0x66C3,"SB","C1_ELEVATOR")

event.offset(0x66C4,"SB","C1_TURN")

event.offset(0x66C5,"UB","TURBO_DIAL")

Once you have set up one aircraft, the rest will be a snap :)

 

   Paul

Wide-5.jpg

  • Author

Thanks Paul

lot to learn but got all winter to read up thanks

 

Pete

Pete Little

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.