Exemplo n.º 1
0
    // initialize resetColor function (defaultColor)
    void Start()
    {
        resetColor();
        GameObject g = GameObject.Find("LED");

        ledManager = g.GetComponent <LEDManager> ();
    }
Exemplo n.º 2
0
        /// <summary>
        /// Первоначальная инициализация страницы
        /// </summary>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            var spk = new UWPLocalSpeaker(media, Windows.Media.SpeechSynthesis.VoiceGender.Female);

            Trace("Loading knowlegdebase");
//            var xdoc = XDocument.Load("Robot.kb.xml");
//            RE = XMLRuleEngine.LoadXml(xdoc);
            var filename = "Robot.kb.brc";

            RE = BracketedRuleEngine.LoadBracketedKb(filename);
            RE.SetSpeaker(spk);
            RE.SetExecutor(ExExecutor);
            FaceWaitTimer.Tick  += StartDialog;
            DropoutTimer.Tick   += FaceDropout;
            InferenceTimer.Tick += InferenceStep;

            GpioTimer.Tick += ButtonPressed;
            InitGpio();
            GpioTimer.Start();

            media.MediaEnded += EndSpeech;
            CoreWindow.GetForCurrentThread().KeyDown += KeyPressed;
            await Init();

            LEDMgr = new LEDManager(canvas);
            if (!Config.Headless)
            {
                LEDMgr.AddLED("LE", 8, 8, 0.3, 0.2);
                LEDMgr.AddLED("RE", 8, 8, 0.7, 0.2);
                LEDMgr.AddLED("M", 10, 5, 0.5, 0.8);
                LEDMgr.LEDS["LE"].Load(new LEDImage("eye_blink"));
                LEDMgr.LEDS["RE"].Load(new LEDImage("eye_blink"));
                LEDMgr.LEDS["M"].Load(new LEDImage("mouth_neutral"));
            }
        }
Exemplo n.º 3
0
        public bool Initialize()
        {
            lock (action_lock)
            {
                EnumeratedDevice[] devicesArr = null;
                try
                {
                    if (sbScanner == null)
                    {
                        sbScanner = new LEDManager();
                    }

                    devicesArr = sbScanner.EnumConnectedDevices();
                }
                catch (Exception exc)
                {
                    Global.logger.Error("There was an error scanning for SoundBlasterX devices.\r\n" + exc.Message);
                    return(false);
                }

                if (sbKeyboard == null)
                {
                    int kbdIdx;
                    for (kbdIdx = 0; kbdIdx < devicesArr.Length; kbdIdx++)
                    {
                        if (devicesArr[kbdIdx].deviceId.Equals(EnumeratedDevice.SoundBlasterXVanguardK08_USEnglish) ||
                            devicesArr[kbdIdx].deviceId.Equals(EnumeratedDevice.SoundBlasterXVanguardK08_German) ||
                            devicesArr[kbdIdx].deviceId.Equals(EnumeratedDevice.SoundBlasterXVanguardK08_Nordic))
                        {
                            break;
                        }
                    }

                    if (kbdIdx < devicesArr.Length)
                    {
                        LEDManager newKeyboard = null;
                        try
                        {
                            newKeyboard = new LEDManager();
                            newKeyboard.OpenDevice(devicesArr[kbdIdx], false);
                            sbKeyboardInfo = devicesArr[kbdIdx];
                            sbKeyboard     = newKeyboard;
                            newKeyboard    = null;
                        }
                        catch (Exception exc)
                        {
                            Global.logger.Error("There was an error opening " + devicesArr[kbdIdx].friendlyName + ".\r\n" + exc.Message);
                        }
                        finally
                        {
                            if (newKeyboard != null)
                            {
                                newKeyboard.Dispose();
                                newKeyboard = null;
                            }
                        }
                    }
                }

                if (sbMouse == null)
                {
                    int moosIdx;
                    for (moosIdx = 0; moosIdx < devicesArr.Length; moosIdx++)
                    {
                        if (devicesArr[moosIdx].deviceId.Equals(EnumeratedDevice.SoundBlasterXSiegeM04))
                        {
                            break;
                        }
                    }

                    if (moosIdx < devicesArr.Length)
                    {
                        LEDManager newMouse = null;
                        try
                        {
                            newMouse = new LEDManager();
                            newMouse.OpenDevice(devicesArr[moosIdx], false);
                            sbMouseInfo = devicesArr[moosIdx];
                            sbMouse     = newMouse;
                            newMouse    = null;
                        }
                        catch (Exception exc)
                        {
                            Global.logger.Error("There was an error opening " + devicesArr[moosIdx].friendlyName + ".\r\n" + exc.Message);
                        }
                        finally
                        {
                            if (newMouse != null)
                            {
                                newMouse.Dispose();
                                newMouse = null;
                            }
                        }
                    }
                }

                return((sbKeyboard != null) || (sbMouse != null));
            }
        }
Exemplo n.º 4
0
 public void Shutdown()
 {
     lock (action_lock)
     {
         if (sbMouse != null)
         {
             if (sbMouseSettings != null && sbMouseSettings.payloadData.HasValue && sbMouseSettings.payloadData.Value.opaqueSize > 0)
             {
                 try
                 {
                     sbMouseSettings.payloadData = sbMouse.LedPayloadCleanup(sbMouseSettings.payloadData.Value, sbMouseInfo.totalNumLeds);
                 }
                 catch (Exception exc)
                 {
                     Global.logger.Error("There was an error freeing " + sbMouseInfo.friendlyName + ".\r\n" + exc.Message);
                 }
             }
             sbMouseSettings = null;
             try
             {
                 sbMouse.CloseDevice();
                 sbMouse.Dispose();
                 sbMouse = null;
             }
             catch (Exception exc)
             {
                 Global.logger.Error("There was an error closing " + sbMouseInfo.friendlyName + ".\r\n" + exc.Message);
             }
             finally
             {
                 if (sbMouse != null)
                 {
                     sbMouse.Dispose();
                     sbMouse = null;
                 }
             }
         }
         if (sbKeyboard != null)
         {
             if (sbKeyboardSettings != null && sbKeyboardSettings.payloadData.HasValue && sbKeyboardSettings.payloadData.Value.opaqueSize > 0)
             {
                 try
                 {
                     sbKeyboardSettings.payloadData = sbKeyboard.LedPayloadCleanup(sbKeyboardSettings.payloadData.Value, sbKeyboardSettings.payloadData.Value.opaqueSize);
                 }
                 catch (Exception exc)
                 {
                     Global.logger.Error("There was an error freeing " + sbKeyboardInfo.friendlyName + ".\r\n" + exc.Message);
                 }
             }
             sbKeyboardSettings = null;
             try
             {
                 sbKeyboard.CloseDevice();
                 sbKeyboard.Dispose();
                 sbKeyboard = null;
             }
             catch (Exception exc)
             {
                 Global.logger.Error("There was an error closing " + sbKeyboardInfo.friendlyName + ".\r\n" + exc.Message);
             }
             finally
             {
                 if (sbKeyboard != null)
                 {
                     sbKeyboard.Dispose();
                     sbKeyboard = null;
                 }
             }
         }
         if (sbScanner != null)
         {
             try
             {
                 sbScanner.Dispose();
                 sbScanner = null;
             }
             catch (Exception exc)
             {
                 Global.logger.Error("There was an error closing SoundBlasterX scanner.\r\n" + exc.Message);
             }
             finally
             {
                 sbScanner = null;
             }
         }
     }
 }
Exemplo n.º 5
0
 // Start is called before the first frame update
 void Start()
 {
     ledmanager = GetComponentInParent <LEDManager>();
     OnArround(true);
 }