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

Gertjan, ton4eff and 161 Guests are viewing this topic.

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4450 on: August 30, 2025, 02:30:04 pm »
I cannot find the 1022 in the file, but there is a 1025?
This time I stand corrected :). Good thing you proof-red the definition...
I updated the definition, please re-download the ZIP file.

I have updated TC with the definition, thanks.

I do not prof-read the files, mostly I do a fast scan in them.
 

Offline dfgregr

  • Newbie
  • Posts: 3
  • Country: 00
Re: Program that can log from many multimeters.
« Reply #4451 on: August 31, 2025, 08:39:50 pm »
Hi HKJ,

I've tried to add some Modbus RTU devices on RS485 bus connected to the same port with different SlaveIDs but couldn't find the way to modify SlaveID, it's always 01 and the way to change "Function code" for write register operation (my device supports only 0x10 multiple refisters write).

My devices are RK8510 DC loads. How can I add them with different SlaveIDs and use 0x10 Function code for register writing?

Thanks.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4452 on: September 01, 2025, 06:18:03 am »
Hi HKJ,

I've tried to add some Modbus RTU devices on RS485 bus connected to the same port with different SlaveIDs but couldn't find the way to modify SlaveID, it's always 01 and the way to change "Function code" for write register operation (my device supports only 0x10 multiple refisters write).

My devices are RK8510 DC loads. How can I add them with different SlaveIDs and use 0x10 Function code for register writing?

TC has the command address and address? for modbus devices that will change the modbus address.

I do not remember what modbus 0x10 is, but you can disable using singly byte writing (and reading) with #disableWriteSingle 1
 
The following users thanked this post: dfgregr

Offline dfgregr

  • Newbie
  • Posts: 3
  • Country: 00
Re: Program that can log from many multimeters.
« Reply #4453 on: September 01, 2025, 09:04:30 pm »
Quote
TC has the command address and address? for modbus devices that will change the modbus address.

I do not remember what modbus 0x10 is, but you can disable using singly byte writing (and reading) with #disableWriteSingle 1

Thanks, everithing works as expected and #disableWriteSingle 1 turns modbus Function code to 0x10 but it's not clear from the documentation.

A couple more questions:
- Am I right that I have to connect just one device and use 'address' command in scripts in order to get gate from different devices in network? And I have to define #initCmd and #finalCmd for all connected devices?

- I have a Reverse byte order in the data fields that device returns and expect to get. How can I do bytes swap in this case. It's a compleat reverse order ABCD -> DCBA.

Thanks.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4454 on: September 02, 2025, 08:06:36 am »
A couple more questions:
- Am I right that I have to connect just one device and use 'address' command in scripts in order to get gate from different devices in network? And I have to define #initCmd and #finalCmd for all connected devices?

TC do not really support multiple devices on the same com port, but if the same devices has multiple addresses you can use the address command in the definition to switch between the different addresses (It works like all SCPI commands and can be used where they can be used).


- I have a Reverse byte order in the data fields that device returns and expect to get. How can I do bytes swap in this case. It's a compleat reverse order ABCD -> DCBA.

TC did not have a general function to handle byte order, but some interfaces has it included. I have just added a function to swap bytes any way you want:

Code: [Select]
byteOrder(order,inputValue)

=hex(byteOrder("1234",0x12345678))
;; 78563412

=hex(byteOrder("+312",0x12f45678))
;; FFF47856
The order is byte positions in the input string lsb is 1 and msb is 4 (32 bit value) or 8 (64 bit value), a + can be placed at the start to force sign expansion.
A 0 in the order will add a zero byte to the output and a 9 will add a 0xff byte to the output.
Only as many bytes as specified will be transfered to the output, the rest will be ignored.

You can get the jar for the new test version here: http://lygte-info.dk/pic/Projects/TestController/TestController.jar


 

Offline dfgregr

  • Newbie
  • Posts: 3
  • Country: 00
Re: Program that can log from many multimeters.
« Reply #4455 on: September 02, 2025, 10:00:17 pm »
Quote
The order is byte positions in the input string lsb is 1 and msb is 4 (32 bit value) or 8 (64 bit value), a + can be placed at the start to force sign expansion.
A 0 in the order will add a zero byte to the output and a 9 will add a 0xff byte to the output.
Only as many bytes as specified will be transfered to the output, the rest will be ignored.

You can get the jar for the new test version here: http://lygte-info.dk/pic/Projects/TestController/TestController.jar

Thank you. I can serve two devices on the same port using an address hardcoding in a device configuration file. It's strange that such a powerful software doesn't support multiple devices on rs485 modbus network as it intend exactly for such purposes. I hope one day you upgrade TC with support for multiple devices.

Meanwhile here you are a config file for REK RK8510 DC Load.
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4456 on: September 03, 2025, 01:15:30 am »
I have two questions.

First:
#cmdSetup info Bandwidth Main
:read: :ACQ:BAND?
:format: si
Hz
:tip: Shows the current bandwidth setting.

Is there a way to remove the space between 350M and Hz?



Second:
For the other setting in the screenshot it says AFASt (auto fast) instead of the actual rate. Is it possible to add conditional logic so the Unit (Pts) is displayed and :format: si is applied only if the read result is a number? I'd also like to replace the AFASt with "Auto/Fast".

If I use format SI when AUTo or AFASt come up, it will replace the word with a question mark.

Thanks,
Josh
« Last Edit: September 03, 2025, 01:32:59 am by KungFuJosh »
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4457 on: September 03, 2025, 07:46:52 am »
Thank you. I can serve two devices on the same port using an address hardcoding in a device configuration file. It's strange that such a powerful software doesn't support multiple devices on rs485 modbus network as it intend exactly for such purposes. I hope one day you upgrade TC with support for multiple devices.

I have though about supporting it as a GPIB driver (They allows sharing serial ports), maybe I will do it one day.

Meanwhile here you are a config file for REK RK8510 DC Load.

Thanks I will include it, I have added a #author statement with your handle.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4458 on: September 03, 2025, 07:50:58 am »
#cmdSetup info Bandwidth Main
:read: :ACQ:BAND?
:format: si
Hz
:tip: Shows the current bandwidth setting.

Is there a way to remove the space between 350M and Hz?

Not directly, see below.


For the other setting in the screenshot it says AFASt (auto fast) instead of the actual rate. Is it possible to add conditional logic so the Unit (Pts) is displayed and :format: si is applied only if the read result is a number? I'd also like to replace the AFASt with "Auto/Fast".

If I use format SI when AUTo or AFASt come up, it will replace the word with a question mark.

Define the field as text and use :readmath: to do the formatting/conversion.

 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4459 on: September 03, 2025, 11:38:45 pm »
Is it possible to :update: all, or set a group to :update: group so items don't have to be listed individually?

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

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4460 on: September 04, 2025, 11:25:45 am »
Is it possible to :update: all, or set a group to :update: group so items don't have to be listed individually?

No.

From script you can do #SYNCPOPUPS and it will reinit all open popups.
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4461 on: September 04, 2025, 03:09:01 pm »
Is it possible to :update: all, or set a group to :update: group so items don't have to be listed individually?

No.

From script you can do #SYNCPOPUPS and it will reinit all open popups.

Okay, let's call it a feature request then. ;)

For example:

waveform_freq
waveform_shape
waveform_rtime

etc. etc. then we can add:

:updategroup: waveform_

or something like that.

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

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4462 on: September 04, 2025, 04:14:03 pm »
I have a small issue with the following:
Code: [Select]
#cmdSetup number H_Resolution Main
Bits 12 16
:read: :ACQ:HRES?
:write: :ACQ:HRES #
:update: H_Resolution,Resolution
:tip: Valid numbers include 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16

The :tip: shows the only valid entries. However, if I input 12 in the number box, it sends 12.0 which is not valid. How can I correct this without switching it to a text field? Is it also possible to only allow the exact values listed in the tip?

Ironically, even if I use numberInt (which I don't want), it still writes 12.0.

Thanks,
Josh
« Last Edit: September 04, 2025, 04:37:30 pm by KungFuJosh »
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4463 on: September 04, 2025, 04:36:45 pm »
I have a small issue with the following:
Code: [Select]
#cmdSetup number H_Resolution Main
Bits 12 16
:read: :ACQ:HRES?
:write: :ACQ:HRES #
:update: H_Resolution,Resolution
:tip: Valid numbers include 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16

The :tip: shows the only valid entries. However, if I input 12 in the number box, it sends 12.0 which is not valid. How can I correct this without switching it to a text field? Is it also possible to only allow the exact values listed in the tip?

You are basically using the wrong control, use a combobox or radio control (Due to the amount of values radio is probably out) for it.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4464 on: September 04, 2025, 11:34:22 pm »
Is there a button type that toggles states ?

What I am wanting is a button for On/Off without having to use two buttons, much like the ButtonsOn version that has the indicator but a single button that can toggle between two states, change its button text, and change its activated output to toggle commands, so you can send a 0 or 1 just like a checkbox etc.

I wanted to use a button like this for the SDL1030X definition I am making, to have features such as Load On/Off, Short On/Off, Remote Sensing On/Off etc.

No, but you can use checkbox (Not recommended for on/off, but fine for the other settings).

+1 feature request for a toggle button that functions the same as a checkbox, but is a button with on and off states. For example, normal color when off, but can choose :color: green or whatever when it's active.

That's in addition to my :updategroup: feature request above. ;)

Thank you!
Josh
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4465 on: September 05, 2025, 10:37:11 am »
+1 feature request for a toggle button that functions the same as a checkbox, but is a button with on and off states. For example, normal color when off, but can choose :color: green or whatever when it's active.

I do not get the why. A buttonson does exactly that, it is 3 controls in one line, but a single button would also use a line.

That's in addition to my :updategroup: feature request above. ;)

I am thinking about it.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4466 on: September 05, 2025, 01:51:19 pm »
+1 feature request for a toggle button that functions the same as a checkbox, but is a button with on and off states. For example, normal color when off, but can choose :color: green or whatever when it's active.

I do not get the why. A buttonson does exactly that, it is 3 controls in one line, but a single button would also use a line.

It would be functionally exactly the same as a checkbox, but visually more appealing and easier to layout. In the first mockup, I used 4 channels. What if there's more? They could all fit on a row more easily (especially if the label can be omitted), and they're easier to click than a checkbox.

Thanks,
Josh
« Last Edit: September 05, 2025, 02:25:24 pm by KungFuJosh »
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4467 on: September 05, 2025, 03:17:17 pm »
It would be functionally exactly the same as a checkbox, but visually more appealing and easier to layout. In the first mockup, I used 4 channels. What if there's more? They could all fit on a row more easily (especially if the label can be omitted), and they're easier to click than a checkbox.

I see you idea now, but it is a lot of work to make it like checkbox, they do some trickery (Adds a hidden control) to combine on a single line.
It basically comes down to: All buttons uses the same command, I can do it as one control. Each control need their own command, I need trickery.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4468 on: September 05, 2025, 04:56:03 pm »
It would be functionally exactly the same as a checkbox, but visually more appealing and easier to layout. In the first mockup, I used 4 channels. What if there's more? They could all fit on a row more easily (especially if the label can be omitted), and they're easier to click than a checkbox.

I see you idea now, but it is a lot of work to make it like checkbox, they do some trickery (Adds a hidden control) to combine on a single line.
It basically comes down to: All buttons uses the same command, I can do it as one control. Each control need their own command, I need trickery.

Your programming skills are lightyears beyond mine, but here's what I think:

Don't think of it like the other buttons. Think of it like putting a fancy dress on a checkbox. ;)

Checkboxes have two states, and function a specific way. :checkbuttons: could be the same thing, but the states look like a button (with two color states) rather than a checkbox.

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

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4469 on: September 05, 2025, 05:34:26 pm »
Unrelated curiosity. Is this the expected use for readmath in these cases?:

Code: [Select]
#cmdSetup info CH1_Filter CH1
:read: :CHAN1:FILT?
:readmath: replace(replace(replace(replace(replace(replace(value,"NONe","None"),"AMPLitude","Amplitude"),"200000000","200M"),"100000000","100M"),"50000000","50M"),"20000000","20M"));
:tip: Channel filter status.


#cmdSetup combobox CH1_Filter CH1
:write: :CHAN1:FILT
:read: :CHAN1:FILT?
:readmath: getElement("200000000,100000000,50000000,50000000",listIndex(value,"200M,100M,50M,20M"));
:readmath: replace(replace(value,"NONe","None"),"AMPLitude","Amplitude"));
:update: CH1_Filter
:updatedelayed: 0.1
None NONe
Amplitude AMPLitude
200M 200000000
100M 100000000
50M 50000000
20M 20000000
:tip: set Channel filter.

The info box worked fine, but the combobox required separating readmath as shown. Is that how it should be done, or is there a better method?

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

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4470 on: September 05, 2025, 06:30:48 pm »
Unrelated curiosity. Is this the expected use for readmath in these cases?:

Code: [Select]
#cmdSetup info CH1_Filter CH1
:read: :CHAN1:FILT?
:readmath: replace(replace(replace(replace(replace(replace(value,"NONe","None"),"AMPLitude","Amplitude"),"200000000","200M"),"100000000","100M"),"50000000","50M"),"20000000","20M"));
:tip: Channel filter status.


#cmdSetup combobox CH1_Filter CH1
:write: :CHAN1:FILT
:read: :CHAN1:FILT?
:readmath: getElement("200000000,100000000,50000000,50000000",listIndex(value,"200M,100M,50M,20M"));
:readmath: replace(replace(value,"NONe","None"),"AMPLitude","Amplitude"));
:update: CH1_Filter
:updatedelayed: 0.1
None NONe
Amplitude AMPLitude
200M 200000000
100M 100000000
50M 50000000
20M 20000000
:tip: set Channel filter.

The info box worked fine, but the combobox required separating readmath as shown. Is that how it should be done, or is there a better method?

Originally the idea was that everything fit in one :readmath:, but I did not block multiple and I am not going to change that.
But I wonder about your filter code, the first :readmath: is not supposed to allow anything but the listed values to get past it.

:readmath: has allows some fairly advanced statement, because it uses the programming language in TC and it has a lot of functions. Generally you can test any expression on the command line (Stick a = before it) or in the calculate, in both cases you have to define value for yourself or just use a fixed value.
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4471 on: September 05, 2025, 08:35:39 pm »
Unrelated curiosity. Is this the expected use for readmath in these cases?:

Code: [Select]
#cmdSetup info CH1_Filter CH1
:read: :CHAN1:FILT?
:readmath: replace(replace(replace(replace(replace(replace(value,"NONe","None"),"AMPLitude","Amplitude"),"200000000","200M"),"100000000","100M"),"50000000","50M"),"20000000","20M"));
:tip: Channel filter status.


#cmdSetup combobox CH1_Filter CH1
:write: :CHAN1:FILT
:read: :CHAN1:FILT?
:readmath: getElement("200000000,100000000,50000000,50000000",listIndex(value,"200M,100M,50M,20M"));
:readmath: replace(replace(value,"NONe","None"),"AMPLitude","Amplitude"));
:update: CH1_Filter
:updatedelayed: 0.1
None NONe
Amplitude AMPLitude
200M 200000000
100M 100000000
50M 50000000
20M 20000000
:tip: set Channel filter.

The info box worked fine, but the combobox required separating readmath as shown. Is that how it should be done, or is there a better method?

Originally the idea was that everything fit in one :readmath:, but I did not block multiple and I am not going to change that.
But I wonder about your filter code, the first :readmath: is not supposed to allow anything but the listed values to get past it.

:readmath: has allows some fairly advanced statement, because it uses the programming language in TC and it has a lot of functions. Generally you can test any expression on the command line (Stick a = before it) or in the calculate, in both cases you have to define value for yourself or just use a fixed value.

I tried both versions of the readmath functions to include all options, but they only worked on the combobox as shown above. Even though the info box was fine with it, the combobox didn't like when I mixed the numbers and words in the same readmath. It didn't help to use :string: either. It works as it is, and that's fine with me. I was just curious.

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

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4472 on: September 05, 2025, 08:56:25 pm »
I tried both versions of the readmath functions to include all options, but they only worked on the combobox as shown above. Even though the info box was fine with it, the combobox didn't like when I mixed the numbers and words in the same readmath. It didn't help to use :string: either. It works as it is, and that's fine with me. I was just curious.

:string: disables the forced conversion to numbers on the received values, not all controls do that, but most do.

The expressions have a automatic type conversion, that will convert to string or number (or other types) depending on the expression and if the value can be converted (The conversion do not support as many formats as the advanced input parser). You can force conversion https://lygte-info.dk/project/TestControllerFunctions%20UK.html#Typecast and this can be used on the command line to see what the result is. I.e. type =double("10M") or =double("10e6"), the first will fail, the second works.

TC has a couple of numeric parsers and which one is used depends on function, in some cases you can override the parser (:readformat:) or disable it (with :string:).

 
The following users thanked this post: KungFuJosh

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4959
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #4473 on: September 08, 2025, 12:38:16 pm »
Your programming skills are lightyears beyond mine, but here's what I think:

Don't think of it like the other buttons. Think of it like putting a fancy dress on a checkbox. ;)

Checkboxes have two states, and function a specific way. :checkbuttons: could be the same thing, but the states look like a button (with two color states) rather than a checkbox.

Ok, I took the time and did it, but I have not tested very much:



http://lygte-info.dk/pic/Projects/TestController/TestController.jar

The toggleButton supports up to 4 states, I do not adjust the color of the button, there is issues with that, instead I use a colored line as indicator. It do not take up much space and is easy to see.
Each command line has a button label and a command, in some cases you may want to use the same label for all states.
Without :string: it will compare to 0,1,2,3 for the states, with :string: to the names or arguments.
Default colors are: red, green, yellow, blue
Without the :read: command it will automatic move between the states, but there is no guarantee that it matches the device.

Here is my test code (I tested it with setting voltage a multichannel power supply, that is not something your would want to do in real life)

Code: [Select]
#cmdSetup toggleButton tt
:write: INST OUT1;VOLT (value)
:read: INST OUT1;VOLT?
:readmath: value-1;
C1 1
C1 2
C1 3
C1 4


#cmdSetup toggleButton tt
:write: INST OUT2;VOLT (value)
:read: INST OUT2;VOLT?
;Use read value to string match on argument, but it must be an integer to match, not the 1.2000E+01 form the PSU
:readmath: int(double(value));
:string:
:color: blue cyan magenta green
C2 1
C2 2
C2 3
C2 4


#cmdSetup toggleButton tt
:write: INST OUT3;VOLT (value)
:read: INST OUT3;VOLT?
;When readmath is executed the value is still a string, use int() to force integer comparison
:readmath: int(double(value))>9?1:0
C3 8
C3 12



« Last Edit: September 08, 2025, 01:35:46 pm by HKJ »
 
The following users thanked this post: KungFuJosh

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8454
  • Country: us
  • TEAS is real.
Re: Program that can log from many multimeters.
« Reply #4474 on: September 08, 2025, 02:13:57 pm »
Thank you! That looks great.

I implemented it like this and it works as expected:
Code: [Select]
#cmdSetup toggleButton Channels Main
:read: :CHAN1:STAT?
:write: :CHAN1:STAT
:string:
:color: gray yellow
:update: Channels,Channel_1,Channel_2,Channel_3,Channel_4
CH1 OFF
CH1 ON
#cmdSetup toggleButton Channels Main
:read: :CHAN2:STAT?
:write: :CHAN2:STAT
:string:
:color: gray red
:update: Channels,Channel_1,Channel_2,Channel_3,Channel_4
CH2 OFF
CH2 ON
#cmdSetup toggleButton Channels Main
:read: :CHAN3:STAT?
:write: :CHAN3:STAT
:string:
:color: gray blue
:update: Channels,Channel_1,Channel_2,Channel_3,Channel_4
CH3 OFF
CH3 ON
#cmdSetup toggleButton Channels Main
:read: :CHAN4:STAT?
:write: :CHAN4:STAT
:string:
:color: gray green
:update: Channels,Channel_1,Channel_2,Channel_3,Channel_4
CH4 OFF
CH4 ON


I have one general question: Is it possible that items can take up equal space when they divide a row? This isn't limited to these buttons, you can see CH1 and CH3 are wider for the checkboxes also.

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


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

- - -
-->