Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


tkyler last won the day on July 3

tkyler had the most liked content!

Community Reputation

2,324 Excellent

About tkyler

  • Rank
    Advanced Member
  • Birthday 09/23/1967

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    San Antonio, TX USA
  • Interests
    Aviation, sailing, woodworking, family, engineering, philosophy, psychology, travel

Recent Profile Visitors

16,802 profile views
  1. Another weekly update. The rather rigorous testing of route editing over the last week had brough forth a few more issues, not unexpected during such a substantial rewrite though... but without a doubt, there are substantially less issues with route editing. Jan's last round of route testing, he was unable to get a gizmo crash when changing procedures aggressively and could swap any procedure at any time. Our goal here is for folks to not be scared of to push any buttons on the procedures page during descent / approach for fear of a gizmo crash, and be confident they'll get the route they expect. So, for example, you can select a STAR and transition.....and fly that without knowing your arrival... and then select your arrival later and it'll just get "added" to your routing. I know I say this every time, we have not begun the VNAV rewrite though....so we can't say how the VNAV predictions will turn out just yet. We have a very small list of issues to wrap up, which I will be trying to tend to this weekend so we can get this patch out asap. After, I will examine the waypoint restrictions and then finally analyze the VNAV and set upon improving that feature. -tkyler
  2. Ok..another week gone by. 60 more hours of rewrite on the FMS route editing and guess what, we're still easily 95% of the way done Seriously, we are into the more hardcore route editing features now, the really fringe type of data entry patterns...changing your mind "mid transition" selection for example, or selecting a STAR, then approach, going to other pages, then coming back to select another STAR, then TRANS, then swap to a runway with an extension, then shortcut points, etc. Testing earlier in the week had us redesign some other algorithms and we figured we should just power through the work now so it gets done right and we can move on to VNAV without worrying about fragile route editing. With the algorithm structure in place, what remains is simply comprehensive testing/debugging of those algorithms via diverse route entry patterns until the route builds as expected in all cases, for both Navigraph and Aersoft datasets. As soon as that happens, we'll get the patch out. We're working on it daily. -tkyler
  3. how repeatable is the event. Does it happen at exactly the same time? or about the same time? etc. Also, if you can repeat it and then post the X-Plane log file (Log.txt in the X-Plane root folder) that would be a good data point also. -tkyler
  4. Hello all. What started out as a 'quick bug fix" for our annoying gizmo '470' error has, over the last 80 hours in one week..... turned into a very significant rewrite of our route procedures editing code. I was hoping to have it done by this weekend, but we are not quite ready. We are easily 95% of the way though and will continue to push to get this rather significant FMS update out asap. Depending on the routes you enter, some may not notice much difference, but for others, the difference will be quite noticable with the "routes editing as expected". Of course there is no way we can try all the routes that all the user can. In one 14 hour day, I may enter 100 test routes, all at the same airport, so feedback after release will be much welcome. We have refactored our editing code to be much more maintainable and 'debuggable'. That being said, we are pushing the CDU entries pretty hard at lots of locations and will continue to do so right up until release. I MUST re-iterate...this is LNAV editing code, not the VNAV. VNAV calculations are built upon the LNAV route and so this is a major foundational step towards improving the VNAV. I suspect many routes will improve though with this update. After this route editing effort is stabilized, I will go over the waypoint restrictions and then the VNAV. Holds will come after. -tkyler
  5. Many procedures are "mated" to runways. On the Beoing 737 NG, if you select a runway that is not mated to a currently selected SID, you will get a message "RUNWAY N/A FOR SID:" The FMC will then make that runway the selection, delete your SID waypoints and filter the SIDs list for you to select a 'matching' SID. Conversely if you select a procedure that is not mated to the currently selected runway, the message then reads: "DEP N/A FOR RUNWAY" ...and the FMS again selected the SID, dumps any previous procedures and filters the runway list for you to select a mating runway, We now simulate this behavior, as opposed to the "RUNWAY REQUIRED" message. This situation can still exist with XP1100 data, depending on the procedures; however, it will be less common. -tkyler
  6. Jan is right, we have not touched the AP or VNAV code at all since 1.21, so if something is worse, we need to know exactly what it is that "makes it worse". Debugging is quite tough business, not so much the fix, but the amount of diligence it takes to quantify what the issue is and put it into words. Good VNAV starts with good routes to make calculations from, and that is where we currently are as of this instant, fixing the STAR / APP route building code as these procedures are selected...since they are clearly resulting in 'funny routes' where VNAV calculations make no sense. That '470' bug is a pain for all of us and I'm super sorry about that one, but its fixed for the upcoming update and we are also now trying as many route editing combinations as we reasonbly can to test the robustness of entries. We will have an update in relatively short order with several fixes for sure and I for one, will be interested in seeing how the FMS handles "in air edits on descent" for all the situations folks will try that we did not get to. VNAV complaints are heavily biased toward the descent calcs and revisiting my code, its not hard to see why....which is a good thing...as it paints a clearer path for repairing the code. We are now working on FMS code and VNAV with priority, so any patience / feedback as these updates come out will be appreciated and help us improve. Bug reports regarding VNAV after this next update will be quite valuable as we are focused on that work at this time. -tkyler
  7. Ok...fixed. here's the deal for the curious. one darn character I have code that evalutes scratchpad entries to see if they're user created. For Lat/Lon types, the format is latitude letter (N or S) followed by number, then a longitude letter (E or W) followed by more numbers. My parser looks like so: [NS]%d*[EW]%d* The problem? using an asterisk allows "no results" to be valid....so this pattern doesn't require any numbers to be between the letters, so SEA for example....the parser is finding the S and the E...and thinks its a Lat/Lon point. Same for CRUSE or ANY waypoint that may have a N or S followed by a E or W. This is what fixes it. [NS]%d+[EW]%d+ Fixed for next patch. Which should be pretty quick. Along with the remaining User Created Waypoints and some much needed love to STAR entries while in descent. -TomK
  8. Thx, specific experiences / routes vs expectations regarding these altitude restriction issues are very good data points for me. Thx for the input. -tkyler
  9. This is a lengthy post, explaining our VNAV situation, or at the least, how we arrived where we are today, and where we're going from here. This is a tale of how being too ambitious and trying to be all things to all people bit us and our customers. In the beginning was nav data in XML format....whether other formats were avail in the beginning, I don't know, I only know this was my beginning because I inherited the FMS work and this was the dataset that landed on my plate. It was from Navigraph. The first thing I did when I started was to open up a few XML files to get the lay of the land. I noted several differing "types" of data like so: and decided I needed to know every single type in the dataset so I could design algorithms around it. So I wrote a program to go through all the files and log each unique occurence of a data type, i.e. "Star" "Sid". "Sid_Transition", "Approach", etc. After I had that list (because I couldn't find any spec), I set about programming the FMS....for a few years. All was pretty well. THEN....somewhere towards the end, we loaded up the same XML format dataset...but this time by Aerosoft, thinking "hey, lets support both providers, since there are plenty users of each". ...and for a while things were good; however, we started seeing some issues related to the fact that Aerosoft had additional XML types that Navigraph didn't have...and for which I didn't have code to handle. So I started throwing up 'band-aids' to get the Aerosoft dataset integrated....which would lead to some anomalies for Navigraph users...OK...a few more band-aids ought to do it. And this went back and forth until I had all 10 fingers plugging up holes in the dike. But turns out I needed a few more fingers....OR a more robust dike (hint...that's where this is going). Over time, we'd see bug reports for navigraph users that aerosoft users weren't seeing and vice-versa. Without exception though, the most obvious problem spot was in "decent FMS entries", i.e. STARS, Star transitions, etc. Entering these procedures were frought with all sorts of bugs and gizmo crashes. For online users who frequently enter these procedures in the air, as they approach their destinations, this simply was a deal killer. So...fast forward to today when I'm revisiting the FMS code from a much higher level and seeing that these band-aids just didn't cover the wounds well enough. So..case in point. Here is how Aerosoft and Navigraph each represent STARs with runway transitions, specifically KBOS. Aerosoft uses a data type "RwyTransition" to denote a runway transition waypoint, whereas Navigraph does not. This is where things went south originally when we tried to support Aerosoft users late in our development process. Now when a user enteres a STAR, and no arrival runway has been selected, then you'd expect to load those waypoints in the STAR that are not unique to runways, i.e. "common points". If you're using NAVIGRAPH, you will note that each XML "block" is associated with a runway. So if no runway is selected, we have no way of knowing which block of code to load for navigraph users. If you're using Aerosoft, then I can load the STAR waypoints only (and not the transition waypoints)....except all my code was written for the navigraph formats....and trying to make this work "last second" ended up causing more code confusion and debugging difficult. If I had a bigger picture of all these types from day 1, I would have written better structured algorithms. The good news, is I can see it better now and CAN write better structures; however, better than both these XML formats is the XP1100 dataset that we plan to migrate to in the future. But there is still more good news. Looking at the code with clearer eyes and hindsight, I can see a few trouble spots that I can fix that should make this whole VNAV decent business improve significantly. Indeed one or two poor lines of code can bring down the house and does for a few instantces of entering STARS / Transitions. We are going to add a new message to the CDU, which is NOT realistic, but required in our opinion to avoid confusion. If you select a STAR that is associated with a runway, or has runway transitions, we will display a message "RWY SELECTION REQD". While Aerosoft has the necessary common points separated so as to load those without a runway selection, recall my code was not orginally written for it, and so for the moment, I am not going to create a fork to handle it just yet. Knowing we are switching to XP1100 navdata format, I'll have to gauge the effort of accomodating Aerosoft's transition points differently than the Navigraph data vs the effort of just focusing on the XP1100 integration. It could be, that accomodating Aerosoft's transition points is not so difficult...and in this case, a user could select a STAR and STAR transition without having an approach selected; however, Navigraph folks, we simply need to know the arrival runway before we can load up these "runway transition" STAR types. For STARS that are NOT associated with a specific runway, but serve all runways, this arrival runway selection is NOT required before STAR selection. Many times users don't notice that the STAR they are selecting are unique to a runway (and subject to the case described here) and so in the course of their simming would see inconsistent behavior with STAR selection as they flew differing flights around the globe. This "RWY SELECTION REQD" message will let them know. And finally....my code handling STAR transitions for these "runway transition" STARS was completely borked (by a poor band-aid), messing up the waypoint table and rendering any VNAV calcualtions / representation completely useless. This is why some folks see good VNAV behavior and others do not. It is dependent on which route your are flying, which STAR type you select and whether or not you selected a transition. I believe this CDU message will fix a lot in the interim, but ultimately the swap to XP1100 nav data format, with its consistency and basis in ARINC 429, will be our final and most durable solution. Aside from the issue described here, the other glaring issue is the waypoint altitude restrictions. We will be attacking those soon enough and with clearer eyes, I expect to get this cleaned up also. -TomK
  10. so digging a little deeper, I now recall why I had that line of code in there...and why we need to switch over to the XP1100. nav data format. The problem is the XML format we use does not represent "common" portions of STARs such as is found at KBOS. In this particular example above, the STAR serves 'all' runways, indeed that is the exact word the XML format uses for this star..."ALL". BUT at an airport like KBOS, a STAR will serve a bunch of runways and perhaps only the first few points of the STAR may be common before it diverges to specific runways. So if a runway was NOT selected, but a STAR was, then you would at least expect the common points to load; however, the XML format associates waypoints with runway identifiers in this case...and without a selected runway, I don't know which XML block to load. There is an extremely cumbersome workaround of trying to extract the common points, but it is not worth the effort IMO, and switching to a more realistic data format is the prudent solution....putting a giant band-aid on what we have is not the way to go. SO....what this means is when you select this type of STAR, that is associated with specific runways (as opposed to ALL runways), then we will pop a CDU message saying, SELECT RWY FIRST". When you do this, then you can select a STAR and it will load the STAR associated with the runway selected...inlcuding the "common points". Then, as mentioned above, you can select a new runway after you know which one you'll get, but at the least we'll avoid these gizmo erros ruining the flight. We avoided this message earlier because it simply wasn't like the real FMS, but neither is the nav data format and so its finally time to compromise. Unsure if we'll get this into the next patch...as we want ample time to test it. Certainly entering the runway first now before selecting stars is a good protection. -tkyler
  11. Not necessarily. If you dig into your fmc_data > SidStar folder inside the IXEG folder and pull out the ENGM.xml and EDDU.xml files and post them here, I can try to reproduce this with your exact dataset. It is definitely worth trying to reproduce for me as I would not expect that bypass calculation. -tkyler
  12. For the life of me, I have a line of code that says, "if the arrival runway is selected, append the star transition points". I remove that condition and everything snaps into place on this particular procedure (still a tweak to RTE page required though). I can't recall what kind of situation made me put that in all those years ago (though I'm sure some other user will find it). Transitions were particularly challenging given the XML dataset I originally started with, that I do remember...and one provider had runway transitions and another didn't. Things seem to have leveled out over the years, but this old code remained. I can only wonder how this may clean up other calculations on the descent side of things.
  13. So I have recreated it....and will take a stab at it. This one rears its ugly head from time to time and I'd love to get it fixed (as would everyone else I'm sure!) -tkyler
  14. This is one of the major areas that will be fixed by switching to the XP1100 navdata set. The XML data format does not delineate between the "runway transition" portions of a STAR vs the common portions very well at all. If you enter a STAR and the runway isn't entered yet, then ideally it should either 1) load the common part of the STAR, until the runway is selected or 2) let you know that a runway selection is required. (which does exist in some cases) The XML format we use is proably 15+ years old and just not the most flexible format. While this can be coded around, the code turns in to bloat very quickly with this XML format. I can't wait to move from it. Maybe I'll think of something clever or have some aha moment to get this to work with this format until then. -tkyler
  • Create New...