private void Run() { client = new SocketClient("Managed Data Request", System.Net.Dns.GetHostName(), 11000); client.MapClientEventToSimEvent(MyEvents.Brakes, "BRAKES"); client.AddClientEventToNotificationGroup(MyGroups.One, MyEvents.Brakes); client.MapClientEventToSimEvent(MyEvents.ElevatorTrimSet, "ELEVATOR_TRIM_SET"); client.AddClientEventToNotificationGroup(MyGroups.One, MyEvents.ElevatorTrimSet); client.MapClientEventToSimEvent(MyEvents.ElevTrimDown, "ELEV_TRIM_DN"); client.AddClientEventToNotificationGroup(MyGroups.One, MyEvents.ElevTrimDown); client.MapClientEventToSimEvent(MyEvents.ElevTrimUp, "ELEV_TRIM_UP"); client.AddClientEventToNotificationGroup(MyGroups.One, MyEvents.ElevTrimUp); client.SetNotificationGroupPriority(MyGroups.One, GroupPriority.Highest); client.AddToDataDefinition(MyDefinitions.One, "ELEVATOR TRIM INDICATOR", "Position", Datatype.Float32, 0f, Constants.Unused); client.AddToDataDefinition(MyDefinitions.One, "ELEVATOR TRIM POSITION", "Degrees", Datatype.Float32, 0f, Constants.Unused); client.RegisterStructToDataDefinition(MyDefinitions.One, typeof(Struct1)); client.AddToDataDefinition(MyDefinitions.Two, "VELOCITY BODY Y", "Feet per second", Datatype.Float32, 0f, Constants.Unused); client.AddToDataDefinition(MyDefinitions.Two, "VELOCITY WORLD Y", "Feet per second", Datatype.Float32, 0f, Constants.Unused); client.AddToDataDefinition(MyDefinitions.Two, "VERTICAL SPEED", "Feet per second", Datatype.Float32, 0f, Constants.Unused); client.AddToDataDefinition(MyDefinitions.Two, "ELEVATOR TRIM POSITION", "Degrees", Datatype.Float32, 0f, Constants.Unused); client.RegisterStructToDataDefinition(MyDefinitions.Two, typeof(Struct2)); client.RequestDataOnSimObject(MyRequests.Two, MyDefinitions.Two, Constants.ObjectIdUser, Period.Second, DataRequestFlag.Changed); //unchecked //{ // client.TransmitClientEvent (Constants.ObjectIdUser, MyEvents.ElevatorTrimSet, (uint)0, MyGroups.One, EventFlag.Default); //} while (running) { try { // I really wish this call would return S_FALSE when no message exists // instead it returns an error conditon that needs to be caught var nextDispatch = client.GetNextDispatch(); OnReceiveFromServer(nextDispatch); } catch (Exception) { Thread.Sleep(10); } } }
public override void RegisterDataDefinition(SocketClient simConnect) { simConnect.AddToDataDefinition(MyDefinitions.ThrottleValue, "GENERAL ENG THROTTLE LEVER POSITION:1", "Percent over 100", Datatype.Float32, 0f, Constants.Unused); simConnect.RegisterStructToDataDefinition(MyDefinitions.ThrottleValue, typeof(ThrottleValue)); }
public override void RegisterDataDefinition(SocketClient simConnect) { simConnect.AddToDataDefinition(MyDefinitions.TrimValue, "ELEVATOR TRIM INDICATOR", "Position", Datatype.Float32, 0f, Constants.Unused); simConnect.RegisterStructToDataDefinition(MyDefinitions.TrimValue, typeof(TrimValue)); }
public override void RegisterDataDefinition(SocketClient simConnect) { simConnect.AddToDataDefinition(MyDefinitions.LandingGearValue, "GEAR HANDLE POSITION", "Bool", Datatype.Int32, 0f, Constants.Unused); simConnect.RegisterStructToDataDefinition(MyDefinitions.LandingGearValue, typeof(LandingGearValue)); }
public override void RegisterDataDefinition(SocketClient simConnect) { simConnect.AddToDataDefinition(MyDefinitions.ParkingBrakesValue, "BRAKE PARKING POSITION", "Bool", Datatype.Int32, 0f, Constants.Unused); simConnect.RegisterStructToDataDefinition(MyDefinitions.ParkingBrakesValue, typeof(ParkingBrakesValue)); }
public override void RegisterDataDefinition(SocketClient simConnect) { simConnect.AddToDataDefinition(MyDefinitions.FlapsValue, "FLAPS HANDLE INDEX", "Number", Datatype.Int32, 0f, Constants.Unused); simConnect.AddToDataDefinition(MyDefinitions.FlapsValue, "FLAPS NUM HANDLE POSITIONS", "Number", Datatype.Int32, 0f, Constants.Unused); simConnect.RegisterStructToDataDefinition(MyDefinitions.FlapsValue, typeof(FlapsValue)); }