Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
Collapse
Just Flight Community Forum
  1. Home
  2. Just Flight
  3. MSFS Products
  4. Black Square Add-Ons
  5. Steam Gauge Overhaul
  6. Problem with KNS81 mapping

Problem with KNS81 mapping

Scheduled Pinned Locked Moved Steam Gauge Overhaul
15 Posts 3 Posters 896 Views 1 Watching
  • 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
    #1

    I'm not able to read the variables added for monitoring the KNS81, from the manual:

    "Added L:Var variables to access more information from the KNS81..."

    I had these before, as I got help to manually add them to the config files of the planes, but with the latest version without the manual edit; I don't see them.

    A local problem on my side, or could there be a fault with the official files in the latest update?

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

      We're speaking about the Baron and Bonanza? The outputs are definitely there in the code, so it's possible that I just gave you different variable names when I had you add them manually. Here is a list of what it output. Let me know if you need more information, please:

      L:var_RNAV_WAYPOINT_NUMBER
      L:var_RNAV_CHECKMODE
      L:var_RNAV_RADIAL_NUMBER
      L:var_RNAV_DISTANCE_NUMBER

      L:BKSQ_RNAV_TO_Degraded
      L:BKSQ_RNAV_FROM_Degraded
      L:BKSQ_RNAV_CDI_Degraded
      L:BKSQ_RNAV_BRG_Degraded

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

        strange, yes, these are the ones I'm using

        1 Reply Last reply
        0
        • Black SquareB Black Square

          We're speaking about the Baron and Bonanza? The outputs are definitely there in the code, so it's possible that I just gave you different variable names when I had you add them manually. Here is a list of what it output. Let me know if you need more information, please:

          L:var_RNAV_WAYPOINT_NUMBER
          L:var_RNAV_CHECKMODE
          L:var_RNAV_RADIAL_NUMBER
          L:var_RNAV_DISTANCE_NUMBER

          L:BKSQ_RNAV_TO_Degraded
          L:BKSQ_RNAV_FROM_Degraded
          L:BKSQ_RNAV_CDI_Degraded
          L:BKSQ_RNAV_BRG_Degraded

          GunStraussG Offline
          GunStraussG Offline
          GunStrauss
          wrote on last edited by GunStrauss
          #4

          @Black-Square To clarify, the L:var's show up on my system, but I am not able to read anything other than zero from them.

          F 1 Reply Last reply
          0
          • GunStraussG GunStrauss

            @Black-Square To clarify, the L:var's show up on my system, but I am not able to read anything other than zero from them.

            F Offline
            F Offline
            felixfer
            wrote on last edited by
            #5

            Hi @GunStrauss, I have a very similar problem, maybe a worse problem. I am trying to create a page with SPAD.neXt for my Loupedeck Live device. I have assigned correctly four dials to the ones in the Analog Baron KNS 81 (lovely piece of avionics, by the way), and also I could map the USE, DATA and RTN keys. Thanks to one suggestion of you in another place I am able to see the Nav 3 value [FRQ] in one of the Loupedeck's buttons.

            BUT I cannot find the RAD or the CHK buttons, and, regarding the LVars, I can only find RADIAL_NUMBER and DISTANCE_NUMBER, but the only value that I obtain is zero. Finnally, the WAYPOINT_NUMBER and the DISTANCE_NUMBER are not in the SPAD.neXt list. You have them, but they don't work, I have only two of them, and they don't work.

            Finnaly, regarding the another four BKSQ_RNAV vars, I would like to ask how they work in the KNS 81, I had no idea about them.

            Thanks a lot in advance and best regards,

            Felix FdC (Oviedo, Spain)

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

              Both the KNS-81 and -80 still requires some manual edits to get proper output for the LVARS when the navigation aids are not in range. I'm coming back to you when I know more! Best, GS

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

                From the developer:

                KNS80:
                Move the three lines containing, "var_RNAV_WAYPOINT_NUMBER", "var_RNAV_RADIAL_NUMBER", and "var_RNAV_DISTANCE_NUMBER" up a couple of lines in KNS80.js so that they are right after the function declaration "sendRnavVariables(){"

                KNS81:
                Replacing all the code between the line: "sendRnavVariables(){", and the line: "sendAutopilotVariables(){"...

                SimVar.SetSimVarValue("L:var_RNAV_WAYPOINT_NUMBER", "number", this.displayChannel);

                if(SimVar.GetSimVarValue("NAV HAS DME:"+this.navSourceIndex, "Bool") && SimVar.GetSimVarValue("NAV SIGNAL:"+this.navSourceIndex, "number")){
                
                    if(!SimVar.GetSimVarValue("L:var_RNAV_CHECKMODE", "bool")){
                        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{
                        SimVar.SetSimVarValue("L:var_RNAV_RADIAL_NUMBER", "number", (this.actualVorRadialDegrees + 180) % 360);
                        SimVar.SetSimVarValue("L:var_RNAV_DISTANCE_NUMBER", "number", this.interpolatedDmeRange);
                    }   
                
                    SimVar.SetSimVarValue("L:var_RNAV_BEARING", "number", this.rnavBearing);
                
                    //console.log("Sending CDI Value: " + this.rnavAngularDeviation + " --> " + (Math.max(Math.min(this.rnavAngularDeviation, 12.0), -12.0) * 10.583333) );
                
                    //0=VOR, 1=VOR/PAR, 2=RNAV-ENR, 3=RNAV-APR
                    switch(this.navigationMode){
                        case 0:
                            SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavAngularDeviation, 12.0), -12.0) * 10.583333) );
                        break;
                        case 1:
                            SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavLinearDeviation, 5.0), -5.0) * 25.4) );
                        break;
                        case 2:
                            SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavLinearDeviation, 5.0), -5.0) * 25.4) );
                        break;
                        case 3:
                            SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavLinearDeviation, 1.25), -1.25) * 101.6) );
                        break;
                    }
                
                    SimVar.SetSimVarValue("L:var_RNAV_TOFROM", "number", this.toFromFlag);
                
                }
                else{
                    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]);
                    SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", 0);
                    SimVar.SetSimVarValue("L:var_RNAV_TOFROM", "number", 0);
                    SimVar.SetSimVarValue("L:var_RNAV_BEARING", "number", 0);
                }
                
                if(!SimVar.GetSimVarValue("L:var_RNAV_DMEHOLD", "Bool")){
                    if(SimVar.GetSimVarValue("NAV HAS DME:"+this.navSourceIndex, "Bool") && SimVar.GetSimVarValue("NAV SIGNAL:"+this.navSourceIndex, "number")){
                        SimVar.SetSimVarValue("L:var_RNAV_DME", "number", this.rnavDmeDistance);
                        SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", this.rnavDmeSpeed);
                    }
                    else{
                        SimVar.SetSimVarValue("L:var_RNAV_DME", "number", 0);
                        SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", 0);
                    }
                }
                else{
                    if(this.calculatedDmeDistanceHOLD < 145.7){
                        SimVar.SetSimVarValue("L:var_RNAV_DME", "number", this.calculatedDmeDistanceHOLD);
                        SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", this.calculatedDmeSpeedHOLD);
                    }
                    else{
                        SimVar.SetSimVarValue("L:var_RNAV_DME", "number", 0);
                        SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", 0);
                    }
                }
                

                }

                1 Reply Last reply
                0
                • GunStraussG Offline
                  GunStraussG Offline
                  GunStrauss
                  wrote on last edited by
                  #8
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • GunStraussG Offline
                    GunStraussG Offline
                    GunStrauss
                    wrote on last edited by
                    #9

                    @felixfer *NOTICE THAT THE FORUM SYSTEM REFORMATS THE CODE. The first line and the last } is outside of the "code-box".

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      felixfer
                      wrote on last edited by felixfer
                      #10

                      Hi, @GunStrauss , first at all a big THANK YOU for your kind and generous help. I am really touched.

                      I have put the code you sen to me in my KNS81.js file. I hope I have done well the replacement you suggest. This is the result:

                      send__ThisLineIsOnlyForAvoidingTheBoxCodeProblem__(){
                      sendRnavVariables(){
                      	
                          SimVar.SetSimVarValue("L:var_RNAV_WAYPOINT_NUMBER", "number", this.displayChannel);
                      	
                              if(SimVar.GetSimVarValue("NAV HAS DME:"+this.navSourceIndex, "Bool") && SimVar.GetSimVarValue("NAV SIGNAL:"+this.navSourceIndex, "number")){
                      
                              if(!SimVar.GetSimVarValue("L:var_RNAV_CHECKMODE", "bool")){
                                  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{
                                  SimVar.SetSimVarValue("L:var_RNAV_RADIAL_NUMBER", "number", (this.actualVorRadialDegrees + 180) % 360);
                                  SimVar.SetSimVarValue("L:var_RNAV_DISTANCE_NUMBER", "number", this.interpolatedDmeRange);
                              }   
                      
                              SimVar.SetSimVarValue("L:var_RNAV_BEARING", "number", this.rnavBearing);
                      
                              //console.log("Sending CDI Value: " + this.rnavAngularDeviation + " --> " + (Math.max(Math.min(this.rnavAngularDeviation, 12.0), -12.0) * 10.583333) );
                      
                              //0=VOR, 1=VOR/PAR, 2=RNAV-ENR, 3=RNAV-APR
                              switch(this.navigationMode){
                                  case 0:
                                      SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavAngularDeviation, 12.0), -12.0) * 10.583333) );
                                  break;
                                  case 1:
                                      SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavLinearDeviation, 5.0), -5.0) * 25.4) );
                                  break;
                                  case 2:
                                      SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavLinearDeviation, 5.0), -5.0) * 25.4) );
                                  break;
                                  case 3:
                                      SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", (Math.max(Math.min(this.rnavLinearDeviation, 1.25), -1.25) * 101.6) );
                                  break;
                              }
                      
                              SimVar.SetSimVarValue("L:var_RNAV_TOFROM", "number", this.toFromFlag);
                      
                          }
                          else{
                              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]);
                              SimVar.SetSimVarValue("L:var_RNAV_CDI", "number", 0);
                              SimVar.SetSimVarValue("L:var_RNAV_TOFROM", "number", 0);
                              SimVar.SetSimVarValue("L:var_RNAV_BEARING", "number", 0);
                          }
                      
                          if(!SimVar.GetSimVarValue("L:var_RNAV_DMEHOLD", "Bool")){
                              if(SimVar.GetSimVarValue("NAV HAS DME:"+this.navSourceIndex, "Bool") && SimVar.GetSimVarValue("NAV SIGNAL:"+this.navSourceIndex, "number")){
                                  SimVar.SetSimVarValue("L:var_RNAV_DME", "number", this.rnavDmeDistance);
                                  SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", this.rnavDmeSpeed);
                              }
                              else{
                                  SimVar.SetSimVarValue("L:var_RNAV_DME", "number", 0);
                                  SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", 0);
                              }
                          }
                          else{
                              if(this.calculatedDmeDistanceHOLD < 145.7){
                                  SimVar.SetSimVarValue("L:var_RNAV_DME", "number", this.calculatedDmeDistanceHOLD);
                                  SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", this.calculatedDmeSpeedHOLD);
                              }
                              else{
                                  SimVar.SetSimVarValue("L:var_RNAV_DME", "number", 0);
                                  SimVar.SetSimVarValue("L:var_RNAV_DMESPEED", "number", 0);
                              }
                          }        
                      }
                      
                          sendAutopilotVariables(){
                          send__ThisLineIsOnlyForAvoidingTheBoxCodeProblem__(){
                      
                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        felixfer
                        wrote on last edited by felixfer
                        #11

                        And I must say that it has worked for the RADIAL and DISTANCE vars, now I can access to them and show their values.

                        The only remaining problem is the WAYPOINT_NUMBER var, I have not been able to find it. I feel that I am abusing your trust, but I would like to ask you if you find any possible cause for this absence.

                        Thanks again for your unvaluable help and best regards,

                        Félix FdC

                        GunStraussG 1 Reply Last reply
                        0
                        • F felixfer

                          And I must say that it has worked for the RADIAL and DISTANCE vars, now I can access to them and show their values.

                          The only remaining problem is the WAYPOINT_NUMBER var, I have not been able to find it. I feel that I am abusing your trust, but I would like to ask you if you find any possible cause for this absence.

                          Thanks again for your unvaluable help and best regards,

                          Félix FdC

                          GunStraussG Offline
                          GunStraussG Offline
                          GunStrauss
                          wrote on last edited by
                          #12

                          @felixfer No problem, but not sure if I understand why you don't get the waypoint number. I belive this is the piece of code that makes the waypoint number display:

                          SimVar.SetSimVarValue("L:var_RNAV_WAYPOINT_NUMBER", "number", this.displayChannel);

                          My post (where the code is weirdly formatted) is taken directly from the .js file running on my system. Are you using the latest build? What aircraft?

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            felixfer
                            wrote on last edited by felixfer
                            #13

                            Hi again, @GunStrauss . Sorry for my mistake before. I just reloaded the sim and the Waypoint_Number Var was there, indeed. Now I can have almost all the KNS81 values in my Loupedeck. Thanks again for all your support.

                            P.S. My aircraft is the Analog Baron, by the way

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

                              I'm happy you got it to work!

                              1 Reply Last reply
                              1
                              • F Offline
                                F Offline
                                felixfer
                                wrote on last edited by
                                #15

                                Hi @GunStrauss , I have installed the Analog Baron 1.2 update. Do you think that the manual editing in the file "KNS80.js" is still necessary? Thanks in advance

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

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