.TEXT command is missing in this 24.1.8 version, and many already running circuits do not run now.
.TEXT must be re-introduced, in order to achieve compatibility with older versions
.TEXT command is missing in this 24.1.8 version, and many already running circuits do not run now.
.TEXT must be re-introduced, in order to achieve compatibility with older versions
Hi AntonyTheodorakis ,
Understood.
The .text directive has been subsumed by the .param directive, now that .param supports strings and has the added feature of string functions, such as easy concatenation. This expanded capability of .param has made .text obsolete, if not severely limited in comparison to .param (considering the added string functions).
Despite some pain induced as a result engineers' (overly) clever use of the .text directive, our apologies for that, the .text directive will be no more. Reimplementing the .text directive would put it on a functional (dysfunctional) branch, encouraging drivers to continue down its dead end road — essentially pushing frustration also down the road.
Embrace the expanded .param functionality.
That said…
It's easy to fix those old .text entries; a straightforward map of:
.text name = "string"
to
.param name = "string"
From the Help:
A user-defined constant introduced with .param can either be a numerical value, e.g.
.param length = 20µ
or a text string, e.g
.param name = "U125D"
Strings can be used to parameterize models or subcircuits, in particular when combined with the select() function. For example, the following snippet uses a stepped numerical parameter n to alter the model of a diode D1:
.param diode = select(n, "1N4148", "1N4007", "1N914")
D1 N1 N2 {diode}
.step param n 0 2 1
Note that numerical parameters implicitly convert to strings. The conversion of non-integers is unspecified. Implicit conversion takes place before performing any operations, for instance
.param text = 1 + 3 + "text"
yields "13text", not "4text".
mike