public static bool SendFPGAcommand(ref CyUSBDevice TE_USB_FX2_USBDevice, MB_Commands Command, uint Timeout)
        {
            if (TE_USB_FX2_USBDevice == null)
            {
                Console.WriteLine("Error,no device is selected");
                return(false);
            }


            bool bResultCommand_FX22MB = false;

            byte[] cmd_FX22MB_REG0          = new byte[64];
            byte[] reply_FX22MB_REG0        = new byte[64];
            int    cmd_length_FX22MB_REG0   = 64;
            int    reply_length_FX22MB_REG0 = 64;

            //Command layout:
            //0xAD - Command type I2C write
            //0x3F - Address (I2C address of Microblaze)
            //0x0C - I2C_BYTES
            //0x00 - FX22MB_REG0_NOP
            //0x00 - FX22MB_REG0_NOP
            //0x00 - FX22MB_REG0_NOP
            //0x?? - Command

            //0x AD 3F 0C 00 00 00 ??
            cmd_FX22MB_REG0[0] = (byte)FX2_Commands.I2C_WRITE;
            cmd_FX22MB_REG0[1] = (byte)FX2_Parameters.MB_I2C_ADDRESS;
            cmd_FX22MB_REG0[2] = (byte)FX2_Parameters.I2C_BYTES;
            cmd_FX22MB_REG0[3] = (byte)MB_Commands.FX22MB_REG0_NOP;
            cmd_FX22MB_REG0[4] = (byte)MB_Commands.FX22MB_REG0_NOP;
            cmd_FX22MB_REG0[5] = (byte)MB_Commands.FX22MB_REG0_NOP;
            cmd_FX22MB_REG0[6] = (byte)Command;

            bResultCommand_FX22MB = TE_USB_FX2.TE_USB_FX2.TE_USB_FX2_SendCommand(ref TE_USB_FX2_USBDevice, ref cmd_FX22MB_REG0, ref cmd_length_FX22MB_REG0, ref cmd_FX22MB_REG0, ref reply_length_FX22MB_REG0, Timeout);

            //bResultCommand_FX22MB_REG0_START = inEndpointCmd.XferData(ref cmd_FX22MB_REG0_START, ref cmd_length_FX22MB_REG0_START);

            //Console.WriteLine("bResultCommand_FX22MB_REG0_START {0}", bResultCommand_FX22MB_REG0_START);

            //bResultReply_FX22MB_REG0_START = outEndpointCmd.XferData(ref reply_FX22MB_REG0_START, ref reply_length_FX22MB_REG0_START);
            //END

            //Console.WriteLine("bResultReply_FX22MB_REG0_START {0}", bResultReply_FX22MB_REG0_START);

            if (bResultCommand_FX22MB)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
    public static bool SendFPGAcommand(ref CyUSBDevice TE_USB_FX2_USBDevice, MB_Commands Command , uint Timeout)
    {

      if (TE_USB_FX2_USBDevice == null)
      {
        Console.WriteLine("Error,no device is selected");
        return false;
      }


      bool bResultCommand_FX22MB = false;
      byte[] cmd_FX22MB_REG0 = new byte[64];
      byte[] reply_FX22MB_REG0 = new byte[64];
      int cmd_length_FX22MB_REG0 = 64;
      int reply_length_FX22MB_REG0 = 64;

      //Command layout:
      //0xAD - Command type I2C write
      //0x3F - Address (I2C address of Microblaze)
      //0x0C - I2C_BYTES
      //0x00 - FX22MB_REG0_NOP
      //0x00 - FX22MB_REG0_NOP
      //0x00 - FX22MB_REG0_NOP
      //0x?? - Command

      //0x AD 3F 0C 00 00 00 ??
      cmd_FX22MB_REG0[0] = (byte)FX2_Commands.I2C_WRITE;
      cmd_FX22MB_REG0[1] = (byte)FX2_Parameters.MB_I2C_ADDRESS;
      cmd_FX22MB_REG0[2] = (byte)FX2_Parameters.I2C_BYTES;
      cmd_FX22MB_REG0[3] = (byte)MB_Commands.FX22MB_REG0_NOP;
      cmd_FX22MB_REG0[4] = (byte)MB_Commands.FX22MB_REG0_NOP;
      cmd_FX22MB_REG0[5] = (byte)MB_Commands.FX22MB_REG0_NOP;
      cmd_FX22MB_REG0[6] = (byte)Command;

      bResultCommand_FX22MB = TE_USB_FX2.TE_USB_FX2.TE_USB_FX2_SendCommand(ref TE_USB_FX2_USBDevice, ref cmd_FX22MB_REG0, ref cmd_length_FX22MB_REG0, ref cmd_FX22MB_REG0, ref reply_length_FX22MB_REG0, Timeout);

      //bResultCommand_FX22MB_REG0_START = inEndpointCmd.XferData(ref cmd_FX22MB_REG0_START, ref cmd_length_FX22MB_REG0_START);

      //Console.WriteLine("bResultCommand_FX22MB_REG0_START {0}", bResultCommand_FX22MB_REG0_START);

      //bResultReply_FX22MB_REG0_START = outEndpointCmd.XferData(ref reply_FX22MB_REG0_START, ref reply_length_FX22MB_REG0_START);
      //END

      //Console.WriteLine("bResultReply_FX22MB_REG0_START {0}", bResultReply_FX22MB_REG0_START);

      if (bResultCommand_FX22MB) return true;
      else return false;
    }