BrickPi.Brick.BrickPiSetTimeout C# (CSharp) Method

BrickPiSetTimeout() private method

Set a new timeout on the brick
private BrickPiSetTimeout ( ) : Task
return Task
        private async Task<bool> BrickPiSetTimeout()
        {
            DataArray dataArray = new DataArray();
            bool retval = false; 
            for (int i = 0; i < 2; i++)
            {
                dataArray.myArray[BYTE_MSG_TYPE] = MSG_TYPE_TIMEOUT_SETTINGS;
                dataArray.myArray[BYTE_TIMEOUT] = (byte)(brickPi.Timeout & 0xFF);
                dataArray.myArray[BYTE_TIMEOUT + 1] = (byte)((brickPi.Timeout / 256) & 0xFF);
                dataArray.myArray[BYTE_TIMEOUT + 2] = (byte)((brickPi.Timeout / 65536) & 0xFF);
                dataArray.myArray[BYTE_TIMEOUT + 3] = (byte)((brickPi.Timeout / 16777216) & 0xFF);
                BrickPiTx(brickPi.Address[i], 5, dataArray.myArray);
                // IMPORTANT: theoritical timeout is 2.5 ms
                // Working all the time with 20
                byte[] InArray = await BrickPiRx(20); //0.002500
                if (InArray == null)
                    return false;
                if ((InArray[0] == MSG_TYPE_TIMEOUT_SETTINGS) && (InArray.Length == 1))
                    return true;
            }
            return retval;
        }