/// <summary>
        /// call it after all finalizing sensors and drive commands have been completed.
        /// </summary>
        public async Task CloseCommunication()
        {
            await WaitPumping(3000);

            await hardwareBrick.StopCommunication();

            isBrickComStarted = false;
        }
        /// <summary>
        /// call it after all finalizing sensors and drive commands have been completed.
        /// </summary>
        public async Task CloseCommunication()
        {
            for (int i = 0; i < 20; i++)
            {
                hardwareBrick.PumpEvents();
                await Task.Delay(20);
            }
            await hardwareBrick.StopCommunication();

            isBrickComStarted = false;
        }