-
Swapped out the Command Parser and added a lot of commands
09/23/2023 at 19:07 • 0 commentsWhen I wrote the original version of this tool, I used a very simple command parser. I knew that it was not very scalable, so adding commands would get ugly. I have written several command line control tools for other instruments since this one was done, and I arrived at a parser design that I like.
In a fit of boredom during a long, hot summer, I swapped the original parser out for the newer one. I also have added a bunch of commands. The new version of this tool has enough functionality to control a big part of the stuff I use this scope for.
The code is still very much Alpha stage code, but if someone is interested in it, leave a comment or PM me and I will get back to you. The amount of new code means that it is going to take some time to get all the issues worked out on it.
The command set on this scope is truly huge. I probably have only implemented 1/4th of it, if that much.
-
4/20/2023 Bug fix and a couple of new commands
04/20/2023 at 20:40 • 0 commentsThis zip file contains the source code to build my HP54542_ctl utility under Linux/Unix and the open source parts to build under Windows. The Windows environment needs a couple of National Instruments files that come with the NI488-2 driver package, and one Microsoft file CHKSTK.OBJ. See the previous log file for discussion on how to build.
While working on a library for another instrument (HP5334A freq counter), I realized that the error detection that I had after each GPIB transaction was not working correctly. After some cursing and thrashing (and testing), I believe it is correct now. I updated the code in this zip file.
2 new commands, one to set the clock in the scope to match the one in the PC, and another to put a short text string on the screen of the scope which is useful for annotating scope shots.
-
Building under MINGW in Windows
10/12/2022 at 02:38 • 0 commentsAfter digging through my old code archives (tombs?) I found the recipe for building this tool under Windows using the MINGW/msys 32 bit tool chain.
Be sure that you downloaded the HP54542_ctl_Multi_Build_10_12_2022.zip file if you want the changes that allow the program to build in the MINGW environment. The contents of this file will build in either a Linux environment (after installing the open source LinuxGPIB driver package) or the 32 bit MINGW environment under Windows. There are also some changes to make it easier to build for the HP54522 or HP54520 scopes. See the aa_notes file to build for the HP5452x family of scopes.
There is a Microsoft file: chkstk.obj that needs to get added to the link phase in the Makefile. The ni4882.obj file also needs to get added to the link phase.
The chkstk.obj, ni4882.obj and the ni4882.h files all need to be added into the compile directory. The ni4882.obj and ni4882.h files come from the National Instruments 488.2 driver package that you must install before doing any of this stuff. The chkstk.obj file comes from Visual Studio (I think).
The ni4882.obj and ni4882.h files are copyright National Instruments and chkstk.obj is copyright Microsoft. These 3 files are not included in the zip file because of their copyright status.
The NI library does not have the function gpib_error_string () in it. The MINGW/Windows build includes a function that returns the error identification string for the iberr values.
If you want to build this tool as a 64 bit program, you could probably do it using the free Visual Studio tool set from Microsoft. Be sure to add the -DMINGW_ENV parameter to your compile flags because that triggers some required changes to build in any Microsoft environment. Also, be sure to get the 64 bit version of the ni488-2 driver package. You are on your own for the rest of this.The file aa_notes has some useful stuff on compiling this program. The AA_Readme file has stuff on using the program.
I still don't have a 5452x family scope to test the 2 channel changes on, so those changes are still untested. The 5454x version has been used for several months with no problems seen.
-
Examples of why to use FMT_WORD instead of Default FMT_BYTE
07/15/2022 at 16:41 • 0 commentsThe HP54542 defaults to using BYTE format for transferring data. Unless you are transferring crazy numbers of data sets or need them really fast, using the WORD format results in much cleaner data. Here are two plots of similar events, one captured as BYTE data and the second captured as WORD data.
A small signal with a DC offset captured as BYTE data A similar small signal with a DC sffset, captured as WORD data. -
For 54520 or 54522 users
07/05/2022 at 22:33 • 0 commentsI went through the code and added some ifdefs to make it more likely to operate with these scopes but I have no way to test it.
10/12/2022 Update The latest .zip file (HP54542_ctl_Multi_Build_10_12_2022.zip) has the changes required to compile for the 5452x family of scopes in it.
It also has changes to make it easier to build in a MINGW/Windows evironment using the National Instruments 488-2 driver. See the aa_notes file for details.