Axis and Ohs: Help and questions

I created 2 scripts for Managed Speed Mode and Selected Speed Mode
they are working with the first keypress
but how to toggle it?

but how to toggle it?

There is no toggle event. I can’t imagine how that would work either, since this feature has at least three states (0-1-2).

I would use a script, query the actual mode and then apply the other one:
(A:AUTOPILOT SPEED SLOT INDEX, Number) 1 == if{ 2 (>K:SPEED_SLOT_INDEX_SET) } els{ 1 (>K:SPEED_SLOT_INDEX_SET) }

Solved. Until now it assigned the scripts as “global scripts”, and with this it only worked.

Now I’ve also had to add them as “aircraft scripts”.

Now I’ve also had to add them as “aircraft scripts”.

That doesn’t sound right. It is one or the other, not both. Most likely @rottenbk is right, the global scripts may have been renamed with the latest AAO update. Try to remove them and add them back in on the global scripts (instead of aircraft)

Checked, they only work if I include them in “aircraft”, if they are only in “global” they don’t work. In my case they have not changed their name.

Checked, they only work if I include them in “aircraft”, if they are only in “global” they don’t work. In my case they have not changed their name.

Right. I’m sorry, I just realized that the global autoscripts don’t work when you use the dialog to add them. They still have their old script-ID, which is not recognized by the ScriptHandler in AAO V2.0

This bug will be fixed in 2.01, which only needs a couple more days of testing. Until then you will have to use the aircraft autoscripts instead.

Hello @LorbySI, I’m a paid user. I just checked and Axis an Ohs is now on version 2.0. I never received a notification from the store or from the app about the update. How can I keep up with the updates? Could you add a “check for latest version” option on the app’s menu?

By the way, I’m very glad with the MIDI integration your software adds to the sim!

Thanks

I never received a notification from the store or from the app about the update

SimMarket usually sends emails to all customers. Not sure about Justflight, their shop system is not accessible to me (all deployments to their shop need to be done via email and dropbox).

As for an in-app notification, I’m sorry, but that is not in the cards. I would have to run a 24x7 server on my side, and sales simply don’t justify that kind of expense.

The places to find notifications about new versions is on the Lorby-SI website, here in the forum and the support forum on AVSIM.

Getting LEDs to work with KORG nanoKONTROL2

Hello @LorbySI I require little help/hints getting LEDs to work with this midi controller.

1 LEDs on the Korg can be controlled from external events as far as I can figure out from the manual.

LED mode
This lets you specify how the LEDs of the transport buttons and the Solo button, Mute button, and Rec button of the control groups will light-up.This setting specifies how the lit/unlit status of the LEDs will be controlled.

LED Mode [Internal/External]
This specifies how the button’s LED will be controlled.

Internal: The LED will be lit or unlit according to the button’s on/off status.

External: The LED will light-up or go dark when a message with the control change number or note number that’s assigned to that button is r eceived from thecomputer. The LED will light-up when an On Value or Note On message is received, and will go dark when an Off Value or Note Off message is received

2 Korg nanoKONTROL2 parameter guide

3 From Google search on this subject I can see others have configured various other software to enable/disable LEDs

4 My version of AAO

5 I have setup the KORG to respond to External events using the Editor

6 I have configured CC#43 button to toggle landing lights and this part works and the object is to get the LED light on/off when the landing lights on and off

7 XML code for CC#43

<GlobalHotkey>
  <upEvent>
    <Group>Aircraft Lights</Group>
    <Description>Toggle landing lights</Description>
    <SimulatorEventName>LANDING_LIGHTS_TOGGLE</SimulatorEventName>
    <MinValue>0</MinValue>
    <MaxValue>0</MaxValue>
    <ValueToSet>0</ValueToSet>
    <IsAaoVirtualEvent>false</IsAaoVirtualEvent>
    <type>SINGLE</type>
  </upEvent>
  <modifier>0</modifier>
  <key>0</key>
  <repeat>16384</repeat>
  <repeatFrequency>1</repeatFrequency>
  <id>5</id>
  <joystickGuid>00000000-0000-0000-0000-000000000000</joystickGuid>
  <joystickName />
  <joystickButton>-1</joystickButton>
  <joystickPovControl>-1</joystickPovControl>
  <joystickPovDirection>-1</joystickPovDirection>
  <midiDeviceId>1</midiDeviceId>
  <midiChannel>0</midiChannel>
  <midiEvent>3043</midiEvent>
  <endless>false</endless>
  <midiEncoder>CLICK</midiEncoder>
  <isSimKey>false</isSimKey>
  <comboSuppressesEvent>false</comboSuppressesEvent>
  <comboIsToggle>false</comboIsToggle>
  <virtualModifiers />
  <virtualKeys />
  <Action>LANDING_LIGHTS_TOGGLE</Action>
</GlobalHotkey>

Thanx.

  1. I perfer use Notes, not CCs. Gives me more control (I think)
  2. Create an automated aircraft script that you run every 200ms or so and that synchronizes the state of the landing light with the Korg (see the chapter about MIDI Out in the manual):

The autoscript should be something like this:

(when using note 43)
(A:LIGHT LANDING ON, Bool) 1 == if{ 127 (>MIDI:1:NoteOn:0:43) } els{ 0 (>MIDI:1:NoteOff:0:43) }

(when using #CC 43)
(A:LIGHT LANDING ON, Bool) 1 == if{ 127 (>MIDI:1:CC:0:43) } els{ 0 (>MIDI:1:CC:0:43) }

Hi Oliver @LorbySI,

I tried both versions (Notes and CC) under “aircraft automated scripts” and under “Global automated Scripts” and nothing worked.

To test MidiOut and settings of KORG I used sendmidi. This is a standalone Windows executable and with this I managed to illuminate the LED.

.\sendmidi.exe dev nanoKONTROL2 cc 43 127 – LED is on
.\sendmidi.exe dev nanoKONTROL2 cc 43 0 – LED is off

There is a companion executable as well receivemidi which will tell what keys were pushed on the midi controller.

Is there a way to enable debuging in AAO or to generate more verbose logging to see what is going on?

Cheers.

I tried both versions (Notes and CC) under “aircraft automated scripts” and under “Global automated Scripts” and nothing worked.

Did you check that you are sending it to the corrent Device-ID? It will most certainly not be “1” like in my example above, because that is the MIDI In. MIDI Out usually has its own ID. Go to “Hardware->Show MIDI devices” and read the correct MIDI Out ID from the list on the right. Put that into the script. And what channel does the Korg expect the data on? “0” is probably not correct either, your screenshots suggest that it is channel “1”. Please make sure to revisit the AAO manual and the chapter about MIDI Out, so you get the parameters and syntax right.

Please note that in version 2.0 the global scripts have a bug an aren’t called at all, so don’t bother with those. (see a few posts above, this has just been discovered)

Hello @ll,

AAO version 2.01 has been released today.

  • The „endless“ setting for MIDI encoders has been fixed. When it is activated, it will make the app repeat the command that has been assigned to a control when it is at the stops (rotary with stops or a slider). For example, when you adjust the AP altitude, you could use a slider. This will work normally in the range that it can travel, and at the stops it will just continue counting up/down until you move it the other way again
  • SimConnect Errors will be caught in most cases now, reducing the probability of a hard crash
  • The “Test” button on the script editor has been fixed
    This button will now also show the result of a script, so you can use it to query variable values from the sim etc.
  • Global automated scripts have been fixed
  • The “Read HVARs from sim” feature now finds all kinds of things from MSFS – for example undocumented K: - Events and A: Variables.
  • Again several changes under the hood, like running heavy processing in even more separate threads and SimConnect clients
3 Likes

Edit: As soon as I submitted this I tried it again, and it started working. Hah. In case I have issues again, are there any log files I can look at or additional logging I can enable?

Original message:

@LorbySI I downloaded the demo to try using AAO with my Stream Deck and Honeycomb yoke. Honeycomb setup worked very well with some RPN scripts. Now I want to setup buttons on my Stream Deck to trigger scripts in AAO. I’ve downloaded the AAO Stream Deck plugin from your weebly website. I downloaded the plugin for AAO version 2.0.1. I successfully installed the plugin and I can add buttons from the plugin to my Stream Deck profile. The problem is that I can’t get any of the buttons to work. I can’t tell if the Stream Deck plugin is communicating with AAO. Per the readme instructions, I have run AAO as administrator. I’ve also disabled my Windows firewall just in case. And I enabled the web API on port 9080 from the Tools menu.

I’ve tried two kinds of buttons on the Stream Deck. I made sure to click the Submit button when changing button parameters.

I created a “Button” type button with default Device ID of 433, Channel of 0, and Button of 0 (Also tried changing Channel and Button to 1s but with no effect. I couldn’t find documentation for these parameters so I don’t know what to set them to). After doing this, I tried adding an assigned button to my aircraft profile in AAO, but when I click the Stream Deck button, AAO doesn’t appear to recognize it. I have tried with the “Device” parameter set to “All” and to the Stream Deck device, but clicking the button on the Stream Deck doesn’t do anything.

I’ve also tried an Event button on the Stream Deck. I set the “Write event” to “K:” and the event name to to my scriptgroupname-scriptname as instructed in the documentation, but the script does not get executed.

I looked around in the Stream Deck log folder to see if there were any logs from the plugin, but I couldn’t find any. I’m not seeing any error messages anywhere.

Can you suggest some ways to troubleshoot and get the Stream Deck plugin working? I’m guessing that the Stream Deck plugin relies on the AAO web API. Even though the Web API is enabled in the Tools menu, I get ERR_CONNECTION_REFUSED when I try to load http://localhost:9080/webapi in Chrome from the local machine. Perhaps the web API isn’t running? If so, how do I fix that?

Thank you for your help.

There are three causes for this:

  • AAO is not run “As Administrator”
  • The port is blocked by your Firewall
  • There is another app running on your computer using the same port

There will be new versions of the SD plugin and AAO shortly too.

You set them to whatever you want. The Button control is the simplest one, it just mimicks a joystick button press. Each of the buttons on the same channel needs a different button id, nothing more to it. The theoretical number of buttons is something like 2 trillion channel IDs times 2 trillion button IDs :grinning:

For advanced functionality it is recommended to use the other ones, On/Off, Toggle, Event.

Just found this gem (thanks @system0default for pointing me to it) and can’t wait to try it out. Before I get started, I’m wondering if anyone is using this together with spad.next? I have all my Saitek hardware (switch/radio/multi panels and FIP) fully configured with spad.next, but would like to add AAO’s with its support of LVAR / HVAR for some of the functionality in the WT CJ4, so the question is whether AAO and spad can peacefully ‘coexist’ or if they’d conflict (if this is a no-no I still have the option to use my StreamDeck for this)


I guess I will find out as soon as I install the demo, but if anyone has already tried and succeeded or failed it would be great to know.

Thanks!!

Dirk

So looks like you can’t use both AAO and spad.next together with the Saitek panels, they step on each other’s toes.

But - after some tinkering I actually discovered another way, using both AAO and spad.next together, to map all WT CJ4 AP modes to the Saitek multi panel using AAO’s web API. In spad.next you can map an external executable invocation to a panel button/switch, so I’m using a simple curl call to set the HVAR for the CJ4 AP modes, which works great. Setting LVARs should be possible the same way, I’m just getting started
 :wink:

@LorbySI , AAO’s web API was an awesome idea, as this opens up so many possibilities.

Needless to say I purchased a full license immediately, thanks for a great add-on! :slight_smile:

Dirk

1 Like

That shouldn’t be the case. When you don’t activate the Saitek Panels in AAO, it doesn’t really care if they are there or not. What exactly is happening when you run both apps?

Yeah if I don’t activate the panels in AAO then there’s no problem (and that’s how I’m able to run both AAO and spad.next together using the web API). I was referring to the case when I enable the panels in AAO (so that I can map the HVAR update directly in AAO to the multi panel button via Saitek panel config) - based on what’s described in the manual

“When you select “Enable Saitek” from the “Hardware” menu, the app will search for attached devices and connect them to the appropriate simulator events”

it seems there are now events mapped from AAO as well as from spad.next to the panel buttons/controls, which seems to conflict.

No big deal though, the web API approach works fine and will generally be cleaner than having two apps trying to map to the panels directly anyways.