When importing test method definitions directly from Verigy I see the following parameter types:
[:string, :ContextPins, :int, :double, :PinString, :SpecValue, :SpecVariable, :OptionList, :long, :bool]
# The type can be :string, :current, :voltage, :time, :frequency, or :integer
:string (:ContextPins, :PinString, :OptionList, :SpecVariable)
[:float, :bignum, :bool]
Generally speaking, at the point when we are generating the program, the type of a variable doesn't matter much. In most cases, a variable ends up getting represented as a string in the test flow source file:
tm_10: "arg1" = "0"; "arg2" = "some_pin"; "arg3" = "1.523"
The test method definition API was originally created to be able to define the built-in AC and DC test method libraries provided by Advantest. Some of the parameters to those methods used units in the test flow file, e.g.
"arg1" = "0A"; "arg2" = "some_pin"; "arg3" = "1.523V"
So the types like
:current were added to support that.
However, I'm not sure if I ever experimented to see if those were really required or not, perhaps they are just thrown away and they are equivalent to Origen's base unit methods:
10.V == 10 # => true.
I would recommend that for now you just chose the
:string type for everything and see if it works.
If not, you can add additional types here: https://github.com/Origen-SDK/origen_testers/blob/5b89bf287b3d307bd6708c878666f3609a5fd3af/lib/origen_testers/smartest_based_tester/base/test_method.rb#L5 (it looks like we already have
:double though it is not mentioned in the docs).
Then you can define how the new type(s) should be formatted in the testflow file here: https://github.com/Origen-SDK/origen_testers/blob/5b89bf287b3d307bd6708c878666f3609a5fd3af/lib/origen_testers/smartest_based_tester/base/test_method.rb#L88