示例#1
0
        public VerticalSpeedMcpControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var headingGrammar = new GrammarBuilder();

            var thousandGrammar = new GrammarBuilder();

            thousandGrammar.Append(Constants.VerticalSpeedNumberChoices);
            thousandGrammar.Append("thousand");

            var hundredGrammar = new GrammarBuilder();

            hundredGrammar.Append(Constants.ClassicNumberChoices);
            hundredGrammar.Append("hundred");

            var altitudeGrammar = new GrammarBuilder();

            altitudeGrammar.Append(thousandGrammar, 0, 1);
            altitudeGrammar.Append(hundredGrammar, 0, 1);
            headingGrammar.Append("please", 0, 1);
            headingGrammar.Append("set", 0, 1);
            headingGrammar.Append("vertical speed");
            headingGrammar.Append("to", 0, 1);
            headingGrammar.Append("negative", 0, 1);
            headingGrammar.Append(altitudeGrammar);
            headingGrammar.Append("fifty", 0, 1);
            headingGrammar.Append(new Choices("fpm", "feet per minute", "feet"), 0, 1);
            headingGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(headingGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(headingGrammar.DebugShowPhrases);
        }
示例#2
0
        public AltitudeMcpControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var mainAltitudeGrammar = new GrammarBuilder();

            var thousandGrammar = new GrammarBuilder();

            thousandGrammar.Append(Constants.AltitudeNumberChoices);
            thousandGrammar.Append("thousand");

            var hundredGrammar = new GrammarBuilder();

            hundredGrammar.Append(Constants.ClassicNumberChoices);
            hundredGrammar.Append("hundred");

            var flGrammar = new GrammarBuilder();

            flGrammar.Append("flight level");
            flGrammar.Append(Constants.ClassicNumberChoices, 1, 3);



            var altitudeGrammar = new GrammarBuilder();

            altitudeGrammar.Append(thousandGrammar, 0, 1);
            altitudeGrammar.Append(hundredGrammar, 0, 1);
            altitudeGrammar.Append("feet", 0, 1);
            mainAltitudeGrammar.Append("please", 0, 1);
            mainAltitudeGrammar.Append("set", 0, 1);
            mainAltitudeGrammar.Append("altitude");
            mainAltitudeGrammar.Append("to", 0, 1);
            mainAltitudeGrammar.Append(new Choices(altitudeGrammar, flGrammar));
            mainAltitudeGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(mainAltitudeGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(mainAltitudeGrammar.DebugShowPhrases);
        }
示例#3
0
        public BrakeControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var brakeGrammar = new GrammarBuilder();

            brakeGrammar.Append("please", 0, 1);
            brakeGrammar.Append(new Choices(_brakeOnStrings.Concat(_brakeOffStrings).ToArray()));
            brakeGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(brakeGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(brakeGrammar.DebugShowPhrases);
        }
示例#4
0
        public AltitudeInterventionControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var lnavGrammar = new GrammarBuilder();

            lnavGrammar.Append("please", 0, 1);
            lnavGrammar.Append("toggle");
            lnavGrammar.Append("altitude intervention");
            lnavGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(lnavGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(lnavGrammar.DebugShowPhrases);
        }
        public LandingLights(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var landingLightsGrammar = new GrammarBuilder();

            landingLightsGrammar.Append("please", 0, 1);
            landingLightsGrammar.Append("set", 0, 1);
            landingLightsGrammar.Append(new Choices(_landingLightsOnStrings.Concat(_landingLiggOffStrings).ToArray()));
            landingLightsGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(landingLightsGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(landingLightsGrammar.DebugShowPhrases);
        }
示例#6
0
        public ApuControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var apuGrammar = new GrammarBuilder();

            apuGrammar.Append("please", 0, 1);
            apuGrammar.Append(new Choices(_apuOnStrings.Concat(_apuOffString).ToArray()), 0, 1);
            apuGrammar.Append("APU");
            apuGrammar.Append(new Choices(_apuStatus), 0, 1);
            apuGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(apuGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(apuGrammar.DebugShowPhrases);
        }
        public ProbeHeatControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var probeHeatGrammar = new GrammarBuilder();

            probeHeatGrammar.Append("please", 0, 1);
            probeHeatGrammar.Append("set", 0, 1);
            probeHeatGrammar.Append("probe heat");
            probeHeatGrammar.Append(new Choices(_taxiLightsOnStrings.Concat(_taxiLightsOffStrings).ToArray()));
            probeHeatGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(probeHeatGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(probeHeatGrammar.DebugShowPhrases);
        }
        public SmokingAndSeatbeltsControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var passangerControlGrammar = new GrammarBuilder();

            passangerControlGrammar.Append("please", 0, 1);
            passangerControlGrammar.Append("set", 0, 1);
            passangerControlGrammar.Append(new Choices(_controlNamesStrings));
            passangerControlGrammar.Append(new Choices(_controlStateStrings));
            passangerControlGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(passangerControlGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(passangerControlGrammar.DebugShowPhrases);
        }
        public FlapControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var flapGrammar = new GrammarBuilder();

            flapGrammar.Append("please", 0, 1);
            flapGrammar.Append("set", 0, 1);
            flapGrammar.Append("flaps", 1, 1);
            flapGrammar.Append(new Choices(_flapsPositionStrings));
            flapGrammar.Append(ANotch, 0, 1);
            flapGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(flapGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(flapGrammar.DebugShowPhrases);
        }
        public CrossFeedControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var apuGrammar = new GrammarBuilder();

            apuGrammar.Append("please", 0, 1);
            apuGrammar.Append("set", 0, 1);
            apuGrammar.Append("crossfeed");
            apuGrammar.Append("to", 0, 1);
            apuGrammar.Append(new Choices(_statutes), 0, 1);
            apuGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(apuGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(apuGrammar.DebugShowPhrases);
        }
示例#11
0
        public CourseMcpControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var headingGrammar = new GrammarBuilder();

            headingGrammar.Append("please", 0, 1);
            headingGrammar.Append("set", 0, 1);
            headingGrammar.Append("course");
            headingGrammar.Append("to", 0, 1);
            headingGrammar.Append(Constants.NumberChoices, 3, 3);
            headingGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(headingGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(headingGrammar.DebugShowPhrases);
        }
        public BusPowerControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var busPowerGrammar = new GrammarBuilder();

            busPowerGrammar.Append("please", 0, 1);
            busPowerGrammar.Append(new Choices(_generatorPowerStatesStrings));
            busPowerGrammar.Append(new Choices(_generatorSides), 0, 1);
            busPowerGrammar.Append(new Choices(_generatorStrings));
            busPowerGrammar.Append("generator");
            busPowerGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(busPowerGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(busPowerGrammar.DebugShowPhrases);
        }
示例#13
0
        public TransponderCodeControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var transponderGrammar = new GrammarBuilder();

            transponderGrammar.Append("please", 0, 1);
            transponderGrammar.Append(new Choices("tune", "set"), 0, 1);
            transponderGrammar.Append(new Choices("transponder", "squawk"));
            transponderGrammar.Append("code", 0, 1);
            transponderGrammar.Append("to", 0, 1);
            transponderGrammar.Append(Constants.TransponderNumberChoices, 4, 4);
            Grammar            = new Grammar(transponderGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(transponderGrammar.DebugShowPhrases);
        }
        public TransponderModeControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var transponderGrammar = new GrammarBuilder();

            transponderGrammar.Append("please", 0, 1);
            transponderGrammar.Append("set", 0, 1);
            transponderGrammar.Append("transponder");
            transponderGrammar.Append("mode", 0, 1);
            transponderGrammar.Append("to", 0, 1);
            transponderGrammar.Append(new Choices(_transponderModes));
            Grammar            = new Grammar(transponderGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(transponderGrammar.DebugShowPhrases);
        }
示例#15
0
        public HeadingSelControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var headingSelectGrammar = new GrammarBuilder();
            var headingSelectOn      = new GrammarBuilder();

            headingSelectOn.Append(new Choices(_vnavOnStrings));
            var headdingSelectOff = new GrammarBuilder();

            headdingSelectOff.Append(new Choices(_vnavOffStrings));
            headingSelectGrammar.Append(new Choices(headingSelectOn, headdingSelectOff, "toggle"));
            headingSelectGrammar.Append("heading select");
            Grammar            = new Grammar(headingSelectGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(headingSelectGrammar.DebugShowPhrases);
        }
        public EngineStartUpControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var engineGrammar = new GrammarBuilder();

            engineGrammar.Append("please", 0, 1);
            engineGrammar.Append(new Choices(_engineStartStrings.Concat(_engineShutdownStrings).ToArray()));
            engineGrammar.Append("the", 0, 1);
            engineGrammar.Append("engine");
            engineGrammar.Append("number", 0, 1);
            engineGrammar.Append(new Choices(_engineNumbersStrings));
            engineGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(engineGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(engineGrammar.DebugShowPhrases);
        }
示例#17
0
        public PackControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var packControl = new GrammarBuilder();

            packControl.Append("please", 0, 1);
            packControl.Append("set", 0, 1);
            packControl.Append(new Choices(_packUnitsStrings));
            packControl.Append("pack");
            packControl.Append("to", 0, 1);
            packControl.Append(new Choices(_packStatutesStrings));
            packControl.Append("please", 0, 1);
            Grammar            = new Grammar(packControl);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(packControl.DebugShowPhrases);
        }
        public ComFrequencyControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var frequencyGrammar = new GrammarBuilder();

            frequencyGrammar.Append("please", 0, 1);
            frequencyGrammar.Append(new Choices("tune", "set"));
            frequencyGrammar.Append(new Choices(_comRadios));
            frequencyGrammar.Append("to");
            frequencyGrammar.Append(Constants.NumberChoices, 3, 3);
            frequencyGrammar.Append(new Choices("decimal", "point"));
            frequencyGrammar.Append(Constants.NumberChoices, 1, 3);
            Grammar            = new Grammar(frequencyGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(frequencyGrammar.DebugShowPhrases);
        }
        public FuelPumpsControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var fuelPump = new GrammarBuilder();

            fuelPump.Append("please", 0, 1);
            fuelPump.Append("set", 0, 1);
            fuelPump.Append(new Choices(_fuelPumpSides));
            fuelPump.Append("fuel pumps");
            fuelPump.Append("to", 0, 1);
            fuelPump.Append(new Choices(_switchStatutes));
            fuelPump.Append("please", 0, 1);
            Grammar            = new Grammar(fuelPump);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(fuelPump.DebugShowPhrases);
        }
        public LightsControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var lightsControl = new GrammarBuilder();

            lightsControl.Append("please", 0, 1);
            lightsControl.Append("set", 0, 1);
            lightsControl.Append(new Choices(_lightTypeStrings));
            lightsControl.Append("lights");
            lightsControl.Append("to", 0, 1);
            lightsControl.Append(new Choices(_lightStatusesStrings));
            lightsControl.Append("please", 0, 1);
            Grammar            = new Grammar(lightsControl);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(lightsControl.DebugShowPhrases);
        }
示例#21
0
        public LvlChange(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var lnavGrammar   = new GrammarBuilder();
            var lnavGrammarOn = new GrammarBuilder();

            lnavGrammarOn.Append(new Choices(_lnavOnStrings));
            var lnavGrammarOff = new GrammarBuilder();

            lnavGrammarOff.Append(new Choices(_lnavOffStrings));
            lnavGrammar.Append(new Choices(lnavGrammarOn, lnavGrammarOff, "toggle"));
            lnavGrammar.Append("level change");
            Grammar            = new Grammar(lnavGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(lnavGrammar.DebugShowPhrases);
        }
示例#22
0
        public FlightDirectorControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var fdGrammar   = new GrammarBuilder();
            var fdOnGrammar = new GrammarBuilder();

            fdOnGrammar.Append(new Choices(_fdOnStrings));
            var fdOffGrammar = new GrammarBuilder();

            fdOffGrammar.Append(new Choices(_fdOffStrings));
            fdGrammar.Append(new Choices(fdOnGrammar, fdOffGrammar, "toggle"));
            fdGrammar.Append("flight director");
            Grammar            = new Grammar(fdGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(fdGrammar.DebugShowPhrases);
        }
示例#23
0
        public GearControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var gearGrammar         = new GrammarBuilder();
            var gearGrammarBuilders = new[]
            {
                new GrammarBuilder(new Choices(GearUpPhrases)),
                new GrammarBuilder(new Choices(GearDownPhrases))
            };

            gearGrammar.Append(new Choices(gearGrammarBuilders));
            gearGrammar.Append("please", 0, 1);
            Grammar            = new Grammar(gearGrammar);
            RecognitionPattern = Constants.DeserializeRecognitionPattern(gearGrammar.DebugShowPhrases);
        }
示例#24
0
        public EngineFuelControl(ExtPlaneInterface interface_, SpeechSynthesizer synthesizer) : base(interface_, synthesizer)
        {
            var engineGrammar = new GrammarBuilder();

            engineGrammar.Append("please", 0, 1);
            engineGrammar.Append("introduce fuel");
            engineGrammar.Append(new Choices("into", "to"));
            engineGrammar.Append("number", 0, 1);
            engineGrammar.Append("engine");
            engineGrammar.Append(new Choices(_engineNumbersStrings));
            engineGrammar.Append("please", 0, 1);
            Grammar = new Grammar(engineGrammar);

            RecognitionPattern = Constants.DeserializeRecognitionPattern(engineGrammar.DebugShowPhrases);
        }