Jump to content

Highest Reputation Content

#417029 Updated modules

Posted by Pete Dowson on 18 October 2010 - 11:14 PM

  • Note that mostly this Announcement will contain only the changed modules. You will almost always need the main release installed first. For those please go to http://www.schiratti.com/dowson

The FS modules here, when supplied without Installer, need copying into the FS modules folder once extracted.

Please note the format here. The links for all the updates are listed first. For interim releases only, notes about changes are listed separately, below.

Install complete FSUIPC version 3.999z8 Install FSUIPC 3.999z8 for FS9 and before

-- For changes see the History document in the full install update.

FSUIPC version 3.999z9a only, for those with 3.999z1 or later already installed FSUIPC 3.999z9a

-- Fixes an ancient and obscure bug which nevertheless can crash FS on loading with certain INI file arrangements.



Install complete FSUIPC version 4.948 Install_FSUIPC4.948 for FSX, FSX-SE and Prepar3D versions 1.4, 2.0-2.5 and 3.0

See included document for main list of changes

-- Automatically assigns missing joystick IDs (like JoyIDs) -- now improved!

-- Fixes problem in Lua with keycode 135 used in event.key function

-- Adds offsets for the three wheel RPM values

FSUIPC version 4.948 only, for those with 4.946 or later already installed FSUIPC 4.948


WideFS version 6.999m WideFS 6.999m
Full release including documentation.
-- signature removed

-- See WideClient changes below.


WideClient 6.999x WideClient 6.999x

-- 6.999x adds "ReconnectMinutes", a facility to automatically reconnect periodically.



PFC driver version 2.41 for FS9 and earlier PFC 2.41
PFCFSX driver version 4.41 for FSX, ESP and P3D PFCFSX 4.41
-- signatures removed


PFC HID device driver version 1.41 for FS9, FSX, ESP and P3D PFCHID 1.41
-- signature removed
-- 1.33 fix for AP APR mode not setting Glideslope option

-- 1.34 fix for macro name matching and proper macro file selection on aircraft change

-- 1.35 fix for a silly bug introduced in 1.34 which could significantly slow FS down!

-- 1.36 eliminates a 1-2 second pause when AutoSave options are in use

-- 1.37 added support for separate macros for positions on multiway switches

-- 1.38 and 1.39 only added clearer logging, especially for macro file selection

-- 1.41 fixes some further macro selection problems



Pete Dowson 2nd November 2015

  • 3

#468207 Lua programs to access your Saitek Radio, Switch and Multi panel

Posted by kamarad on 19 May 2014 - 08:22 PM



This post explains how you can use a LUA routine to access the status of the buttons/switches/selectors/gear and flaps lever and trim wheel (herewith named collectively as Buttons) on 3 Saitek panels using FSUIPC and Linda. The first section presents a quick instruction to start gathering information  based on lua program attached to this post. The second section gives a simple example of a Lua program that access the Saitek panel buttons status and select specific FSX/P3D actions accordingly. The third section goes more into the details about how this LUA programs was made.


You need a registered version of FSUIPC for this to work.


Section 1 – Quick Start


Download and install the relevant LUA routines;


Attached to this post are 3 Lua programs corresponding to the 3 Saitek panels. You just need to install the ones corresponding to the panel you own.  The 3 Lua programs are:


-          HIDRadio.lua

-          HIDMulti.lua

-          HIDSwitch.lua


Note; I have renamed the 3 programs with a .txt exension for upload as the system doesnt allow to upload .lua files. You will need to change the extension back to .lua before using them.


To install them, just drop the ones corresponding to the panel you own into the “module” directory of FSX/P3D.


Automatic start of the LUA programs


The LUA programs selected above must run in permanence to scan the status of the buttons and map (copy) this information into specific address of the FSUIPC offsets. To inform FSUIPC that those programs must start and run continuously, it is necessary to add the following lines to the FSUIPC.ini files (located in the module directory of FSX/P3D).



1=lua HIDRadio

2=lua HIDMulti

3=lua HIDSwitch


On the next start-up of FSUIPC, the Lua program will start to scan the status of the buttons and selector on Saitek panels.


Checking with FSUIPC logging facility that the Lua programs are in place and operating


FSUIPC has a built in logging facility that can be useful to check the proper operation of the Lua programs and the correct mapping of switches to the offset address.


Go to the FSUIPC Logging tab and on the right part of the screen, enter the following information:


Offset   Type of data       Remark

3358       U32                        Saitek Radio panel offset address

335C      U32                        Saitek Multi Panel offset address

3360       U32                        Saitek Switches Panel offset address


Then click on “FS window” and you should have a green message on the top left of your screen. Move some selectors or push buttons on each of your panels and see if the values on screen change according to the position of the buttons. An annex at the end of this post gives the value of each button.


Note1  : The knob just send a short pulse so the number on screen will just change very rapidly and come back to the value prior to moving the knob when you stop moving it.

Note 2: The buttons just change status while they are pressed, they doesn’t indicate the status of the corresponding function. Ex: the Autopilot button will just send a ON status when you press the button. So this is not intended to test if functions like the AP are engaged or not. It’s just to test the instantaneous position of the hardware buttons.


Make sure you have version 4.934 as the previous one has a problem that killed lua programs on start-up and caused me a couple of evening of head scratching... 4.934 solved this as soon as I installed it.


Accessing the information from within a LUA program in Linda


Now everything is in place and you have the possibility to access the information on your panel switch.


For simple assignation of a single button, you usually doesn’t need complex programming as FSX, Spad or Linda menu all allow you to directly select FSX/P3D commands. On the other hand, if you want to combine the status from different buttons to trigger a specific FSX/P3D action, then you need to use a Lua program (you can also use FSUIPC conditional button programming but Lua is more flexible).


Using Linda, it is possible to assign user created Lua program to a button so the program is called when the button is push (or a switch is move to the “on” position or a selector is put in a specific position). The Lua program allows you to test the status of others buttons and makes your program act accordingly to send the proper FSX/P3D command.


In Linda, you can create individual LUA program module (a module can contain several Lua program) for each aircraft. Linda includes also a text editor that makes creation of Lua program easy. Some functions in the Lua library allow reading specific address in FSUIPC offsets. Each address that will be assigned to the 3 Saitek panels covered here will contain between 18 to 20 bits of useful information (not considering the LED display) that correspond to all the buttons, switches, selectors and gear and flaps lever of the panel. The switches panel for instance contains 20 bits of information that you can test. The address to use in order to read each panel information are:  


0x3358 = Radio panel

0x335C = Multi panel

0x3360 = Switch panel


Note : You can assign other address if those one are already used for other purposed on your setup. You will need to modify the HIDxxx.lua program that correspond to the device you want to change.


Note: The "0x" in the adress above just means that its written in hexadecimal notation. You will need to include the 0x within Lua program otherwise it will consider that the address provided is decimal. Please note that in the FSUIPC logging page, you don’t need to include the 0x as this page always consider that the value entered is hexadecimal.


There are two main functions within Lua programs that can help you to read buttons status.


First, the following Lua program line read all the bytes of information from the Saitek Radio panel and put it in a variable named “pos”.


pos = ipc.readUB(0x3358)


But the value returned is not quite useful by itself as it represents the cumulative sum of all the individual bits for switches that are in the “on” position resulting in a large number of possible values. You then need to isolate the value that you are specifically interested by using the following function (here represented in a separate line).


pos = logic.And(pos,mask).


Here mask correspond to the specific value (or sum of values) you are interested in. For instance, if you are interested to test if the position of the magneto switch is at the “right” position on the Saitek switch panel, then the value for the mask is 32768 (see annex for all possible values) and the Lua program line becomes


Pos = logic.And(pos,32768)


Section 2 : Example for the Duke piston or Douglas C-47 Magneto selector


In the Duke Piston from Real air (and Douglas C-47 from Manfred Jahn), the magneto animation in the VC are reversed compared to the Saitek switch magneto button for the “left” and “right” position which create a weird jump in the VC while you move the magneto selector on your Saitek panel.

-          Duke Piston/Douglas C-47 VC magneto selector order: Off – Left – Right – Both – Start

-          Saitek Switch panel magneto selector order: Off – Right – Left – Both - Start


So the objective is to program a function in a Linda module that will reverse the operation of the left and right magneto position between the Saitek panel and the VC. In addition, we want to test the position of the upper mode button for the Saitek radio panel to determine if we want to operate the motor 1 or 2. Spad has a built-in functionality that allows using several switches (ex: Aternator, fuel pump, cowl, de ice)  to act on motor 1 or on motor 2 according to the position of the top selector on the Radio panel and we want to replicate this functionality here.


First you need to create a module for your targeted aircraft if it’s not already existing. See Linda documentation to do this.


Then you need to copy the following program (or use the Magneto.txt file provided) into the aircraft module using Linda editor screen. Again, refer to Linda documentation to see how to open the editor.


The title between double hash characters is recognized by Linda as a heading separator for functions. It makes easier to identify function you have created.

Comments (text preceded by --) in the program below provide detailed comments for each steps.


-- ## Magneto ##


Function MagLeftVC ()


-- This function handle the reversal of the magneto in the VC panel compared to the Saitek selector.

-- It is activated when the selector on the Saitek switch panel will be put at the left position. 

-- It will result in positionning the VC magneto selector to the "right" position.

-- The Saitek Radio top left selector at position COM1 means that the left engine is considered. If the selector is at the COM2 position, then the right engine will be treated.


-- The information about the radio panel status is at offset 0x3358

-- reading the offset to get all Radio panel switches current status


pos = ipc.readUB(0x3358)


-- The next line of lua code will isolate the bits of information we are interested in

-- mask = 1 would be usefull ot test if the top left selector at the COM1 position

-- mask = 2 would be appropriate to test if the top left selector at the COM2 position

-- Mask = 3 accept both COM1 and COM2 and will return either 1 or 2 as the selector

--   can be only in one of the two positions at a given time.

--   If the selector is not at COM1 or COM2, then the logic.And function will return zero and no action will be done.


pos = logic.And(pos,3)


-- the next group of lines will send the command to put the magneto for left or right motor in the right position in the VC.

-- 66400 is the Magneto1_set command for FSX/P3D

-- 66401 is the Magneto2_set command for FSX/P3D

-- The parameter 2 is for the “right” position of the magneto


if pos ==1 then ipc.control(66400,2)

else if pos ==2 then ipc.control(66401,2)




Function MagRightVC ()

-- same approach as for the left mag function, without comments here

pos = ipc.readUB(0x3358)

pos = logic.And(pos,3)

if pos ==1 then ipc.control(66400,1)

elseif pos ==2 then ipc.control(66401,1)




Section 3 – Nut and Bolts.


This section provides some additional explanation on how the HIDRadio.lua program was created from the HIDDemo.lua program provided by Peter.


Step 1: Obtain HIDDemo.lua


We need to have a Lua program running continuously to scan the Saitek panel switch status then map this information in FSUIPC offset. The offset can then be read from a Lua program in a Linda module for an aircraft. Peter Dowson provided an example of a Lua program that scan HID device like the Saitek panels and write the information on offset. We just want to use his demo and modify it a bit.


The HidDemo.lua program is available in the complete install of FSUIPC4.


Or you can download the latest HidDemo.lua  example from : http://forum.simflig...and-wideclient/


Step 2: Create HIDRadio.lua


Make a copy of HIDDemo.lua and name it HIDRadio.lua (we will give only one example herewith but the same approach works for the switch and the multi panel also).


Step 3 – Adjust HID device identification


At the beginning of the HIDDemo.lua program, there is two lines that identify the Saitek panel (HID device) you want to communicate with. You have to insert the hexadecimal code for the vendor and for the product.  For instance the lines for the Saitek radio panel are:

-- Saitek Radio panel

Vendor = 0x06A3

Product = 0x0D05


If you dont know the HID device codes, there is a utility provided by Peter Dowson called HIDscanner.exe that gives a report about all devices connected to your PC and their vendor rand product codes.


I already run this utility to find the relevant information of the 3 following Saitek Products.


Radio Panel :

Vendor = 0x06A3

Product = 0x0D05

Multi Panel :

Vendor =0x06A3

Product = 0x0D06

Switch Panel :

Vendor =0x06A3

Product = 0x0D67


The HIDScanner.exe utility is available at the same link provided above on Peter support page.


Step 4 : Change the size and destination of information blocks


In HIDDemo.exe, you will find a loop of instruction toward the end of the program that read the status of the buttons on your HID device and copy it to a specific offset.  The loop is initially programmed for reading 8 blocks composed of 4 Bytes of information. For the Saitek panel switches, you only need to do it once as all information fit into a double world (32 bits of information).  So I cleaned the iteration loop (from 1 to 8 and adjusted the HIDDemo.lua program to do a single read of a 32 bits of information that is sufficient for the Saitek panels.


Next, you need to select the destination for the button information in the FSUIPC offset table. There is an ipc.writeUD instruction in the HIDDemo.lua program that was modified to correspond to an offset that was used for mapping.


The possible offset for the 9 contiguous blocks of 4 bytes (32 bits of information) are: 0x3340, 0x3344, 0x3348, 0x334C, 0x3350, 0x3354, 0x3358, 0x335C, 0x3360. See the “FSUIPC4 Offset Status.pdf” document provided with FSUIPC documentation. The Saitek version of HIDDemo.lua use the 3 last virtual joystick addresses so Joystick 71,72 and 73 located at 0x3358, 0x335C and 0x3360 respectively.


Step 5 : Install your newly created Lua program


Just copy them it in the “module” directory of FSX or P3D. If you have started with the quick start portion of this document, you have already done this.


Step 6 : Automatic startup of HIDRadio.lua


To start automatically your Lua program add the following lines in FSUIPC.ini. If you have applied the quick start instruction, its already done.



1=lua HidRadio


Step 7 : Create custom lua program


See the example provided for the Duke above.


Annex: Saitek panels reference of  “buttons” value


Saitek Radio Panel (20 bit of information + 2 bit unused)


Top left mode selector

1= Com1

2= Com2             

4= Nav1

8= Nav2

16= Adf

32= Dme

64= Xpdr

Bottom Left mode selector

128= Com1

256= Com2

512= Nav1

1024= Nav2

2048= Adf

4096= Dme

8192= Xpdr

16384 = Top right ACT/STB button

32768 = Bottom right ACT/STB button

65536 = Clockwise turn of the top knob

131072 (2E17)=Counter-clockwise turn of the top knob

1048576 (2E20) = Clockwise turn of the bottom knob

2097152 (2E21) = Counter-clockwise turn of the bottom knob


Saitek Multi Panel (20 bit of information)


Selector button

1= Alt

2= VS

4= IAS



32= Clockwise rotation of knob

64= Counter clockwise rotation of knob

128= AP button

256= HDG button

512= NAV button

1024= IAS button

2048= ALT button

4096= VS button

8192= APR button

16384= REV button

32768= Auto Throttle switch ON

65536= Flaps up (2^16)

131072= Flaps down (2^17)

262144= Elevator Trim Pitch up (2^18)

524288= Elevator Trim Pitch Down (2^19)


Saitek Switch panel (20 bit of information)


Note: The minimum value returned corresponds to the position of the landing gear handle plus the position of the magneto knob. 262144 is returned if the gear lever is UP and 524288 if the gear lever is DOWN.


1= Battery

2= Alternator

4= Avionic

8= Pump

16= De Ice

32= Pitot heat

64= Cowl

128= Panel

256= Beacon

512= Nav

1024= Strobe

2048= Taxi

4096= Landing


Magneto selector

8192= Off magneto

16384= Left Magneto

32768= Right Magneto

65536= Both Magneto

131072= Start Magneto

Landing gear lever

262144= Landing gear Up

524288 (2E19)= Landing Gear Down

Attached Files

  • 2

#451010 New FSUIPC4 registrations for 2013 need version 4.859n or later!

Posted by Pete Dowson on 14 January 2013 - 05:26 PM

Oops. Same date limit was in FSUIPC4 too!

  • 2

#450631 FS Commander won't let me load flightplans?

Posted by JerryJet on 03 January 2013 - 12:42 PM

So it can save flightplans in those formats, but can't then reload those very same flightplans unless they exist in FSC's format? And I paid $40 for this??? Can I just say how stupid that is?

Flightsim Commander is released as shareware letting you evaluate the program to see if it suits your needs. You can also read the exhaustive manual which explains how and why FSC saves flightplans. Numerous different planes/companies can be chosen when saving, but one is always checked and can never be unchecked. I'll let you figure out what that means.

  • 2

#486322 Confusing message when running Compile Airports Database

Posted by flying-w on 20 November 2015 - 01:55 PM

Hi Ray,

Glad I could point you in the right direction.  There will be a fix for STB for FSX in due course, after the P3D V3 work is complete



  • 1

#485467 Where can I find out what these codes mean?

Posted by Gypsy Baron on 26 October 2015 - 02:20 AM

I have my FSUIPC4 set to use letters for joystick assignments instead of the default numbers,

so in the above examples the second letter of the 2-letter code is the Joy# or JoyName as a letter.

This prevents problems should Windows re-assign a different number to a Joystick or controller.


This statement in the FSUIPC4.ini file forces the use of Letters instead of Numbers.



The first letter of the pair:


'P' is 'pulse when pressed, a single execution of the following command'

'R' is repeat while held'

'U' is 'pulse when released, the command is executed when the button is released'


'PD,14,' - execute the command when Button 14 of Joystick 'D' is pressed.

'UA,3,' - execute the command when Button 3 of Joystick 'A' is released.


The 'conditional' part of the above statements such as 'B66C0=0' indicates that the command

is executed ONLY when the value in offset 0x66C0' is 0.

The conditional code of 'B66C0=2' indicates that the command is only executed if the value in

offset 0x66C0 is 2.


I use the 'user-defined' offsets of 0x66C0 to 0x66FF for various purposed. In the cases above,

0x66C0 acts as my 'MODE' switch.


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


The 1st line above is 'unconditional' in that whenever Button 4 of Joystick A is pressed, the value

in offset 0x66C0 is incremented by 1, changing to the next 'MODE'  (The Cx510066C0,x00080001 part)


This is analogous to using the 3-position mode switch on the Saitek gear, but this method allows for

more 'MODES' that one could ever need/use. Up to 256 possible 'modes' in this case as 0x66C0 is

an unsigned byte (8 bits).


The 2nd line decrements the current mode by 1. The coding used here allows for 9 modes as the

CYCLIC feature counts up to 8 from 0, then rolls over to 0, or counts down from 8 to 0 and

rolls over to 8.



The P/D/U codes are explained on Page 19 of the "FSUIPC4 for Advanced Users.pdf".

Page 25 begins the discussion on using offsets in conditional statements.


This is the document you should be studying when it comes to setting up custom controls and

just plain understanding the operations that are possible with FSUIPC4.



  • 1

#485419 pete Want to ask you a question

Posted by Pete Dowson on 25 October 2015 - 01:53 PM

You posted the same thing twice, and this is the wrong place to reach me fast. Please be more patient and don't keep reposting.



How to navigate in the fsuipc development point of import into it What position that can understand me on the plane Thus in the map to know or have predecessors to solve this problem?


I am very sorry, but I do not understand the question. If you mean how to get the position of the plane, i.e. the Latitude and Longitude, then FSUIPC supplies these through offsets. You would need to write a program to interface to FSUIPC to read the Latitude and Longitude offsets.


I'm sure Paul Henty's excellent .NET DLL would help you with the programming side.


In future please entitle your threads with the actual subject of your question.



  • 1

#485341 256-button HID as joystick

Posted by Pete Dowson on 23 October 2015 - 08:03 AM

I don't remember the exact explanation for this, but It's to do with the way USB devices work, relative to an ordinary serial port device.


The COM functions were designed for normal RS232 type connections (like my PFC equipment, and USB HID support added later. FSUIPC is effectively polling continuously for data, and most ordinary serial devices supply none unless there is some. But USB returns a packet every time, whether anything's changed or not.


The readlast function was added to make things more efficient, rather than processing every single frame in a loop. You'd use your changed code for normal serial port devices.otherwise you could miss stuff.


Why did you change a working program in any case?



  • 1

#485084 Offset for Flight Phases:

Posted by Pete Dowson on 17 October 2015 - 09:58 AM

I am looking for an offset on the SDK which tells you in which flight phase are you,... like: "On Ground", "Taxing", "Push Back"....


There isn't anything I'm aware of which keeps track of the user aircraft "flight phases", only AI traffic. Normally the pilot is aware of what he is doing.


You can tell from offsets when you are on the ground, whether you are moving forward or backward, whether you are climbing, flying leveel or descending. I suppose you could read all the necessary values and deduce what you are doing.



  • 1

#484963 Patches and BR2 files

Posted by Ian P on 14 October 2015 - 06:36 PM

They're replacement airfield faclities (AFD) files, adding parking spaces to airfields and airports that otherwise don't have them or don't have ones appropriate to the traffic that the location recieves.


Ian P.

  • 1

#484958 Patches and BR2 files

Posted by doudou on 14 October 2015 - 04:25 PM


  • 1

#484680 Displaying ADF frequency (offsets 02D4 and 02D6)

Posted by spokes2112 on 10 October 2015 - 12:04 PM

Maybe this will help - referring to THIS post & then splitting the upper and fractions into their own variable by reading them as byte, per offset,  instead of word. This will help in reading ADF1 at offsets 0x034C & 0x0356 - not contiguous.  
Quick & dirty, not tested at all. The formatting may be off due to not testing.
adf2_main = ipc.readUW(0x02D4)
adf2_frac = ipc.readUB(0x02D6)
adf2_upper = ipc.readUB(0x02D7)

adf2_main = string.format("%3X", adf2_main)
adf2_frac = string.format("%01X", adf2_frac)
adf2_upper = string.format("%1X", adf2_upper)

ipc.display("ADF2 = " .. adf2_upper .. adf2_main .. "." .. adf2_frac .. " kHz")

  • 1

#484555 Elevation trim offset (xBC0): Min / Max values

Posted by Pete Dowson on 07 October 2015 - 03:47 PM

But it seems strange that when I reach 0 (zero) trimming down the elevator, instead of switching to negative values, the offset values start counting down from 65536, as shown in the image below, whereas in the List of Offsets it's clearly stated that elevator trim control input at offset xBC0 ranges from –16383 to +16383 being of type signed word (SW). Or, am I getting smth wrong?!


As the image shows, you are logging the value as a UW, Unsigned word! The values over 32767 will actually be negative. It's all in the interpretation -- you are just displaying them wrongly!



  • 1

#484323 P3D V3 Avatar

Posted by flying-w on 03 October 2015 - 02:01 PM

Hi Paul,

I'm sorry to say my workload is so full with other projects I won't be able to look at P3D V3 until the end of the year.  However, when the time comes it will be interesting to see what opportunities facilities such as avatar provide us with.  Perhaps now we have the "passenger avatar" that can board the plane, sit in the passenger seat and enjoy the inflight service?  It almost sounds like a new product, as there is for almost every other walk of life now: "Airline Passenger Simulator".



  • 1

#484024 Read value of FSX control?

Posted by Pete Dowson on 23 September 2015 - 12:34 PM

Oh, good to know that, thanks! What I mean is I cannot think of any other conditionality to use for checking the state of such a simple control as 66477. It's just a toggle switch with 2 parameters only


I think you are still misunderstand. The control 66477 does have any parameters at all. It is just a toggle.


Even the offset 0x3122 we discuss here doesn't seem to be a reliable condition to check against. Sorry but I cannot comment more on this since I don't know the specifics of what this marker sound offset controls - I just saw it on the list of offsets and it seemed to be the only option to use as a condition to check control's state.


More misunderstanding here too! A "control" which is also known inside FS as a "KEY EVENT" cannot have a "state". It is a message, an event, a command. I keep telling you this but you persist in misunderstanding. It's something you assign to a button or keypress. It does not exist outside of requesting the designated action! You cannot test for it afterwards because once it has been sent, that's it, it's gone!


# What condition(s) should be met so that the check of offset 3122 returns true or false? Again, I don't know much about this offset except that it's listed in FSUIPC document... If it doesn't control an actual marker sound then what?


3122 is a collection of 8 swtich settings, one in each bit of the byte. (Remember -- a byte is a collection of 8 bits). When a bit is set to 1 then it means that switch is ON (or True, if you like). When it is 0 then it is OFF (or False).


As I showed in my last reply, in the part you evidently ignored, to test the state of the switch you must test the state of the relevant bit. In the case of the Marker sound being enabled or not, it is bit 2, which is the 3rd bit up so worth 2 x 2 (2^2) or 4. (You DID refer to that FAQ thread I hope?).


! Will this help to check the control's (66477) state? I'm confused...


Controls cannot have states!! I keep telling you the same thing but you persist! :--(


# Where can I get more info/examples on LUA logic library? I read about it in on p.11 of the reference paper but there is just a table with not much details covered.


I think there are uses of the logic library in many of the Lua examples provided and written by others. But what is the problem? There are only a few logic actions. In arithmetic you have + Add - Subtract * Multiply and / Divide. you are aware of those, right? Well, logical operations have similar operations.


The main ones you'll need are And and Or, and maybe Not. In other programming languages And is represented by &, Or by | and Not by ~.


These pretty much accord with their meaning in English when operating on simply True and False values. With bits in bytes it's not much more complicated. But I cannot tutor you here. You'd be best Googling the subject.


Meanwhile why not use what I gave you? I seem to be wasting my time providing answers on a plate for you!  :sad:



  • 1

#484003 Problems with Windows 10 Autosave: The Answers!

Posted by Yakpilot on 22 September 2015 - 08:51 PM


I think I have found the cause of the autosaves not deleting in FSX-SE
When I installed the PMDG aircraft I think the installer created a flight sim folder called
Flight Simulator X - Steam Edition Files in c:\users\........\documents

If you have a standalone install of FSX steam edition it uses the standard FSX folder
Flight Simulator X Files. when I looked back at the FSUIPC log I posted it shows

15 System time = 21/09/2015 09:40:38
15 FLT UNC path = "\\HOMESIMPC\Documents\Flight Simulator X - Steam Edition Files\"

as my FSX SE is standalone I deleted the folder Flight Simulator X - Steam Edition Files
after moving the tutorial flight files to the folder - Flight Simulator X Files

Ran FSX after disabling the additional AlsoManage entries I added to the FSUIPC.ini file
and the autosaves update correctly with the delete/overwrites working perfectly
here is the latest FSUIPC log entry

0 System time = 22/09/2015 21:28:54
0 FLT UNC path = "\\HOMESIMPC\Documents\Flight Simulator X

I don't know how I missed this previously - I guess I was fixated on the problem rather than the cause ..... lol



  • 1

#484002 Tracker to keep record of your flights

Posted by Mario Dantas on 22 September 2015 - 08:29 PM



Unfortunately the trackR has a BIG issue till V19, no the V20 has fixed this an your software can run without problems, I wish to gret from you some feedback about this software before it becomes useless

  • 1

#483984 Problems with Windows 10 Autosave: The Answers!

Posted by Yakpilot on 22 September 2015 - 02:05 PM

Hi Pete
I have amended my PC settings and used FSUIPC functions to eliminate the autosave issues under windows 10
and thought it might benefit others, subject to your approval
For me the 2-3 second hesitation was caused by windows antimalware service (Windows Defender)
using a lot PC  CPU/Memory resource. Unfortunately if realtime protection is turned off
manually it is automatically set to ON when the pc is next started.
However, Defender's settings options allows the user to add exclusions for:
specific folders / file types /processes and this was the fix I needed and it permanently
stops Defender causing the sim to pause.
If you have installed your own 3rd party antivirus/anti malware software check that
windows defender "realtime protection" is OFF
To access the settings screen
open the win 10 action center and select all settings
then Update and Security
select windows defender
select add an exclusion
The only exclusions actually needed was process-  adding the executable file for each sim,
I was taking no chances and included folders & file types to be 100% certain defender
does not quarantine/check any sim files
In processes I added
In folders I added;
c:/drive .... documents/folder names (where saved flight files are kept)for both sims
main install folder for each sim
In file types I added;
The hesitation was reduced significantly to a micro-pause (sometimes none) in both sims.
Next: non-deletion of autosave files
After reading the previous posts I had not been aware of the option to manage PMDG saves so;
For FSX-SE and prepar3d I followed the guide in FSUIPC documentation (thanks Pete)
and added lines to the sim FSUIPC.ini file to cover the 737/777 from PMDG
Your folder path will be different to mine. The short path did not work -
I added the fullpath instead.
AlsoManage1=H:\P3dv25\PMDG\PMDG 737 NGX\PanelState\*.fxml.sav
AlsoManage2=H:\P3dv25\PMDG\PMDG 737 NGX\PanelState\*.fxml.fmc
AlsoManage3=H:\P3dv25\PMDG\PMDG 777X\PanelState\*.fxml.sav
AlsoManage4=H:\P3dv25\PMDG\PMDG 777X\PanelState\*.fxml.fmc
AlsoManage1=J:\FSX Steam\steamapps\common\FSX\PMDG\PMDG 737 NGX\PanelState\*.FLT.sav
AlsoManage2=J:\FSX Steam\steamapps\common\FSX\PMDG\PMDG 737 NGX\PanelState\*.FLT.fmc
AlsoManage3=J:\FSX Steam\steamapps\common\FSX\PMDG\PMDG 777X\PanelState\*.flt.sav
AlsoManage4=J:\FSX Steam\steamapps\common\FSX\PMDG\PMDG 777X\PanelState\*.flt.fmc
To avoid the Autosaves accumulating out of control in FSX-SE I added extra lines
and found it worked well.
Use your actual "user" name not %username% otherwise I don't think it works
AlsoManage5=C:\Users\%username%\Documents\Flight Simulator X Files\*.FLT
AlsoManage6=C:\Users\%username%\Documents\Flight Simulator X Files\*.FSSAVE
AlsoManage7=C:\Users\%username%\Documents\Flight Simulator X Files\*.WX
It doesn't affect manual saves or the previous flight files generated by FSUIPC
With prepar3d Autosaves do not accumulate out of control.
I have no idea why only FSX is affected
I recorded two short videos for FSX-SE to show this working.
using basic default scenery and the other with FTX global and Active Sky next weather
Autosave setting - 2 saves every 15 secs helps show this working.
YouTube :
Here is my FSUIPC log created when seting up the vids.
I paused the sim while setting up the folders etc
before loading the 737. No simconnect disconnect, no errors
********* FSUIPC4, Version 4.945 by Pete Dowson *********
Reading options from "J:\FSX Steam\steamapps\common\FSX\Modules\FSUIPC4.ini"
Running inside FSX Steam Edition on Windows 8.0
Module base=66160000
User Name="xxxxxxxxxxxx"
User Addr="xxxxxxxxxxxxxxxxxx"
FSUIPC4 Key is provided
WideFS7 Key is provided
       15 System time = 21/09/2015 09:40:38
       15 FLT UNC path = "\\HOMESIMPC\Documents\Flight Simulator X - Steam Edition Files\"
       47 Trying to connect to SimConnect Steam ...
       47 FS UNC path = "J:\FSX Steam\steamapps\common\FSX\"
      156 LogOptions=00000000 00000001
      156 -------------------------------------------------------------------
      156 ------ Setting the hooks and direct calls into the simulator ------
      156 --- CONTROLS timer memory location obtained ok
      156 --- SIM1 Frictions access gained
      156 --- FS Controls Table located ok
      156 --- Installed Mouse Macro hooks ok.
      156 --- Wind smoothing fix is fully installed
      156 --- All links checked okay
      156 -------------------------------------------------------------------
      156 SimConnect_Open succeeded: waiting to check version okay
      156 Trying to use SimConnect Steam
      640 Running in "Microsoft Flight Simulator X", Version: 10.0.62615.0 (SimConnect: 10.0.62615.0)
      640 Initialising SimConnect data requests now
      640 FSUIPC Menu entry added
      656 J:\FSX Steam\steamapps\common\FSX\flights\other\FLTSIM.FLT
      656 J:\FSX Steam\steamapps\common\FSX\SimObjects\Airplanes\Aircreation_582SL\Aircreation_582SL.air
    10640 System time = 21/09/2015 09:40:48, Simulator time = 09:40:38 (16:40Z)
    10640 Aircraft="Aircreation582SL red"
    12422 Starting everything now ...
    12484 Run: "C:\spad\spad.exe"
    12484 Run: "c:\trackir5\trackir5.exe"
    13593 Advanced Weather Interface Enabled
   248593 Sim stopped: average frame rate for last 237 secs = 59.5 fps
   253047 J:\FSX Steam\steamapps\common\FSX\SimObjects\Airplanes\PMDG 737-800NGX\B737-800.air
   253922 Aircraft="PMDG 737-800NGX PMDG House"
  2321703 Sim stopped: average frame rate for last 2068 secs = 24.1 fps
  2337906 System time = 21/09/2015 10:19:35, Simulator time = 09:47:21 (16:47Z)
  2337906 *** FSUIPC log file being closed
Minimum frame rate was 17.1 fps, Maximum was 59.9 fps
Minimum available memory recorded was 2113Mb
Average frame rate for running time of 2305 secs = 27.7 fps
Memory managed: 1116 Allocs, 1116 Freed
********* FSUIPC Log file closed ***********
Software installed
Fsx Steam edition v10.0.62615.0 (DX10 Steve's scenery fixer)
Prepar3d v 2.5.12946.0
FSUIPC v4.9.4.5 (registered copy)
PMDG 737 V1.10.6461 777 V1.10.6492 for FSX-SE and P3d
FTX Global installed
active sky next weather via networked PC
CPU: i7 4790k @ 4.5ghz GPU: GTX980 16gb ram 2400ghz
Hyperthreading ON
Kevin H

  • 1

#483825 LUA Script for the VRS F/A-18E for FSX

Posted by Glenn Weston on 19 September 2015 - 04:31 AM

Hi Guys, No I am still kicken' around here Pete !!




This script to support the VRS SuperBug has now developed into a Suite of Script Modules that I have written using Pete's FANTASTIC Lua Libraries which now provide a FULL Cockpit I/O Interface to the VRS Superbug and is aptly named "SuperScript" for the VRS SuperBug. 


It handles many things, not just switches now. Current versions give access to Annunciators, Knobs using Pots, Rotaries with software acceleration, a Special TDC Radar Cursor Control and even non flight Gauge Instrument data extraction to build real instruments if you want. I have also written a module that allows VATSIM Transponder control from the F18's UFCD/MIP.

The package has complete built in on screen Diagnostic routines to help troubleshoot when assigning and building annunciator panels etc.


Shortly I will be adding UDP Network Packet transmission for all the output modules and am also considering a UDP INPUT Module too. 

So it is still currently being maintained by Myself and is only available from http://www.hornetpits.org That is a cockpit building site dedicated not only to the VRS Superbug builders but F18 Hornet builders in general, no matter what platform you are building on. However all are welcome and the signup to the forum is free, there is a wealth of knowledge at the site, so please take a look around, grab a coffee and make yourself at home.  


The current version is Version 2.08 and currently supports VRS Superbug/Tacpack

I am actively working on a 2.09 Release and in the middle of UDP Testing which is the reason for the delay, as I also have to write some documentation and it all takes time. 

There are dedicated Support threads for the package which I and others monitor and assist when required. 

The good news is that it is still available for download for free, I provide it as a "Donation Ware" package.


Here are some Links to get you going....


Downloads for Version 2.00 through 2.08 can be found here, registration will be required to access the download section :




For Support thread for the various versions, Really only the current 2.08 Version is supported.

Take a look through these links:


Version 1.04



Version 2.03



Version 2.04



Version 2.05



Version 2.06



Version 2.07



Version 2.08



Regards Glenn.

  • 1

#483622 Request airlines to be added to MyTraffic 6

Posted by Burkhard on 11 September 2015 - 07:04 PM

OK, that makes sense, I will add a cargo compatible version of that airport.

  • 1

About simFlight - simflight.com - simflight.de - simflight.fr - simflight.nl - simflight.pt - simflight.es - simflight.it - simflight.jp - simrussia.com - simMarket