Oscilloscope Reference Writing math plugins
static function inside the class with the math attribute. We call our plugin Add, and it takes two
INormalizedVe ctors as input and produces an INormalizedVector.
namespace MyMathPlugins
{
class MyMath
{
// Add(<wfm
>, <wfm>):
// This plugin adds two INormalizedVector inputs
[Math]
public static void Add(ISettings settings, IRange gate, INormalizedVector output, INormalizedVector
input1, INormalizedVector input2)
{
// We only want to add up to the shorter input length
if (input1.Count < input2.Count)
{
output.Count = input1.Count;
output.Horizontal.Spacing = input1.Horizontal.Spacing;
output.Horizontal.ZeroIndex = input1.Horizontal.ZeroIndex;
}
else
{
output.Count = input2.Count;
output.Horizontal.Spacing = input2.Horizontal.Spacing;
output.Horizontal.ZeroIndex = input2.Horizontal.ZeroIndex;
}
// Add two inputs together
for (long i = 0; i < output.Count; i++)
output[i] = input1[i] + input2[i];
}
}
}
756 DSA/DPO70000D, MSO/DPO/DSA70000C, DPO7000C, and MSO/DPO5000 Series