static void Main(string[] args) { /* Для проверки декодера из файла или буфера */ ProtocolUSB5E4D dec = new ProtocolUSB5E4D(); dec.GotProtocolMsg += new ProtocolUSBBase.ProtocolMsgEventHandler(onDecMsg); dec.GotProtocolError += new ProtocolUSBBase.ProtocolErrorEventHandler(onErrMsg); //*/ FileStream fStream = new FileStream(@"D:\Projects\USBLOG\Debug\Win32\logs\201310\21_161433.dat", FileMode.Open); ProtocolThread dT = new ProtocolThread(dec, fStream); /* проверка работы модуля приема и декодирования данных */ // FileStream fStream = new FileStream(@"D:\Projects\USBLOG\Release\Win32\logs\201310\usb_log.dat", FileMode.Create); // TextWriter fTxtWriter = new StreamWriter(@"D:\Projects\USBLOG\Release\Win32\logs\201310\usb_log.txt"); // ProtocolUSB5E4D _dec = new ProtocolUSB5E4D(fStream, fTxtWriter, false, false); // _dec.onMessage = onDecMsg; // _dec.onProtocolError = onErrMsg; // _dev = new Device("FTVAFGPQ", _dec, new EGSE.USB.USBCfg(10)); ///* выдаем команду в устройство */ byte[] tmp = { 1 }; byte[] tmpbuf; dec.Encode(0x03, tmp, out tmpbuf); /* ждем пока не нажмем кнопку в консоли, тогда все завершаем */ System.Console.ReadLine(); /* текстовый лог загрываем */ // _dev.finishAll(); // fTxtWriter.Flush(); // fTxtWriter.Close(); // fStream.Close(); }
/// <summary> /// Создает процессы по чтению данных из USB и декодированию этих данных /// Все, что нужно, для обеспечения связи по USB /// </summary> /// <param name="serial">Серийный номер USB устройства, с которого нужно получать данные</param> /// <param name="dec">Класс декодера, который нужно использовать в приборе</param> /// <param name="cfg">Конфигурация драйвера USB (настройка параметров потока, буферов чтения и тд)</param> public Device(string serial, ProtocolUSBBase dec, USBCfg cfg) { _dec = dec; _cfg = cfg; _fThread = new FTDIThread(serial, _cfg); _fThread.StateChangeEvent = OnDevStateChanged; _dThread = new ProtocolThread(_dec, _fThread); }