public static void Test() { foreach (string SerialPortItem in SerialCom.GetSerialPorts()) { Console.WriteLine(SerialPortItem); } Stepper CurrentStepper = new Stepper("COM4"); MoveInfoCollection MySequence = new MoveInfoCollection(); MySequence.AddItem(new MoveInfo(EDirection.Clockwise, 20, 1)); //MySequence.AddItem(new MoveInfo(EDirection.Clockwise, 20, 0.8)); //MySequence.AddItem(new MoveInfo(EDirection.Clockwise, 20, 0.6)); //MySequence.AddItem(new MoveInfo(EDirection.Clockwise, 20, 1)); //MySequence.AddItem(new MoveInfo(EDirection.Clockwise, 4500, 0.2)); //MySequence.AddItem(new MoveInfo(EDirection.Clockwise, 100, 0.5)); //MySequence.AddItem(new MoveInfo(EDirection.CounterClockwise, 4690, 0)); for (int i = 1; i <= 10; i++) { TChrono NewChrono = new TChrono(); NewChrono.Start(); Task.Run(() => CurrentStepper.Execute(MySequence)).Wait(); Console.WriteLine($"Execution time = {NewChrono.ElapsedTime.TotalMilliseconds}"); } //Task.Run(() => CurrentStepper.Execute(new MoveInfo(EDirection.Clockwise, 5, 100))).Wait(); }
private string log; //The string used to store the log data on public Form1() { InitializeComponent(); //Sets up dummy data SetupData(); //Sets up list view SetupListView(listView1); //Populate the Combobox with SerialPorts on the System comboBox_available_serialPorts.Items.AddRange(SerialPort.GetPortNames()); //Setup serialCom serialCom = new SerialCom(serialPort1); // Displaying System Information string SystemInformation;//Used for Storing System Information //Log the system information SystemInformation = " Machine Name = " + System.Environment.MachineName; // Get the Machine Name SystemInformation = SystemInformation + Environment.NewLine + " OS Version = " + System.Environment.OSVersion; // Get the OS version SystemInformation = SystemInformation + Environment.NewLine + " Processor Cores = " + Environment.ProcessorCount + Environment.NewLine; // Get the Number of Processors on the System TextBox_System_Log.AppendText(SystemInformation); //Display into the Log Text Box }
/// <summary> /// Send a SIP (Slave Interrupt Packet) to a master computer. /// </summary> /// <param name="deviceId">Id of the slave device who answered.</param> /// <param name="InterrupCode">The code of the interruption (0 to 255).</param> /// <returns>The error check data.</returns> public int SendInterruption(int deviceId, int InterrupCode) { byte[] hex; byte[] pkt = new byte[14]; int ecd; //Packet Type pkt[0] = (byte)'!'; pkt[1] = (byte)'!'; //ECA hex = Encoding.Default.GetBytes(((int)ErrorCheckType).ToString("X1")); pkt[2] = hex[0]; //Device ID hex = Encoding.Default.GetBytes(deviceId.ToString("X3")); pkt[3] = hex[0]; pkt[4] = hex[1]; pkt[5] = hex[2]; //Interruption Code hex = Encoding.Default.GetBytes(InterrupCode.ToString("X2")); pkt[6] = hex[0]; pkt[7] = hex[1]; //CRC ecd = ErrorCheck(pkt, 8, ErrorCheckType); hex = Encoding.Default.GetBytes(ecd.ToString("X4")); pkt[8] = hex[0]; pkt[9] = hex[1]; pkt[10] = hex[2]; pkt[11] = hex[3]; //Packet End pkt[12] = (byte)'\r'; pkt[13] = (byte)'\n'; SerialCom.Write(pkt, 0, 14); return(ecd); }
private void DataAvailable(object sender, WaveInEventArgs e) { var peak = MaxFloat(e.Buffer, e.BytesRecorded) * 100F; var val = peak <= 2F? 38F : 255F * Math.Log10(peak) / 2F; SerialCom.Enqueue(Message.SetBright((int)val)); Thread.Sleep(33); }
/// <summary> /// The non-default constructor /// </summary> /// <param name="sc">The serial port source</param> /// <param name="regions">The rectangle array region</param> public ScreencapThread(SerialCom sc, Rectangle[] regions) { this.serial = sc; this.regions = regions; this.size = Screen.PrimaryScreen.Bounds.Size; t = new Thread(new ThreadStart(capScreen)); t.Name = "Screen capture and analysation thread"; t.IsBackground = true; }
public LogManager() { InitializeComponent(); this.Dock = DockStyle.Fill; scom = new SerialCom(); scom.DataReceivedEvent += serialPort_DataReceived; recvQueue = new ConcurrentQueue <byte[]>(); }
private void serialConnectBtn_Click(object sender, EventArgs e) { if (ConnectionsManager.Inst.IsSomeConnectionInitiated()) { MsgBox.WarningMsg("Multiple Connections Are Not Allowed", "Some other connection type (TCP or UDP) is already open. Close it and try again"); return; } // no port was selected if (serialComCmBx.Text == "") { MsgBox.WarningMsg("Serial Connection Failed", "No port was selected"); serialConnectionStateLbl.Text = "Failed"; serialConnectionStateLbl.BackColor = Color.Tomato; return; } SaveSerialSettings(); string detailedPort = serialComCmBx.Text; string portName = SerialCom.DetailedToSimplefiedPortName(detailedPort); // selected port is not a serial port (doesn't contain 'COM') if (portName == null) { MsgBox.WarningMsg("Serial Connection Failed", "Invalid port"); serialConnectionStateLbl.Text = "Failed"; serialConnectionStateLbl.BackColor = Color.Tomato; return; } int baud = int.Parse(serialBaudCmBx.SelectedItem.ToString()); StopBits stopBits = SerialCom.StringToStopBits(serialStopBitsCmBx.SelectedItem.ToString()); int dataBits = (int)serialDataBitsTxt.Value; Parity parity = SerialCom.StringToParity(serialParityCmBx.SelectedItem.ToString()); ConnectionsManager.Inst.InitSerial(); if (ConnectionsManager.Inst.Serial.Connect(portName, baud, parity, dataBits, stopBits)) { serialPortLbl.Text = portName; serialConnectionStateLbl.Text = "Connected"; serialConnectionStateLbl.BackColor = Color.LimeGreen; serialIndicatorLbl.BackColor = Color.LimeGreen; serialDisconnectBtn.Enabled = true; serialConnectBtn.Enabled = false; ConnectionsManager.Inst.Serial.Subscribe(OnIncomingBytes); // disable pkg parsing on serial pkgParseChkBx.Checked = false; pkgParseChkBx.Enabled = false; } else { serialConnectionStateLbl.Text = "Failed"; serialConnectionStateLbl.BackColor = Color.Tomato; } }
internal static void StartStopComThread() { serial?.Dispose(); if (!string.IsNullOrWhiteSpace(Settings.Model.SerialComId)) { serial = new SerialCom(); SerialCom.Enqueue(Message.SetLedNumber(Settings.Model.TotalLeds)); SerialCom.Enqueue(Message.GetPatterns()); } }
internal static void Stop() { if (instance == null) { return; } instance.capture.StopRecording(); instance = null; SerialCom.Enqueue(Message.SetBright(Settings.Model.Brightness)); }
// Funcao responsavel por adicionar a TAG no dicionario da sala para qual a TAG fez a transicao public static void transicaoADD(string EPC, int sala_atual, Tags_TG tag) { switch (sala_atual) { case 0: GlobalData.DictAmbienteExterno.Add(EPC, tag); tag.Ambiente = 0; break; case 1: GlobalData.DictSalaPrincipal.Add(EPC, tag); tag.Ambiente = 1; if (GlobalData.DictSalaPrincipal.Count > 2 && GlobalData.AcionamtSalaPrincipal == 0) { Console.WriteLine("\n*Acionamento do ventilador na Sala Principal*\n"); GlobalData.AcionamtSalaPrincipal = 1; SerialCom.Controle_Ar("Sala Principal"); } break; case 2: GlobalData.DictSalaReunioes.Add(EPC, tag); tag.Ambiente = 2; if (GlobalData.DictSalaReunioes.Count > 2 && GlobalData.AcionamtSalaReunioes == 0) { Console.WriteLine("\n*Acionamento do ventilador na Sala de Reunioes*\n"); GlobalData.AcionamtSalaReunioes = 1; SerialCom.Controle_Ar("Sala Reuniões"); } break; case 3: GlobalData.DictCorredorBaias.Add(EPC, tag); tag.Ambiente = 3; if (GlobalData.DictCorredorBaias.Count > 2 && GlobalData.AcionamtCorredorBaias == 0) { Console.WriteLine("\n*Acionamento do ventilador no Corredor de Baias*\n"); GlobalData.AcionamtCorredorBaias = 1; SerialCom.Controle_Ar("Corredor de Baias"); } break; default: Console.Write("Caso não identificado"); break; } }
/// <summary> /// Send a MRP packet to a slave computer. /// </summary> /// <param name="deviceId">Id of the requested device in slave.</param> /// <param name="message">The message in bytes to be send.</param> /// <param name="msgLength">The message length.</param> /// <returns>The error check data.</returns> public int SendRequest(int deviceId, byte[] message, int msgLength) { byte[] hex; int ecd; if (message.Length < msgLength) { msgLength = message.Length; //saturating } //mounting the packet byte[] pkt = new byte[msgLength + 15]; //Packet Type pkt[0] = (byte)'!'; pkt[1] = (byte)'?'; //ECA hex = Encoding.Default.GetBytes(((int)ErrorCheckType).ToString("X1")); //hex = Encoding.Default.GetBytes(String.Format("{0:X1}", ErrorCheckType)); pkt[2] = hex[0]; //device Id hex = Encoding.Default.GetBytes(deviceId.ToString("X3")); pkt[3] = hex[0]; pkt[4] = hex[1]; pkt[5] = hex[2]; //Message length hex = Encoding.Default.GetBytes(msgLength.ToString("X3")); pkt[6] = hex[0]; pkt[7] = hex[1]; pkt[8] = hex[2]; //Message (payload) for (int i = 0; i < msgLength; i++) { pkt[9 + i] = message[i]; } //Error checking ecd = ErrorCheck(pkt, msgLength + 9, ErrorCheckType); hex = Encoding.Default.GetBytes(ecd.ToString("X4")); pkt[9 + msgLength] = hex[0]; pkt[9 + msgLength + 1] = hex[1]; pkt[9 + msgLength + 2] = hex[2]; pkt[9 + msgLength + 3] = hex[3]; //Packet End pkt[9 + msgLength + 4] = (byte)'\r'; pkt[9 + msgLength + 5] = (byte)'\n'; //Sending request SerialCom.Write(pkt, 0, 15 + msgLength); return(ecd); }
private void btnCashChargOpenPort_Click(object sender, RoutedEventArgs e) { var msg = ""; com = new SerialCom(cmbCashChargePorts.Text); if (com.Open(out msg) == false) { Core.Log.In(msg); return; } StatusCode.Init(); wrapPanel.IsEnabled = true; wp1.IsEnabled = true; constrant = new Constrant(com); }
/// <summary> /// Update serialComCmBx items, and keep existing /// ports at their current index in the list /// </summary> private void UpdateSerialPorts() { var t = Task.Run(delegate { // the following function is a blocking one, therefore must be // called in a seperate thread so GUI won't freeze connectedSerialPorts = SerialCom.GetConnectedPortsDetailedStrings(); }); if (connectedSerialPorts == null) { return; } // create a clone of serialComCmBx.Items to allow // modifying serialComCmBx.Items while iterating // over its elements List <string> portsListClone = new List <string>(); foreach (string port in serialComCmBx.Items) { portsListClone.Add(port); } //remove disconnected ports from combobox foreach (string port in portsListClone) { if (!connectedSerialPorts.Contains(port)) { serialComCmBx.Items.Remove(port); } } // add new connected ports the combobox foreach (string port in connectedSerialPorts) { if (!serialComCmBx.Items.Contains(port)) { serialComCmBx.Items.Add(port); } } if (serialComCmBx.Items.Count > 0) { serialComCmBx.SelectedIndex = 0; } }
// Funcao responsavel por fazer a remocao da TAG no dicionario da sala anterior a transicao public static void transicaoRemove(string EPC, int sala_anterior) { switch (sala_anterior) { case 0: GlobalData.DictAmbienteExterno.Remove(EPC); break; case 1: GlobalData.DictSalaPrincipal.Remove(EPC); if (GlobalData.DictSalaPrincipal.Count <= 2 && GlobalData.AcionamtSalaPrincipal == 1) { Console.WriteLine("\n*Desacionamento do ventilador na Sala Principal*\n"); GlobalData.AcionamtSalaPrincipal = 0; SerialCom.Controle_Ar("Sala Principal"); } break; case 2: GlobalData.DictSalaReunioes.Remove(EPC); if (GlobalData.DictSalaReunioes.Count <= 2 && GlobalData.AcionamtSalaReunioes == 1) { Console.WriteLine("\n*Desacionamento do ventilador na Sala de Reunioes*\n"); GlobalData.AcionamtSalaReunioes = 0; SerialCom.Controle_Ar("Sala Reuniões"); } break; case 3: GlobalData.DictCorredorBaias.Remove(EPC); if (GlobalData.DictCorredorBaias.Count <= 2 && GlobalData.AcionamtCorredorBaias == 1) { Console.WriteLine("\n*Desacionamento do ventilador no Corredor de Baias*\n"); GlobalData.AcionamtCorredorBaias = 0; SerialCom.Controle_Ar("Corredor de Baias"); } break; default: Console.Write("Caso não identificado"); break; } }
private void ToggleSerialPort() { try { if (SerialCom.IsPortOpen) { SerialCom.Close(); } else { SerialCom.Open(); } ToggleButtonText = SerialCom.IsPortOpen ? "Close" : "Open"; OnPropertyChanged(nameof(SerialCom)); } catch (System.Exception) { } }
private void ToolStripButtonConnect_Click(object sender, EventArgs e) { try { if (!_isConnected) { var portName = comboBoxPortName.Text; if (comboBoxPortName.SelectedIndex >= 0) { portName = _portNames[comboBoxPortName.SelectedIndex]; } var baudRate = int.Parse(comboBoxBaudRate.Text); _serialCom = new SerialCom(portName, baudRate, _appConfig.SetDtrOnConnect); _serialCom.OnDataReceived += SerialCom_OnDataReceived; _serialCom.OnException += SerialCom_OnException; _serialCom.Open(); _isConnected = true; buttonConnect.Text = "Disconnect"; this.Text = string.Format("{0} [{1} - {2}]", Application.ProductName, portName, baudRate); UpdateStatusLabel("Connected at Baudrate " + baudRate); comboBoxPortName.Enabled = false; comboBoxBaudRate.Enabled = false; } else { _isConnected = false; buttonConnect.Text = "Connect"; comboBoxPortName.Enabled = true; comboBoxBaudRate.Enabled = true; UpdateStatusLabel("Disconnected"); this.Text = Application.ProductName; _serialCom.Close(); } UpdateSerialPortDescription(); } catch (Exception ex) { PopupException(ex.Message); } }
public MainForm() { InitializeComponent(); com = new SerialCom(); com.Visible = false; _switch = false; packetnum = 1; this.Controls.Add(com); pictureBox2.SendToBack(); new Thread(image).Start(); seconddatapanel.Visible = false; textBox36.Text = "7.0"; textBox37.Text = "0.0"; textBox38.Text = "0.0"; textBox39.Text = "5.0"; textBox40.Text = "0.0"; textBox41.Text = "0.1"; tbMotorVel.Text = "0"; label5.Text = "请按照打开文件、下载程序、开始程序进行操作!"; }
private void btnOpen_Click(object sender, EventArgs e) { if (btnOpen.Text == "Close") { _spr.Close(); btnOpen.Text = "Open"; } else { string portName = cbPortName.Text; int baudRate = cbBaudRate.Text.ToInt32(9600); Parity parity = (Parity)Enum.Parse(typeof(Parity), cbParity.Text); int dataBits = cbDataBits.Text.ToInt32(8); StopBits stopBits = (StopBits)Enum.Parse(typeof(StopBits), cbStopBits.Text); //StopBits stopBits = (StopBits)1; _spr = new SerialCom(portName, baudRate, parity, dataBits, stopBits); _spr.Open(); _spr.DataReceived += new SerialCom.SerialPorterDataReceiveEventArgs(_spr_DataReceived); //_spr.sp.DataReceived += new SerialDataReceivedEventHandler(spr_DataReceived); btnOpen.Text = "Close"; } }
private void Form1_Load(object sender, EventArgs e) { txtCmd.Text = "68 01 fe 68 00 06 49 bf d7 0d"; foreach (string port in SerialCom.GetPortNames()) { cbPortName.Items.Add(port); } string[] bauds = new string[] { "9600", "19200", "115200" }; foreach (string baud in bauds) { cbBaudRate.Items.Add(baud); } foreach (string name in Enum.GetNames(typeof(Parity))) { cbParity.Items.Add(name); } for (int i = 5; i < 9; i++) { cbDataBits.Items.Add(i); } foreach (string name in Enum.GetNames(typeof(StopBits))) { cbStopBits.Items.Add(name); } cbBaudRate.SelectedIndex = 0; cbDataBits.SelectedIndex = 3; cbParity.SelectedIndex = 0; if (cbPortName.Items.Count > 0) { cbPortName.SelectedIndex = 0; } cbStopBits.SelectedIndex = 1; }
public Turret(string port, int baud) { _com = new SerialCom(port, baud); TurretPosition = new int[2]; }
public SerialControlViewModel() { SerialCom = new SerialCom(); ToggleSerialPortCommand = new DelegateCommand(ToggleSerialPort); }
internal static void Run(object obj) { Thread.CurrentThread.Name = "DXGI Capture"; var token = (CancellationToken)obj; int i, ix; byte[] points, color; HardwareScreenCapture <T> instance = null; while (!token.IsCancellationRequested) { try { if (instance == null) { instance = new HardwareScreenCapture <T>(); instance.Initialize(); SerialCom.Enqueue(Message.StreamStart()); //first call or two returns an empty (black) screen //consume here during init instance.CaptureFrameGPU(); } if (instance.CaptureFrameGPU()) { #if DOT_TIMER var sw = new Stopwatch(); sw.Start(); #endif instance.TransferFrameCPU(); #if PARALLEL Parallel.ForEach(instance.ledPoints, x => x.Calculate()); #else for (i = 0; i < instance.ledPoints.Length; i++) { instance.ledPoints[i].Calculate(); } #endif points = new byte[instance.ledPoints.Length * 3]; for (i = 0, ix = 0; i < instance.ledPoints.Length; ++i, ix = i * 3) { color = instance.ledPoints[i].mean; points[ix] = color[0]; points[ix + 1] = color[1]; points[ix + 2] = color[2]; } if (token.IsCancellationRequested) { break; } SerialCom.Enqueue(new Message.Command() { Type = Message.Type.Stream, Raw = points }); #if DOT_TIMER Console.WriteLine(sw.Elapsed.TotalMilliseconds); #endif instance.Render(points); } } catch (Exception) { instance?.Dispose(); instance = null; } } instance?.Dispose(); }
/// <summary> /// Non-default constructor /// </summary> /// <param name="comPort">The COM port (e.g. COM3)</param> /// <param name="baudrate">The Baudrate (e.g. 9600)</param> public RgbControl(string comPort, int baudrate) { serial = new SerialCom(comPort, baudrate); }
public void ExposureMode(double value) { SerialCom.SetCamParm(CommandList.sem, value); }
public void Direction(DirectionMode direction) { SerialCom.SetCamParm(CommandList.scd, ( double )(direction == DirectionMode.Forward ? 0:1)); }
public EleTagControllerImpl() { serialCom = new SerialComImpl(); addressMappingDAL = new AddressMappingDALImpl(); serialCom.setSerialDataReceivedHandler(DataReceivedHandler); }
public void LineRate(double value) { SerialCom.SetCamParm(CommandList.ssf, value); }
public void TDIMode(TdiMode mode) { SerialCom.SetCamParm(CommandList.tdi, mode == TdiMode.Tdi ? 1 : 0); }
public CommonCmd(SerialCom com) { m_SerialCom = com; }
/// <summary> /// Non-Default constructor /// </summary> /// <param name="sc">The serial port source</param> public Screencap(SerialCom sc) { this.serial = sc; }