示例#1
0
        ///<summary>
        /// Returns CurrParamDataFrame from JyeScope parameters.
        ///</summary>
        ///
        public CurrParamDataFrame Get_CurParamDataFrame_From_Current_Object_State()
        {
            var curParam = new CurrParamDataFrame(_Sensitivity.GetParameter,
                                                  _TimeBase.GetParameter,
                                                  _TriggerSlope.GetParameter,
                                                  _TriggerMode.GetParameter,
                                                  _Couple.GetParameter,
                                                  _triggerLevel,
                                                  (byte)_triggerPos,
                                                  _RecordLength.GetParameter,
                                                  _verticalPosition);

            return(curParam);
        }
示例#2
0
        public void CurrParamDataFrameTest()
        {
            bool result = false;

            try
            {
                var data = Data();
                CurrParamDataFrame param = new CurrParamDataFrame(Data());
                result = true;
            }
            catch (InvalidDataFrameException)
            {
            }
            Assert.AreEqual(true, result);
        }
示例#3
0
 private void GenerateFrame()
 {
     try
     {
         DSO.DataFrames.CurrParamDataFrame param = new CurrParamDataFrame
                                                       ((Config.VerticalSensitivity)cbxVSens.SelectedItem,
                                                       (Config.Timebase)cbxHSens.SelectedItem,
                                                       (Config.Slope)cbxTrigSlope.SelectedItem,
                                                       (Config.TriggerMode)cbxTrigType.SelectedItem,
                                                       (Config.Coupling)cbxCouple.SelectedIndex,
                                                       (Convert.ToInt16(cbxTrigLevel.Text)),
                                                       (Convert.ToByte(cbxTrigPos.Text)),
                                                       (Config.RecordLength)(Convert.ToInt16(cbxRecLength.Text)),
                                                       (Convert.ToInt16(cbxVpos.Text)));
         SetCommandText(param);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + Environment.StackTrace);
     }
 }
示例#4
0
 private void SetParamToComboboxes(CurrParamDataFrame config)
 {
     gpbParams.Enabled = false;
     foreach (var cbx in gpbParams.Controls)
     {
         if (cbx is ComboBox)
         {
             ((ComboBox)cbx).Text = null;
         }
     }
     cbxCouple.SelectedItem    = config.Couple;
     cbxHSens.SelectedItem     = config.TBase;
     cbxRecLength.SelectedText = (Convert.ToString((int)config.RecordLength));
     cbxTrigPos.SelectedText   = (Convert.ToString(config.TriggerPosition));
     cbxTrigSlope.SelectedItem = config.TriggerSlope;
     cbxTrigType.SelectedItem  = config.TriggerMode;
     cbxTrigLevel.SelectedText = (Convert.ToString(config.TriggerLevel));
     cbxVSens.SelectedItem     = config.VSensitivity;
     cbxVpos.SelectedText      = (Convert.ToString(config.VPosition));
     gpbParams.Enabled         = true;
 }
示例#5
0
        protected override bool ChangeParamAcknowledged()
        {
            var curParam = Get_CurParamDataFrame_From_Current_Object_State();
            CurrParamDataFrame curParam2 = null;

            try
            {
                curParam2 = (CurrParamDataFrame) new AcknowledgedFrame().GetAcknowledgedFrame
                                (typeof(DataFrames.ScopeControlDataFrames.GetParameters), typeof(CurrParamDataFrame), this);
            }catch (DSO.Exceptions.FrameNotAcknowledgedException)
            {
                return(false);
            }

            if (!curParam.Equals(curParam2))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
示例#6
0
 private DataFrame ReturnFrame(Type FrameType, byte[] buffer)
 {
     if (FrameType == typeof(DataFrames.DSO068.CurrConfigDataFrame))
     {
         DataFrames.DSO068.CurrConfigDataFrame CurrConfig = new DataFrames.DSO068.CurrConfigDataFrame(buffer);
         return(CurrConfig);
     }
     else if (FrameType == typeof(DataFrames.DSO112.CurrConfigDataFrame))
     {
         DataFrames.DSO112.CurrConfigDataFrame CurrParam = new DataFrames.DSO112.CurrConfigDataFrame(buffer);
         return(CurrParam);
     }
     else if (FrameType == typeof(CurrParamDataFrame))
     {
         CurrParamDataFrame CurrParam = new CurrParamDataFrame(buffer);
         return(CurrParam);
     }
     else if (FrameType == typeof(DataBlockDataFrame))
     {
         DataBlockDataFrame CurrData = new DataBlockDataFrame(buffer);
         return(CurrData);
     }
     else if (FrameType == typeof(DataSampleDataFrame))
     {
         DataSampleDataFrame CurrData = new DataSampleDataFrame(buffer);
         return(CurrData);
     }
     else if (FrameType == typeof(DataFrames.ScopeControlDataFrames.ScopeReady))
     {
         DataFrames.ScopeControlDataFrames.ScopeReady ready = new DataFrames.ScopeControlDataFrames.ScopeReady(buffer);
         return(ready);
     }
     else
     {
         throw new InvalidOperationException("Wrong object type");
     }
 }
示例#7
0
        ///<summary>
        /// Set JyeScope object parameters to device. Return true in succes, throws ParametersNotSetException otherwise.
        ///</summary>
        ///
        public bool SetCurrentParameters()
        {
            CurrParamDataFrame param = null;
            var stopwatch            = Stopwatch.StartNew();

            while (stopwatch.ElapsedMilliseconds < timeoutTime)
            {
                CurrParamDataFrame curParam = null;
                try
                {
                    curParam = Get_CurParamDataFrame_From_Current_Object_State();
                    WriteFrame(curParam);
                } catch (Exception ex)
                {
                    while (param != null)
                    {
                        param = _GetCurrentParameters();
                    }
                    throw new ParametersNotSetException("Cannot set parameters. Error while writing or creating DataFrame: " + ex.Message);
                }
                Thread.Sleep(_readDelay);
                if (!ChangeParamAcknowledged())
                {
                    //do it again
                }
                else
                {
                    return(true);
                }
            }
            while (param != null)
            {
                param = _GetCurrentParameters();
            }
            throw new ParametersNotSetException("Cannot set parameters. Timeout while waiting for acknowledge.");
        }
示例#8
0
        private void btnApply_Click(object sender, EventArgs e)
        {
            foreach (var cb in this.Controls)
            {
                if (cb is CheckBox)
                {
                    ((CheckBox)cb).Checked = false;
                }
            }

            txtBufferOutput.Clear();
            var port = GetSerialPort();


            if (port != null)
            {
                if (txtEditCommand.Text != "")
                {
                    var         bytes  = txtEditCommand.Text.Split(' ');
                    List <byte> proper = new List <byte>();
                    foreach (var value in bytes)
                    {
                        if (value != "")
                        {
                            proper.Add(byte.Parse(value, System.Globalization.NumberStyles.HexNumber));
                        }
                    }
                    port.Write(proper.ToArray(), 0, proper.ToArray().Count());
                }
                else
                {
                    // WriteFrame((DataFrame)cbxCommandSelect.SelectedItem, port);
                }
                System.Threading.Thread.Sleep(Convert.ToInt16(cbxReadDelay.Text));
                output = InstReadBuffer(port);
                port.Dispose();
                var tempText = "";
                foreach (byte val in output)
                {
                    tempText += val + ", ";
                }
                if (tempText.Length > 0)
                {
                    txtBufferOutput.Text = (tempText.Remove(tempText.Length - 2));
                }
                port.Close();
                port.Dispose();

                try
                {
                    DSO.DataFrames.DSO068.CurrConfigDataFrame config = new DSO.DataFrames.DSO068.CurrConfigDataFrame(output);
                    cbCurrConf.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbCurrConf.Checked = false;
                }
                try
                {
                    DSO.DataFrames.DSO112.CurrConfigDataFrame config = new DSO.DataFrames.DSO112.CurrConfigDataFrame(output);
                    cbCurrConf.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbCurrConf.Checked = false;
                }
                try
                {
                    CurrParamDataFrame config = new CurrParamDataFrame(output);
                    SetParamToComboboxes(config);
                    EnableConfigComboboxes(false);
                    cbCurrParam.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbCurrParam.Checked = false;
                }
                try
                {
                    DataBlockDataFrame config = new DataBlockDataFrame(output);
                    cbDataBlock.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbDataBlock.Checked = false;
                }
                try
                {
                    DataSampleDataFrame config = new DataSampleDataFrame(output);
                    cbDataSample.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbDataSample.Checked = false;
                }
                try
                {
                    ScopeReady config = new ScopeReady(output);
                    cbScopeReady.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbScopeReady.Checked = false;
                }
                try
                {
                    USBScopeModeExited config = new USBScopeModeExited(output);
                    cbExitedScope.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbExitedScope.Checked = false;
                }
                try
                {
                    CommandAcknowledgedDataFrame config = new CommandAcknowledgedDataFrame(output);
                    cbCommandAck.Checked = true;
                }
                catch (InvalidDataFrameException)
                {
                    cbCommandAck.Checked = false;
                }
            }
        }