Open PetteriAimonen opened 11 months ago
Thank for the info :-)
I'll start with the implementation once I have a bit more time :-) (probably during the cold winter days)
There is also this project which may be an useful reference, but lacks a CLI tool and the API is a bit messy https://github.com/on1arf/jds6600_python
Indeed, the API is less Pythonic, and it lacks tests. That's why I gave it a try, but I'm sure this project can be improved as well.
Thanks for the nice project!
Here is information on missing commands that I discovered by dumping traffic from the official Windows-based GUI. I may have a go at implementing some of these myself at some point, but here is the info so that it is available somewhere.
Write arbitrary waveform
Address can be from
a01
toa15
. Values are from 0 to 4095, 2048 = middle voltage. Actual voltage scale and offset is set in normal way. Total 2048 values per waveform location.Query:
:a01=2048, ..(total 2048 values).. ,2048.
Response:
:ok
Arbitrary waveform is selected as type 101 for
a01
waveform ... 115 fora15
.Read arbitrary waveform
Address can be from
b01
tob15
.Query:
:b01=0.
Response:
:b01=2048, ... (total 2048 values) .., 2048
Channel setting sync together
When sync is set to '1', both channels have the same config value.
Query:
w54=0,0,0,0,0.
Values in order: Freq, Waveform, Amplitude, Offset, DutyResponse:
:ok
Frequency measurement function
Measures frequency input on Ext. In
Frequency measurement mode select:
:w33=4.
Disable counter mode:
:w32=0,0,0,0.
Gate time:
:w37=99.
value in 100th of seconds, e.g. 99 = 0.99 seconds.Coupling:
:w36=0.
0 for AC, 1 for DCMode:
:w38=0.
0 to count frequency, 1 to measure periodResult reading:
:r81=7.
gives response of 8 values:Pulse counter
Counter mode select:
:w33=5.
Start counter:
:w32=1,0,0,0.
Stop counter:
:w32=0,0,0,0.
Get count:
:r80=0.
, response:r80=12345.
with the number of pulses.Burst modulation
Burst count:
:w49=1.
number of bursts to send on triggerTrigger mode:
:w50=0.
0 = manual, 1 = CH2, 2 = Ext.In AC, 3 = Ext.In DCEnable burst mode:
:w32=1,0,0,1.
, disable:w32=0,0,0,0.
Sweep modulation
Start freq:
:w40=1234.
frequency in 0.01 HzStop freq:
:w41=1234.
frequency in 0.01 HzSweep time:
:w42=100.
time in 0.1 sDirection:
:w43=0
0 = Rise, 1 = Fall, 2 = Rise & FallMode:
:w44=0
0 = Linear, 1 = LogarithmicSweep channel:
:w33=6
6 = CH1, 7 = CH2Sweep enable:
:w32=0,1,0,0.
, disable:w32=0,0,0,0.
Pulse modulation
Pulse width:
:w45=1000,0.
first number time, second number unit 0 = ns, 1 = usPulse period/cycle:
w46=10000,0.
first number time, second number unit 0 = ns, 1 = usPulse offset:
:w47=100.
value in percent, not sure how it relates to waveform offsetPulse amplitude:
:w48=500.
value in 0.01 V.Pulse enable:
:w32=1,0,1,1.
disable:w32=0,0,0,0.
Preset settings
Save preset settings:
:w70=0.
where value is slot number 0-15Load preset settings:
:w71=0.
where value is slot number