Jump to content
The simFlight Network Forums

Andy B.

Members
  • Posts

    46
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Andy B.

  1. Hi, I tried rebuilding the main routine that loads the database for TFM. Unfortunately, we aren't getting any response from RebuildDatabaseAsync. It seems to get stuck for some reason. I then built and ran the sample code to see if pressing the rebuild database button would work. I ended up getting the unhandled exception window with the following contents. I imagine this is the same problem we are having in TFM. How should I fix this problem? Note: I tried installing protobuf-net in gnuget, but it says it is already installed. See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.IO.FileNotFoundException: Could not load file or assembly 'protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67' or one of its dependencies. The system cannot find the file specified. File name: 'protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67' at FSUIPC.DataStore.WriteList[T](String fileName, IEnumerable`1 ObjectsToStore) at FSUIPC.AirportsDatabase.importRunwaysAndAirports(Int32 taskIndex, IProgress`1 progress) at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at FSUIPC.AirportsDatabase.<RebuildDatabaseAsync>d__53.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at FSUIPCExampleCode_CS.AirportDatabase.DB001_ManagingTheDatabase.<btnRebuild_Click>d__0.MoveNext() in C:\Users\Andy Borka\source\repos\fsuipc samples\FSUIPCExampleCode_CS\AirportDatabase\DB001_ManagingTheDatabase.cs:line 71 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. ************** Loaded Assemblies ************** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.8.9105.0 built by: NET481REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll ---------------------------------------- FSUIPCExampleCode_CS Assembly Version: 1.4.0.0 Win32 Version: 1.4.0.0 CodeBase: file:///C:/Users/Andy%20Borka/source/repos/fsuipc%20samples/FSUIPCExampleCode_CS/bin/Debug/FSUIPCExampleCode_CS.exe ---------------------------------------- System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.8.9075.0 built by: NET481REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 4.0.0.0 Win32 Version: 4.8.9065.0 built by: NET481REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.8.9032.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.8.9032.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.8.9115.0 built by: NET481REL1LAST_B CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll ---------------------------------------- System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.8.9032.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- fsuipcClient Assembly Version: 3.3.1.401 Win32 Version: 3.3.1.401 CodeBase: file:///C:/Users/Andy%20Borka/source/repos/fsuipc%20samples/FSUIPCExampleCode_CS/bin/Debug/fsuipcClient.DLL ---------------------------------------- Newtonsoft.Json Assembly Version: 13.0.0.0 Win32 Version: 13.0.1.25517 CodeBase: file:///C:/Users/Andy%20Borka/source/repos/fsuipc%20samples/FSUIPCExampleCode_CS/bin/Debug/Newtonsoft.Json.DLL ---------------------------------------- System.Numerics Assembly Version: 4.0.0.0 Win32 Version: 4.8.9032.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll ---------------------------------------- System.Runtime.Serialization Assembly Version: 4.0.0.0 Win32 Version: 4.8.9032.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll ---------------------------------------- System.Data Assembly Version: 4.0.0.0 Win32 Version: 4.8.9110.0 built by: NET481REL1LAST_B CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll ---------------------------------------- Accessibility Assembly Version: 4.0.0.0 Win32 Version: 4.8.9032.0 built by: NET481REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll ---------------------------------------- ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled. For example: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.
  2. Hi, While working through the PMDG747 SDK, I found the following problem. In the Overhead Maint section of the SDK, they have the following line: bool ELEC_APUFieldReset[2]; They also have both events, one for each offset. Unfortunately, the FSUIPC dll only supports one of these, and leaves the other out. I can give users a workaround, but it isn't something we want to support longterm.
  3. We were planning on it at some point in time. Unfortunately, things didn't look too good for that feature.
  4. We can try by lat/long and see if we can calculate the distance/GS. I can dropbox you a link to a zipfile of my makerunways output a little later.
  5. Hi Paul, We have a feature in Talking flight monitor that takes the ILS needles on the aircraft and turns them into bits of information the pilot can understand as a blind pilot. For example, the GS needle is announced in terms of feet relative to the aircraft. EX: 500feet up/down. The localizer needle is represented in terms of heading offsets. EX: 60 left/right. In our main process timer, I have the following line of code: // Track the user so we don't have to do it on every request. FSUIPCConnection.AirportsDatabase.SetReferenceLocation(); This line is ran every 250ms, which makes MSFS buffer. OBS log analyzer output tells the typical user that TFM is forcing the GPU into a 15% or larger lag. Is there any other way to constantly track the users location in the world? It is also worth noting that the makerunways output for MSFS is around 800MB in size.
  6. Thanks for doing this... You are a life saver!
  7. Is it possible to have the PMDG 737 offsets for msfs and p3d/fsx combined in the same class? The new class would determine what version of FSUIPC is loaded, then make public the appropriate offset? Example: If we are running FSUIPC 7, give us the offsets for msfs. Otherwise, give us the offsets for p3d/fsx. It would make our project more streamlined and prevent us from having to maintain duplicate projects for a single line of code.
  8. I tried the new PMDG 737 MSFS offsets yesterday. Everything seems to be working just fine. The only problem is an error I get while building with the MSFS offsets. It appears the PMDG 737 SDK states that irs_display_left and irs_display_right are character strings as they were for P3D. Building the project gives me the following error: Cannot convert Offset<byte> to string. The code referenced is below: leftIRSDisplayTextBox.Text = Aircraft.PMDG737.IRS_DISPLAY_LEFT.Value; rightIRSDisplayTextBox.Text = Aircraft.PMDG737.IRS_DISPLAY_RIGHT.Value; Is it possible to fix this?
  9. Hi, I am trying to create a "look around" feature in Talking flight monitor. The feature allows a pilot to choose a specific heading, 128 for example. Once that is done, the pilot would then have a choice on what to receive. Distance to the next polygon (geographical area) and its name, or a list of all polygons and their names in the current direction (128 in this example). Other features might come later, but it depends on whether I can get the basic framework working. What I can do so far, is get a polygon from Bing maps. Beyond this, I am stuck. Does anyone have any ideas on how to move forward with this feature?
  10. Hi, Thanks for your attention on this. A quick question: Will I need to change any existing code for the CDUs?
  11. Hi, Do you know of any freeware scenery that includes the proper taxiway names? Even if payware, we are just trying to figure something out.
  12. Hi, Is there any other ideas to help our users be able to follow a taxi routing given by vatsim controllers?
  13. Hi, Having realistic names to the taxiways would be nice, especially when flying on vatsim. In that case, we would need to know the taxiway names when a controller gives us a taxi route to follow.
  14. Hi, Thanks for the great additions. I will find them quite useful. Do you know if every taxiway has a name? When I took a look at ones at KJFK for example, the majority of them didn't have a name.
  15. Hi, Our application needs to build a network of taxiways at the airport where a pilot is currently located. As they taxi, the application needs to keep in mind the following points: * Announce with a screen reader such as NVDA, the current taxiway as the pilot moves onto it. * Keep track of the pilot's movements along the taxiways, then announce the new taxiway in front of them. * Provide directional guidance on the upcoming taxiway such as 'taxiway alpha to the left and right.', or 'taxiway bravo 1 O' clock to the right.'. * Announce to the pilot when they have strayed off of the taxiway such as veering into the grass. * Announce runways as they appear as intersections to the current taxiway in the event the pilot doesn't have RAS professional installed. * Automatically announce the distance in feet to the next intersection when they are 500 feet or less from that intersection. I know the .net library has a taxiways database. However, I am not clear on how to start implementing these features. If anyone has any starter points to try, it would be appreciated. Announcing with speech isn't a problem, as long as I can get the taxiway network built and understand how it works.
  16. You can ignore this post. I figured it out. I forgot to put PMDG777.RefreshData() in our main timer event. Everything works now.
  17. Hi, I have a class called SingleStateToggle that has properties for offset, name (string that is self-assigned), AvaliableStates (0=off, 1=on, etc...), CurrentState (KeyValue pair of byte/string), and a few additional properties. When creating an instance of SingleStateToggle, the offset I assign doesn't change values when trying to find the KeyValue<byte, string> pair for the CurrentState. Here is some code to demonstrate my problem: SingleStateToggle: using FSUIPC; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace tfm.PMDG.PanelObjects { class SingleStateToggle: PanelObject { private Offset<byte> _offset; private PanelObjectType _type = PanelObjectType.SingleState; private Dictionary<byte, string> _availableStates = null; private KeyValuePair<byte, string> _currentState; public Dictionary<byte, string> AvailableStates { get => _availableStates; set => _availableStates = value; } public KeyValuePair<byte, string> CurrentState { // Try to retreive the KeyValue pair that matches offset.value. get { KeyValuePair<byte, string> item = new KeyValuePair<byte, string>(); foreach (KeyValuePair<byte, string> pair in this._availableStates) { if (This._offset.Value == pair.Key) { item = pair; break; } } return item; } // End Get } // End CurrentState. public override PanelObjectType Type => this._type; public Offset<byte> Offset { get => _offset; set => _offset = value; } public override string ToString() { return $"{this.Name}: {this.CurrentState.Value}"; } // End ToString. } // End SingleStateToggle. }// End namespace. In a class for the PMDG 777, I have the following code: using tfm.PMDG; using tfm.PMDG.PanelObjects; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace tfm { static class PMDG777 { public static PanelObject[] PanelControls { get => new PanelObject[] { new SingleStateToggle {Offset = Aircraft.pmdg777.BRAKES_ParkingBrakeLeverOn, Name = "Parking break", Verbosity = AircraftVerbosity.Low, PanelName = "Forward", PanelSection = "CDU", AvailableStates = new Dictionary<byte, string> { { 1, "on" }, { 0, "off" }, }, }, }; } } // End PMDG777 class. } // End namespace. After putting a breakpoint on SingleStateToggle.CurrentState, nothing happens except the foreach loop runs multiple times before dceiding that 0 is always the _offset.Value value. We do have the timer that runs the process method for all the offsets. Do you have any ideas why _offset.Value never changes?
  18. Hi, This will prove very useful. Thanks for the hard work. I will try it out a little later today.
  19. Hi, I would certainly leave those options available. Our current mapping system uses a class to represent a coordinate pare, so the order doesn't really matter. Here is some sample code to demonstrate the GeoDataLocation class: var request = new GetBoundaryRequest() { EntityType = BoundaryEntityType.PopulatedPlace, LevelOfDetail = 3, GetAllPolygons = true, GetEntityMetadata = true, Coordinate = new GeodataLocation(43.7001, -79.4163), }; // End request. var response = await GeodataManager.GetBoundary(request, "api key goes here"); MessageBox.Show(response[0].Name.EntityName + response[0].EntityMetadata.PopulationClass).ToString(); foreach (GeodataPolygon location in response[0].GetPolygons()) { foreach(GeodataLocation point in location.ExteriorRing) { latLongListBox.Items.Add($"{point.Latitude}, {point.Longitude}"); } } }
  20. Hi, The typical representation of a coordinate pair is lat, long as a decimal or double. Keeping it in this format will make things easier. Let me know if there is anything else you need before release.
  21. Hi, I am the one working on this part of the project. To make clear, the lat/long of the plane is the only known constant. I will not know when, or where the points on the outline will appear in relation to the airplane. So, if I am flying heading 0, and want to take a "look" at heading 5, I will not know what points will appear at the given heading. This does solve 90% of our problems. The only thing left to figure out is the names of major bodies of water, given a GPS lat/long pair. At this point, Bing maps doesn't do this.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.