Author Topic: Program that can log/control many multimeters and other devices.  (Read 1103603 times)

0 Members and 22 Guests are viewing this topic.

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5325 on: December 19, 2025, 12:45:34 pm »
I'm feeling a bit dumb. i'm testing the Riden RD6006 -- many seem to use this. I have many aspects working fine, yet stuck on some basics:

* It has a CV mode for battery charging. Yet as soon as I enable the power output in TestController, it goes to CC instead of CV?? How to use CV?

* In many cases on the RD6006 popup menu, entering a voltage ends up storing that value / 10. (I.e I enter 8 and get 0.8) Likely definition bug or user error?

I have not done the definition.

CV mode kicks in when the battery is nearly full, i.e. the voltage has reached max, but the battery still needs some current to fully charge. On my website (I.e. where you download TC from) there is a lot about battery charging, if you are interested.

The /10 error is probably model specific, i.e. the author did not test on all models and the model you have behaves different.
 
The following users thanked this post: MrPete

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 351
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5326 on: December 19, 2025, 03:16:03 pm »
Many definitions have #author within the #meta.

I believe it is not supported by TC, there is only one #author per definition and all idStrings are linked to that one #author.
(it was just triggered by inspecting the Riden RD6006 definition for a solution for MrPete)

What is deviceModeString in cmdMode when it contains a space ??
Is this before or after a #askModeMathFormat ??

Documentation states: The string the device return with #askMode command but that does not answer my questions.

« Last Edit: December 20, 2025, 09:41:12 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 351
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5327 on: December 20, 2025, 09:18:25 am »
I found out that

#value Dissipation_Factor D D5 D and #value Dissipation_Factor D D5 D,d is the same. It seems that #value is case insensitive (I would have not suspected this !)

Therefore:
#value Dissipation_Factor D D5 D
#value Dissipation_Factor_Mon D D5 d

Does not work, and always is assigned to a D. My meter uses small characters for the Monitor mode and can measure the same parameter there as well.

Is that a feature or a bug ?

BTW happy X-mas to HKJ and all the TC definition coders:

My X-mas wish list  ::):
« Last Edit: December 20, 2025, 09:38:26 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5328 on: December 20, 2025, 11:43:07 am »
I found out that

#value Dissipation_Factor D D5 D and #value Dissipation_Factor D D5 D,d is the same. It seems that #value is case insensitive (I would have not suspected this !)

Therefore:
#value Dissipation_Factor D D5 D
#value Dissipation_Factor_Mon D D5 d

Does not work, and always is assigned to a D. My meter uses small characters for the Monitor mode and can measure the same parameter there as well.

Is that a feature or a bug ?

It was a design choice, most stuff in TC is case insensitive on purpose (The programming language is case sensitive).
I generally see case insensitive as easier to work with, especially if you are not a programmer.
You can use #askModeMathFormat to test for "d" and replace it with something else.


BTW happy X-mas to HKJ and all the TC definition coders:

My X-mas wish list  ::):

I will not promise anything on any of them.  :)
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 351
  • Country: nl
  • Everything I like about myself is better with you.
TC support for Owon LCR2000 series (LCR2020, LCR2100, LCR2200 and LCR2300)
« Reply #5329 on: December 22, 2025, 09:11:21 am »
Dear HKJ, I have completed my definition for the Owon LCR2000 series (LCR2020, LCR2100, LCR2200 and LCR2300) also Anbai AT381x series (AT3810A, AT3817A, AT3816A and AT3818) and Applent AT381x series (AT3810A, AT3817A, AT3816A and AT3818).


Making this definition was a challenge since this LCR meter is rather advanced. It is in fact the most advanced LCR meter that has now TestController support ! (current TC has support for 3 brands/sub-types but they do not offer what this Owon LCR2000 series can do, not even close).

The meter has
- 16 Main modes with 2 parameters each
- 2 Monitor modes with 15 parameters each
- DCR mode
- Auto-LCZ mode

I have implemented all these modes.

There are extensive setup menus and a mode menu:


I have also implemented read-out of the measure frequency to enable creation of frequency graphs of the LCR measurements:



Please add the attached definition file to the next release of the wonderful TestController.

Note: Added to TestController v2.94 released on 18-1-2026

Happy Christmas to HKJ and all the TC definition coders !!
« Last Edit: January 18, 2026, 07:59:29 pm by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 
The following users thanked this post: Gertjan, giovannirat

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5330 on: December 22, 2025, 12:45:18 pm »
Dear HKJ, I have completed my definition for the Owon LCR2000 series (LCR2020, LCR2100, LCR2200 and LCR2300) also Anbai AT381x series (AT3810A, AT3817A, AT3816A and AT3818) and Applent AT381x series (AT3810A, AT3817A, AT3816A and AT3818).

I have included it, thanks.
 

Offline MrPete

  • Regular Contributor
  • *
  • Posts: 66
  • Country: us
Re: Program that can log/control many multimeters and other devices.
« Reply #5331 on: December 24, 2025, 06:51:14 pm »
@HKJ I am improving the RD6006 definition with bug fixes and also adding support for the UniSoft extended firmware.

Questions:

a) What do you suggest with respect to distinguishing vanilla RD6006 vs UniSoft RD6006? At a firmware level it presents the same model and FW version.

b) Possibly related: some devices show in the device tab with a S/N. (sn:xxxxx) Others do NOT, even though *IDN does contain it. What determines whether the SN shows?
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 351
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5332 on: December 25, 2025, 09:36:24 am »
If I do set "Clear table before import" on Import Table with no file selected, I get a Java Exception:

Code: [Select]
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at dk.hkj.main.PopupImport.adjustClear(PopupImport.java:399)
        at dk.hkj.main.PopupImport.actionPerformed(PopupImport.java:412)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.WaitDispatchSupport$2.run(Unknown Source)
        at java.awt.WaitDispatchSupport$4.run(Unknown Source)
        at java.awt.WaitDispatchSupport$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.WaitDispatchSupport.enter(Unknown Source)
        at java.awt.Dialog.show(Unknown Source)
        at java.awt.Component.show(Unknown Source)
        at java.awt.Component.setVisible(Unknown Source)
        at java.awt.Window.setVisible(Unknown Source)
        at java.awt.Dialog.setVisible(Unknown Source)
        at dk.hkj.main.Support.showImport(Support.java:242)
        at dk.hkj.main.PaneTable.actionPerformed(PaneTable.java:373)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
They say attention is a shovel. It's time to dig 'em out.
 

Offline MrPete

  • Regular Contributor
  • *
  • Posts: 66
  • Country: us
Re: Program that can log/control many multimeters and other devices.
« Reply #5333 on: December 25, 2025, 11:05:10 am »
@HKJ I'm now reading the documentation intensely  ;)

* Bad link on this page.
now it is:  https://lygte-info.dk/project/TestControllerConfigDevice2%20UK.html#Difference_between_the_3_SCPI/ascii_drivers_(SCPI,_SCPIx,_Ascii)
should be: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html#Difference_between_the_3_SCPI/ascii_drivers_(SCPI,_SCPIx,_Ascii)

Quick question: has anyone assembled the complete doc into a downloadable PDF? I realize it's rather dynamic ;) ...
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5334 on: December 25, 2025, 12:02:01 pm »
a) What do you suggest with respect to distinguishing vanilla RD6006 vs UniSoft RD6006? At a firmware level it presents the same model and FW version.

Simple adding Unisoft to the name would help with that. It is nice if drivers can reject other devices, but not a requirement.

b) Possibly related: some devices show in the device tab with a S/N. (sn:xxxxx) Others do NOT, even though *IDN does contain it. What determines whether the SN shows?

SN and HWver is picked up from the *IDN? string fields, for it to work they must have commas and values in the right places. SCPIx can modify the *IDN? string to fix it.
Some drivers have other means of supplying the values and will build a synthetic *IDN? string in their virtual SCPI driver, that you can query from within TC.
 
The following users thanked this post: MrPete

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5335 on: December 25, 2025, 12:04:43 pm »
If I do set "Clear table before import" on Import Table with no file selected, I get a Java Exception:

Now TC will ignore the function, I hope that fixes it.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5336 on: December 25, 2025, 12:13:36 pm »
@HKJ I'm now reading the documentation intensely  ;)

* Bad link on this page.
now it is:  https://lygte-info.dk/project/TestControllerConfigDevice2%20UK.html#Difference_between_the_3_SCPI/ascii_drivers_(SCPI,_SCPIx,_Ascii)
should be: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html#Difference_between_the_3_SCPI/ascii_drivers_(SCPI,_SCPIx,_Ascii)

Thanks, link is fixed.

Quick question: has anyone assembled the complete doc into a downloadable PDF? I realize it's rather dynamic ;) ...

I have not heard about it and I am not sure it is a good idea. I do often do modifications to the documentation, both when I add new functionality and when people ask about something and I do not announce it. I.e. a pdf would get out of date.
Of course anyone is welcome to do it and post a download link to it, but please add a date in it, so it is easy to see how old it is.
 
The following users thanked this post: MrPete

Offline MrPete

  • Regular Contributor
  • *
  • Posts: 66
  • Country: us
Re: Program that can log/control many multimeters and other devices.
« Reply #5337 on: December 26, 2025, 04:18:37 am »
@HKJ perhaps I missed it, in which case I apologize for not sufficiently Reading The Fine Manual :)

I'm looking for a way to use RegEx Find/Replace (PCRE or other reasonably powerful version) to accomplish a somewhat complex set of Mode interpretations. Below is a real world example (from the Owon OEL1530, which I am working to support in TC right now.)

Code: [Select]
; This device has 4 "Programs" and 5 "Funcs" (Funcs overlay "Normal" mode)
; The TC modes listed in the rightmost column are also the strings shown at top-left of the device settings page
; for that mode.
; Program: NORM MODE; Mode: CV // MODE 0; FUNC VOLtage TC Mode CV
; Program: NORM MODE; Mode: CC // MODE 0; FUNC CURrent TC Mode CC
; Program: NORM MODE; Mode: CR // MODE 0; FUNC RESistance TC Mode CR
; Program: NORM MODE; Mode: CP // MODE 0; FUNC POWer TC Mode CP
; Program: NORM MODE; Mode: Dynamic // MODE 0; FUNC DYNamic TC Mode DYN
; Program: OCP MODE; Mode: n/a // MODE 2 (status: OCP) TC Mode OCP
; Program: OPP MODE; Mode: n/a // MODE 3 (status: OPP) TC Mode OPP
; Program: Battery MODE; Mode: n/a // MODE 4 (status: BAT) TC Mode BAT

; Hopefully MODE?;FUNC? produces strings like "0;power" for CP, or "4" for BAT, etc.
; If we get a wierd string, the result will be UNKnown -- to do with as we like ;)

; Search RegEx:  ^(0;vol)|(0;cur)|(0;res)|(0;pow)|(0;dyn)|(2)|(3)|(4)
; Replace RegEx: (?(1)CV|(?(2)CC|(?(3)CR|(?(4)CP|(?(5)DYN|(?(6)OCP|(?(7)OPP|(?(8)BAT|UNK))))))))

I'm imagining something like
#askMode MODE?;FUNC?
  replaceRegEx("sSearch","sReplace")

If not RegEx, is there another way to do this in a reasonable amount of code? I like the above because it is short, kinda elegant, and not hard to understand once one has a template to follow. :)
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5338 on: December 26, 2025, 07:12:32 am »
I'm looking for a way to use RegEx Find/Replace (PCRE or other reasonably powerful version) to accomplish a somewhat complex set of Mode interpretations.

Check replaceRx: https://lygte-info.dk/project/TestControllerFunctions%20UK.html#replace,_replacei,_replaceRX

TC has a couple of functions that support RegEx, another one is https://lygte-info.dk/project/TestControllerFunctions%20UK.html#getMatch_&_getMatchGroup

In #askMode you uses #askModeMathFormat to get into programming (It is similar to :readmath:).

It is also possible to get into full programming, but it is more complicated.
 

Offline MrPete

  • Regular Contributor
  • *
  • Posts: 66
  • Country: us
Re: Program that can log/control many multimeters and other devices.
« Reply #5339 on: December 26, 2025, 02:12:57 pm »
Check replaceRX...getMatchGroup...

I did look at these. The documentation and examples describe these as having RegEx for the search aspect, but no indication the replace side can contain RegEx coding. (getMatchGroup isn't for string replace so doesn't apply here.)

Is RegEx replace actually supported, including references to capture groups in the replace string? That's the core feature my example is using. (BTW, which RegEx engine is used?)

Can "to" actually be to_regEx? replaceRX(string,from_in_regEx,to)
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 351
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5340 on: December 26, 2025, 02:59:46 pm »
In your case it is something like replaceRX(value,"^(0;vol)|(0;cur)|(0;res)|(0;pow)|(0;dyn)|(2)|(3)|(4)","$1$2$3$4") but I did not test it.

I had no luck with multiple replaces at the same time (single pass), so you need to do multiple pass.
« Last Edit: December 26, 2025, 03:05:10 pm by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Offline tinkerEE

  • Contributor
  • Posts: 13
  • Country: us
    • FlavoWorks
Re: Program that can log/control many multimeters and other devices.
« Reply #5341 on: December 26, 2025, 04:55:04 pm »
Hey all,

I am the creator of another thread, where I introduced my open-source test equipment control project
https://www.eevblog.com/forum/testgear/open-source-project-ee-test-equipment-control/

Immediately everyone said to use TestEquipment, so I downloaded it to try and get it working.
However, after an hour of trying I can't connect to my equipment.

I am using this NI to GPIB USB adapter, and it seems like it isn't supported based on what I'm seeing in this thread. Would love for someone to confirm, super helpful thanks.

https://www.digikey.com/en/products/detail/ni/778927-01/12817747?gclsrc=aw.ds&gad_source=1&gad_campaignid=20560891351&gbraid=0AAAAADrbLlhItbEhCj5bo478GyU68aA1w&gclid=Cj0KCQiAgbnKBhDgARIsAGCDdleXsQnSslYkwLhrTFk7A6bSaTEp6C4M1H4MBOOYO0vRqKQ8DdK02fUaAn0vEALw_wcB


 

Offline tinkerEE

  • Contributor
  • Posts: 13
  • Country: us
    • FlavoWorks
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5945
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #5343 on: December 26, 2025, 05:18:51 pm »
Immediately everyone said to use TestEquipment, so I downloaded it to try and get it working.
However, after an hour of trying I can't connect to my equipment.

I am using this NI to GPIB USB adapter, and it seems like it isn't supported based on what I'm seeing in this thread. Would love for someone to confirm, super helpful thanks.

Hi, check the attached image- only the listed GPIB adapters (and their clones) are supported by TestController. I made too many AR488 GPIB adapters, I can sell you one for $50 plus shipping if you want one. Or you can check out the AR488 thread and make your own.

Thanks,
Josh
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
 

Offline tinkerEE

  • Contributor
  • Posts: 13
  • Country: us
    • FlavoWorks
Re: Program that can log/control many multimeters and other devices.
« Reply #5344 on: December 26, 2025, 05:26:48 pm »

Hi, check the attached image- only the listed GPIB adapters (and their clones) are supported by TestController. I made too many AR488 GPIB adapters, I can sell you one for $50 plus shipping if you want one. Or you can check out the AR488 thread and make your own.

Thanks,
Josh

Thanks for confirming Josh. Looks like I can't use TestController, I have to use these NI GPIB-USB adapters at work. I tried to get it working by selecting the Prologix adapter but I can't figure that out either. And because program is closed-source I can't try to add my own :)

Looks like I will have to continue using my open-source project. Thanks everyone for trying to convince me to use TestEquipment, looks like a good program. I am learning things to add to my Python based project.
 

Offline MrPete

  • Regular Contributor
  • *
  • Posts: 66
  • Country: us
Re: Program that can log/control many multimeters and other devices.
« Reply #5345 on: December 26, 2025, 05:38:04 pm »
In your case it is something like replaceRX(value,"^(0;vol)|(0;cur)|(0;res)|(0;pow)|(0;dyn)|(2)|(3)|(4)","$1$2$3$4") but I did not test it.
That's entirely different. The replace RegEx doesn't just replicate the input string into the output.

Based on the input string, it creates one of eight custom result strings. (eg "0;vol" becomes "CV" ... "4" becomes "BAT", etc.)
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5945
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #5346 on: December 26, 2025, 05:43:42 pm »
Thanks for confirming Josh. Looks like I can't use TestController, I have to use these NI GPIB-USB adapters at work. I tried to get it working by selecting the Prologix adapter but I can't figure that out either. And because program is closed-source I can't try to add my own :)

Looks like I will have to continue using my open-source project. Thanks everyone for trying to convince me to use TestEquipment, looks like a good program. I am learning things to add to my Python based project.

If your GPIB adapter has a Prologix compatibility mode, then it should work with TestController just fine. If that's the case, try configuring with www.ke5fx.com Prologix GPIB Configurator first.
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5347 on: December 26, 2025, 06:26:32 pm »
Check replaceRX...getMatchGroup...

I did look at these. The documentation and examples describe these as having RegEx for the search aspect, but no indication the replace side can contain RegEx coding. (getMatchGroup isn't for string replace so doesn't apply here.)

Is RegEx replace actually supported, including references to capture groups in the replace string? That's the core feature my example is using. (BTW, which RegEx engine is used?)

Can "to" actually be to_regEx? replaceRX(string,from_in_regEx,to)

replaceRX maps directly to Java replaceAll function.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3896
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5348 on: December 26, 2025, 06:28:04 pm »
I am using this NI to GPIB USB adapter, and it seems like it isn't supported based on what I'm seeing in this thread. Would love for someone to confirm, super helpful thanks.

It is not supported.
TC can directly connect on LAN and serial ports, but it fairly limited with GPIB.
 

Offline tinkerEE

  • Contributor
  • Posts: 13
  • Country: us
    • FlavoWorks
Re: Program that can log/control many multimeters and other devices.
« Reply #5349 on: December 26, 2025, 06:51:58 pm »

It is not supported.
TC can directly connect on LAN and serial ports, but it fairly limited with GPIB.

Yep thanks HKJ.

I have one multimeter that shows up as a regular COM port (OWON XM1041) so I will try to just use that to test the application out, but like I said earlier I will have to rely on my Python open-source application.

Maybe one day you will add support for this adapter and I can convert to your app, I have used it at two workplaces now, it seems quite common.

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf