//1)SET_INTERRUPT on MB_I2C_ADDRESS requesting I2C_BYTES
Command[0] = (byte)FX2_Commands.SET_INTERRUPT;
Command[1] = (byte)FX2_Parameters.MB_I2C_ADDRESS;
Command[2] = (byte)FX2_Parameters.I2C_BYTES;
if (TE_USB_FX2.TE_USB_FX2.TE_USB_FX2_SendCommand(ref TE_USB_FX2_USBDevice, ref Command, ref CmdLength, ref Reply, ref ReplyLength, Timeout) = FALSE) return FALSE;

//2)I2C_WRITE with MB_Command FX22MB_REG0_GETVERSION at byte 7
Command[0] = (byte)FX2_Commands.I2C_WRITE; //0xAD;//command I2C_WRITE
//Command[1] = (byte)FX2_Parameters.MB_I2C_ADDRESS;
//Command[2] = (byte)FX2_Parameters.I2C_BYTES;
Command[3] = (byte)0;
Command[4] = (byte)0;
Command[5] = (byte)0;
Command[6] = (byte)MB_Commands.FX22MB_REG0_GETVERSION;//1; //get FPGA version
if (TE_USB_FX2.TE_USB_FX2.TE_USB_FX2_SendCommand(ref TE_USB_FX2_USBDevice, ref Command, ref CmdLength, ref Reply, ref ReplyLength, Timeout) = FALSE) return FALSE;

//3)GET_INTERRUPT
Command[0] = (byte)FX2_Commands.GET_INTERRUPT; //0xB1;//command GET_INTERRUPT
TE_USB_FX2.TE_USB_FX2.TE_USB_FX2_SendCommand(ref TE_USB_FX2_USBDevice, ref Command, ref CmdLength, ref Reply, ref ReplyLength, Timeout)
if ((ReplyLength > 4) && (Reply[0] != 0))
{
     //Console.WriteLine("INT# : {0}", Reply[0]);
     Console.WriteLine("Major version: {0}", Reply[1]);
     Console.WriteLine("Minor version: {0}", Reply[2]);
     Console.WriteLine("Release version: {0}", Reply[3]);
     Console.WriteLine("Build version: {0}", Reply[4]);
}
  • No labels