public void _new(BTCore btCore)
        {
            bTCore       = btCore;
            PacketBuffer = new StringBuilder("[");

            OnRTSpeak?.Invoke();
            CommandDequeue();
            EOPListenLimitEunmer = StartCoroutine(EOPListenLimiter());

            EOPERRCount = 0;
        }
 public void CheckEOP(string msg)
 {
     foreach (var item in msg)
     {
         if (item == ']')
         {
             EOPERRCount = 0;
             StopCoroutine(EOPListenLimitEunmer);
             OnRTSpeak?.Invoke();
             CommandDequeue();
             EOPListenLimitEunmer = StartCoroutine(EOPListenLimiter());
             break;
         }
     }
 }
        private IEnumerator EOPListenLimiter()
        {
            yield return(new WaitForSeconds(3f));

            IGConsole.Instance.Main.println("EOP Delayed more than 3sec!");
            EOPERRCount++;

            if (EOPERRCount >= 3)
            {
                EOPERRCount = 0;
                IGConsole.Instance.Main.println("try to reconnecting");
                bTCore.DisconnectBT();
            }

            OnRTSpeak?.Invoke();
            CommandDequeue();
            EOPListenLimitEunmer = StartCoroutine(EOPListenLimiter());
            yield break;
        }