generate_waveform
Configures the output waveform.Parameters
integer required
Target channel
allowed values:Moku:Lab 1, 2 Moku:Go 1, 2 Moku:Pro 1, 2, 3, 4
string required
Waveform type
allowed values:Off, Sine, Square, Ramp, Pulse, DC, Noise
number
Waveform peak-to-peak amplitude
default: 1
allowed values:4e-3 to 10
units: V
number
Waveform frequency
default: 10000
allowed values:1e-3 to 20e6
units: Hz
number
DC offset applied to the waveform
default: 0
allowed values:-5 to 5
units: V
number
Waveform phase offset
default: 0
allowed values:0 to 360
units: Deg
number
Duty cycle as percentage (Only for Square wave)
default: 50
allowed values:0.0 to 100.0
units: %
number
Fraction of the cycle rising
default: 50
allowed values:0.0 to 100.0
units: %
number
DC Level. (Only for DC waveform)
default: 0
allowed values:Moku:Lab -2 to 2 Moku:Go -5 to 5 Moku:Pro -5 to 5
number
Edge-time of the waveform (Only for Pulse wave)
default: 0
allowed values:Moku:Lab 4e-9 to pulse width Moku:Go 16e-9 to pulse width Moku:Pro 4e-9 to pulse width
number
Pulse width of the waveform (Only for Pulse wave)
default: 0
boolean
Disable all implicit conversions and coercions.
default: true
# Examples
from moku.instruments import WaveformGenerator
i = WaveformGenerator('192.168.###.###')
# Generate a sine wave on channel 1, 0.5 Vpp, 5 kHz
# Generate a square wave on channel 2, 1 Vpp, 1 kHz, 50% duty cycle
i.generate_waveform(channel=1, type='Sine', amplitude=0.5, frequency=5e3)
i.generate_waveform(channel=2, type='Square', amplitude=1.0, frequency=1e3, duty=50)
1
2
3
4
5
6
7
2
3
4
5
6
7
m = MokuWaveformGenerator('192.168.###.###');
% Generate a sine wave on Channel 1
% 1Vpp, 10kHz, 0V offset
m.generate_waveform(1, 'Sine','amplitude', 1, 'frequency',1000,'offset',0.2);
% Generate a sine wave on Channel 2
% 1Vpp, 10kHz, 0V offset, 50% duty cycle
m.generate_waveform(2, 'Sine', 'amplitude',1,'frequency', 10e3);
1
2
3
4
5
6
7
2
3
4
5
6
7
$: curl -H 'Moku-Client-Key: <key>'\
-H 'Content-Type: application/json'\
--data '{"channel": 1, "type": "Sine", "amplitude": 0.5, "frequency": 5e3}'\
http://<ip>/api/waveformgenerator/generate_waveform
1
2
3
4
2
3
4
# Sample response
{ "amplitude": 0.5, "frequency": 5000.0, "offset": 0.0, "phase": 0.0, "type": "Sine" }
Copied!
1
2
3
4
5
6
7
2
3
4
5
6
7