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

IanJ and 9 Guests are viewing this topic.

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4550 on: September 12, 2025, 06:54:46 pm »
What do you mean? Please provide some examples.
Looking at your picture I can see it is very wide, but that is not something I see a reason to change/fix.
That's it; it's just really wide, but I can get over it.

Quote
Your idea for toggleButton and :nogrid: turned out to be very good ideas and I am very happy about them (I know you did not directly post the full ideas, but you posted enough).
Our powers combined are quite dangerous. ;) ;)

Thanks,
Josh
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4551 on: September 12, 2025, 06:56:33 pm »
Let me elaborate a bit more:
I have two options for items in a column: Use their native width or expand to fill the column.
The set button uses the last option, many other buttons uses the first option.
Note: The native width will depend on the text in the button, i.e. custom defined text in set buttons would have different width.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4552 on: September 12, 2025, 07:08:02 pm »
Two more ideas to run by you.

First suggestion, for the toggleButton:
How about a way to combine related buttons that aren't the same, but are related.

For example, in the attached screenshot I would like Pattern Type and Timing on one line. So it would look like Pattern: Type [BUTTON] Timing [BUTTON].

You could make that work by adding a :label: variable to the toggleButton. Both buttons could be designated as Pattern to be combined, then the :label: variable could append the label.

Currently, I can fake it like I did in the Pattern: CH1_Ignore, CH2_Ignore, etc. but it would be nice to break them up differently sometimes.



Second suggestion, for the main window Setup button:
How about more than one Setup button, and with the ability to change the text on the button?
cmdSetup is great, but can get slow with a ton of stuff added (even with a lot of it hidden with selectors).

There's plenty of room there for more setup buttons, so we could add more like:
cmdSetup for the main setup button
cmdSetup_Decoder for a 2nd button labeled Decoder
cmdSetup_AWG for a 3rd button labeled AWG

Then all those specific setup sections could be separate, available, and not slowing each other down. You could easily have up to 5 setup buttons in that space below the Mode button.

What do you think?

Thanks,
Josh
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4553 on: September 12, 2025, 07:14:20 pm »
First suggestion, for the toggleButton:
How about a way to combine related buttons that aren't the same, but are related.

For example, in the attached screenshot I would like Pattern Type and Timing on one line. So it would look like Pattern: Type [BUTTON] Timing [BUTTON].

You could make that work by adding a :label: variable to the toggleButton. Both buttons could be designated as Pattern to be combined, then the :label: variable could append the label.

Currently, I can fake it like I did in the Pattern: CH1_Ignore, CH2_Ignore, etc. but it would be nice to break them up differently sometimes.

Sorry, but no.
If you cant use the same label for them, they do not belong in the same line.

Second suggestion, for the main window Setup button:
How about more than one Setup button, and with the ability to change the text on the button?
cmdSetup is great, but can get slow with a ton of stuff added (even with a lot of it hidden with selectors).

There's plenty of room there for more setup buttons, so we could add more like:
cmdSetup for the main setup button
cmdSetup_Decoder for a 2nd button labeled Decoder
cmdSetup_AWG for a 3rd button labeled AWG

Then all those specific setup sections could be separate, available, and not slowing each other down. You could easily have up to 5 setup buttons in that space below the Mode button.

I can see your reason for it, but I am not sure about the space (There is already a extra button).
I will think about it, maybe I get an idea for more space on the setup.
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4554 on: September 12, 2025, 07:28:29 pm »
Sorry, but no.
If you cant use the same label for them, they do not belong in the same line.
No rush, but please do consider it. It would reduce wasted space, and be functionally useful.
Never mind. I mocked it up in Photoshop. You win, it looked mediocre. ;)

Quote
Second suggestion, for the main window Setup button:
How about more than one Setup button, and with the ability to change the text on the button?
cmdSetup is great, but can get slow with a ton of stuff added (even with a lot of it hidden with selectors).

There's plenty of room there for more setup buttons, so we could add more like:
cmdSetup for the main setup button
cmdSetup_Decoder for a 2nd button labeled Decoder
cmdSetup_AWG for a 3rd button labeled AWG

Then all those specific setup sections could be separate, available, and not slowing each other down. You could easily have up to 5 setup buttons in that space below the Mode button.

I can see your reason for it, but I am not sure about the space (There is already a extra button).
I will think about it, maybe I get an idea for more space on the setup.

Thank you. Even 3 more labelable buttons would be great. Whatever you think would fit could make a big difference.


What is the extra button, and how do we use it?

Thanks,
Josh
« Last Edit: September 12, 2025, 07:34:08 pm by KungFuJosh »
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4555 on: September 12, 2025, 07:37:22 pm »
What is the extra button, and how do we use it?

The extra button is called "Other" and is used to fetch logs and screenshots, it can also be used for other advanced stuff.
It requires programming in TC's programming language and allows you to do very advanced stuff.
The most elaborate use of the button is by Enova for their chargers, more simple use is Keysigth meters where it download logs. I hope somebody will do scripts to upload the table to ARB generators as curves, it is not that difficult and would be very nice (It basically makes it possible to upload any CSV file to a ARB generator).
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4556 on: September 12, 2025, 07:45:03 pm »
That is pretty cool! That would go great with the extra labelable Setup buttons. ;) ;)

Thanks,
Josh
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4557 on: September 12, 2025, 07:50:11 pm »
That is pretty cool! That would go great with the extra labelable Setup buttons. ;) ;)

 :-DD :-DD :-DD
I think I like the subpages better, but I need some time to thing about it (And look at the code)
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4558 on: September 12, 2025, 08:02:45 pm »
I think I like the subpages better, but I need some time to thing about it (And look at the code)

I would still want subpages, but I would prefer, for example, 3 cmdSetup sections with their own relevant subpages.

With the current definition I'm working on for the Magnova, the cmdSetup takes over 4 seconds to load with a lot of content already hidden; longer if more is visible.

I still need to add all the AWG Modulation stuff, and that will slow it down further. A separate button for all AWG stuff would keep all the main stuff faster.

I've still not added anything to do with the Decoder (which is substantial in itself, and moreso with the added trigger functions). With the current setup, I will probably skip adding the decoder. If there is an option added in TC where I can have cmdSetup_Decoder and keep all that extra bloat separate, then I will be much more likely to add it, and that will be useful for remote control and automation. If you check out the attached SCPI manual, you can see there is a lot of potential.

Even devices like the Siglent SDG series could benefit from separating cmdSetup sections to speed up loading time.

Anyway, I believe in you. ;)

Thanks,
Josh

« Last Edit: September 12, 2025, 08:30:59 pm by KungFuJosh »
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4559 on: September 12, 2025, 08:43:07 pm »
With the current definition I'm working on for the Magnova, the cmdSetup takes over 4 seconds to load with a lot of content already hidden; longer if more is visible.

A possible hack:

I wonder if it can be done faster, TC has a cache that prevents sending the same command multiple times.
Maybe combining commands can improve response time. What I mean is sending the same line for multiple queries and simply ignoring the extra answers, that means the cache will take over for subsequent answers. You probably has to disable command splitting for this to help (Sorry, but I do not remember when the cache kicks in).

I do not know if this will help, but it might. It is easy to see in the log if the cache is used.
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4560 on: September 12, 2025, 09:06:19 pm »
I do not know if this will help, but it might. It is easy to see in the log if the cache is used.

That's a lot more potential for me to screw things up. ;)

I've already got a lot of things that :update: multiple things at once, but that won't help for initial loading. Anything else that can be combined is already combined.

There's just a lot- my definition file is currently around 2500 lines with only 20 lines total including all commenting, notes, and the basic device ID stuff (more commenting and notes will be added when the rest is done).

I can wait for you to add multiple setup buttons when you have time. Converting the definition will be easy; just some cutting/pasting and adding the new cmdSetup_Name designations. ;)

As it is, I won't run the debug mode at all unless there's something to debug. It takes a LOT longer to load the cmdSetup window when the log needs to drag through every line. 3 or 4 seconds of waiting drives me nuts without debug; for the debug I need to go do something else for a minute lol.

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

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4561 on: September 13, 2025, 03:19:53 am »
Speaking of (probably) me screwing things up, I've got some weird behavior I can't sort out. I have multi-level hidden items. Almost all of them work, but one set acts oddly.

This is the grand parent item that selects the lower level groups:


This next one works fine, and it has 3 levels- top level, then second level with 2 separate selectable sub levels):


Now, for some reason, the Modulation section is weird. Here's what it's supposed to look like:


Or this one is also correct:



If I cycle through, then the separators get lost:



It's odd, because the other multilevel selector sets work fine. This also worked fine before I hid it beneath another parent level.

This is the grand parent (top level):
Code: [Select]
#cmdSetup toggleButton AWG_Modification AWG_Mod
:write: :FGEN:MOD:MODE
:read: :FGEN:MOD:MODE?
:update: AWG_Modification,Mod_Modu_NA,Mod_Sweep_NA,Mod_Burst_NA
:string:
:nogrid:
:color: gray red green blue
None NONe
Modulation MODulation
Sweep SWEep
Burst BURSt
:tip: set or disable function generator modification

This is the parent:
Code: [Select]
#cmdSetup selector Mod_Modu_NA AWG_Mod
:read: :FGEN:MOD:MODE?
NONe Main.Empty
MODulation AWG_Mod_Mod.
SWEep Main.Empty
BURSt Main.Empty
#cmdSetup separator - AWG_Mod_Mod
1 100 Sunken
#cmdSetup separator - AWG_Mod_Mod
:labelformat: bold (0,40,115)
1 100 Empty
center Modulation_Settings
#cmdSetup separator - AWG_Mod_Mod
1 100 Sunken
#cmdSetup toggleButton Modulation_Type AWG_Mod_Mod
:write: :FGEN:MOD:MOD:TYPE
:read: :FGEN:MOD:MOD:TYPE?
:update: Modulation_Type,AMP_Mod_NA,FM_Mod_NA,PM_Mod_NA
:string:
:nogrid:
:color: orange blue pink cyan
:tip: Choose modulation type.
AM AM
DSB-SC DSBSC
;FM FM
PM PM

This is the code for the inconsistent piece:
Code: [Select]
#cmdSetup selector AMP_Mod_NA AWG_Mod_Mod
:read: :FGEN:MOD:MOD:TYPE?
AM AWG_Mod_Mod_AMP.
DSBSC Main.Empty
FM Main.Empty
PM Main.Empty
#cmdSetup separator - AWG_Mod_Mod_AMP
1 100 Sunken
#cmdSetup separator - AWG_Mod_Mod_AMP
:labelformat: bold (0,40,115)
1 100 Empty
center Amplitude_Settings
#cmdSetup separator - AWG_Mod_Mod_AMP
1 100 Sunken
#cmdSetup number AM_Depth AWG_Mod_Mod_AMP
:read: :FGEN:MOD:MOD:AM:DEPT?
:write: :FGEN:MOD:MOD:AM:DEPT #
:update: AM_Depth
% 0 100
:tip: Enter desired modulation depth.

If I close the Setup window, and open it again, the above looks as it's supposed to. Cycling the grandparent also fixes it.

Also should note that FM is commented out because it's not available yet, and the toggleButton gets stuck before whatever is listed above FM since switching to FM fails. I've tried removing everything to do with FM, and it had no effect.

Thanks,
Josh
« Last Edit: September 13, 2025, 03:45:39 am by KungFuJosh »
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4562 on: September 13, 2025, 11:09:03 am »
Speaking of (probably) me screwing things up, I've got some weird behavior I can't sort out. I have multi-level hidden items. Almost all of them work, but one set acts oddly.

It may be a bug, but it is not something that I can easily fix.
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4563 on: September 13, 2025, 04:08:13 pm »
Speaking of (probably) me screwing things up, I've got some weird behavior I can't sort out. I have multi-level hidden items. Almost all of them work, but one set acts oddly.

It may be a bug, but it is not something that I can easily fix.

What do you think is causing it, and how can I help?

The debug logs didn't have anything helpful; they looked normal.

Just a thought, but, maybe if there were less content in the cmdSetup it wouldn't happen? Like, if we split up the cmdSetup section into, say, up to 3 sections? Maybe that could work?  ;) ;) ;)

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

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4564 on: September 13, 2025, 04:28:20 pm »
 :-DD :-DD :-DD

Nah, that didn't help. Just to test the theory, I removed over 1200 lines of code for the Trigger tab, and it had no effect on the bug.

Oh well. ;)

Anyway, I don't need to hide those things, there's plenty of room. I was just being fancy. ;) Do you want me to leave the buggy thing in so we can fix it, or should I just remove the extra level of selectors in that section?
« Last Edit: September 13, 2025, 04:29:53 pm by KungFuJosh »
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4565 on: September 13, 2025, 04:45:20 pm »
Anyway, I don't need to hide those things, there's plenty of room. I was just being fancy. ;) Do you want me to leave the buggy thing in so we can fix it, or should I just remove the extra level of selectors in that section?

Because it is not something I expect to get fixed fast, it is probably best to take it out.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4566 on: September 13, 2025, 04:55:21 pm »
Problem removed. ;)

Still, I Find it weird that it works fine in a different section of the same page.  :-//
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4567 on: September 13, 2025, 05:14:14 pm »
Okay, here's an interesting one...

:DISPlay:SCReenshot? PNG

That sends back the PNG data over SCPI. Is there a way to get TC to save the response correctly as a PNG file? Or is that a little too crazy?

Thanks,
Josh
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4568 on: September 13, 2025, 05:57:17 pm »
:DISPlay:SCReenshot? PNG

That sends back the PNG data over SCPI. Is there a way to get TC to save the response correctly as a PNG file? Or is that a little too crazy?

TC can both display it and save it. TC has a decent image browser, the main idea is you can have scripts load images of test setups and schematics, but it can be used generally.
Check R&S HMC8043, it does it.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4569 on: September 13, 2025, 06:02:25 pm »
:DISPlay:SCReenshot? PNG

That sends back the PNG data over SCPI. Is there a way to get TC to save the response correctly as a PNG file? Or is that a little too crazy?

TC can both display it and save it. TC has a decent image browser, the main idea is you can have scripts load images of test setups and schematics, but it can be used generally.
Check R&S HMC8043, it does it.

Holy Crap, Batman! That was easy. Thanks!

Code: [Select]
#ScreenDump std
:DISPlay:SCReenshot? PNG

What's the std at the end? I assume short for standard? Are there other options?

Thanks,
Josh
« Last Edit: September 13, 2025, 06:17:20 pm by KungFuJosh »
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4570 on: September 13, 2025, 06:15:02 pm »
Holy Crap, Batman! That was easy. Thanks!

Code: [Select]
#ScreenDump std
:DISPlay:SCReenshot? PNG

What's the std at the end? I assume short for standard? Are there other options?

The std specify how the date is downloaded, std support standard image formats (Not only png) with a standard SCPI transfer command. Not much else is supported, but there is one for a advanced handheld DMM.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4571 on: September 13, 2025, 06:21:16 pm »
The std specify how the date is downloaded, std support standard image formats (Not only png) with a standard SCPI transfer command. Not much else is supported, but there is one for a advanced handheld DMM.

I don't care about BMPs (it supports those too), but is there a way to label the Screendump button differently if you want more than one option?

Either of these would work, but I guess only 1 works at a time in TC:
Code: [Select]
#ScreenDump std
:DISPlay:SCReenshot? PNG

#ScreenDump std
:DISPlay:SCReenshot? BMP

Thanks,
Josh
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4572 on: September 13, 2025, 06:35:51 pm »
I don't care about BMPs (it supports those too), but is there a way to label the Screendump button differently if you want more than one option?

The "Other" button has this name, because it supports a lot of other stuff.
Check a Enova charger definition, they sort of went overboard with it.

There is some documentation here: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html#The_Other_popup

Either of these would work, but I guess only 1 works at a time in TC:

Correct.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 5930
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #4573 on: September 13, 2025, 08:16:43 pm »
Is there an easy way to remove the serial number from the *IDN? response? Or, is there an easy way to query only the last section (firmware version)?

Thanks,
Josh
"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: 3885
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #4574 on: September 13, 2025, 08:24:59 pm »
Is there an easy way to remove the serial number from the *IDN? response? Or, is there an easy way to query only the last section (firmware version)?

Depends on protocol:
SCPI: No
SCPIx: You can edit the string
Ascii: You can build the string as you prefer.

But why?
The serial and firmware number are used in the TC function to document what devices are used for a test (Popups, Devices, List all connected devices, this can also be done from script). It can also be used in "Remap handles".


 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf