private void InterceptInfo(object source, ElapsedEventArgs e) { var x = new DistMeasureRes { Dist = 0 }; var timestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; timestamp++; while (Math.Abs(x.Dist) < 0.000001) { using var wc = new WebClient(); try { var json = wc.DownloadString( "http://169.254.168.150/datagen.php?type=Meas&callback=callback&_=" + timestamp); x = GetTemp(json); } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); } ObtainedDataEvent?.Invoke(x); } }
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { var sp = (SerialPort)sender; try { var cnt = sp.ReadBufferSize; var mXdata = new byte[cnt + 1]; try { sp.Read(mXdata, 0, cnt); } catch (Exception ex) { _errList.Add(ex.Message); SetLogMessage?.Invoke(ex.Message); } var ascii = Encoding.ASCII; var answers = ascii.GetString(mXdata).Split('\r'); foreach (var s in answers) { if ((s.Length > 3) && (s.Length < 50)) { _msgList.Add(s); } SetResMatt(s); } } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); _errList.Add(ex.Message); } }
private void Write(byte[] buf) { try { _port.Write(buf, 0, buf.Length); } catch (Exception ex) { //ErrList.Add(ex.Message); SetLogMessage?.Invoke(ex.Message); } }
private void StopPump() { if (f_MPort.IsOpen) { f_MPort.Write("t"); SetLogMessage?.Invoke($"Pump stop: {f_ComId}"); } else { SetLogMessage?.Invoke($"Pump port {f_ComId} is closed"); } }
public void OpenPort() { SetLogMessage?.Invoke($"Try connect pump on port {f_ComId}"); try { f_MPort.Open(); } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); } Active = true; }
public void GetSignal(byte[] rxData) { PwrItem pi = new PwrItem(rxData); if (pi.IsCorrect) { SetChannelParameters?.Invoke(f_pwrSerial.CurChannel, pi); SetLogMessage?.Invoke($"Чтение из бп, канал {f_pwrSerial.CurChannel}, успешно"); } else { SetLogMessage?.Invoke("Нераспознаный ответ БП"); } }
public void Calibrate() { var fName = $"{Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)}\\calibrate.arr"; if (File.Exists(fName)) { _ = ElvWrapper.Elveflow_Calibration_Load($"{System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)}\\calibrate.arr", _fCalibration, 1000); SetLogMessage?.Invoke("Калибровочный массив загружен"); } else { SetLogMessage?.Invoke("Производиться калибровки, подождите около 2х минут"); ElvWrapper.AF1_Calib(_pId, _fCalibration, 1000); ElvWrapper.Elveflow_Calibration_Save($"{System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)}\\calibrate.arr", _fCalibration, 1000); SetLogMessage?.Invoke("Калибровка окончена"); } }
public void OpenPort() { try { f_MPort.Open(); SendCommand(1); SendCommand(7); SendCommand(18); SendCommand(16); SendCommand(21); SendCommand(13); SendCommand(30); SendCommand(23); } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); } }
public void SetCounterClockwiseDirection() { if (f_MPort.IsOpen) { if (PumpReverse) { f_MPort.Write("r"); } else { f_MPort.Write("l"); } System.Threading.Thread.Sleep(130); } else { SetLogMessage?.Invoke($"Pump port {f_ComId} is closed"); } }
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { var sp = (SerialPort)sender; try { var cnt = sp.ReadBufferSize; f_RxData = new byte[cnt + 1]; sp.Read(f_RxData, 0, cnt); } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); } var t = RcConvert(f_RxData); f_TempLog.Add(f_RxIdx, t); f_RxIdx++; EventHandler?.Invoke(t); }
public PwrSerial(string port) { CurChannel = 99; _modBus = new ModBus(); SetLogMessage?.Invoke($"Try connected Power Supply on port {port}"); if (port == "") { port = "COM9"; } _port = new SerialPort(port) { BaudRate = 115200, Parity = Parity.None, StopBits = StopBits.One, DataBits = 8, Handshake = Handshake.None, RtsEnable = true }; _port.DataReceived += DataReceivedHandler; }
private void WriteAnyCommand(string cmd) { if (f_MPort.IsOpen) { try { f_MPort.Write(cmd); //SetLogMessage?.Invoke($"Pump start command {cmd}"); } catch (Exception ex) { SetLogMessage?.Invoke($"Port {f_ComId} is occuped"); SetLogMessage?.Invoke(ex.Message); } } else { SetLogMessage?.Invoke($"Pump port {f_ComId} is closed"); f_CmdQueue.Clear(); } }
public PyroSerial(string port) { if (string.IsNullOrEmpty(port)) { port = "COM4"; } f_RxIdx = 0; SetLogMessage?.Invoke($"Try connected Pyro on port {port}"); _port = new SerialPort(port) { BaudRate = 57600, Parity = Parity.None, StopBits = StopBits.One, DataBits = 8, Handshake = Handshake.None, RtsEnable = true }; _port.DataReceived += DataReceivedHandler; f_ATimer.Elapsed += OnTimedEvent; f_ATimer.Interval = 1200; }
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { var sp = (SerialPort)sender; try { var cnt = sp.ReadBufferSize; RxData = new byte[cnt + 1]; var rc = sp.Read(RxData, 0, cnt); if (cnt > 3 && RxData[0] == 1 && RxData[1] == 3 && RxData[2] == 18) { // EventArgs ea = new EventArgs(); OnRecieve?.Invoke(RxData); } } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); //ErrList.Add(ex.Message); } }
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { System.Threading.Thread.Sleep(30); var cnt = f_MPort.ReadBufferSize; var mRxData = new byte[cnt + 1]; try { f_MPort.Read(mRxData, 0, cnt); mRxData = TrimReceivedData(mRxData); } catch (Exception ex) { SetLogMessage?.Invoke(ex.Message); } var ascii = Encoding.ASCII; if (mRxData.Length > 0) { //f_RecievedData.Add(ascii.GetString(mRxData)); // Debug.WriteLine($"{f_ComId}:{ascii.GetString(mRxData)}"); } }
private void TestLog(string msg) { SetLogMessage?.Invoke(msg); }
private void DispatchData(byte[] data) { if (!(data.Length > 2 & data[0] == 0x06)) { SetLogMessage?.Invoke($"Вероятная ошибка из порта диспенсера: {BitConverter.ToString(data)}"); return; } //SetLogMessage?.Invoke($"Answer:{BitConverter.ToString(data)}"); //SetLogMessage?.Invoke($"Status byte:{data[2]}"); var st = 2; var TxtStatus = GetStatusText(data[st]); // Debug.WriteLine(string.Join(":", TxtStatus)); switch (data[1]) { case 0x01: SetLogMessage?.Invoke($"Успешный сброс параметров диспенсера, {GetStatusText(data[st])}"); break; case 0x03: SetLogMessage?.Invoke($"Число капель на импульс установлено, {GetStatusText(data[st])}"); break; case 0x04: SetLogMessage?.Invoke($"Дискретный режим установлен, {GetStatusText(data[st])}"); break; case 0x06: SetLogMessage?.Invoke($"Параметры сигнала установлены, {GetStatusText(data[st])}"); break; case 0x08: SetLogMessage?.Invoke($"Внутренний источник импульсов установлен, {GetStatusText(data[st])}"); break; case 0x0A: var tmpStr = data[3] == 38 ? "Запущен" : "Остановлен"; SetLogMessage?.Invoke($"{tmpStr} процесс, {GetStatusText(data[st])}, data: {BitConverter.ToString(data)}"); break; case 0x0C: SetLogMessage?.Invoke($"Канал установлен, {GetStatusText(data[st])}"); break; case 0x0D: SetLogMessage?.Invoke($"Доступно каналов: {data[4]}, Status byte:{data[2]}"); break; case 0x0E: SetLogMessage?.Invoke($"Группировка каналов: {data[3]}, {GetStatusText(data[st])}"); break; case 0x19: SetLogMessage?.Invoke($"Частота установлена, {GetStatusText(data[st])}"); break; case 0xF0: SetLogMessage?.Invoke($"Успешный запрос версии: {data[4]}, {GetStatusText(data[st])}"); break; case 0x60: SetLogMessage?.Invoke($"Port was sent {data.Length}, x60: {BitConverter.ToString(data)}"); SetDispOptions(data); break; default: SetLogMessage?.Invoke($"NoHandler: {BitConverter.ToString(data)}"); break; } }