Programming Overview #
Class Echo V2 firmware is almost completely programmable by the user. Users can modify profiles, and even publish their own for aircraft that aren’t available yet in the online snippets browser. This document is an overview of how to program Class Echo.
Class Echo UI Tour #
SPAD neXt offers a generic UI that allows users to access and assign functions and behaviors to Class Echo:
- Navigate to the PANELS tab and select the CLASS ECHO device you wish to modify
- BUTTONS – are numbered and attached to the class echo interface. To determine which button in SPAD to modify, simply press the button you want to program on the Echo. It will highlight the button RED in the SPAD UI.
- LABELS – are used to put text on buttons and set their colors. Hover over the label with your mouse to determine it’s number. The buttons and labels are matched to the same number (E.g. Button 1 uses Label 1 to set it’s color and text)
- ENCODER – allows actions to be assigned to the Echo encoder (single or dual).
- DISPLAYS – Lines on the display correspond to text areas on the Echo. At this time while the echo has a generic UI, it can be difficult to know which display lines effect which elements. Study the current assigned elements and please contact us with any questions.
Button Programming Examples #
Pressing a button on the Echo will make it’s corresponding assigned button turn red on the SPAD interface.
- Clicking the button in the SPAD interface will show a red arrow pointing to the “Events / Actions” dialogue.
- Press “Add Event” to assign an event. You can choose from a variety of button behaviors.
- The behavior dialogue will appear after selecting a button press behavior.
- This dialogue allows you to add actions to be executed when the button is pressed, as well as conditions that can be assigned to determine whether that action should happen or not.
- Press the “Add action” button to add an action.
- CHANGE DATA VALUE: Allows the user to attempt to directly modify a variable. On third party aircraft, sometimes this is the only way to change a value on an aircraft. Generally speaking, it is better to send a simulation event instead of it is available.
- SEND SIMULATION-EVENT: Fire an event that emulates an action taking place in the simulator. For this demonstration, we will select this action.
- In the event browser, you will see all the events available. There is a good documentation for the existing MSFS events linked here: https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Event_IDs.htm
- In this case, I am programming parking brakes. I have searched for “parking” and I can see the event show up.
- After selecting the event and pressing OK on the subsequent dialogues, the parking brakes event is now bound to the button.
- This is a simple example – sometimes it is necessary to change the value data directly, using IF statements to determine what it should be changed to (E.g. if VALUE = 0, then VALUE = 1 …. subsequently, if VALUE = 1, then VALUE = 0)
Label Button Color / Text Programming Examples #
- Each button has a corresponding label with the same number. The label is where we can set the color of the button and the text.
- Hovering over the labels with your mouse will show the label number.
- Click on the label to show it’s Events / Actions
Pressing the “Add Event” button for a label will allow you to do one of two things:
- CHANGE LABEL – Assign a text value the label based on a condition (with no color change).
- CHANGE LED COLOR – Assign a color and text value to the label based on a condition.
NOTE: Sometimes you may want to assign a label value and color without a condition. To do this, go to SYSTEM EVENTS > PAGE ACTIVATED.
- For this example, we pressed “CHANGE LED COLOR“
- In the Change LED Color dialogue box, select ADD ACTION > LED COLOR CHANGE
- In the dialogue box that pops up, click the “Change LED to” dropdown. You will see a bunch of different styles.
- Please see the following resource for information on what each style looks like:
- Finally, a condition must be specified for when the label should be active.
- Click ADD CONDITION > BROWSE.
- Since in this example we are making a button for the parking brake, I searched for the data definition that tells me what position the parking brake is in (1 = on, 0 = off).
- Click on the data definition to select it, then set the value that you want to use in the conditional statement. In this case, we want “1” as the value, as that is the value of BRAKE PARKING POSITION when parking brakes are engaged.
- Click on the data definition to select it, then set the value that you want to use in the conditional statement. In this case, we want “1” as the value, as that is the value of BRAKE PARKING POSITION when parking brakes are engaged.
- Finally, to create the second Event / Action for when BRAKE PARKING POSITION is “0”, the easiest way to do this is to highlight the action and press CTRL + C / CTRL + V.
- After copying, I made the following changes: Change the conditional state from “1” to “0” in the new copy, and change the LED Color from Blue to Gray to symbolize the parking brake being ‘off’
Encoder Programming Examples #
The Encoder interface in SPAD gives users 4 options to choose from: Inner Clockwise, Inner Counterclockwise, Outer Clockwise, Outer Counter Clockwise.
On a single encoder, the Echo uses the inner knobs by default, and the outer knobs when the encoder is pushed and turned. The dual encoder works independently as you might expect.
- To know what the encoder is doing, the Echo uses two flags to act as conditions when operating the encoder:
- HOTSPOT: Hotspots are tappable text areas that turn blue, like on the autopilot page.
To determine what the value of each flag is when being modified, you must monitor the device variables for the Class Echo. To do so:
- Click on the DATA tab.
- Click “Data Monitor”.
- Click “Add Data”
- Expand the “DEVICE” category and select the Class Echo device you are using.
- Highlight all the data for that device. Press “OK” to add to the data monitor
At this point, you will see the data for HOTSPOT and TOUCHKNOB update when tapping elements on the Echo screen. You may use these same variables to set your encoder conditions.
Display Values Programming Examples #
The Echo uses display values to write other display elements on the UI such as static labels, engine labels, and other information. This data is largely unmapped – to change existing data, please study the data shown in the VALUES display element (leftmost display). The AIRCRAFT display element (rightmost display) is only used on the Echo splash screen for setting options.
