Model 2601B-PULSE System SourceMeter Instrument Reference Manual Section 10: Instrument programming
2601B-PULSE-901-01A April 2020 10-27
Standard libraries
In addition to the standard programming constructs described in this document, Lua includes
standard libraries that contain useful functions for string manipulation, mathematics, and related
functions. Test Script Processor (TSP
®
) scripting engine instruments also include instrument control
extension libraries, which provide programming interfaces to the instrumentation that can be
accessed by the TSP scripting engine. These libraries are automatically loaded when the TSP
scripting engine starts and do not need to be managed by the programmer.
The following topics provide information on some of the basic Lua standard libraries. For additional
information, see the Lua website (lua.org).
When referring to the Lua website, please be aware that the TSP scripting engine uses Lua 5.0.2.
Base library functions
collectgarbage()
collectgarbage(limit)
Sets the garbage-collection threshold to the given limit (in kilobytes) and
checks it against the byte counter. If the new threshold is smaller than the
byte counter, Lua immediately runs the garbage collector. If there is no limit
parameter, it defaults to zero (0), which forces a garbage-collection cycle.
See Lua memory management (on page 10-27) for more information.
Returns the number of kilobytes of dynamic memory that the Test Script
Processor (TSP
®
) scripting engine is using and returns the present
garbage collector threshold (also in kilobytes). See Lua memory
management (on page 10-27) for more information.
tonumber(x)
tonumber(x, base)
Returns x converted to a number. If x is already a number, or a convertible
string, the number is returned; otherwise, it returns nil.
An optional argument specifies the base to use when interpreting the
numeral. The base may be any integer from 2 to 36, inclusive. In bases
above 10, the letter A (in either upper or lower case) represents 10, B
represents 11, and so forth, with Z representing 35. In base 10, the default,
the number may have a decimal part and an optional exponent. In other
bases, only unsigned integers are accepted.
Receives an argument of any type and converts it to a string in a
reasonable format.
Returns (as a string) the type of its only argument. The possible results of
this function are "nil" (a string, not the value nil), "number",
"string", "boolean", "table", "function", "thread",
and "userdata".
Lua memory management
Lua automatically manages memory, which means you do not have to allocate memory for new
objects and free it when the objects are no longer needed. Lua occasionally runs a garbage collector
to collect all objects that are no longer accessible from Lua. All objects in Lua are subject to automatic
management, including tables, variables, functions, threads, and strings.