tautech: I confirm that I'm working with the E056C programming manual (the latest I've found).
KungFuJosh: I have ttied using ARWV, and it does not work for my use case (where I want to use the waveform as the source of modulation, not as the source of the carrier).
Briefly: Yes, I can use "C1:ARWV NAME,whatever" to specify the waveform that I want the ARB to use. However, as a side effect, using ARVW has the side effect of setting the channel's basic wave type to ARB. This makes sense for the common use case (directly generating an arbitrary waveform) but not for my use case (where I want to use the waveform to drive the FM deviation).
Issuing the "C1:SampleRATE MODE,TARB" command (to tell the channel that I want truarb mode rather than DSP mode) has the same effect... it forces the basic wave type to ARB. It also has the side effect of resetting the ARB source to the default (NDEX,0,NAME,StairUp) so I have to issue it before issuing ARWV
I can, of course, set the channel's basic wave shape back to SINE. However, the moment I do so, the "ARWV" information is reset back to the default (INDEX,0,NAME,StairUp) and this is what the modulator actually ends up using.
If I try repeating my ARWV command at the end of the process, the generator switches channel 1 basic-wave type back to ARB (rather than leaving it at SINE), and switches the frequency/period to that of the arbitrary waveform (and not the SINE frequency I had selected).
So... I just can't seem to "get there from here". I haven't found a way to have the three essentials:
- basic wave type be SINE at the frequency I want
- the modulation be FM from ARB,
- have the ARB use a custom waveform that I have downloaded.
I can have any two of these three, but not all three at once... and that's what I need, to do meaningful FM of the type I want, while using only a single channel in the generator.
Here's the command sequence I'm currently generating, with a status readback at each stage.
dplatt@worker:/src/python-vxi11$ ./stereo_test_2.py --left 0 --right 0 --center 1000 --pilot_level 0 --center_level 1 --deviation 2405
Generated waveform runs at 1000 Hz
Calculating composite waveform
list_devices: ['199.79.181.36', '199.79.181.41', '199.79.181.46']
list_resources: ['TCPIP::199.79.181.36::INSTR', 'TCPIP::199.79.181.41::INSTR', 'TCPIP::199.79.181.46::INSTR']
Accessing generator TCPIP::gen::INSTR
Siglent Technologies,SDG2122X,SDG2XCBQ6R2497,2.01.01.37R3
Resetting to defaults
Status:
C1:BSWV?
C1:BSWV WVTP,SINE,FRQ,1000HZ,PERI,0.001S,AMP,4V,AMPVRMS,1.414Vrms,AMPDBM,0dBm,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,2V,LLEV,-2V,PHSE,0
C1:MDWV?
C1:MDWV STATE,OFF
C1:ARWV?
C1:ARWV INDEX,2,NAME,StairUp
Sending waveform data: C1:WVDT WVNM,Composite,FREQ,1000,AMPL,1.0,OFST,0.0,PHASE,0.0,WAVEDATA,...
... raw bytes ...
Status:
C1:BSWV?
C1:BSWV WVTP,SINE,FRQ,1000HZ,PERI,0.001S,AMP,1V,AMPVRMS,0.3535Vrms,AMPDBM,0dBm,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.5V,LLEV,-0.5V,PHSE,0
C1:MDWV?
C1:MDWV STATE,OFF
C1:ARWV?
C1:ARWV INDEX,2,NAME,StairUp
Setup C1 ARB mode
C1:SampleRATE MODE,TARB
Status:
C1:BSWV?
C1:BSWV WVTP,ARB,FRQ,1000HZ,PERI,0.001S,AMP,1V,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.5V,LLEV,-0.5V,PHSE,0
C1:MDWV?
C1:MDWV STATE,OFF
C1:ARWV?
C1:ARWV INDEX,2,NAME,StairUp
Select C1 ARB waveform
C1:ARWV NAME,Composite
Status:
C1:BSWV?
C1:BSWV WVTP,ARB,FRQ,1000HZ,PERI,0.001S,AMP,1V,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.5V,LLEV,-0.5V,PHSE,0
C1:MDWV?
C1:MDWV STATE,OFF
C1:ARWV?
C1:ARWV NAME,Composite.bin
Setting up Channel 1 carrier
C1:BSWV WVTP,SINE
C1:BSWV FRQ,10700000
C1:BSWV AMP,1.0
Status:
C1:BSWV?
C1:BSWV WVTP,SINE,FRQ,10700000HZ,PERI,9.34579e-08S,AMP,1V,AMPVRMS,0.3535Vrms,AMPDBM,0dBm,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.5V,LLEV,-0.5V,PHSE,0
C1:MDWV?
C1:MDWV STATE,OFF
C1:ARWV?
C1:ARWV INDEX,2,NAME,StairUp
Modulating Channel 1 using internal ARB
C1:MDWV STATE,ON
C1:MDWV FM
C1:MDWV SRC,INT
C1:MDWV MDSP,ARB
C1:MDWV DEVI,2405
Status:
C1:BSWV?
C1:BSWV WVTP,SINE,FRQ,10700000HZ,PERI,9.34579e-08S,AMP,1V,AMPVRMS,0.3535Vrms,AMPDBM,0dBm,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.5V,LLEV,-0.5V,PHSE,0
C1:MDWV?
C1:MDWV STATE,ON,FM,MDSP,ARB,INDEX,0,SRC,INT,FRQ,100HZ,DEVI,2405HZ,CARR,WVTP,SINE,FRQ,10700000HZ,AMP,1V,AMPVRMS,0.3535Vrms,AMPDBM,0dBm,OFST,0V,PHSE,0
C1:ARWV?
C1:ARWV INDEX,2,NAME,StairUp
Trying to set Channel 1 arb waveform again
C1:ARWV NAME,Composite
Status:
C1:BSWV?
C1:BSWV WVTP,ARB,FRQ,1000HZ,PERI,0.001S,AMP,1V,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.5V,LLEV,-0.5V,PHSE,0
C1:MDWV?
C1:MDWV STATE,ON,FM,MDSP,ARB,INDEX,0,SRC,INT,FRQ,100HZ,DEVI,1000HZ,CARR,WVTP,ARB,FRQ,1000HZ,AMP,1V,OFST,0V,PHSE,0
C1:ARWV?
C1:ARWV NAME,Composite.bin
Turning on C1
C1:OUTPUT ON,LOAD,50
Status:
C1:BSWV?
C1:BSWV WVTP,ARB,FRQ,1000HZ,PERI,0.001S,AMP,0.5V,MAX_OUTPUT_AMP,20V,OFST,0V,HLEV,0.25V,LLEV,-0.25V,PHSE,0
C1:MDWV?
C1:MDWV STATE,ON,AM,MDSP,SINE,SRC,INT,FRQ,100HZ,DEPTH,100,CARR,WVTP,ARB,FRQ,1000HZ,AMP,0.5V,OFST,0V,PHSE,0
C1:ARWV?
C1:ARWV NAME,Composite.bin