コード例 #1
0
 /// <summary>
 ///  Prepare ADC data for visualization
 /// </summary>
 public void BuildData()
 {
     ADCValues.Clear();
     if (RxArray == null)
     {
         return;
     }
     VoltPoint[] temp = new VoltPoint[RxArray.Length];
     RaiseProgressChanged(null);
     Debug.WriteLine("=> filling ADCValues");
     for (int i = 0; i < RxArray.Length; i++)
     {
         temp[i] = (new VoltPoint(((double)RxArray[i] / (double)RCUCom.ADCBinMax) * RCUCom.ADCVoltMax, i / RCUCom.ADCSampleRate));
     }
     ADCValues.AddRange(temp);
     //foreach (var item in temp)
     //{
     //    ADCValues.Add(item);
     //}
 }
コード例 #2
0
        /// <summary>
        /// Read the values of the specified channels of the inner ADC.
        /// </summary>
        /// <param name="channelEnabled">Concat multiple channels with `|` operator.</param>
        /// <returns></returns>
        public double[] ReadAdc(ADCChannels channelEnabled)
        {
            RxPackage package;

            lock (_lockController)
            {
                Send(new CommandReadADC(channelEnabled));
                Read(out package, CancellationToken.None);
            }

            var adc = new ADCValues(channelEnabled, package.Payload);

            // convert adc raw-data to mV.
            var valConv = new List <double>();

            foreach (var v in adc.Values)
            {
                valConv.Add(ConvertAdcRawTomV(v));
            }

            return(valConv.ToArray());
        }