######################################### # Configuration file for specifying SimConnect variables which will be available as Touch Portal states. # Standard .ini file format: # # and ; chars start a comment. # Trailing (in-line) comments are allowed. # Blank lines are ignored. # Spaces around key=value = signs are optional. # String values with spaces or comment chars _must_ be quoted. # # An example entry describing each possible parameter (some are required, others have reasonable default values): # # [RPMN1Engine1] ; Unique ID string for this state (this will be used as the last part of the Touch Portal State ID). Required. # ; Must be unique among all other variable requests. # CategoryId = Engine ; The category ID this state will be sorted into in Touch Portal selectors. Must be a known category ID from ones shown below. Required. # ; Available categories: AutoPilot, Camera, Communication, Electrical, Engine, Environment, Failures, FlightInstruments, FlightSystems, Fuel, Miscellaneous, SimSystem # VariableType = A ; The variable type designator, as per MSFS RPN docs (mostly): https://docs.flightsimulator.com/html/Additional_Information/Reverse_Polish_Notation.htm # ; One of: 'A' (default, SimVar), 'B', 'C', 'E', 'L', 'M', 'P', 'R', 'Z', plus 'T' for Token and 'Q' for calculator code. # Name = "RPM - Engine 1" ; Descriptive name for this state, shown in Touch Portal and maybe other UI. Required. # SimVarName = "ENG N1 RPM:1" ; Name of corresponding Simulator variable _or_ the calculator code to execute for 'Q' types. Required. # ; Indexed SimVars must include the index number in the name, after a colon (:) character (as in the example). # Unit = "percent" ; Expected SimConnect unit type name for this SimVar. Default is 'number'. 'A' (SimVar) and a few other variable types ('E') will return values in the specified units. # ; This is generally the text shown in "Units" column of MSFS SDK Simulator Variables reference, though the officially recognized unit names are listed in # ; https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Simulation_Variable_Units.htm . This field is ignored for 'Q' (calculator code) type requests. # ; Some common ones: "Bool", "knots", "feet", "degrees", "radians", "percent, "percent over 100", "MHz", "string" # CalcResultType = Double ; For 'Q' (calculated) type variables only (for which it is required), specifies the expected result type. # ; One of: Double, Integer, String, Formatted (the latter uses special RPN string formatting language). # CanSet = True ; Used for SimVars ('A' type), indicates if this SimConnect variable is settable (as per SimConnect specs). Optional, default is False; # DefaultValue = "0" ; Default value when no data has been received from Simulator. Optional, default is blank. # StringFormat = "0.0#" ; How to format the value for display. Optional, default is no special formatting, just show the value as-is. # ; Formatting string references: # ; https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings # ; https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings # UpdatePeriod = Millisecond ; Determines how often the Simulator value is checked/updated. Optional, default is SimFrame. # ; Must be one of the following: Never, Once, SimFrame, Second, Millisecond, Default (same as SimFrame) # UpdateInterval = 100 ; The number of UpdatePeriod events that should elapse between data updates. Optional, default is 0, which means the data is transmitted every UpdatePeriod. # ; Note that when UpdatePeriod = Millisecond, there is an effective minimum of ~25ms. # DeltaEpsilon = 0.009 ; Only report change if it is greater than the value of this parameter. Optional, default is 0.0 which will report all changes. # ; For example for unit "percent over 100" (value range of 0.0 - 1.0), to detect fractional changes the epsilon value needs to be 0.0009 or smaller. # ########################################## # Category: Communication ############################## # [XpdrCode] CategoryId = Communication Name = "The transponder code" SimVarName = "TRANSPONDER CODE:1" Unit = "number" StringFormat = "0000" DeltaEpsilon = 0 [XpdrState] CategoryId = Communication Name = "The transponder state" SimVarName = "TRANSPONDER STATE:1" Unit = "number" StringFormat = "0" DeltaEpsilon = 0 CanSet = True # Category: Camera ############################## # [CameraRequestAction] CategoryId = Camera Name = "Camera action (1=>Reset)" SimVarName = "CAMERA REQUEST ACTION" Unit = "number" StringFormat = "0" DeltaEpsilon = 0 CanSet = True [CameraState] CategoryId = Camera Name = "Camera State" SimVarName = "CAMERA STATE" Unit = "number" StringFormat = "0" DeltaEpsilon = 0 CanSet = True [CameraViewType] CategoryId = Camera Name = "Camera View Type Enum" SimVarName = "CAMERA VIEW TYPE AND INDEX:0" Unit = "number" StringFormat = "0" DeltaEpsilon = 0 CanSet = True [CameraViewIndex] CategoryId = Camera Name = "Camera View Index" SimVarName = "CAMERA VIEW TYPE AND INDEX:1" Unit = "number" StringFormat = "0" DeltaEpsilon = 0 CanSet = True [CockpitCameraHeight] CategoryId = Camera Name = "Cockpit Camera Height" SimVarName = "COCKPIT CAMERA HEIGHT" Unit = "percent" StringFormat = "0" DeltaEpsilon = 0 CanSet = True