Introduction to neuron c, Unique aspects of neuron c – Echelon NodeBuilder FX User Manual
Page 194

180
Developing Device Applications
Introduction to Neuron C
Neuron C Version 2.2 is a programming language based on ANSI C that you can use to develop
applications for Neuron Chips and Smart Transceivers. It includes network communication, I/O,
interrupt-handling, and event-handling extensions to ANSI C, which make it a powerful tool for the
development of L
ON
W
ORKS
device applications. Following are a few of the extensions to the ANSI
Standard C language:
• A network communication model based on functional blocks and network variables that simplifies
and promotes data sharing between like or disparate devices.
• A network configuration model based on functional blocks and configuration properties that
facilitates interoperable network configuration tools.
• A type model based on standard and user resource files expands the market for interoperable
devices by simplifying integration of devices from multiple manufacturers.
• An extensive built-in set of I/O objects that supports the powerful I/O capabilities of Neuron Chips
and Smart Transceivers. Powerful event-driven programming extensions based on when-tasks that
provide easy handling of network, I/O, and timer events.
• Language extensions that define application interrupt handlers and use synchronization tools,
where available.
Neuron C provides a rich set of language extensions to ANSI C tailored to the unique requirements of
distributed control applications. Experienced C programmers will find Neuron C a natural extension to
the familiar ANSI C paradigm. Neuron C offers built-in type checking and allows the programmer to
generate highly efficient code for distributed L
ON
W
ORKS
applications.
Neuron C omits ANSI C features not required by the standard for free-standing implementations. For
example, certain standard C libraries are not part of Neuron C. Other differences between Neuron C
and ANSI C are detailed in the Neuron C Programmer’s Guide.
This chapter provides an introduction to Neuron C. For more details on Neuron C, see the Neuron C
Programmer’s Guide.
Unique Aspects of Neuron C
Neuron C implements all the basic ANSI C types, and type conversions as necessary. In addition to
the ANSI C data constructs, Neuron C provides some unique data elements.
Network variables are fundamental to Neuron C and L
ON
W
ORKS
applications. Network variables are
data constructs that have language and Neuron firmware support to provide the look and feel of a
regular global C variable, but with additional properties of communicating across a L
ON
W
ORKS
network, to or from one or more other devices on that network. The network variables make up part of
the device interface for a L
ON
W
ORKS
device.
Configuration properties are Neuron C data constructs that are another part of the device interface.
Configuration properties allow the device’s behavior to be customized using a network tool such as the
LonMaker tool or a customized plug-in created for the device. Configuration properties provide the
look and feel of a normal variable to the C program, with the addition of controlled access by network
configuration tools.
Neuron C also provides a way to organize the network variables and configuration properties in the
device into functional blocks. Functional blocks provide a collection of network variables and
configuration properties that are used together to perform one task. These network variables and
configuration properties are called the functional block members.