Author Topic: Siglent SPD3303X(-E) calibration FW1.01.01.02.07R2 - best practice  (Read 4278 times)

0 Members and 1 Guest are viewing this topic.

Offline jgartrel

  • Newbie
  • Posts: 1
  • Country: us
Re: Siglent SPD3303X(-E) calibration FW1.01.01.02.07R2 - best practice
« Reply #25 on: April 07, 2024, 04:20:41 pm »

Some side notes:
- You cannot use EasyPower to send the SCPI commands. It seems to (intentionally?) botch the calibration commands. The best way is to use a telnet client (like https://putty.org/) to establish a telnet connection to port 5025. Or you can use NI VISA MAX instead. If you do, you must use "Write" in the NI VISAVisa Test Panel, not "Query".


With firmware version 1.01.01.02.07R2, I too had issues on MacOS using 'telnet' to connect to the device. Commands such as '*CALCLS 0' and '*IDN?' would work, but 'CALibration:VOLTage ch1,1,0.8613' would fail with a beep.

The calibration command would be accepted in firmware version 1.01.01.02.05, but the command '*CALST' (to store the new values) would fail.

I did have success using a Windows box with NI-MAX v5.4.1, but I was hoping for something that could be run without needing NI-MAX.

What eventually worked for me was to use 'netcat' instead of 'telnet' on MacOS. Following BreakingOhmsLaw recipe above, using the following sequence of commands from the Terminal in MacOS, I was able to successfully calibrate the device:

Code: [Select]
$ printf 'CALibration:VOLTage ch1,1,0.8613\n' | nc -w 5 192.168.X.X 5025
$ printf 'CALibration:VOLTage ch1,2,25.740\n' | nc -w 5 192.168.X.X 5025
$ printf '*CALST\n' | nc -w 5 192.168.X.X 5025
$ printf '*IDN?\n' | nc -w 5 192.168.X.X 5025
Siglent Technologies,SPD3303X,XXXXXXXXXXX,1.01.01.02.07R2,V3.0

When looking at what 'telnet' believes it is sending vs what 'netcat' believes it is sending, they look identical with 0x0a line terminations.  However, there must be more that I am missing here.

UPDATE: After a packet capture, it is apparent that 'telnet' is actually replacing the newline with CRLF behind the scenes. Toggling CRLF on/off in 'telnet' has no effect (CRLF is still sent). However, after configuring 'telnet' to 'set outbinary' via an escape command, the proper 0x0a line termination is sent and 'telnet' is usable.  This may also be a source of many other terminal programs also failing to send a properly formatted calibration command that the SPD3303X(-E) does not reject.

Thank you to BreakingOhmsLaw for all the hard work on putting this post together! I hope this additional info helps others on their journey.
« Last Edit: April 08, 2024, 04:51:57 pm by jgartrel »
 
The following users thanked this post: BreakingOhmsLaw, orzel


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf