Provided by: linuxcnc-uspace_2.9.0~pre1+git20230208.f1270d6ed7-1_amd64 bug

NAME

       siggen - signal generator

SYNOPSIS

       loadrt siggen [num_chan=num | names=name1[,name2...]]

DESCRIPTION

       siggen is a signal generator that can be used for testing and other applications that need
       simple waveforms.  It produces sine, cosine,  triangle,  sawtooth,  and  square  waves  of
       variable  frequency,  amplitude,  and  offset,  which  can  be used as inputs to other HAL
       components.

       siggen supports a maximum of sixteen channels.  The number of channels actually loaded  is
       set by the num_chan argument when the module is loaded.  Alternatively, specify names= and
       unique names separated by commas.

       The num_chan= and names= specifiers are mutually  exclusive.   If  neither  num_chan=  nor
       names= are specified, the default value is one.

NAMING

       The names for pins, parameters, and functions are prefixed as:
         siggen.N. for N=0,1,...,num-1 when using num_chan=num
         nameN. for nameN=name1,name2,... when using names=name1,name2,...

       The siggen.N. format is shown in the following descriptions.

FUNCTIONS

       siggen.N.update (uses floating-point)
              Updates output pins for signal generator N.  Each time it is called it calculates a
              new sample.  It should  be  called  many  times  faster  than  the  desired  signal
              frequency, to avoid distortion and aliasing.

PINS

       siggen.N.frequency float in
              The  output  frequency  for signal generator N, in Hertz.  The default value is 1.0
              Hertz.

       siggen.N.amplitude float in
              The output amplitude for signal generator N.  If offset is zero, the  outputs  will
              swing from -amplitude to +amplitude.  The default value is 1.00.

       siggen.N.offset float in
              The  output  offset  for  signal  generator N.  This value is added directly to the
              output signal.  The default value is zero.

       siggen.N.reset bit in
              Resets output pins to pretermined states:
                sine      0
                sawtooth  0
                square   -1 * amplitude
                cosine   -1 * amplitude
                triangle -1 * amplitude

       siggen.N.clock bit out
              The clock output.  Bit type clock signal output at the commanded frequency.

       siggen.N.square float out
              The square wave output.  Positive while triangle and cosine  are  ramping  upwards,
              and while sine is negative.

       siggen.N.sine float out
              The sine output.  Lags cosine by 90 degrees.

       siggen.N.cosine float out
              The cosine output.  Leads sine by 90 degrees.

       siggen.N.triangle float out
              The triangle wave output.  Ramps up while square is positive, and down while square
              is negative.  Reaches its positive and negative peaks at the same time as cosine.

       siggen.N.sawtooth float out
              The sawtooth output.  Ramps upwards to its positive peak, then instantly  drops  to
              its  negative  peak  and  starts  ramping again.  The drop occurs when triangle and
              cosine are at their positive peaks, and coincides with the falling edge of square.

PARAMETERS

       None