User Tools

Site Tools


aircraft:tmd:inputs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
aircraft:tmd:inputs [2019/07/20 17:05] jhaircraft:tmd:inputs [2022/07/19 21:00] jh
Line 22: Line 22:
 E.g. you don't need to come up with different names for the graphics section than for the physics. Just re-use the same one everywhere. Much easier. E.g. you don't need to come up with different names for the graphics section than for the physics. Just re-use the same one everywhere. Much easier.
  
-E.g. In the GraphicObjects section you can **re-use the same name for the graphic object**, e.g. the hingedbodygraphics LandingLightSwitch can use the AngleID LandingLightSwitch.Output without problem. This speeds things up when you only need to copy paste. Sometimes you have to do more on the graphics side of things, then you could use the name with a "Graphics" at the end, e.g. "LandingLightSwitchGraphics" but you could also copy-paste the Geometry name, e.g. SwLdgLt... though this is not recommended as it is harder to decipher and generally costs more time because it can't be copy pasted to other places.+E.g. In the GraphicObjects section you can **re-use the same name for the graphic object**, e.g. the hingedbodygraphics LandingLightSwitch can use the InputID LandingLightSwitch.Output without problem. This speeds things up when you only need to copy paste. Sometimes you have to do more on the graphics side of things, then you could use the name with a "Graphics" at the end, e.g. "LandingLightSwitchGraphics" but you could also copy-paste the Geometry name, e.g. SwLdgLt... though this is not recommended as it is harder to decipher and generally costs more time because it can't be copy pasted to other places.
  
 **...Knob, ...Switch** **...Knob, ...Switch**
Line 79: Line 79:
             >             >
             <[input_button][ExampleButton][]             <[input_button][ExampleButton][]
-                <[string8][Input][Controls.Example]>+                <[string8][Message][Controls.Example]>
                 <[float64][InputValue][1.0]>                 <[float64][InputValue][1.0]>
                 <[string8][Events]       [ ButtonSoundIn.Trigger  ]>                 <[string8][Events]       [ ButtonSoundIn.Trigger  ]>
Line 107: Line 107:
                 <[string8][GeometryList][ ExampleButton ]>                 <[string8][GeometryList][ ExampleButton ]>
                 <[tmvector3d][Axis][ 1.0 0.0 0.0 ]>                 <[tmvector3d][Axis][ 1.0 0.0 0.0 ]>
-                <[uint32][AngleID][ExampleButton.Output]> +                <[uint32][InputID][ExampleButton.Output]> 
-                <[float64][Pos0][-0.001]> +                <[float64][Scaling][0.001]>
-                <[float64][Pos1][0.001]>+
             >             >
 </code> </code>
Line 207: Line 206:
             >             >
             <[input_switch][ExamleSwitch][]             <[input_switch][ExamleSwitch][]
-                <[string8][Input][Controls.Examle]>+                <[string8][Message][Controls.Examle]>
                 <[float64][Value][1.0]>                 <[float64][Value][1.0]>
                 <[string8][Events]       [ SwitchSoundOn.Trigger  ]>                 <[string8][Events]       [ SwitchSoundOn.Trigger  ]>
Line 236: Line 235:
                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>
                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>
-                <[string8][AngleID][ExampleSwitch.Output]> +                <[string8][InputID][ExampleSwitch.Output]> 
-                <[float64][AngleMax][0.6]>+                <[float64][Scaling][0.6]>
             >             >
 </code> </code>
Line 277: Line 276:
 The typical chain consists of ''control_cylinder'', ''input_discrete'', ''output_free'', ''hingedbodygraphics'' and ''sound_multi''. The typical chain consists of ''control_cylinder'', ''input_discrete'', ''output_free'', ''hingedbodygraphics'' and ''sound_multi''.
  
-The setup is similar to the toggle switch only with minor differences like the use of ''input_discrete'' and ''output_free'' as well as different values for Scaling/AngleMax and an no ''toggle'' option.+The setup is similar to the toggle switch only with minor differences like the use of ''input_discrete'' and ''output_free'' as well as different values for Scaling and an no ''toggle'' option.
  
 === ControlObjects === === ControlObjects ===
Line 329: Line 328:
             >             >
             <[input_discrete][ExamleSwitch][]             <[input_discrete][ExamleSwitch][]
-                <[string8][Input][Controls.Example]>+                <[string8][Message][Controls.Example]>
                 <[tmvector2d][Range][ 0.0 2.0 ]>                 <[tmvector2d][Range][ 0.0 2.0 ]>
                 <[float64][Value][1.0]>                 <[float64][Value][1.0]>
Line 362: Line 361:
                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>
                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>
-                <[string8][AngleID][ExampleSwitch.Output]> +                <[string8][InputID][ExampleSwitch.Output]> 
-                <[float64][AngleMax][0.3]>+                <[float64][Scaling][0.3]>
             >             >
 </code> </code>
Line 431: Line 430:
             >             >
             <[input_discrete][ExamleSwitch][]             <[input_discrete][ExamleSwitch][]
-                <[string8][Input][Controls.Example]>+                <[string8][Message][Controls.Example]>
                 <[tmvector2d][Range][ 0.0 2.0 ]>                 <[tmvector2d][Range][ 0.0 2.0 ]>
                 <[float64][Value][1.0]>                 <[float64][Value][1.0]>
Line 464: Line 463:
                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>
                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>
-                <[string8][AngleID][ExampleSwitch.Output]> +                <[string8][InputID][ExampleSwitch.Output]> 
-                <[float64][AngleMax][0.3]>+                <[float64][Scaling][0.3]>
             >             >
 </code> </code>
Line 528: Line 527:
             >             >
             <[input_knob][ExampleKnob][]             <[input_knob][ExampleKnob][]
-                <[string8][Input][Controls.Example]>+                <[string8][Message][Controls.Example]>
                 <[float64][InputValue][1.0]>                 <[float64][InputValue][1.0]>
                 <[string8][Events][ KnobSound.Trigger ]>                 <[string8][Events][ KnobSound.Trigger ]>
Line 553: Line 552:
                 <[tmvector3d][Axis][ -1.0 0.0 0.0 ]>                 <[tmvector3d][Axis][ -1.0 0.0 0.0 ]>
                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>
-                <[string8][AngleID][ExampleKnob.Output]> +                <[string8][InputID][ExampleKnob.Output]> 
-                <[float64][AngleMax][0.0872665]>+                <[float64][Message][0.0872665]>
             >             >
 </code> </code>
Line 612: Line 611:
  
 <code>            <[input_lever][ExampleLever][] <code>            <[input_lever][ExampleLever][]
-                <[string8][Input][Controls.Example]>+                <[string8][Message][Controls.Example]>
                 <[string8][InputEnable][1.0]>                 <[string8][InputEnable][1.0]>
                 <[tmvector2d][Range][ 0.0 1.0 ]>                 <[tmvector2d][Range][ 0.0 1.0 ]>
Line 644: Line 643:
                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>                 <[tmvector3d][Axis][ 0.0 -1.0 0.0 ]>
                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>                 <[tmvector3d][Pivot][ 0.0 0.0 0.0 ]>
-                <[string8][AngleID][ExampleLever.Output]> +                <[string8][InputID][ExampleLever.Output]> 
-                <[float64][AngleMax][1.0]>+                <[float64][Scaling][1.0]>
             >             >
 </code> </code>
Line 654: Line 653:
  
 <code>            <[input_lever2][Throttle1Input][] <code>            <[input_lever2][Throttle1Input][]
-                <[string8][Input0][Controls.Throttle1]> +                <[string8][Message0][Controls.Throttle1]> 
-                <[string8][Input1][Controls.ThrustReverse1]>+                <[string8][Message1][Controls.ThrustReverse1]>
                 <[float64][StepSize0][1.0]>                 <[float64][StepSize0][1.0]>
                 <[float64][StepSize1][2.2222222]>                 <[float64][StepSize1][2.2222222]>
Line 668: Line 667:
  
 <code>            <[input_button_rocker][RudderTrimKnob][] <code>            <[input_button_rocker][RudderTrimKnob][]
-                <[string8][Input][Controls.RudderTrim]>+                <[string8][Message][Controls.RudderTrim]>
                 <[string8][EventsUp]         [ RockerSoundIn.Trigger  ]>                 <[string8][EventsUp]         [ RockerSoundIn.Trigger  ]>
                 <[string8][EventsDown]       [ RockerSoundIn.Trigger  ]>                 <[string8][EventsDown]       [ RockerSoundIn.Trigger  ]>
Line 677: Line 676:
  
 <code>            <[input_switch_rocker][DirectionalGyroCorrectionSwitch][] <code>            <[input_switch_rocker][DirectionalGyroCorrectionSwitch][]
-                <[string8][Input][Navigation.DirectionalGyroCorrection]>+                <[string8][Message][Navigation.DirectionalGyroCorrection]>
                 <[string8][EventsUp]         [ SwitchSound.Trigger ]>                 <[string8][EventsUp]         [ SwitchSound.Trigger ]>
                 <[string8][EventsDown]       [ SwitchSound.Trigger ]>                 <[string8][EventsDown]       [ SwitchSound.Trigger ]>
Line 698: Line 697:
  
 <code>            <[input_default][RudderInput][] <code>            <[input_default][RudderInput][]
-                <[string8][Input][Controls.Yaw.Input]>+                <[string8][Message][Controls.Yaw.Input]>
                 <[tmvector2d][Range][ -1.0 1.0 ]>                 <[tmvector2d][Range][ -1.0 1.0 ]>
             >             >
             <[input_default][PitchTrimInput][]             <[input_default][PitchTrimInput][]
-                <[string8][Input][Controls.Trim]>+                <[string8][Message][Controls.Trim]>
                 <[string8][InputEnable][1.0]>                 <[string8][InputEnable][1.0]>
                 <[uint][Positions][801]>                 <[uint][Positions][801]>
Line 718: Line 717:
  
 <code>            <[input_control][ElevatorInput][] <code>            <[input_control][ElevatorInput][]
-                <[string8][Input][Controls.Pitch.Input]>+                <[string8][Message][Controls.Pitch.Input]>
                 <[tmvector2d][Range][ -1.0 1.0 ]>                 <[tmvector2d][Range][ -1.0 1.0 ]>
                 <[float64][Value][0.0]>                 <[float64][Value][0.0]>
Line 724: Line 723:
 </code> </code>
  
-===== Digital States =====+===== Other Inputs =====
  
 ==== input_binary ==== ==== input_binary ====
Line 733: Line 732:
  
 <code>            <[input_binary][BinaryState][] <code>            <[input_binary][BinaryState][]
-                <[string8][Input][Controls.State]>+                <[string8][Message][Controls.State]>
             >             >
             <[input_binary][BinaryState][]             <[input_binary][BinaryState][]
-                <[string8][Input][Controls.State]>+                <[string8][Message][Controls.State]>
                 <[string8][InputEnable][1.0]>                 <[string8][InputEnable][1.0]>
                 <[float64][Value][0.0]>                 <[float64][Value][0.0]>
Line 755: Line 754:
  
 <code>            <[input_discrete][SeatbeltSignsSwitch][] <code>            <[input_discrete][SeatbeltSignsSwitch][]
-                <[string8][Input][Controls.SeatbeltSigns]>+                <[string8][Message][Controls.SeatbeltSigns]>
                 <[string8][InputEnable][1.0]>                 <[string8][InputEnable][1.0]>
                 <[string8][Range][ 0.0 2.0 ]>                 <[string8][Range][ 0.0 2.0 ]>
Line 763: Line 762:
             >             >
             <[input_discrete][NDPilotInformation][]             <[input_discrete][NDPilotInformation][]
-                <[string8][Input][NavigationDisplayPilot.Information]>+                <[string8][Message][NavigationDisplayPilot.Information]>
                 <[string8][Range][ 0.0 5.0 ]>                 <[string8][Range][ 0.0 5.0 ]>
                 <[float64][Value][5.0]>                 <[float64][Value][5.0]>
Line 777: Line 776:
  
 <code>            <[input_discrete_cyclic][ECAMPageManuallyTuned][] <code>            <[input_discrete_cyclic][ECAMPageManuallyTuned][]
-                <[string8][Input][ECAM.Page]>+                <[string8][Message][ECAM.Page]>
                 <[string8][InputEnable][ClockOn.Output]>                 <[string8][InputEnable][ClockOn.Output]>
                 <[string8][Range][ 0.0 11.0 ]>                 <[string8][Range][ 0.0 11.0 ]>
Line 792: Line 791:
  
 <code>            <[input_discrete_momentary][MagnetosSwitch][] <code>            <[input_discrete_momentary][MagnetosSwitch][]
-                <[string8][Input][Controls.Magnetos]>+                <[string8][Message][Controls.Magnetos]>
                 <[tmvector2d][Range][ 0.0 4.0 ]>                 <[tmvector2d][Range][ 0.0 4.0 ]>
                 <[float64][Value][3.0]>                 <[float64][Value][3.0]>
Line 800: Line 799:
 </code> </code>
  
-==== input_event ==== 
- 
-Receives messages and then fires events with the received message value. 
- 
-  * ''Input'' is the message name 
-  * ''InputValue'' filters the messages for a specific value, leave the line of code away to not filter for any values 
-  * All events in the ''Events'' list are triggered once a message is received 
- 
-The use of the ''input_event'' class is described further in the [[aircraft:tmd:events|TMD Events]] topic. 
- 
-<code>            <[input_event][Button_Pressed][] 
-                <[string8][Input][Controls.Button]> 
-                <[string8][Events][ DEV0.Trigger ]> 
-            > 
-            <[input_event][Button_Pressed][] 
-                <[string8][Input][Controls.Button]> 
-                <[float64][InputValue][1.0]> 
-                <[string8][Events][ DEV0.Trigger ]> 
-            > 
-</code> 
- 
-==== input_active ==== 
- 
-Outputs 1.0 to the tmd as long as a lever is grabbed or a button is depressed. 
- 
-<code>            <[input_active][ButtonDepressed][] 
-                <[string8][Input][Controls.Button]> 
-                <[float64][InputValue][1.0]> 
-            > 
-</code> 
  
 ==== input_cyclic ==== ==== input_cyclic ====
Line 842: Line 811:
  
 <code>            <[input_cyclic][NAV1Course][] <code>            <[input_cyclic][NAV1Course][]
-                <[string8][Input][Navigation.SelectedCourse1]>+                <[string8][Message][Navigation.SelectedCourse1]>
                 <[string8][InputEnable][1.0]>                 <[string8][InputEnable][1.0]>
                 <[tmvector2d][Range][ 0.0 6.283185 ]>                 <[tmvector2d][Range][ 0.0 6.283185 ]>
Line 867: Line 836:
  
 <code>            <[input_pair][NAV1Frequency][] <code>            <[input_pair][NAV1Frequency][]
-                <[string8][Input]    [Navigation.NAV1StandbyFrequency]> +                <[string8][Message]    [Navigation.NAV1StandbyFrequency]> 
-                <[string8][InputSwap][Navigation.NAV1FrequencySwap]>+                <[string8][MessageSwap][Navigation.NAV1FrequencySwap]>
                 <[tmvector2d][Range][ 108000000.0 118000000.0 ]>                 <[tmvector2d][Range][ 108000000.0 118000000.0 ]>
                 <[float64][Active]  [116000000.0]>                 <[float64][Active]  [116000000.0]>
Line 876: Line 845:
             >             >
             <[input_pair][NAV1Frequency][]             <[input_pair][NAV1Frequency][]
-                <[string8][Input       [Navigation.NAV1StandbyFrequency]> +                <[string8][Message     [Navigation.NAV1StandbyFrequency]> 
-                <[string8][InputSwap   [Navigation.NAV1FrequencySwap]>+                <[string8][MessageSwap [Navigation.NAV1FrequencySwap]>
                 <[string8][InputExternal][AutoTuning.OutputNAV1]>                 <[string8][InputExternal][AutoTuning.OutputNAV1]>
                 <[string8][InputEnable]  [1.0]>                 <[string8][InputEnable]  [1.0]>
Line 886: Line 855:
                 <[float64][StepLarge][20.0]>                 <[float64][StepLarge][20.0]>
                 <[float64][Manual][0.0]>                 <[float64][Manual][0.0]>
 +            >
 +</code>
 +
 +==== input_event ====
 +
 +Receives messages and then fires events with the received message value.
 +
 +  * ''Input'' is the message name
 +  * ''InputValue'' filters the messages for a specific value, leave the line of code away to not filter for any values
 +  * All events in the ''Events'' list are triggered once a message is received
 +
 +The use of the ''input_event'' class is described further in the [[aircraft:tmd:events|TMD Events]] topic.
 +
 +<code>            <[input_event][Button_Pressed][]
 +                <[string8][Message][Controls.Button]>
 +                <[string8][Events][ DEV0.Trigger ]>
 +            >
 +            <[input_event][Button_Pressed][]
 +                <[string8][Message][Controls.Button]>
 +                <[float64][InputValue][1.0]>
 +                <[string8][Events][ DEV0.Trigger ]>
 +            >
 +</code>
 +
 +==== input_active ====
 +
 +Outputs 1.0 to the tmd as long as a lever is grabbed or a button is depressed.
 +
 +> Typically this is only used to make a light illuminate as long as a button is pressed or to give visual feedback that a control is grabbed. Don't use this for every single button in combination with an event_edge, this should be done with the ''input_event'' class instead.
 +
 +<code>            <[input_active][ButtonDepressed][]
 +                <[string8][Message][Controls.Button]>
 +                <[float64][InputValue][1.0]>
             >             >
 </code> </code>
  
aircraft/tmd/inputs.txt · Last modified: 2022/07/19 21:02 by jh