Maybe some of you can use this thing I wrote (Kneeboard generator)

Just curious about programming technique and maybe really basic (see what I did there?). I tend to use CASE in these situations. I haven't run into one as bad as you describe so wonder how you are dealing with it.
I made it much more simple than that. I just do a string replace on everything so that all my data is uniform. so if they spell it five different ways, I just do a string replace for all five of those things with my one correct string then all of my data looks consistent
 
This is one instance where I am inserting ARTCC data
They use FREQ and FREQS SERVICE and SVC, PROVIDED and PRVDD...


Sample data
Line 19945: TWR6AIG 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 124.4/317.7 (MOSINEE RCAG).
Line 19958: TWR6ASX 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 126.45/276.4(HAYWARD RCAG).
Line 19961: TWR6DLL 1 APCH/DEP SERVICE PROVIDED BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG) WHEN MADISON APCH CTL CLSD.
Line 19966: TWR6BCK 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 128.6/363.0 (LA CROSSE RCAG).
Line 19972: TWR6OVS 1 APCH/DEP SERVICE PROVIDED BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG).
Line 19975: TWR63T3 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 125.3/335.6 (EAU CLAIRE RCAG).
Line 19980: TWR63CU 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 126.45/276.4 (HAYWARD RCAG).
Line 19986: TWR6VOK 1 APCH/DEP SVC PRVDD BY CHICAGO ARTCC ON FREQS 133.3 / 257.92 (VOLK FLD RCAG) WHEN APCH CTL CLSD.
Line 20001: TWR6Y23 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 125.3/335.6 (EAU CLAIRE RCAG).
Line 20007: TWR6Y55 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 133.65/281.5 (RHINELANDER RCAG).
Line 20014: TWR6EGV 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 133.65/281.5 (RHINELANDER RCAG).
Line 20021: TWR6EAU 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 125.3/335.6 (EAU CLAIRE RCAG).
Line 20034: TWR661C 1 APCH/DEP SVC PRVDD BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG) WHEN MADISON APCH CTL CLSD.
Line 20037: TWR663C 1 APCH/DEP SERVICE PRVDD BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG) WHEN APCH CTL CLSD.
Line 20040: TWR6GTG 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 121.05/397.9 (PRINCETON RCAG).


String replace up front means I only have to look for one thing on the back site of the equation:


prvdd.JPG
 
This is one instance where I am inserting ARTCC data
They use FREQ and FREQS SERVICE and SVC, PROVIDED and PRVDD...


Sample data
Line 19945: TWR6AIG 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 124.4/317.7 (MOSINEE RCAG).
Line 19958: TWR6ASX 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 126.45/276.4(HAYWARD RCAG).
Line 19961: TWR6DLL 1 APCH/DEP SERVICE PROVIDED BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG) WHEN MADISON APCH CTL CLSD.
Line 19966: TWR6BCK 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 128.6/363.0 (LA CROSSE RCAG).
Line 19972: TWR6OVS 1 APCH/DEP SERVICE PROVIDED BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG).
Line 19975: TWR63T3 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 125.3/335.6 (EAU CLAIRE RCAG).
Line 19980: TWR63CU 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 126.45/276.4 (HAYWARD RCAG).
Line 19986: TWR6VOK 1 APCH/DEP SVC PRVDD BY CHICAGO ARTCC ON FREQS 133.3 / 257.92 (VOLK FLD RCAG) WHEN APCH CTL CLSD.
Line 20001: TWR6Y23 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 125.3/335.6 (EAU CLAIRE RCAG).
Line 20007: TWR6Y55 1 APCH/DEP SVC PRVDD BY MINNEAPOLIS ARTCC ON FREQS 133.65/281.5 (RHINELANDER RCAG).
Line 20014: TWR6EGV 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 133.65/281.5 (RHINELANDER RCAG).
Line 20021: TWR6EAU 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 125.3/335.6 (EAU CLAIRE RCAG).
Line 20034: TWR661C 1 APCH/DEP SVC PRVDD BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG) WHEN MADISON APCH CTL CLSD.
Line 20037: TWR663C 1 APCH/DEP SERVICE PRVDD BY CHICAGO ARTCC ON FREQS 133.3/380.35 (LONE ROCK RCAG) WHEN APCH CTL CLSD.
Line 20040: TWR6GTG 1 APCH/DEP SERVICE PROVIDED BY MINNEAPOLIS ARTCC ON FREQS 121.05/397.9 (PRINCETON RCAG).


String replace up front means I only have to look for one thing on the back site of the equation:


View attachment 52879
Nested ifs are part of what drove me to CASE. The other was multiple OR. By that time all my hair was on the floor. But yeah, pre-processing is definitely one way to go.

It looks like the FAA motto should be: QC data entry? Not around here bubba!
 
6PC, I tried out your kneeboard generator tonight. Even though I fly with WingX and have this information at a touch away, I still copied this type of information to my knee pad so I would be able to make notes and write down my enroute frequencies. This will easily replace what I was doing manually and looks so much neater. The font size is great too. Very legible. I give it a Siskel & Ebert Two Thumbs Up! Thanks!
 
Thank you.
I'm really glad to hear positive feedback
 
It looks like the FAA motto should be: QC data entry? Not around here bubba!

They're probably still entering it via teletype. LOL

Databases with field structure and bounds checking are still 30 years out at FAA. :) Part of their "modernization plan".

Ironically this is a LOT of what Jepp does for the U.S. data. They take all this crap and have a number of people that just standardize the mess so it's usable. They'd probably be able to downsize staff considerably if they didn't have to structure and order the mess.

I knew one guy that's all he did there. Look over all the stuff from FAA that got flagged as having a Delta from the last release cycle, and seeing if it got sucked into Jepp's systems correctly and without errors introduced by some new oddball format. He also did it for a few other countries.

He did it for about six months and went and found a new job. Can't say as I blamed him. What an awful permanent gig.
 
Great tool, 6PC. With all the nifty programs available, I figured I was the only cat under 60 that still wrote stuff on paper. I hate to make any suggestions after you so kindly bestowed this upon us, but I would second the nearest AWOS for fields that don't have one.

I would also suggest adding a button for automatic Gaston's reservations, and maybe a "boobs of the day" picture that updates daily.

I'm well under 60 and still make handwritten notes I keep on a kneeboard. The information and format is very similar to this actually. I'm going to give this one a shot. Thanks for your work on this!


Sent from my iPhone using Tapatalk
 
Does this only work for US airports? I tried Brandon (CYBR) to Winnipeg (CYWG), and Altona (CJL6) to Morden (CJA3), and only got it to work when I entered Oshkosh (KOSH) to Dallas (KDFW).

I have to say though, what I saw when it did work, BEAUTIFUL!! I would use this SO much!
 
Does this only work for US airports? I tried Brandon (CYBR) to Winnipeg (CYWG), and Altona (CJL6) to Morden (CJA3), and only got it to work when I entered Oshkosh (KOSH) to Dallas (KDFW).

I have to say though, what I saw when it did work, BEAUTIFUL!! I would use this SO much!

I'm pulling the data from the available FAA databases. Which I do believe is only the United States
 
I'm pulling the data from the available FAA databases. Which I do believe is only the United States
After ATC goes private the mergers with other private ATC companies can occur. Very soon it'll be worldwide.

Your kneeboard generator has a bright future.
 
Last edited:
6PC, I tried out your kneeboard generator tonight. Even though I fly with WingX and have this information at a touch away, I still copied this type of information to my knee pad so I would be able to make notes and write down my enroute frequencies. This will easily replace what I was doing manually and looks so much neater. The font size is great too. Very legible. I give it a Siskel & Ebert Two Thumbs Up! Thanks!
One thing I have noticed after using the program a bit, for airports that have multiple approach frequencies, it seems to just pull the first in the list. How hard would it be to either print all approach frequencies with applicable heading ranges or have the program pick the one correct approach frequency based on your calculated heading? I noticed this because the kneeboard printed the north side approach frequency for the class "D" airport (KAGS) next to my non-towered home airport when the south frequency would be the correct one for me to use. It is not that big of a deal but just thought I would pass along a suggestion for improvement if interested. I really like the program. I have already printed sheets for the flights that I make on a regular basis and keep them in my kneeboard flap pocket. Thanks again for a neat program!
 
I'm pulling the data from the available FAA databases. Which I do believe is only the United States

I used the data at

http://ourairports.com/data/

for my excel version. The data, like the one it sounds like you're using, is full of inconsistencies, but it does contain data for other countries besides the United States.

It also has some structure to the data, maybe that will help you versus the FAA format.

I wrote something complementary which turned out to sound vulgar; and that made me guffaw, so let me rephrase it to say nice programming and output.

Thanks!

Justin
 
One thing I have noticed after using the program a bit, for airports that have multiple approach frequencies, it seems to just pull the first in the list. How hard would it be to either print all approach frequencies with applicable heading ranges or have the program pick the one correct approach frequency based on your calculated heading? I noticed this because the kneeboard printed the north side approach frequency for the class "D" airport (KAGS) next to my non-towered home airport when the south frequency would be the correct one for me to use. It is not that big of a deal but just thought I would pass along a suggestion for improvement if interested. I really like the program. I have already printed sheets for the flights that I make on a regular basis and keep them in my kneeboard flap pocket. Thanks again for a neat program!
I am working on that now. There are a lot of airports with different tower frequencies and air traffic control frequencies they will all end up there and some neat fashion hopefully in the next week or two.
 
I used the data at

http://ourairports.com/data/

for my excel version. The data, like the one it sounds like you're using, is full of inconsistencies, but it does contain data for other countries besides the United States.

It also has some structure to the data, maybe that will help you versus the FAA format.

I wrote something complementary which turned out to sound vulgar; and that made me guffaw, so let me rephrase it to say nice programming and output.

Thanks!

Justin
I originally backed this with our airport data like you mentioned. If you scroll to the beginning of this thread you can see people reporting inaccurate frequencies. I was getting a lot of frequencies that are not correct from that database. When I contacted the vendor from that site they said thank you very much we rely on our customers to notify us of inconsistencies. So I decided to scrap the back end and just go with the FAA database.
 
And I am not knocking them at all. Their date it was in such a great format. It was so easy to consume. I've spent almost a year trying to get through the FAA formatted data in order to make it work because I had map everything so it would work with that other database. This is been a struggle but I think I finally got the data. Now I just have to clean up a couple of things where the data gets really really complicated
 
Pretty cool! With things like this, flight planning is really easy, it seems. Too easy...when I learned to fly, I'd have to do all this by hand looking at a huge chart. Then fly the XC with 50 knot heads both ways. And the sun was always in my eyes too.

But consider catching an airport not in the USA (yeah, I know this is PoA). I entered my next trip and got:
upload_2017-8-25_15-53-27.png

Also noticed the data seems old (good on you putting for that in the upper right corner).
I think as a subscription, it is worth at least as much as a W&B app :)
Nice work!
 
I will run the update process tonight. I have a job that does it but I got a new PC and didn't reschedule the job.
I will put a reminder on my calendar.

I can make it subscription based and make the claim that it could save your life. ;)
 
I will run the update process tonight. I have a job that does it but I got a new PC and didn't reschedule the job.
I will put a reminder on my calendar.

I can make it subscription based and make the claim that it could save your life. ;)
The heck with saving lives, will it cure CFI halitosis? That would be worth some coin.
 
Updated. Sorry for the delay.
One man show over here. Setting it up as a scheduled job.
 
what am I doing wrong, I can't get any output at all. tried 1 airport, single leg and round trip.
 
what am I doing wrong, I can't get any output at all. tried 1 airport, single leg and round trip.

Fixed. Thank you.
Some airports don't have a TPA listed in the FAA files. For those I have to manually enter them.

The rule is if it is listed, use it. If it is not listed, it can be assumed that it is elevation + 1000 feet.
 
Yep, I have to give it a Siskel & Ebert two thumbs up too. I print out kneeboards for all of my flights. Thanks!
 
Hi SPC.
At most airports that require CLDL, the sequence of freqs used for departure is: ATIS, CLDL, GND, TWR, Dept.., if an arrival the sequence changes a little, but ATIS is likely to be first regardless.
It is not imperative that the freqs are arranged that way but it may help the flow?
Others may want to give their opinion?
Thanks for your effort.
 
You know what? I'm not sure I paid any attention to logically sorting them. I can do that pretty simply I will try to update that this evening
 
Hi SPC.
At most airports that require CLDL, the sequence of freqs used for departure is: ATIS, CLDL, GND, TWR, Dept.., if an arrival the sequence changes a little, but ATIS is likely to be first regardless.
It is not imperative that the freqs are arranged that way but it may help the flow?
Others may want to give their opinion?
Thanks for your effort.


agreed. I 'think' it might be harder to do than 6er thinks, but I'm sure he can at least get close.

another suggestion, and this may just be personal preference, is to have one of the radio button options be default. there are three now (soon to be four) just pick the first one to be the pre-selected default. because if I use this thing 30,000 times, that could be 30,000 less clicks. just saying, I'm a click counter.
 
Hi SPC.
At most airports that require CLDL, the sequence of freqs used for departure is: ATIS, CLDL, GND, TWR, Dept.., if an arrival the sequence changes a little, but ATIS is likely to be first regardless.
It is not imperative that the freqs are arranged that way but it may help the flow?
Others may want to give their opinion?
Thanks for your effort.
I like this idea....

For arrival have it, ATIS/AWOS, APPROACH, TWR/CTAF, GROUND. And then for departing, ATIS, CLDL, GROUND, TWR, DEPARTURE

Are the FBO frequencies published anywhere?
 
Pretty cool, this is something I would probably use. That's all stuff that I usually write down anyway, I like paper so this works good. Thanks!
 
I still think this is cool and amazing. It's sufficiently far removed from my skills that even though I understand how it was done, it's still Magic.
But, hey, 6PC, I'm planning a lot of flying this weekend - can you please make the Multil Leg stuff functional by 4pm tomorrow?
Not for me: I gotta give The Monkey some flight time!
 
I still think this is cool and amazing. It's sufficiently far removed from my skills that even though I understand how it was done, it's still Magic.
But, hey, 6PC, I'm planning a lot of flying this weekend - can you please make the Multil Leg stuff functional by 4pm tomorrow?
Not for me: I gotta give The Monkey some flight time!

I wish. It is such a cluster.
I need to sit down with it for a day or 2 uninterrupted to get it to function properly.

one day.
 
Back
Top