Example #1
0
 public override void Execute(EventDescription token)
 {
     if (this.LastEvent != token)
     {
         OutputNodes[0].Object = AppGlobals.PyExecuteExpr(Code);
     }
 }
Example #2
0
 public static object Parse(string expr, string hint)
 {
     try
     {
         object result = AppGlobals.PyExecuteExpr(expr);
         return(result);
     } catch (Exception ex)
     {
         string    msg = "Error while evaluating `" + hint + "` (" + ex.Message + ")";
         Exception tmp = (Exception)Activator.CreateInstance(ex.GetType(), msg);
         throw tmp;
     }
 }
Example #3
0
 public override void Execute(Blocks.EventDescription e)
 {
     if (InputNodes[0].ConnectingNode != null)
     {
         var obj = InputNodes[0].Object;
         if (Utils.IsArrayOf <OpenSignalLib.ComplexTypes.Complex>(obj))
         {
             OpenSignalLib.ComplexTypes.Complex[] fft = (OpenSignalLib.ComplexTypes.Complex[])obj;
             var vals = OpenSignalLib.Transforms.Fourier.iFFT(fft,
                                                              int.Parse(AppGlobals.PyExecuteExpr(N).ToString()));
             OutputNodes[0].Object = Utils.GetAbsolute(vals);
         }
     }
 }
Example #4
0
 public override void Execute(Blocks.EventDescription e)
 {
     if (InputNodes[0].ConnectingNode != null)
     {
         double[] x, y;
         var      obj = InputNodes[0].Object;
         if (Utils.IsSignal(obj))
         {
             OpenSignalLib.Sources.Signal s = Utils.AsSignal(obj);
             Logger.D(s.SamplingRate.ToString());
             int n        = int.Parse(AppGlobals.PyExecuteExpr(N).ToString());
             var spectrum = OpenSignalLib.Transforms.Fourier.fspectrum(s, n);
             x = spectrum.Keys.ToArray();
             y = spectrum.Values.ToArray();
         }
         else
         {
             throw new Exception("invalid input type : " + obj.GetType().Name);
         }
         if (!Hold || (plotControl.Window == null || plotControl.Window.IsDisposed))
         {
             _createPlot(x, y);
         }
         if (Hold)
         {
             plotControl.Curve.Clear();
             for (int i = 0; i < x.Length; i++)
             {
                 if (Scale == Scales.dB_Scale)
                 {
                     plotControl.Curve.AddPoint(x[i], 10 * Math.Log10(y[i]));
                 }
                 else
                 {
                     plotControl.Curve.AddPoint(x[i], y[i]);
                 }
             }
             plotControl.Control.AxisChange();
             plotControl.Control.Invalidate();
         }
     }
 }
Example #5
0
 public override void Execute(Blocks.EventDescription e)
 {
     if (InputNodes[0].ConnectingNode != null)
     {
         double[] values = new double[0];
         if (Utils.IsSignal(InputNodes[0].Object))
         {
             values = Utils.AsSignal(InputNodes[0].Object).Samples;
         }
         var vals = OpenSignalLib.Transforms.Fourier.FFT(values,
                                                         int.Parse(AppGlobals.PyExecuteExpr(N).ToString()));
         if (OutputAbsoluteValues)
         {
             double[] vec = Utils.GetAbsolute(vals);
             OutputNodes[0].Object = vec;
         }
         else
         {
             OutputNodes[0].Object = vals;
         }
     }
 }
Example #6
0
 public override void Execute(Blocks.EventDescription e)
 {
     OutputNodes[0].Object = AppGlobals.PyExecuteExpr(Value);
 }