Constant configuration properties – Echelon FTXL User Manual
Page 82
![background image](/manuals/735717/82/background.png)
70
Using the LonTalk Interface Developer Utility
Similarly, a LonReadOnlyValueFile type is defined and used to declare a
lonReadOnlyValueFile variable if the model file declares read-only configuration
properties.
The LonTalk Interface Developer utility generates resource definitions for
configuration properties and network variables defined with the eeprom keyword.
Your application must provide sufficient persistent storage for these resources.
You can use any type of non-volatile memory, or any other media for persistent
data storage. The template file and the read-only value file would normally be
declared as const, and can be linked into a code segment, which might relate to
non-modifiable memory such as PROM or EPROM (these files must not be
changed at runtime). However, writable, non-volatile storage must be
implemented for the writable configuration property value file.
The details of such persistent storage are subject to the host platform
requirements and capabilities; persistent storage options include: flash memory,
EEPROM memory, non-volatile RAM, or storage in a file or database on a hard
drive.
You can specify initializers for network variables or configuration properties in
the model file. Alternatively, you can specify initializers for configuration
properties in the resource file that defines the configuration property type or
functional profile. For network variables without explicit initialization, the rules
imposed by your host development environment apply. These values might have
random content, or might automatically be preset to a well-defined value.
Constant Configuration Properties
In general, a configuration property can be modifiable, either from within the
FTXL application or from a network management tool. However, the LonTalk
Interface Developer utility declares constant configuration property files as
constants (using the C const keyword), so that they are allocated in non-
modifiable memory.
A special class of configuration properties is the
device-specific
configuration
property. A device-specific configuration property is considered variable to the
application (that is, your application can change it), but constant to the external
interface. These properties might, for example, be used to store calibration data
that is gathered during the device’s auto-tuning procedure.
However, a paradox arises because the network manager expects this
configuration property within the read-only value file, but the read-only value file
must be writable from the local application. This paradox is known as the
writeable read-only value file.
FTXL presents the following solution to resolve this paradox:
• Before the inclusion of the FtxlDev.h header file into the FtxlDev.c file,
you can define the LON_READONLY_FILE_IS_WRITEABLE macro to a
value of 1 (one). If you do not define this macro, or define it to equate to
zero, the read-only value file is constant. This is the default state. The
LON_READONLY_FILE_IS_WRITEABLE macro is used within the
FtxlDev.h header to define the read-only file’s storage type with the
LON_READONLY_FILE_STORAGE_TYPE macro, which in turn is used
in declaration and specification of the lonReadOnlyValueFile variable.