Jump to content
Sign in to follow this  
DJ Rosko

Honeycomb Bravo & Shifted Functions

Recommended Posts

You should not mix LINDA with Spad.next as they will clash with each other.


Andrew Gransden

Scotland, UK

LINDA Support/Developer - VATSIM and BAVirtual - Airbus Flyer

i7 1TB SSD GTX980 - FSX/P3D - Aerosoft Airbus A318/A319/A320/A321 - FS2Crew

Share this post


Link to post
Share on other sites
On 12/22/2020 at 5:30 PM, ScotFlieger said:

You should not mix LINDA with Spad.next as they will clash with each other.

I don’t have much choice in the matter from what I can gather-I need my radio panels to work 

Share this post


Link to post
Share on other sites

Hi, jumping in here as a programmer myself. To me it looks like using shifted functions shouldn't even be needed, right? In our user.lua file we can define a variable that tracks what our knob is set to, functions for each "button press" correlating to each notch on the selector knob, and then a function that just checks what that initial variable is set to and calls the relevant function from the FSLabs A3xx lua file.

Example: https://gist.github.com/RyanBreaker/3b77330628e5f1786d0e63527e8b56cb

This could probably be made simpler by checking which "button" the selector knob is currently pressed for but I haven't found yet what function that is as I've been having trouble finding an API documentation for this (still new here), does one exist?

The problem I've been having in the meantime though is that I can't get any log output from my user file on my button presses nor responses in the aircraft, and additionally I have a weird syntax error in the LINDA editor:

Syntax error!
Line -4 unexpected symbol near '�'

I'd love to go to line -4 to find whatever that is if it's keeping my user.lua from loading but in my time as a dev I haven't seen anything like that, and my user.lua is otherwise the new default file besides those functions I added below the template comments.

Edited by Phunyun

Share this post


Link to post
Share on other sites

@Phunyun I don’t have time at the moment for a full read and reply but the error of unexpected symbol is due to the language and/or UNICODE being used. This was suggested by another user:

Go to Settings, Time & Language -> Language -> Administrative language settings-> Under the "Language for non-Unicode programs" section, click the Change system locale button -> ensure Checkbox “Beta: Use Unicode UTF8 for worldwide language support” is not selected. 

You can easily check codepage at cmd with chcp command – in my case, it`s now 850 – with that option above checked it was 65001


Andrew Gransden

Scotland, UK

LINDA Support/Developer - VATSIM and BAVirtual - Airbus Flyer

i7 1TB SSD GTX980 - FSX/P3D - Aerosoft Airbus A318/A319/A320/A321 - FS2Crew

Share this post


Link to post
Share on other sites
On 12/26/2020 at 10:01 AM, ScotFlieger said:

@Phunyun I don’t have time at the moment for a full read and reply but the error of unexpected symbol is due to the language and/or UNICODE being used. This was suggested by another user:

Go to Settings, Time & Language -> Language -> Administrative language settings-> Under the "Language for non-Unicode programs" section, click the Change system locale button -> ensure Checkbox “Beta: Use Unicode UTF8 for worldwide language support” is not selected. 

You can easily check codepage at cmd with chcp command – in my case, it`s now 850 – with that option above checked it was 65001

That cleared the syntax error, thanks! I then had an encoding issue of "unexpected symbol near 'ï'" which I was able to resolve by viewing the file in VS Code with the Windows 1252 encoding (mentioning this in case anyone else has this problem).

My script is working as expected, will expand it to work with selection for the dial. When you get a chance, is there a function for checking whether a button is currently pressed? That would simplify this script quite a bit.

Edited by Phunyun
  • Like 1

Share this post


Link to post
Share on other sites

Hi @ScotFlieger, first of all thank you for the great app (LINDA) and your contribution to the community over the years. I just started using LINDA a couple of months ago when I purchased my Honeycomb Alpha Yoke. I have the exact same issue as @DJ Rosko mentioned above. We basically need 4 to 5 total 'shifted' positions for the MCP selector switch (ALT, VS, HDG, CRS and IAS).

Andrew, I guess my question is, do you have a suggested workaround or plans to accommodate this capability in the next update for LINDA? I'll be happy to make a small financial contribution as I can only imagine that you've already spent thousands of hours developing LINDA. Anyways, any suggestion or recommendation on how to deal with this issue is greatly appreciated. 

I also understand the good alternative approach that @Phunyun has suggested above, however if my understanding of his approach is correct that requires changes to user.lua file, which is not accessible through LINDA's GUI and could be difficult for many of LINDA users (who chose LINDA because of its ease of use) to customize. I'll be very grateful if @Phunyun can share his work on the file.

Regards,
Jim Morison

Share this post


Link to post
Share on other sites

@vanzunator Thank you for your compliments and suggest. I do not believe using 'shifted' positions is the way forward for the Honeycomb Bravo. The SPD/ALT/HDG/VS selector operation is identical to that of the Logitech/Saitek Multi Panel implementation. With the helpful data received I am investigating a potential solution. It may take a little time.

In the meantime, I have discovered that the MSFS2020 has a way of combining the 2 inputs (ie. selector and dec/inc knobs) into one input. Basically, you click on Discover, move the selector to the desired position, operate the dec/inc knob in the required direction and then move the selector again. You can then assign the appropriate function to the combined selection. There is a YouTube on the subject. See 

 

  • Upvote 1

Andrew Gransden

Scotland, UK

LINDA Support/Developer - VATSIM and BAVirtual - Airbus Flyer

i7 1TB SSD GTX980 - FSX/P3D - Aerosoft Airbus A318/A319/A320/A321 - FS2Crew

Share this post


Link to post
Share on other sites

Sorry. I have no idea. I don’t have the device to test it.


Andrew Gransden

Scotland, UK

LINDA Support/Developer - VATSIM and BAVirtual - Airbus Flyer

i7 1TB SSD GTX980 - FSX/P3D - Aerosoft Airbus A318/A319/A320/A321 - FS2Crew

Share this post


Link to post
Share on other sites
11 hours ago, ScotFlieger said:

The SPD/ALT/HDG/VS selector operation is identical to that of the Logitech/Saitek Multi Panel implementation

Thanks for your quick reply @ScotFlieger, since you mentioned the selector function on Bravo throttle is similar to Logitech/Saitek, is there support in LINDA for Logitech/Saitek selector function? if so, can you please point us to where we can find it in LINDA? I can try to learn from that implementation and re-implement it for Bravo. your help is greatly appreciated.  

Share this post


Link to post
Share on other sites

@vanzunator the Saitek code is duplicated in the LINDA GUI (faster performance) and LUA. Users can switch between them using the Saitek Panels checkbox.

You can access only the LUA code in Lib-Saitek.lua. This requires the Saitek Panels checkbox to be unticked to activate it. The code is fairly complex and was written by someone with a bigger brain than I.

I will be looking at modifying the GUI code to handle the Honeycomb Bravo but this will take a little time. 

Edited by ScotFlieger
  • Like 3

Andrew Gransden

Scotland, UK

LINDA Support/Developer - VATSIM and BAVirtual - Airbus Flyer

i7 1TB SSD GTX980 - FSX/P3D - Aerosoft Airbus A318/A319/A320/A321 - FS2Crew

Share this post


Link to post
Share on other sites
18 hours ago, vanzunator said:

I also understand the good alternative approach that @Phunyun has suggested above, however if my understanding of his approach is correct that requires changes to user.lua file, which is not accessible through LINDA's GUI and could be difficult for many of LINDA users (who chose LINDA because of its ease of use) to customize. I'll be very grateful if @Phunyun can share his work on the file.

Nope, very easy to access by clicking on the control you want to edit and going to FSLabs A3xx User Functions (or the equivalent User Functions for any other aircraft) -> Edit User Module and that will open the LINDA editor for the user.lua file where it's easy to paste code in from. The file is also easy to find within the LINDA directory inside the FSUIPC directory and to edit more directly with something like VS Code, but the encoding has to be set to Windows 1252 for this to work or with any other editor.

I just updated my script on gist to how I have it now which is working for the most part, I also have SHIFT functions setup for different speeds; by default (unshifted) HDG will move at 5 degrees at a time and then when shifted will move 1 degree at a time.

It's a bit rough due to how LINDA can only work so fast when the dial is rotated, not sure if there's a way around that. Another way to do this would be with the Honeycomb Configurator and to simply plug in the same values the LINDA module uses there, though good luck figuring that out since their documentation has been next to nonexistent.

If you have any issues make sure to also hit Reload LUA Engine on the LINDA Settings page.

  • Upvote 1

Share this post


Link to post
Share on other sites
1 hour ago, Phunyun said:

Nope, very easy to access by clicking on the control you want to edit and going to FSLabs A3xx User Functions (or the equivalent User Functions for any other aircraft) -> Edit User Module and that will open the LINDA editor for the user.lua file where it's easy to paste code in from. The file is also easy to find within the LINDA directory inside the FSUIPC directory and to edit more directly with something like VS Code, but the encoding has to be set to Windows 1252 for this to work or with any other editor.

I just updated my script on gist to how I have it now which is working for the most part, I also have SHIFT functions setup for different speeds; by default (unshifted) HDG will move at 5 degrees at a time and then when shifted will move 1 degree at a time.

It's a bit rough due to how LINDA can only work so fast when the dial is rotated, not sure if there's a way around that. Another way to do this would be with the Honeycomb Configurator and to simply plug in the same values the LINDA module uses there, though good luck figuring that out since their documentation has been next to nonexistent.

If you have any issues make sure to also hit Reload LUA Engine on the LINDA Settings page.

@Phunyun this is brilliant, as an ex-developer I can make sense of it, my only question is that if I want to reuse your code let's say for PMDG 747 or QW787, do I need to change any of the function names or variable names in your code or can I simply paste that under LINDA's PMDG 747 or QW787 User Functions as-is?

your help is greatly appreciated.

Regards,

Share this post


Link to post
Share on other sites

@vanzunator You would have to swap out the calls I have in the INC and DEC functions (e.g. the VC_GSLD_FCU_HDG_incfast() function call is specific to the FSL module) to the PMDG and other module equivalents but it should otherwise work as-is after doing that. For PMDG stuff though it might be better to start with the profiles available over at Aerosoft: https://forum.aerosoft.com/index.php?/files/category/128-bravo-throttle-quadrant/

Share this post


Link to post
Share on other sites

a quick update: I've been able to successfully implement all the button mappings on the Honeycomb Bravo Throttle (including the MCP Selector) for both PMDG 747 QOTS II and QW 787 using LINDA's "User Function" feature.  @Phunyun your idea was the foundation for my approach, thank you. Everything works perfectly:

if you are interested in my two LINDA user.lua files to get the Bravo MCP mode selector and increase/decrease rotary switch to work they are here:

There is one thing that I haven't been able to get working: LED lights on Bravo, so let's use the HDG button on Bravo as an example, if I press that button on Bravo (not to be confused with HDG position on the Selector on Bravo), I can easily use LINDA to select HDG HOLD in any aircraft by assigning that button as any other basic key assignment, however there is an LED light behind that switch that we need to turn on now, in PMDG 747 QOTS II the variable (MCP_annunHDG_HOLD is the variable we need to check, if the value is 1 the light should be turned on, if the value is 0 the light should be turned off), any suggestion on how we can do this in LINDA?

All my flightsim builds are based on LINDA and I would like to avoid using Honeycomb Configurator at all costs (if possible) for many reasons including lack of proper documentation, lack of community support (compared to LINDA) and very intrusive integration to P3D among other reasons.

BravoLEDs.jpg?psid=1

 

Any help or pointers are greatly appreciated.

Edited by vanzunator
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...