Error message not correct when inserting parameter

When i enter 2147483647 as timeoutvalue then there is red icon that says number cannot be converted to int32. Why this? This is the max allowed int32.

Closing the window and reopen then shows that the value changed to 999.999ks

What is this value? is this 999e3 s and 999ms? Not sure about comma and point .

A better errormessage like “Onyl value 1…x are allowed” would be good.
999

You are at the max Int32 value, so it is rounding and using scientific notation. The units are seconds, so it is displaying 999.999 kiloseconds, which is an odd unit, but so is is a timeout of 68 years…

2 Likes

But why is it rounding? Parameter should be 1:1 what i insert or show an error is value is not possible.
Of course every normal user will never do this.

The same happens at the Lock Holf Off Parameter. If inserting a very long number then this number gets changed without any information.

After:

It’s rounding and converting because they same controls are used for all numerical settings and there isn’t an explicit Rule check on those (Rules are what OpenTAP uses for validation):

1 Like

Will this be a problem for instruments where user have to insert and read out parameters in GHz? Those values shouldnt be rounded.

No that is actually what the feature is intended for. It is only rounding because you are exceeding the Inst32 limits. But the Units is specifically for things like easily converting to GHz to make inputs more readable:

1 Like

Ok. But Why does the Lock Off parameter has a different behaviour than the timeout parameter? Why is there no Red icon shown on the right side with an error?

Timeout is an int and Lock Hold Off is a double: https://gitlab.com/OpenTAP/opentap/-/blob/master/Engine/ScpiInstrument.cs#L161

The red highlight only comes from an explicit Rule check, which doesn’t exist for these fields.

1 Like