コード例 #1
0
        void IssuePrologixCommand(object sender, CommandPrompt.CommandEventArgs e)
        {
            try
            {
                if (!ComPort.IsOpen)
                {
                    ComPort.Open();
                }

                if (e.Command.StartsWith("++"))
                {
                    WriteAsciiBytes(e.Command + USBTerminator);
                    string result = ReadWithTimeout();
                    e.Message = result;
                    if (e.Command == "++addr")
                    {
                        GpibAddress.SelectedItem = int.Parse(e.Message);
                    }
                }
                else
                {
                    WriteAsciiBytes(EscapeAndTerminate(e.Command + GpibTerminator));
                    string result = ReadWithTimeout();
                    e.Message = result;
                }
            }
            catch (Exception ex)
            {
                e.Message = ex.Message;
            }
        }
コード例 #2
0
 void Console_Command(object sender, CommandPrompt.CommandEventArgs e)
 {
     if (SelectPrologix.Checked)
     {
         IssuePrologixCommand(sender, e);
     }
     else
     {
         throw new NotImplementedException();
     }
 }
コード例 #3
0
 void Console_Command(object sender, CommandPrompt.CommandEventArgs e)
 {
     ComPort.Write(AsciiEncoding.GetBytes(e.Command), 0, AsciiEncoding.GetByteCount(e.Command));
     if (e.Command[2] == 'R')
     {
         int    result = ComPort.ReadByte();
         byte[] bytes  = BitConverter.GetBytes(result);
         e.Message = Convert.ToString(bytes[0], 2);
     }
     else
     {
         e.Message = "";
     }
 }