Hi,

I'm a sucker for HP gear. From the day I first saw an HP instrument at
work, until the time I finally purchased one for myself, I've been
fascinated by the build quality, beauty and durability. I am now the
proud owner of a HP 3457A 7.5 digit multimeter. If you ask me, I will
happily make the claim that it is the second best multimeter ever
built by mankind, second only to the 8.5 digit HP 3458A. And while the
3457A is far from intuitive to use, I find it much easier to use than
newer meters, like the 34401A.

As it is customary for me, when I get such an exciting piece of gear,
the second thing to do (after repairing it, if needed) is to add
sigrok support. Luckily, I had a NI USB to GPIB adapter available for
this task. As the amount of features of this piece of gear is
overwhelming, figuring out the best set of parameters for sigrok is
quite a challenge. I have gotten along quite far implementing support
for it [1], but I do realize the current state of the code is not
quite up to standards. That's why I am coming to you to ask for
advice.

So far, I have encountered several challenges.
1) The multimeter does not have a way to probe the measurement mode. I
have decided to not report a measured unit until one is set up via a
config key. I chose this path as opposed to defaulting to a specific
measurement, and hoping the user changes the MQ.
2) There was no way to set up the most important acquisition parameter
for such gear, the number of powerline cycles for the ADC integration
time. I added a config key for that.
3) With an NPLC of 100, the acquisition loop will time out, and
libgpib does not offer a file descriptor for proper polling. I have
not found a solution for this yet.
4) While I am able to use an MQ key to select between voltage,
current, and resistance measurements, I did not yet figure out how to
select AC measurements, or four wire resistance measurements using
config keys.
5) My unit came with a HP 44492A relay multiplexer card. This card
adds ten independent channels to the rear of the instrument. While I
have implemented probing for option cards, I did not implement any
sort of acquisition support.

Besides the  regular event-based loop acquisition, I would like to use
this meter to trace operational parameters of a circuit. Here's how I
would like to use the meter, and how I would like to be able to write
the sigrok driver to implement this:
1) Control some other device (e.g. change power supply voltage).
2) Probe individual channels. What I'm thinking is get a measurement
from a series of channels. The way I would like to do this is via
reading config keys, as opposed to running an entire session with only
one sample.
3) Repeat with different voltage

What I found however is that config_get applies to a channel group,
and not individual channels. I think creating a channel group for the
front terminals and one for the rear option card is a sensible option,
but I would like to avoid creating a channel group for each channel.

My current plan is to clean up the current branch which only supports
the front terminals, and add support for additional features in
subsequent patches. Please feel free to take a look at the github
branch [1], and post any suggestions you have.

Currently, getting measurements with sigrok-cli can be achieved with
the following command-line:



Thanks,
Alex

[1] https://github.com/mrnuke/libsigrok/commits/hp3457a

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to