generate_waveform

Configures the output waveform.

Parameters

integer required
Target channel
allowed values:
Moku:Lab1, 2
Moku:Go1, 2
Moku:Pro1, 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:Lab4e-9 to pulse width
Moku:Go16e-9 to pulse width
Moku:Pro4e-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
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
$: 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

# Sample response

{
    "amplitude": 0.5,
    "frequency": 5000.0,
    "offset": 0.0,
    "phase": 0.0,
    "type": "Sine"
}
Copied!
1
2
3
4
5
6
7