System information
Toolbox.
If the compiled program is too large to fit in internal Flash & the processor does not support Compact Flash, the
fatal error RLCMCVT201 is ussued: Program size exceeds built in flash capacity. The program either needs to be
smaller or converted to a processor model that supports Compact Flash. This is for 2 Series Processors only.
Promote the following compiler messages to FATAL errors:
RLCMCVT128, CMCVT128: Cannot subsitute parameter "0130hH" (prompt "maskword7") into S-4 inside
module S-3 (Module File C:\mydir\test.umc), assuming 0 [-25].
RLCMCVT139, CMCVT139: Incompatible value "0130hH" after partial substitution in S-4 (prompt
maskword7) in S-3 (Module File C:\Crestron\Cresdb\Modules\LHWIK10A.cmc), assuming 0.
SIMPL+ Enhancements:
% is an alias for MOD (i.e. 5 % 2 is the same as 5 MOD 2)
Added new functions
HighWord()
LowWord()
GetGMTOffset() [Requires CUZ 3.154 and later]
SetGMTOffset() [Requires CUZ 3.154 and later]
GetDST() [Requires CUZ 3.154 and later]
CompareStrings()
CompareStringsNoCase()
FindNoCase()
ReverseFindNoCase()
GetSymbolReferenceName() [Requires CUZ 3.154 and later]
GetSymbolInstanceName() [Requires CUZ 3.154 and later]
UpperChar()
LowerChar()
HexToI(), HextToL(), HexToSI(), HexToSL()
STRING GatherByLength(INTEGER length, STRING SourceString [,INTEGER timeout]); [Requires CUZ 3.154 or
later]
STRING RemoveByLength(INTEGER length, STRING SourceString); [Requires CUZ 3.154 or later]
Augmented Gather() to have a Timeout (in hundreths of a second) as a 3rd optional parameter, as well as having a
number of characters to Gather to as the first argument instead of a delimiter. Requires CUZ 3.154 and later.
STRING Gather(STRING delimiter, STRING SourceString [,INTEGER timeout]);
Added "_SKIP_" keyword which can be used in DIGITAL_INPUT, DIGITAL_OUTPUT, ANALOG_INPUT,
ANALOG_OUTPUT, STRING_INPUT, - STRING_OUTPUT, and BUFFER_INPUT definitions. Each occurance of
_SKIP_ will present a visual gap on the corresponding SIMPL Windows representation of the SIMPL+ symbol.
Added #DIGITAL_EXPAND, #ANALOG_SERIAL_EXPAND directives. Arguments are Separately (default if not
specified) and InputsWithOutputs. InputsWithOutputs will make Analog/Serial or Digital I/O track on an ALT+ of the
symbol depending on which # directive is used.
Allow Structure definitions within library files (.USL, .CSL)
User defined functions are now displayed in gray. Right clicking on that function will display a popup menu which will
allow the user to jump to that function.
Implemented custom colors within the text editor (Edit|Preferences|Text Editor)
Enabled Windows XP Themes in Editor
Added bookmark hotkeys. CTRL+F2 toggles bookmark, F2 goes to next bookmark.
Added "Edit | Select All" via CTRL+A hotkey
Added "Edit | Find Next" with F3 hotkey.
SIMPL+ Error Resolutions:
Fixed bug when #DEFINE_CONSTANT is used within another #DEFINE_CONSTANT (i.e. #DEFINE_CONSTANT
MyVal 5 followed by #DEFINE_CONSTANT YourVal MyVal)
Prevent operators in #DEFINE_CONSTANT definitions that have string constants, i.e. #DEFINE_CONSTANT -
"Crestron" is illegal.
Fixed bug when passing structures into SetArray()
Increased internal temporary string size from 64000 bytes to 65535 bytes, alleviating overflow problems with temp
variables
Fixed bug that allowed I/O declarations within structures
Fixed "LONG_INTEGER to INTEGER" compiler warning when using X within print() statements
Fixed bug so that now predefined structure (i.e. FILE_INFO) members show in the dropdown list
Fixed function list dropdown in application toolbar to show vertical scrollbars
Function list dropdown in application toolbar will automatically jump to function upon closing of dropdown box
Fixed bug when #USER_LIBRARY contained a file that was typed with a different case than then actual .USL file
(i.e. #USER_LIBRARY - "MyLib" when the file on disk is "mylib.usl")
Fixed internal typecasting issue with U/ operator
Removed internal typecasting when using x and X within Print() statements, should allow values to print correctly.