• Categories
  • Recent
  • Tags
  • Popular
  • Users
Collapse
Just Flight Community Forum

Radio setup (input device)

Scheduled Pinned Locked Moved Steam Gauge Overhaul
10 Posts 3 Posters 412 Views
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • GunStraussG Offline
    GunStraussG Offline
    GunStrauss
    wrote on last edited by GunStrauss
    #1

    Hi,

    on the Spad.next discord channel, I found this interesting XML (at the bottom of my post) made by a user. When imported into Spad.next, it made it possible to very easily program my Logitech radio panel to control the KNS-81.

    Then my questions :)

    i) Are these events something that could be published in your documentation in the future? I only own your Bonanza and Baron so far, but I guess there are a lot of functions in your other planes that I'll need to map once I get them.

    ii) I would also hope to be able to map the KNS-81 displays to the Flight Radio Panel, any hint on how to find the data?


    XML:

    <BaseEvent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" BoundTo="RADIOPANEL_LOWER_SELECTOR_DME" xmlns="http://www.fsgs.com/SPAD">
    <EventDefinitions>
    <EventDefinition Trigger="TUNER_INNER_CLOCKWISE">
    <EventActions>
    <EventActionControl TargetDataDefinition="MSFS:BKSQ Bonanza KNS81 Rt Knob SmInc" />
    </EventActions>
    </EventDefinition>
    <EventDefinition Trigger="TUNER_INNER_COUNTERCLOCKWISE">
    <EventActions>
    <EventActionControl TargetDataDefinition="MSFS:BKSQ Bonanza KNS81 Rt Knob SmDe" />
    </EventActions>
    </EventDefinition>
    <EventDefinition Trigger="TUNER_OUTER_CLOCKWISE">
    <EventActions>
    <EventActionControl TargetDataDefinition="MSFS:BKSQ Bonanza KNS81 Rt Knob BigInc" />
    </EventActions>
    </EventDefinition>
    <EventDefinition Trigger="TUNER_OUTER_COUNTERCLOCKWISE">
    <EventActions>
    <EventActionControl TargetDataDefinition="MSFS:BKSQ Bonanza KNS81 Rt Knob BigDe" />
    </EventActions>
    </EventDefinition>
    <EventDefinition Trigger="ACTIVATESHORT">
    <EventActions>
    <EventActionControl TargetDataDefinition="MSFS:BKSQ Bonanza KNS81 Data" />
    </EventActions>
    </EventDefinition>
    </EventDefinitions>
    <Options>
    <Option Key="TUNER_INNER_SENSITIVITY" Value="100" />
    <Option Key="TUNER_OUTER_SENSITIVITY" Value="100" />
    <Option Key="TUNER_MULTIPLY_1" Value="1" />
    <Option Key="TUNER_MULTIPLY_2" Value="2" />
    <Option Key="TUNER_MULTIPLY_3" Value="3" />
    </Options>
    </BaseEvent>

    1 Reply Last reply
    0
  • Black SquareB Offline
    Black SquareB Offline
    Black Square Black Square Developer
    wrote on last edited by
    #2

    Nothing there relates to my code, but if it works, it works!

    Here are the events/variables that are needed to control my KNS81:

    H:KNS81_bigInc
    H:KNS81_smallInc
    L:var_rnavKnobPulled
    H:KNS81_modeInc
    H:KNS81_modeDec
    H:KNS81_wptInc
    H:KNS81_wptDec
    L:var_RNAV_VOLUME
    H:KNS81_useButton
    H:KNS81_returnButton
    L:var_RNAV_DMERADIALMODE
    L:var_RNAV_CHECKMODE
    H:KNS81_dataButton

    I've included more and more information on hardware input and output with each aircraft, and the upcoming Dukes will be the most complete yet, with a section dedicated to this in the manual. Unfortunately, not everything can be output (each and every segment that's illuminated on the EDM 760 engine monitor, for example, but I will try to cover almost everything I can think of for the Dukes.

    The entire state of the KNS80/81 is visible to hardware, but the DME information is. These are:

    L:var_RNAV_BEARING
    L:var_RNAV_CDI
    L:var_RNAV_TOFROM
    L:var_RNAV_DMEHOLD
    L:var_RNAV_DME
    L:var_RNAV_DMESPEED

    I hope that helps get you started. Please let me know if there is anything else I can do for you!

    1 Reply Last reply
    1
  • L Offline
    L Offline
    lesoreilly
    wrote on last edited by
    #3

    The "events" posted only work if the user has the same Client Events loaded. Underneath those "names" when run it will send out the H Events you have listed. It's just that the user that made them decided to name them as he did an that's why they show up like that. Usually it is recommended to make the client events the exact same syntax as the H event so it is easier to locate and stay consistent when searching.

    1 Reply Last reply
    0
  • GunStraussG Offline
    GunStraussG Offline
    GunStrauss
    wrote on last edited by GunStrauss
    #4

    Thank you very much for the list! And looking much forward to your next aircrafts.

    When it comes to mapping the displays for the KNS, one of them is easy, but not sure about the other 3:

    IMG_6975.jpg

    IMG_6976.jpg

    *of course, the mapping of the NAV FRQ display this way is not ideal, as it's only shows the active frequency on the KNS, but it illustrates what I'm trying to achieve.

    1 Reply Last reply
    0
  • Black SquareB Offline
    Black SquareB Offline
    Black Square Black Square Developer
    wrote on last edited by Black Square
    #5

    The entire state of the KNS80/81 is visible to hardware, but the DME information is. Here is the DME information that's displayed on the screen:

    L:var_RNAV_DME
    L:var_RNAV_DMESPEED

    I know this isn't the most user friendly solution, but here is some code that you can add to KNS81.js to add the functionality you're looking for:

    After the line: "diffAndSetText(this.waypointNumber, this.displayChannel);"
    ADD: SimVar.SetSimVarValue("L:var_RNAV_WAYPOINT_NUMBER", "number", this.displayChannel);

    After the line: "diffAndSetText(this.distanceNumber, (this.memoryOffsets[this.displayChannel - 1].toFixed(1)));"
    ADD:
    SimVar.SetSimVarValue("L:var_RNAV_RADIAL_NUMBER", "number", this.radialFormat(this.memoryRadials[this.displayChannel - 1]));
    SimVar.SetSimVarValue("L:var_RNAV_DISTANCE_NUMBER", "number", (this.memoryOffsets[this.displayChannel - 1].toFixed(1)));

    Then, you can use these for the rest of the numbers:

    L:var_RNAV_WAYPOINT_NUMBER
    L:var_RNAV_RADIAL_NUMBER
    L:var_RNAV_DISTANCE_NUMBER

    I hope that improves your experience!

    EDIT: Oh, and just use the standby COM3 frequency for your current setup. That will always match what's shown on the display.

    1 Reply Last reply
    0
  • GunStraussG Offline
    GunStraussG Offline
    GunStrauss
    wrote on last edited by
    #6

    This is very interesting, but I'm only able to get the Waypoint-number to work. I'm pretty sure I entered the code as you instructed correctly.

    1 Reply Last reply
    0
  • GunStraussG Offline
    GunStraussG Offline
    GunStrauss
    wrote on last edited by
    #7

    BTW: Standby COM3 frequency, shows the same as Standby COM1...

    1 Reply Last reply
    0
  • Black SquareB Offline
    Black SquareB Offline
    Black Square Black Square Developer
    wrote on last edited by
    #8

    Sorry, I meant NAV3 standby. That should definitely work. Here's the entire block of code I've created for you. Paste this in KNS81.js, overwriting the very similar block of code, starting with "diffAndSetText(this.waypointNumber, this.displayChannel);" and ending before "switch(this.dataEntryMode){". Give that a try, and let me know how it goes. I'll include this in my future aircraft and updates so that others can do the same.

    diffAndSetText(this.waypointNumber, this.displayChannel);
                SimVar.SetSimVarValue("L:var_RNAV_WAYPOINT_NUMBER", "number", this.displayChannel);
                diffAndSetText(this.frequencyNumber, this.freqFormat(this.getStandbyFrequency()));
    
                if(!SimVar.GetSimVarValue("L:var_RNAV_CHECKMODE", "bool")){
                    diffAndSetText(this.radialNumber, this.radialFormat(this.memoryRadials[this.displayChannel - 1]));
                    diffAndSetText(this.distanceNumber, (this.memoryOffsets[this.displayChannel - 1].toFixed(1)));
                    SimVar.SetSimVarValue("L:var_RNAV_RADIAL_NUMBER", "number", this.memoryRadials[this.displayChannel - 1]);
                    SimVar.SetSimVarValue("L:var_RNAV_DISTANCE_NUMBER", "number", this.memoryOffsets[this.displayChannel - 1]);
                }
                else{
                    if(SimVar.GetSimVarValue("NAV SIGNAL:"+this.navSourceIndex, "number")){
                        diffAndSetText(this.radialNumber, this.radialFormat((this.actualVorRadialDegrees + 180) % 360 ));
                        SimVar.SetSimVarValue("L:var_RNAV_RADIAL_NUMBER", "number", (this.actualVorRadialDegrees + 180) % 360);
                    }
                    else{
                        diffAndSetText(this.radialNumber, "---.-");
                        SimVar.SetSimVarValue("L:var_RNAV_RADIAL_NUMBER", "number", 0)
                    }
    
                    if(SimVar.GetSimVarValue("NAV SIGNAL:"+this.navSourceIndex, "number") && SimVar.GetSimVarValue("NAV HAS DME:"+this.navSourceIndex, "Bool")){
                        diffAndSetText(this.distanceNumber, this.actualDmeRange.toFixed(1));
                        SimVar.SetSimVarValue("L:var_RNAV_DISTANCE_NUMBER", "number", this.actualDmeRange);
                    }
                    else{
                        diffAndSetText(this.distanceNumber, "---.-");
                        SimVar.SetSimVarValue("L:var_RNAV_DISTANCE_NUMBER", "number", 0);
                    }
                }
    
    1 Reply Last reply
    0
  • GunStraussG Offline
    GunStraussG Offline
    GunStrauss
    wrote on last edited by GunStrauss
    #9

    Fantastic! This is so nice. Only issue now is getting the NAV frequency to display correctly, as in Spad.next I actually can't find a value for standby NAV3, although active NAV3 shows up.

    I'm trying to do some research on their Discord.

    1 Reply Last reply
    0
  • GunStraussG Offline
    GunStraussG Offline
    GunStrauss
    wrote on last edited by
    #10

    NAV3 standby was added to their database after I made a request.

    1 Reply Last reply
    0
  • GunStraussG GunStrauss referenced this topic on

  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users