10 — VEHICLE CONTROL LANGUAGE (VCL)
Curtis 1239E-1269E Manual, os 37.0 RevA – May 2021
Return to TOC
pg. 104
The VCL functions described in the VCL Common Functions Manual are available on the
1239E/1269E controllers. e controllers have these additional specic functions, listed below. All
VCL functions, common and specic, are also available in the controller’s os37 sysInfo le.
ENABLE_PRECHARGE() p. 124
DISABLE_PRECHARGE() p. 125
SET_DIGOUT() p. 126
CLEAR_DIGOUT() p. 126
SET_INTERLOCK() p. 127
CLEAR_INTERLOCK() p. 127
SETUP_POT() p. 128
GET_POT() p. 128
SETUP_POT_FAULTS() p. 129
AUTOMATE_FREQUENCY_OUTPUT() p. 130
MAP_TWO_POINTS() p. 131
BATTERY_COMPENSATE() p. 132
PUT_MESSAGE_TO_STRING() p. 132
AUTOMATE_PWM_INPUT() p. 134
SETUP_TIMER_LONG() p. 134
SETUP_MAIL_BOX_MASK() p. 135
SETUP_MAILBOX_EXTENDED_MASK() p. 135
AUTOMATE_ENCODER() p. 136
VARIABLE TYPES
VCL provides dedicated space in which to store custom variables. ere are four types of variables,
based on their type of storage: volatile storage (RAM) and three types of non-volatile storage
(EEPROM) are available.
RAM variables are stored only while power is on; they are lost at powerdown. They must be
initialized on power-up by explicit VCL assignments (i.e., User1 = 12).
NVUser1–15 EEPROM variables are 15 variables automatically saved at power-down and restored
at power-on. During power down or power failure (brownout), these variables are saved to NVM1.
During operation, these variables are also periodically saved to NVM2, thus two locations are used
to preserve the data. At power-up, the data in NVM1 is read rst, yet if it is corrupted, the data from
NVM2 is restored. See the section on non-volatile memory access in the VCL Common Functions
manual for more information, including caution to changing the NVM2 save rate, and rational of
the save/restore strategy.
Block EEPROM are 38 blocks of 15 variables (total of 570 variables), which are stored and recalled
using the functions NVM_Block_Read and NVM_Block_ Write. e 38 blocks are called NVM3–
NVM40. e read and write functions must point to the RAM variables that the EEPROM blocks
should be written from or read to. For example, NVM_Block_Read(NVM10,0,15,User20) will read the
15 variables stored in EEPROM block NVM10 and restore those variables to the 15 variables starting
with RAM variable User20 (so the 15 EEPROM variables would be restored to User20–34). See the
section on non-volatile memory access in the VCL Common Functions manual for more information.