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; }