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.

Scoped Variables

Featured Replies

Hello Lorby_SI and community,

I would like to report a finding regarding L:1 scoped variable support in AAO v4.56 b19 (MSFS2024 version) that I believe warrants developer attention.

---

BACKGROUND

I recently spent an extensive debugging session resolving a propeller feathering bug on the Redwing L-1049 Super Constellation in FS2024 after SU4/SU5. The feather switches on this aircraft use scoped variables:

L:1:CONST_FEATHER_Switch1

L:1:CONST_FEATHER_Switch2

L:1:CONST_FEATHER_Switch3

L:1:CONST_FEATHER_Switch4

The value of these variables is 0 when not feathered and 100 when feathered.

During that debugging session I discovered that FSUIPC7's standard ipc.readLvar() function cannot read scoped variables at all — it always returns nil. The only reliable solution was FSUIPC7's event.Lvar() function which routes through FSUIPC7's internal WASM module to correctly access and monitor scoped variables in real time.

---

THE TEST

After seeing that AAO v4.52 added L:1 variable processing (read and write) in the changelog, I decided to test whether AAO could track scoped variables in real time using the Observe Variables tool.

Test environment:

- AAO v4.56 b19 (MSFS2024 version)

- Redwing L-1049 Super Constellation

- FS2024 with latest updates

- Variable tested: L:1:CONST_FEATHER_Switch1

Test procedure:

1. Loaded the L-1049 in FS2024

2. Opened Scripting -> Watch simulator variables

3. Manually entered L:1:CONST_FEATHER_Switch1 and clicked Add

4. AAO successfully displayed the variable with an initial value of [0.000000] — correct for unfeathered state

5. Operated the feather switch for engine 1 multiple times in the virtual cockpit

6. Observed the value in the AAO watch window throughout

RESULT: The value remained frozen at [0.000000] and did not update when the feather switch was engaged. The variable is not being tracked in real time.

---

CONCLUSION

AAO v4.56 can successfully initialize and display L:1 scoped variables at their startup value, but does not appear to receive live updates when those values change in the sim. This is the same fundamental limitation that FSUIPC7's ipc.readLvar() has with scoped variables — a static read rather than a live monitored connection.

FSUIPC7 solves this via its event.Lvar() function which uses a WASM module running inside the sim sandbox to receive real time callbacks when scoped variable values change. Without an equivalent mechanism in AAO, scoped variables cannot be used for real time controller logic, condition monitoring, or hardware feedback.

---

WHY THIS MATTERS

As FS2024 add-on aircraft become more sophisticated, the use of scoped variables for critical systems is increasing. Aircraft like the Redwing L-1049 use them for feather switches. Other complex warbirds and classic airliners are likely doing the same. Without real time scoped variable tracking, users of these aircraft cannot:

- Assign hardware switches to respond to scoped variable states

- Build AAO scripts that conditionally act based on scoped variable values

- Use AAO for any logic that depends on knowing the real time state of a scoped variable

---

QUESTIONS FOR THE DEVELOPER

1. Is real time monitoring of L:1 scoped variables something that is planned or on the roadmap?

2. The Asobo SDK documentation suggests that SimConnect_AddToDataDefinition can reference L:1 variables — has this been explored as a path to real time scoped variable access?

3. Alternatively, would a WASM bridge approach similar to FSUIPC7's event.Lvar() be feasible within AAO's architecture?

---

I hope this detailed report is useful. I am happy to provide any additional testing or information if it would help diagnose or resolve this. The L-1049 with its four scoped feather switch variables provides a clean and reproducible test case.

Thank you for the outstanding work on AAO — it is an indispensable tool for serious simmers.

Regards,

Ed

  • Commercial Member
1 hour ago, Hollister56 said:

L:1:CONST_FEATHER_Switch1

The correct syntax would be

(L:1:CONST_FEATHER_Switch1, Number)

LVars that are to be synchronized with the sim must have a unit in AAO. Use "Number" when in doubt. Otherwise the LVar remains internal to AAO (so you can freely use your own LVars in your scripts without weighing down the interface to the sim).

On a side note, in the latest SDK documentation for MSFS 2024 Asobo says that "L:1:" equals "Z:". Don't know if that is true though.

Edited by Lorby_SI

LORBY-SI

  • Author

Thanks for the reply and I will test that out now!

That worked and yes I was successful in assigning scoped L:1 variables to my Bravo controller. Not too hard to do when you know what to do, and AI is a huge help in the learning process. Another great thing about AI, I am using Claude, is it will summarize everything you do into a PDF for you to refer to at a future date. This is a incredable learning tool for anyone interested in this subject.
Thanks again for the guidence and all the support you give your users.

Ed

Edited by Hollister56

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.