Jump to content

Archived

This topic is now archived and is closed to further replies.

Engjell Berisha

(A:COM1 IDENT,string)?

Recommended Posts

What's the best way to get the name of a selected com frequency? Like for instance the active com frequency or the stan by com frequency? Is there a way to do this? Such as the NAV1 IDENT variable? I would want it to give me the type and the name as in 118.100 being PHNL TWR if you're in the vacinity.


Good Day,

Engjell Berisha

 

Angel-Simulations-Small.png

Share this post


Link to post
Share on other sites

You would have to use a complicated GPS search routine taken from the tuned frequency in order to get facility data and station type. Sorry I donot have notes on this at this moment.An off the top example.Get current Lat/LonSearch closest airportsAt each airport, see if current comm radio freq. matches any for that airportIf so transfer airport data to facility data then run frequncy match to get frequncy type.If not go to next airport on initial airport search.Repeat until found.Something like that :( Roman


Roman_Full_combo_AVSIM_2.png?dl=1  FS RTWR   SHRS F-111   JoinFS Host/Client 

 

Yamaha CR 1000/JBL 2500, AMD 965 BE OC'd @ 3.88, RipJaw 2x4GB 1600 CL7, Gigabyte GTX-1070 OC 8GB, Asus M4A87TD EVO (AMD 870), Samsung 850 EVO 256GB & 1TB SSDs, WD 1T & 500G Black, 19" & 32" LCD, Win7 Pro 64bit, TMaster T-Flight HOTAS, FSX/FS9, FSUIPC / LUA, FSRealWX Pro, PlanG, JoinFS, LittleNavMap
Copilot - Samantha the "Hound"  RIP 😞        
       samantha.jpg?dl=1

 

Share this post


Link to post
Share on other sites

I was scared you'd say that, had the same thought. Going to be a bad-word of a code to write, just gonna have to get my head around the concept and make it as efficient as possible, doesn't seem I have a choice.Thanks Roman.


Good Day,

Engjell Berisha

 

Angel-Simulations-Small.png

Share this post


Link to post
Share on other sites

Yer gonna hate me for this.... but it's easy in C:-

MODULE_VAR tofrom_var	= {VOR1_TF_FLAG};FLOAT64 FSAPI	update_string_dme1_id( FLOAT64 val ){  if (tofrom_var.var_value.e == VOR_TF_FLAG_OFF)    sprintf(dme1_id.string, "---",NULL);	  else    sprintf(dme1_id.string, "%s",val);  return val;}

"val" is {VOR1_IDENTITY} from a string element. -Dai

Share this post


Link to post
Share on other sites
Yer gonna hate me for this.... but it's easy in C:-
for NAV idents, yes, but for COM, doesn't Roman have the right approach?

Share this post


Link to post
Share on other sites

Well I got it working close enough to what I wanted so far. Since the purpose I needed it for was to just generate a valid nearby COM frequency suggestion I just used the nearest function with a few clauses to make sure that I don't get a general traffic frequency.

<Update Hidden="Yes"  Frequency="10">   (A:PLANE LATITUDE,degrees) (>C:FS9GPS:NearestAirportCurrentLatitude,degrees) (A:PLANE LONGITUDE,degrees) (>C:FS9GPS:NearestAirportCurrentLongitude,degrees) 50 (>C:FS9GPS:NearestAirportMaximumItems,number) 592640 (>C:FS9GPS:NearestAirportMaximumDistance,meters) 0 (>C:FS9GPS:NearestAirportCurrentLine,number) (C:FS9GPS:NearestAirportCurrentComFrequencyValue,mhz) 0 == if{ (C:FS9GPS:NearestAirportCurrentLine,number) 1 + (>C:FS9GPS:NearestAirportCurrentLine,number) } (C:FS9GPS:NearestAirportCurrentComFrequencyName) ord 67 == if{ (C:FS9GPS:NearestAirportCurrentLine,number) 1 + (>C:FS9GPS:NearestAirportCurrentLine,number) } (A:PLANE LATITUDE,degrees) (>C:FS9GPS:NearestVORCurrentLatitude,degrees) (A:PLANE LONGITUDE,degrees) (>C:FS9GPS:NearestVORCurrentLongitude,degrees) 50 (>C:FS9GPS:NearestVORMaximumItems,number) 592640 (>C:FS9GPS:NearestVORMaximumDistance,meters) 0 (>C:FS9GPS:NearestVORCurrentLine,number) (A:PLANE LATITUDE,degrees) (>C:FS9GPS:NearestNDBCurrentLatitude,degrees) (A:PLANE LONGITUDE,degrees) (>C:FS9GPS:NearestNDBCurrentLongitude,degrees) 50 (>C:FS9GPS:NearestNDBMaximumItems,number) 592640 (>C:FS9GPS:NearestNDBMaximumDistance,meters) 0 (>C:FS9GPS:NearestNDBCurrentLine,number)</Update>

I may at some point in the future have the database search for the value of the active com frequency and try to find it and ultimately it's identity, but I was having trouble try to get it to show me all the frequencies of a particular airport as opposed to primarily the tower and it wasn't the crucial of a feature so I let it go. :( Thanks for the help guys.Dai, no worries bud thanks anyway. One of these days I'm going to turn C and dare I say it never look back, it what but much, much easier to use C for the gauges I build but I'm stubborn and XML is a like a addicting drug. I would assume C is too, but one at a time.. :( Here's the finished product if anyone cares for it.


Good Day,

Engjell Berisha

 

Angel-Simulations-Small.png

Share this post


Link to post
Share on other sites

DVA, Again I donot have notes or reference to FS files (FS computer blew up) but it looks like you are very close. In order to list "all" the frequencies for a certain airport you need to run a loop inside a text string incrementing frequency index on each loop, providing a "new line" escape command for each one all the way until the number of freqs. per airport is reached. See the stock GPS units for examples.When looking for a specific frequency you would use the index increment until found for each airport until it is found.IIRC the index=0 freq. will always be the tower.Using the following may do the trick, none are used in the GPS - NearestAirportSelectedNumberFrequencies - Number - ReadNearestAirportSelectedFrequencyIndex - Number - Read / WriteNearestAirportSelectedFrequencyValue - Hertz - Read NearestAirportCurrentFrequency Hertz - Hertz - Read / Write <-- This one "may" provide a shortcut?? NearestAirportCurrentFrequencyName - String - Read --------------------------------------------------------------------------If the above doesn't work the use the following which are all used by the GPS, therefore some kind of an example can be provided. Whether it will help in your case is ???NearestAirportItemsNumber Number - Number - ReadNearestAirportCurrentLine Number - Number - Read / WriteNearestAirportCurrentICAO String - String - Read -THEN-NearestAirportCurrentICAO send to WaypointAirportICAO then sort through the freqs. at the airport transferred, if not found go back to NearestAirport and increment the index then repeat.WaypointAirportICAO String - String - Read / Write WaypointAirportFrequenciesNumber - Number - ReadWaypointAirportCurrentFrequency - Number - Read / WriteWaypointAirportFrequencyName - String - Read WaypointAirportFrequencyValue - Hertz - ReadWaypointAirportFrequencyType - Number - Read 1 == COMM Probably optional as no COMM freq will match NAV freqs.BTW nice looking tuning unit.Hope this helpsRoman


Roman_Full_combo_AVSIM_2.png?dl=1  FS RTWR   SHRS F-111   JoinFS Host/Client 

 

Yamaha CR 1000/JBL 2500, AMD 965 BE OC'd @ 3.88, RipJaw 2x4GB 1600 CL7, Gigabyte GTX-1070 OC 8GB, Asus M4A87TD EVO (AMD 870), Samsung 850 EVO 256GB & 1TB SSDs, WD 1T & 500G Black, 19" & 32" LCD, Win7 Pro 64bit, TMaster T-Flight HOTAS, FSX/FS9, FSUIPC / LUA, FSRealWX Pro, PlanG, JoinFS, LittleNavMap
Copilot - Samantha the "Hound"  RIP 😞        
       samantha.jpg?dl=1

 

Share this post


Link to post
Share on other sites

For grins, following Roman's approach, I decided to see if I could figure out some basics of the fs9gps and construct a COM ident search as DVA poses. I started with just a NearestAirportCurrentComFrequencyValue search, but the frequency found using this approach is always a control tower type frequency (Tower, CTAF ...) so if COM1 is tuned to Ground, for example, I don't believe it can find it. Also, if there is more than one tower frequency at a particular airport, it will find only the first one.Then, the approach was to look for COM frequency matches using WaypointAirportFrequencyValue, which was successful (relatively so, but you can be the judge):

<Gauge Name="COM Ident Search" Version="1.0"> <!-- gaugeXX=COMIdent!COMIdent,	10, 10,	140, 45 panel.cfg reminder -->	<Size X="140" Y="45" />	<Macro Name="C">C:fs9gps</Macro>		<Update Frequency="">					50 (>@C:NearestAirportMaximumItems) 		50 (>@C:NearestAirportMaximumDistance, NMiles)								(L:ResetComIdent, bool) 1 == 			if{ 				(A:GPS POSITION LAT, Radians) (>@C:NearestAirportCurrentLatitude, Radians) 				(A:GPS POSITION LON, Radians) (>@C:NearestAirportCurrentLongitude, Radians) 				-1 (>@C:NearestAirportCurrentLine, enum)				1 (>L:SearchNextAirport, number)				0 (>L:NoMatch, bool)				0 (>L:ResetComIdent, bool) 					} 				<!--  SEARCH: NearestAirport ICAO >WaypointAirport ICAO, then search that airports' WaypointAirportCurrentFrequency for freq match --> 		(L:COMIdentSearch, bool) 1 == 			if{ 				(L:SearchNextAirport, number) 1 == 					if{ <!-- Searches the next nearest airport by incrementing NearestAirportCurrentLine -->													(@C:NearestAirportCurrentLine, enum) 1 + (>@C:NearestAirportCurrentLine, enum) <!-- Stop search if NearestAirportMaximumItems is exceeded --> 												(@C:NearestAirportCurrentLine, enum) (@C:NearestAirportMaximumItems) > 							if{ 								1 (>L:NoMatch, bool) 								0 (>L:COMIdentSearch, bool) 							} 									0 (>@C:WaypointAirportCurrentFrequency, enum)							-0.5 (>L:CycleIncrement, number) 						0 (>L:SearchNextAirport, number) 					} 								(@C:NearestAirportCurrentICAO) (>@C:WaypointAirportICAO) 			<!-- Search next airport if current airport has no COM frequency -->								(@C:NearestAirportCurrentComFrequencyValue, mhz) 0 ==   					if{ 						1 (>L:SearchNextAirport, number) 					} 				<!-- Don't begin searching WaypointAirport... line by line until WptAptFreqNumbers are found  - apparently, this can take more than 2 cycles (!?) -->						(@C:WaypointAirportFrequenciesNumber, enum) 0 >  					if{  <!-- Increment (@C:WaypointAirportCurrentFrequency, enum) by 0.5 each cycle to accomplish cycle skipping requirement --> 														(L:CycleIncrement, number) 0.5 + d (>L:CycleIncrement, number) (>@C:WaypointAirportCurrentFrequency, enum)  <!-- Go to next airport if Current Frequency search line number is greater than total number of frequency items for the current airport --> 												(@C:WaypointAirportCurrentFrequency, enum) (@C:WaypointAirportFrequenciesNumber, enum) > if{ 1 (>L:SearchNextAirport, number) }  						(@C:WaypointAirportFrequencyValue, mhz) (A:COM1 ACTIVE FREQUENCY, mhz) ==  							if{  								0 (>L:COMIdentSearch, bool)  								-1 (>@C:NearestAirportCurrentLine, enum)  							}      										}      			}  	</Update>			<Element>			<Position X="0" Y="0"/>		<Rectangle Width="140" Height="45" />				</Element>	<Element>			<Position X="120" Y="0"/>		<Rectangle Width="20" Height="20" FillColor="green" Bright="Yes" />		</Element>	<Element>			<Position X="120" Y="25"/>		<Rectangle Width="20" Height="20" FillColor="red" Bright="Yes" />		</Element>		<Element>		<Visible> (L:NoMatch, bool) </Visible>		<Position X="5" Y="6"/>		<Text X="105" Y="12" Bright="Yes" Length="15" Fixed="Yes" Font="Courier New" Color="white" Adjust="Left" VerticalAdjust="Center" Multiline="No">			<String>No Match</String>		</Text>	</Element> 		<Element>		<Visible> (L:COMIdentSearch, bool) 0 == </Visible>		<Position X="5" Y="6"/>		<Text X="105" Y="12" Bright="Yes" Length="15" Fixed="Yes" Font="Courier New" Color="white" Adjust="Left" VerticalAdjust="Center" Multiline="No">			<String>%((@C:WaypointAirportIdent))%!4s!%((@C:WaypointAirportFrequencyName))%!11s!</String>		</Text>	</Element> 	 	<Element>				<Position X="5" Y="25"/>		<Text X="105" Y="12" Bright="Yes" Length="15" Fixed="Yes" Bold="Yes" Font="Courier New" Color="orange" Adjust="Left" VerticalAdjust="Center" Multiline="No">			<String>Searching: %((@C:WaypointAirportIdent))%!4s!</String>		</Text>	</Element> 					<Mouse>		<!-- Green click = SEARCH -->		<Area Left="120" Top="0" Height="25" Width="25">			<Cursor Type="UpArrow"/>			<Click>1 (>L:ResetComIdent, bool) 1 (>L:COMIdentSearch, bool) </Click>		</Area> 		<!-- Red Click = STOP / RESET -->		<Area Left="120" Top="25" Height="25" Width="25">			<Cursor Type="DownArrow"/>			<Click>0 (>L:COMIdentSearch, bool) (>K:RELOAD_PANELS) 1 (>L:ResetComIdent, bool) </Click>		</Area> 	</Mouse></Gauge>

I am a novice, so veteran gauge builders will find a lot to critique in that code. For one thing, it's really sloooow...The cycle timing issues were, and continue to be a real learning experience for me. During the debugging process, I ran into difficulty right after the (@C:NearestAirportCurrentICAO) (>@C:WaypointAirportICAO) step. It appeared that it was taking multiple (ie, more than two) cycles to "load" all of the frequencies available at the WaypointAirport, so I needed to delay searching through the WaypointAirportCurrentFrequency lines until the frequencies were available. I used a WaypointAirportFrequenciesNumber greater than zero check for this. It seems to work, but someone with more experience may be able to show me a better way. From reading through the forums, I thought two cycles was the maximum something like that would require.This was built as a stand alone gauge that I added in panel.cfg. No bitmaps; just Size tags and Rectangles. The Red click area is a STOP and RESET function. Note that it performs a (>K:RELOAD_PANELS) event that I found was a convenient way to "reset" the fs9gps. If there is a more elegant way, I would like to know. The Green click spot begins the COM1 frequency search. During the search, the ident of the airport currently being queried is shown in orange color as "Searching: _____". Once a match is found, the airport ident and the frequency type are displayed in white. I have to click Red before starting each new search.I see that WaypointAirport... has all of the frequencies associated with an airport (Clearance, Departure, Approach, ATIS, Ground, Tower, CTAF, Unicom, Multicom, FSS, ILS but COM can't tune to those frequencies - and there may be more). However, if COM is tuned to a Center frequency, it doesn't look like this code will find it. I played around with NearestAirspace without any luck. Suggestions?BTW, I used BlackBox2 and GPSViewer extensively in the debugging.Cheers,Bob

Share this post


Link to post
Share on other sites

Bob, Again, I cannot test or try anything at this time, but.... I created a gauge many moons ago, the Becker ZVG2002 VHF homing device. How it worked was a such, If comm2 was set to the tower freq and the audio panel was selected to comm2 receive then it searched airports, then frequencies ( tower was always 1st, but the code is in there to check others) and repeat until found. It would only start the search if the current COMM2 freq. was different than the previous COMM2 used. It inluded a dynamic "search max distance" to reduce cpu load based on VHF line of sight and radio height. Also a real "weird" approach was used to speed up the search per gauge cycle (you'll see). Once the freq was found ( This is the part to modify to diplay ident and such, inside the "set" macro ) it stored the station lat/lon so i could get homing direction and such. The gauge is in the follwing package inside the panel folder as ZVG2002.cab, Documents about the ZVG2002 are provided in the DO_128-6 root in the documents folder.http://library.avsim.net/search.php?SearchTerm=do1286v5.zip&CatID=root&Go=SearchThis may shed light on how things could/should be done - especially after the nearest to waypoint transfer & freq search. Whether or not it will work for other freqs is unknown. I donot remember if closest UNICOM worked or not on this, but I do remeber testing this on uncontrolled airports. The package was uploaded Jan 2010 but i did the gauge 1-2 years prior so memory about the whole thing is minimal :( Hope this helps & doesn't fry the brainRoman


Roman_Full_combo_AVSIM_2.png?dl=1  FS RTWR   SHRS F-111   JoinFS Host/Client 

 

Yamaha CR 1000/JBL 2500, AMD 965 BE OC'd @ 3.88, RipJaw 2x4GB 1600 CL7, Gigabyte GTX-1070 OC 8GB, Asus M4A87TD EVO (AMD 870), Samsung 850 EVO 256GB & 1TB SSDs, WD 1T & 500G Black, 19" & 32" LCD, Win7 Pro 64bit, TMaster T-Flight HOTAS, FSX/FS9, FSUIPC / LUA, FSRealWX Pro, PlanG, JoinFS, LittleNavMap
Copilot - Samantha the "Hound"  RIP 😞        
       samantha.jpg?dl=1

 

Share this post


Link to post
Share on other sites
Also a real "weird" approach was used to speed up the search
Roman,You wouldn't be referring to "Do It", would you? That will fry the brain.I see your Nearest to Waypoint ICAO transfer in @airport, but I honestly cannot see how or if you specifically deal with asynchronous timing issues. I could not get my COM Ident search to work unless I allowed for this, but I'll be the first to admit that I am pretty much guessing about most of the fs9gps. My progress understanding this beastie is glacial.Thanks for your help and suggestions!Bob

Share this post


Link to post
Share on other sites

Bob,It's coming back to me now --- somewhat.. :( Take a look in @freq, airport found (G:Var2) will be one when nearest has been found then it checks if an airport is loaded into waypoint too in @freq "(@c:WaypointAirportIdent) slen 0 != (G:Var2) 1 == and" hence the @freq @out @freq @out @freq @out repeats in "DO IT" to space a few cycles before checking for frequencies. So basically the same as your code to allow for some time to get waypoint set.But the @ freq code I believe could be better.. Instead of checking to see "if" there is a WaypointAirportIdent and Gvar2 =1 maybe it should be,,,,,(@c:WaypointAirportIdent) (@c:NearestAirportCurrentIdent) scmi 0 == (G:Var2) 1 == and This would check to see if nearest IDENT "matches" waypoint IDENT instead of checking if something is indeed just there before moving on to frequencies.. BTW I do believe (G:Var2) must remain in the code for reset puproses.. Again I cannot test - No FS computer -- it blowd up real good. Quite a bit of code can be deleted for this particular pupose, running out of time now, maybe tommorrow I can rewrite a hypothetical code to make it as originally intended for the RTU.. I see one major problem though --- unless something is found this thing will continue to search over and over, so an IDENT switch or using the COMM2 transmit toggle as a ON/OFF would have to implemented to save those crucial CPU cycles for frame rates! Got a headache now -- skull damageHope this helps,Roman


Roman_Full_combo_AVSIM_2.png?dl=1  FS RTWR   SHRS F-111   JoinFS Host/Client 

 

Yamaha CR 1000/JBL 2500, AMD 965 BE OC'd @ 3.88, RipJaw 2x4GB 1600 CL7, Gigabyte GTX-1070 OC 8GB, Asus M4A87TD EVO (AMD 870), Samsung 850 EVO 256GB & 1TB SSDs, WD 1T & 500G Black, 19" & 32" LCD, Win7 Pro 64bit, TMaster T-Flight HOTAS, FSX/FS9, FSUIPC / LUA, FSRealWX Pro, PlanG, JoinFS, LittleNavMap
Copilot - Samantha the "Hound"  RIP 😞        
       samantha.jpg?dl=1

 

Share this post


Link to post
Share on other sites

Roman,I'm gonna need to study your code further to try to understand.One hint I took from you is that once the WaypointAirport frequencies are loaded, I don't have to skip cycles as I search through them. So, I now increment the frequency search 1 line at a time rather than "0.5" lines at a time. Much faster, of course. Furthermore, I've located one post where Tom (Taguilo) said the "the only case I know to be two-cycle is the assignment of a search so as to obtain facility data ---- ICAOSearch (>@c:FacilityICAO) and in the next cycle, data from the corresponding WPT, Airport, VOR, etc can be retrieved". There were times when this ICAO assignment appeared to me to be taking more than two cycles, however, hence my WaypointAirportFrequenciesNumber greater than zero check .... I dunno ... The revised <Update> section:

	<Update Frequency="">			500 (>@C:NearestAirportMaximumItems) 		150 (>@C:NearestAirportMaximumDistance, NMiles)				(L:ResetComIdent, bool) 1 == 			if{ 				(A:GPS POSITION LAT, Radians) (>@C:NearestAirportCurrentLatitude, Radians) 				(A:GPS POSITION LON, Radians) (>@C:NearestAirportCurrentLongitude, Radians) 				-1 (>@C:NearestAirportCurrentLine, enum)				1 (>L:SearchNextAirport, number)				0 (>L:NoMatch, bool)				0 (>L:ResetComIdent, bool) 					} 				<!--  SEARCH: NearestAirport ICAO >WaypointAirport ICAO, then search that airports' WaypointAirportCurrentFrequency for freq match --> 		(L:COMIdentSearch, bool) 1 == 			if{ 				(L:SearchNextAirport, number) 1 == 					if{ <!-- Searches the next nearest airport by incrementing NearestAirportCurrentLine -->													(@C:NearestAirportCurrentLine, enum) 1 + (>@C:NearestAirportCurrentLine, enum) <!-- Stop search if NearestAirportMaximumItems is exceeded --> 												(@C:NearestAirportCurrentLine, enum) (@C:NearestAirportMaximumItems) > 							if{ 								1 (>L:NoMatch, bool) 								0 (>L:COMIdentSearch, bool) 							} 									0 (>@C:WaypointAirportCurrentFrequency, enum)							-1 (>L:CycleIncrement, number) 						0 (>L:SearchNextAirport, number) 					} 								(@C:NearestAirportCurrentICAO) (>@C:WaypointAirportICAO) 			<!-- Search next airport if current airport has no COM frequency -->								(@C:NearestAirportCurrentComFrequencyValue, mhz) 0 ==   					if{ 						1 (>L:SearchNextAirport, number) 					}     			<!-- Don't begin searching WaypointAirport... line by line until WptAptFreqNumbers are found  - apparently, this can take more than 2 cycles -->					(L:SearchNextAirport, number) 0 == 					if{ 						(@C:WaypointAirportFrequenciesNumber, enum) 0 >  							if{  <!-- Increment (@C:WaypointAirportCurrentFrequency, enum) each cycle to advance to the next frequency of WaypointAirport --> 																(L:CycleIncrement, number) 1 + d (>L:CycleIncrement, number) (>@C:WaypointAirportCurrentFrequency, enum)  								(@C:WaypointAirportFrequencyValue, mhz) (A:COM1 ACTIVE FREQUENCY, mhz) ==  									if{  										0 (>L:COMIdentSearch, bool)  									}						<!-- Go to next airport if Current Frequency search line number is greater than total number of frequency items for the current airport --> 															(@C:WaypointAirportCurrentFrequency, enum) 1 + (>L:WptAptFreqLine, enum)								(@C:WaypointAirportFrequenciesNumber, enum) (>L:WptAptNumberOfFreqs, enum)								(L:WptAptFreqLine, enum) (L:WptAptNumberOfFreqs, enum) > if{ 1 (>L:SearchNextAirport, number) } 								}					}										}  	</Update>

Many thanks again.Bob

Share this post


Link to post
Share on other sites

Another upgrade is my discovery that use of (>K:RELOAD_PANELS) in the Reset click is a red herring. In retrospect, it looks like I was using that to buy time. After watching the gps more closely, it looks like it just takes some time (sometimes many cycles) for it to search for all the items that are within the NearestAirportMaximumItems and NearestAirportMaximumDistance limits, especially if those are set in the hundreds. So, now I delay the frequency match search until NearestAirportItemsNumber returns a value greater than zero and I have removed the (>K:RELOAD_PANELS) instruction from the mouse click. I still don't know if I have this 'right', but I think it is better than before.The beginning of the search section now looks like:

<!--  SEARCH: NearestAirport ICAO >WaypointAirport ICAO, then search that airports' WaypointAirportCurrentFrequency for freq match --> 		(L:COMIdentSearch, bool) 1 == (@C:NearestAirportItemsNumber, enum) 0 > && 

Share this post


Link to post
Share on other sites

Got it! - it initiates search anytime the Com2 active freq changes. The major drawback is long distance searches, it takes awhile. Loaded up FS9 on this little netbook to test! :( RomanP.S. - background bitmap is RGB 16,16,16 and a size of 97,62 named Test.bmp<Gauge Name="COMTest" Version="1.0"><!-- Vars descriptionGVAR1 = Airport Line SelectGVAR2 = Airport FoundGVAR3 = Frequency Line SelectGVAR4 = Com2 Freq holderGVAR5 = Freq. Founds1 l1 = Temp Holders2 l1 = Waypoint Airport Idents3 l3 = Waypoint Frequency Name--><Image Name="Test.bmp"/><Macro Name="c">C:fs9gps</Macro><Macro Name="reset"> 0 (>G:Var1) 0 (>G:Var2) 0 (>G:Var3) 0 (>G:Var5) </Macro><Macro Name="set">0 (>G:Var2) 1 (>G:var5) (@c:WaypointAirportFrequencyName) 'Center' scmi 0 == if{ 'ARTCC' s2 } els{ (@c:WaypointAirportIdent) s2 } (@c:WaypointAirportFrequencyName) s3</Macro><Macro Name="com">(A:COM2 ACTIVE FREQUENCY, MHZ)</Macro><Update Hidden="Yes">@com s1 (G:Var4) != if{ l1 (>G:Var4) @reset } (A:GPS POSITION LAT, Radians) (>@c:NearestAirportCurrentLatitude, Radians) (A:GPS POSITION LON, Radians) (>@c:NearestAirportCurrentLongitude, Radians) (A:RADIO HEIGHT, feet) 2 * sqrt 0 max 25 + (>@c:NearestAirportMaximumDistance, NMiles) 2500 (>@c:NearestAirportMaximumItems) (G:Var5) 0 == if{ (@c:NearestAirportItemsNumber) 0 != (G:Var2) 0 == and if{ (G:Var1) (>@c:NearestAirportCurrentLine) (@c:NearestAirportCurrentICAO) (>@c:WaypointAirportICAO) 1 (>G:Var2) } (@c:WaypointAirportIdent) (@c:NearestAirportCurrentIdent) scmi 0 == (G:Var2) 1 == and if{ (G:Var3) (>@c:WaypointAirportCurrentFrequency) (@c:WaypointAirportFrequencyValue,Mhz) @com == if{ @set } els{ (G:Var3) ++ s1 (>G:Var3) l1 (@c:WaypointAirportFrequenciesNumber) 1 - > if{ 0 (>G:Var2) 0 (>G:Var3) (G:Var1) ++ s1 (>G:Var1) l1 (@c:NearestAirportItemsNumber) 1 - > if{ @reset } } } } } els{ @set } </Update><Element Name="Display"><Position X="6" Y="0"/><FormattedText X="97" Y="62" Font="Quartz" FontSize="9" Adjust="Left" VerticalAdjust="Center" Color="Red" Bright="Yes" ><String>%( l2 slen 3 < l3 slen 3 < || )%{if}%Searching%{else}%(l2)%!s!% %(l3)%!s!%{end}%\n%\n%Airport Line %((G:Var1))%!d!% Range %((A:RADIO HEIGHT, feet) 2 * sqrt 0 max 25 + )%!d!%\n%Airport Found %((G:Var2))%!d!%\n%Freq Line %((G:Var3))%!d!%\n%Freq Found %((G:Var5))%!d!%\n%</String></FormattedText></Element><Mouse><Area Name="Reset" Left="0" Top="0" Width="97" Height="62"><Cursor Type="Hand"/><Click Repeat="No">(>K:RELOAD_PANELS)</Click></Area></Mouse></Gauge>


Roman_Full_combo_AVSIM_2.png?dl=1  FS RTWR   SHRS F-111   JoinFS Host/Client 

 

Yamaha CR 1000/JBL 2500, AMD 965 BE OC'd @ 3.88, RipJaw 2x4GB 1600 CL7, Gigabyte GTX-1070 OC 8GB, Asus M4A87TD EVO (AMD 870), Samsung 850 EVO 256GB & 1TB SSDs, WD 1T & 500G Black, 19" & 32" LCD, Win7 Pro 64bit, TMaster T-Flight HOTAS, FSX/FS9, FSUIPC / LUA, FSRealWX Pro, PlanG, JoinFS, LittleNavMap
Copilot - Samantha the "Hound"  RIP 😞        
       samantha.jpg?dl=1

 

Share this post


Link to post
Share on other sites

  • 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.
  • Donation Goals

    AVSIM's 2020 Fundraising Goal

    Donate to our annual general fundraising goal. This donation keeps our doors open and providing you service 24 x 7 x 365. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. We reset this goal every new year for the following year's goal.


    42%
    $10,670.00 of $25,000.00 Donate Now
×
×
  • Create New...