NodeBuilder, 3120, 3150, and the Echelon logo are trademarks of Echelon
Corporation registered in the United States and other countries. L
LonSupport, the L
ONMARK logo, and ShortStack are trademarks of Echelon
ONMARK,
Corporation.
Other brand and product names are trademarks or registered trademarks of
their respective holders.
Neuron
Chips, Serial LonTalk Adapters, and other OEM Products were not
designed for use in equipment or systems which involve danger to human
health or safety or a risk of property damage and Echelon assumes no
responsibility or liability for use of these products in such applications.
Parts manufactured by vendors other than Echelon and referenced in this
document have been described for illustrative purposes only, and may not
have been tested by Echelon. It is the responsibility of the customer to
determine the suitability of these parts for each application.
ECHELON MAKES NO REPRESENTATION, WARRANTY, OR
CONDITION OF ANY KIND, EXPRESS, IMPLIED, STATUTORY, OR
OTHERWISE OR IN ANY COMMUNICATION WITH YOU, INCLUDING,
BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR ANY
PARTICULAR PURPOSE, NONINFRINGEMENT, AND THEIR
EQUIVALENTS.
No part of this publication may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means, electronic, mechanical,
photocopying, recording, or otherwise, without the prior written permission of
Echelon Corporation.
Echelon Corporation
550 Meridian Avenue
San Jose, CA. USA
95126
www.echelon.com
Preface
This manual documents and explains the various warning and error messages
that can occur in the various components of the NodeBuilder software.
Audience
The NodeBuilder® Errors Guide is intended for users of the NodeBuilder Development Tool.
Content
The NodeBuilder Errors Guide documents and explains the various warning and error messages that
you may encounter while using the NodeBuilder software. This guide organizes the errors into
separate chapters with each chapter containing errors applicable to a single software component.
For example, compiler errors are in one chapter and NodeBuilder interface errors are in another
chapter.
Each chapter lists the errors in numerical order by message code. This permits minor wording
changes in the future without interfering with the ability to locate the documentation for a
particular message code.
Each error message has a category acronym and a message code. This is a typical message:
The directive '#pragma num_alias_table_entries' is required [NCC#456]
NCC is the category acronym, 456 is the error code. The table below shows the various acronyms
and what they stand for, and the chapter of this document that discusses error and warning
messages with that category.
Acronym
DBG NodeBuilder Debugger
DEP
LCL
LWX L
NCC Neuron
NEX Neuron Exporter
PMK NodeBuilder Project Make
UCL Common command line
The NodeBuilder User’s Guide lists and describes all tasks related to LONWORKS application
development using the NodeBuilder Development Tool. Refer to that guide for detailed information
on the user interface and features of the NodeBuilder tool.
The Neuron C Reference Guide (Revision 3) provides the reference information for writing programs
using the Neuron C language.
The Neuron C Programmer’s Guide (Revision 5) outlines a recommended general approach to
developing a L
through the use of code fragments and examples.
ONWORKS application and explains the key concepts of programming in Neuron C
Typographic Conventions for Syntax
Type Used For Example
boldface type keywords network
literal characters {
Italic typeabstract elements identifier
square brackets optional fields [bind-info]
vertical bar a choice between input | output
two elements
For example, the syntax for declaring a network variable is
network input | output [netvar modifier][class] type [bind-info] identifier
Punctuation other than square brackets and vertical bars must be used where shown (quotes,
parentheses, semicolons, etc.).
Code examples appear in the Courier font:
#include <mem.h>
unsigned array1[40], array2[40];
// See if array1 matches array2
if (memcmp(array1, array2, 40) != 0) {
// The contents of the two areas do not match
}
NodeBuilder Errors Guide v
Contents
Preface iii
Audience iv
Content iv
Related Manuals v
Typographic Conventions for Syntax v
Contents vi
Chapter 1 NodeBuilder Debugger Errors (DBG) 1-1
Chapter 2 Dependency Utility Errors (DEP) 2-1
Chapter 3 Comm Parameter Calculator Errors (LCL) 3-1
Chapter 4 LONWORKS XML Errors (LWX) 4-1
Chapter 5 Neuron C Compiler Errors (NCC) 5-1
Chapter 6 Neuron Exporter Errors (NEX) 6-1
Chapter 7 Project Make Errors (PMK) 7-1
Chapter 8 Common Command Line Errors (UCL) 8-1
Chapter 9 Neuron Firmware Error Codes 9-1
vi Preface
NodeBuilder Debugger
Errors (DBG)
This chapter describes errors that may be produced by
the NodeBuilder Debugger.
1
DBG# Description
1 No error [DBG#1]
2 Memory allocation failed [DBG#2]
Save your work and restart the system
3 Cannot open a needed file [DBG#3]
Clean, rebuild, load and restart the debugger.
4 Invalid DBT file format or DBT file is corrupt [DBG#4]
Clean, rebuild, load and restart the debugger. If this persists
you may need to re-install NodeBuilder.
5 Communication to network interface failed [DBG#5]
This may happen when starting the debugger. Use the control
panel or LonMaker to test the Network Interface.
6
Cannot communicate with the device over the network
[DBG#6]
Make sure it is connected and any intervening routers are
configured and online.
7 Cannot find the requested symbol [DBG#7]
Re-enter the symbol name. The DBT file might be out-of-date.
8
Source line translates to less than 2 bytes of object code,
so a breakpoint cannot be placed here [DBG#8]
In the NodeBuilder’s Device Template Editor, check the
“Expand statements” item and re-build if you really need to
set a breakpoint at this location.
9
Object code at breakpoint is not in writable memory, so
a breakpoint cannot be set [DBG#9]
NodeBuilder debugger modifies program memory when it sets
breakpoints.
10 No instruction for BP at this location [DBG#10]
Make sure the build status is up-to-date. Try closing and reopening the source file.
11
Command only legal when debugger is not suspended,
not currently used [DBG#11]
No longer used.
12
Command is only legal when debugger is suspended,
e.g., Neuron remote procedure calls [DBG#12]
Remote procedure calls are not supported.
13 Failed in file read/write [DBG#13]
The target hardware did not complete the operation.
14
Out case reached -- should be development only
[DBG#14]
Not used in release builds.
1-2 NodeBuilder Debugger Errors (DBG)
DBG# Description
16
Debug kernel version not supported by debugger
[DBG#16]
The debug kernel was updated and this debugger will no
longer work with the target device. You need to update the
debugger.
17
Feature is not included in the version of the debug
kernel included in the target device [DBG#17]
Some feature are excluded at compile time with various debug
kernel options or #pragma debug <option> statements. The
operation the debugger attempted will not work with the
target’s application.
18
Cannot allocate a reference ID to send a message
through the network interface. [DBG#18]
No longer used.
19 Bad parameter passed to method [DBG#19]
Program error. Please contact LonSupport.
21
Command is invalid in the current dbgDebugStatus
[DBG#21]
The device could be taking longer than expected to complete
its reset processing.
22
Command invalid until pending command completes
[DBG#22]
The device could be taking longer than expected to complete
its reset processing.
23
The target has been built since it was last loaded.
Reload it and try again [DBG#23]
The dependency checker keeps track of all source files,
resources, hardware templates, etc. The debug file (.DBT)
must be kept in sync with the loaded application to allow the
debugger to function.
25
The source file specified is not in the debugger's
application image [DBG#25]
The debugger tells the editor to load the top-level .nc file when
it starts. In this case the debug file (.DBT) does not agree
with the built image.
26
The source file specified has been modified from the
version in the debug application image. [DBG#26]
A dependency check. You need to re-build, load and start the
debugger again.
27 Maximum number of breakpoints already set [DBG#27]
NodeBuilder Errors Guide 1-3
DBG# Description
28
Communication with device timed out before a response
was received
This will intermittent if it occurs. Usually no harm would be
done. Breakpoints might not work as expected. Might need to
re-start the debugger.
29 Bad format found when reading [debug] NXE [DBG#29]
This would normally never happen. The file might be corrupt;
possibly it was hand-edited.
30
Operation on a dbgSymbol requires a dbgValue type
[DBG#30]
Used during development.
31
dbgValue operation requested on symbol that is out of
context, e.g. a local variable in a routine that is not in
the current calling sequence [DBG#31]
Should restart the debugger. Did the stacks crash?
32 Cannot read/write timers while running [DBG#32]
The application and the debugger do not agree on what state
the debugger is in. Should restart the debugger.
33 Cannot write this dbgValue [DBG#33]
Possibly the value is in read-only memory.
34 No remote procedure calls while running [DBG#34]
35
Not enough memory in debug kernel to pass RPC
parameters [DBG#35]
Remote procedure call is not supported.
36 Not enough Neuron stack space left for RPC [DBG#36]
Remote procedure call is not supported.
37 Cannot add to list, limit reached [DBG#37]
Resource allocation problem. Probably a program error.
38
Can only watch network variables and variable symbol
types [DBG#38]
39 Cannot debug a read/write protected device [DBG#39]
NodeBuilder debugger modifies program memory when it sets
breakpoints.
40
dbgSymUser and dbgRawMemory cannot refer to a
memory area that is not in the Neuron memory map
[DBG#40]
41
dbgSymUser and dbgRawMemory define read/write
blocks within memory. These blocks must completely
reside within one memory area. Areas include: ROM,
onchip EEPROM, offchip EEPROM, onchip RAM, offchip
RAM and memory mapped I/O. Different memory areas
have different read/write capabilities, etc. [DBG#41]
1-4 NodeBuilder Debugger Errors (DBG)
DBG# Description
42
dbgSymUser or dbgRawMemory tried to define a memory
view into code area while specifying that code area
should be inaccessible [DBG#42]
43
There is no debug kernel on the device The debug kernel
must be present in order to perform network debugging.
Make sure that the Use debug kernel option is set for the
build target [DBG#43]
44
Cannot activate a breakpoint or a steppoint at the
current location because it would overlap with a
currently-active breakpoint [DBG#44]
45
dbgSymUser or dbgRawMemory tried to define a memory
view into the system image area while specifying that
the system image area should be inaccessible [DBG#45]
46
Message monitor point gave invalid data point reference
[DBG#46]
Possible problem in LNS.
47 Variant data too large for provided buffer [DBG#47]
Not expected.
49 Failed to get IDispatch pointer [DBG#49]
This is internal error in the COM subsystem.
50 Device did not send a response message [DBG#50]
The debugger sent a request that was not honored. Did the
network buffers overflow? Was the device detached from the
network?
51 Device sent an unexpected response message [DBG#51]
Are there two devices with the same subnet/node addresses?
52 Response datapoint not returned [DBG#52]
Possible problem with LNS.
53 Request datapoint not returned [DBG#53]
Possible problem with LNS.
55 Output datapoint not returned [DBG#55]
Possible problem with LNS.
56 Debugger feature not yet implemented [DBG#56]
57 Debugger feature not implemented [DBG#57]
58
Failed to remove breakpoints while stopping the
debugger [DBG#58]
Clean, re-build, load and restart the debugger.
59 Debug file is not available [DBG#59]
Clean, re-build, load and restart the debugger.
NodeBuilder Errors Guide 1-5
DBG# Description
60
Cannot debug this device because it is not responding.
Please make sure that it is attached to the network and
powered on [DBG#60]
61
Cannot debug this device because it has not been
commissioned. Use LonMaker to commission it and try
again [DBG#61]
62
Network interface must be configured to run VNI
[DBG#62]
Use the control panel to select a VNI network image. The
name depends on which network interface you use. For the
PCLTA-20 use: PCL10VNI. Do not use NSIPCLTA or
PCC10L7.
63 Device not found in network database [DBG#63]
Remove the device from the NodeBuilder project treeview and
use the Device | Insert shortcut menu to select the device you
want to debug. You may have to re-drop the target device
shape with LonMaker.
64
Cannot debug this device because it is unconfigured.
Use the LonMaker Commission command to commission
it and try again [DBG#64]
65
Cannot debug this device because it is applicationless.
Use the LonMaker Load command to load the
application image and try again [DBG#65]
66
Cannot debug this device because it is hard-offline. Use
the LonMaker Device Manage command to put it online
and try again [DBG#66]
67
Cannot debug this device because it is soft-offline Either
reset it or use the LonMaker Device Manage command to
put it online [DBG#67]
68
Failed to write device memory. Please try again
[DBG#68]
69
Failed to read device memory. Please try again
[DBG#69]
70
A device being debugged either stopped communicating
or was deleted. The debug session will stop [DBG#70]
71
Device did not respond to Query Status command
[DBG#71]
Probably not a serious problem. Could be just a lost packet.
1-6 NodeBuilder Debugger Errors (DBG)
Dependency Utility
Errors (DEP)
This chapter lists and describes the errors that may be
produced by the Dependency Checker component. The
dependency checker is used by several build tools,
including the compiler, assembler, linker, exporter, and
project make; therefore these errors could appear when
using any of the tools listed above.
2
DEP# Description
1 An error occurred accessing file <file>: <reason> [DEP#1]
System error when accessing dependency file, see error
message for details provided as <reason>.
2
An error occurred when processing dependency
information: <reason> [DEP#2]
System error not related to file I/O, see error message for
details provided in <reason>.
3 An error occurred, but no details are available
Unknown error. Attempt correction by performing an
unconditional build; contact LonSupport if the problem
persists.
4
malformed record '<tag>' in dependency file <file>
[DEP#4]
Malformed dependency file. Has it been edited? Attempt
correction by performing an unconditional build.
5
file <file> can't be referenced in dependency file (might
cause build status calculation to become incorrect).
(<reason>) [DEP#5]
A file cannot be referenced when being added to a dependency
file, or a non-recoverable problem occurs when investigating
the file described by an existing dependency file record. This
might be caused by the file being present but corrupt, or being
locked by some other process. See <reason> provided in the
message for failure details.
6 missing separator in clause '<tag>' [DEP#6]
The dependency file is missing a separator in a key/value pair.
Has the dependency file been edited? Attempt correction by
performing an unconditional build.
7 index <idx> is unsuitable for section <section> [DEP#7]
Bad index in the dependency file (see error message for details).
Has the dependency file been edited? Attempt correction by
performing an unconditional build.
2-2 Dependency Utility Errors (DEP)
Comm Parameter Calculator
Errors (LCL)
This chapter lists and describes errors that may be
produced by the communication parameter calculator.
3
LCL# Description
1
Can not compute communication port control byte.
[LCL#1]
Failure to compute the CP (Communication Property) port
configuration. Make sure your standard transceiver database
(stdxcvr.xml) has not been corrupted. An update might be
available at the www.lonmark.org website. Contact LonSupport
if problem persists.
2 Unrecognized encoded clock rate value <id> [LCL#2]
Bad encoded value for clock speed (5 for 10MHz, 6 for 20MHz,
etc).
3
The transceiver's general purpose data record seems
malformed: <gp data> [LCL#3]
The xcvr_gp_data in STDXCVR.XML seems malformed. Make
sure your standard transceiver database (stdxcvr.xml) has not
been corrupted. An update might be available at the
www.lonmark.org website. Contact LonSupport if the problem
persists.
4
The device's clock rate (encoded value <id>) and the
transceiver's communication rate (encoded value <id>)
result in an invalid communication clock divider value.
One of the two input rates must be invalid. [LCL#4]
The comm_rate from STDXCVR.XML and effective hardware
clock rate combination results in an invalid comm clock divider
value. One of the two must be wrong. Verify the hardware
preferences. Make sure your standard transceiver database
(stdxcvr.xml) has not been corrupted. An update might be
available at the www.lonmark.org website. Contact LonSupport
if problem persists.
5
Unable to determine <attribute> using transceiver <xcvr
name> [LCL#5]
The aspect described as <attribute> cannot be computed as
part of the communication parameter calculations. Make sure
your standard transceiver database (stdxcvr.xml) has not been
corrupted. An update might be available at the
www.lonmark.org website. Contact LonSupport if problem
persists.
6
The transceiver requires a minimum clockrate which is
higher than the device's configured input clock speed.
[LCL#6]
The hardware clock speed is lower than the required minimum
for this transceiver. Choose a higher clock rate, or choose a
different transceiver type.
3-2 Comm Parameter Calculator Errors (LCL)
LCL# Description
7
8
9
The encoded value for the device's clock input of <id> is
not within the supported range of <min> to <max>
[LCL#7]
An invalid encoded clock value has been used to describe the
hardware clock speed. See LCL#2.
The encoded value for the channel's minimum clock rate
of <id> is not within the supported range of <min> to
<max> [LCL#8]
An invalid encoded clock value has been specified for the
channel's minimum clock speed. This value originates from the
standard transceiver database, and the presence of this
problem indicates a corrupted or incorrect database record.
Make sure your standard transceiver database (stdxcvr.xml)
has not been corrupted. An update might be available at the
www.lonmark.org website. Contact LonSupport if problem
persists.
Unable to compute media access control values (raw
transceiver data): the specified Neuron clock frequency is
too high for the transceiver [LCL#9]
This error condition is unavoidable for some combinations of
(typically) high Neuron clock rates and (typically) slow
channels. A different operating mode of the same transceiver or
a lower Neuron clock rate might solve the problem.
NodeBuilder Errors Guide 3-3
LONWORKS XML
Errors (LWX)
This chapter lists and describes the errors that may be
produced by the LONWORKS XML software component.
This software component is used by multiple other
components, including the Neuron Linker, the Project
Make utility, the NodeBuilder software, and others.
Therefore, these errors may be produced when using any
of the tools listed.
4
LWX# Description
101
Unexpected non-numeric value found in XML data <string>
[LWX#101]
This might happen if an XML file was edited outside of
NodeBuilder. If the file is saved, it will be fixed up but data may be
lost.
Open the file with an editor, find the noted string and see if there is
anything obviously wrong with the text and try to fix it.
120 Unexpected code path [LWX#120]
Only a program error can cause this. Please contact LonSupport.
121 Failed to create COM object [LWX#121]
Make sure the MSXML3.DLL file is in the system folder. Attempt
to fix the problem by manually re-registering the MSXML3.DLL
with the Windows REGSVR32.EXE utility. In the windows system
folder, get a command prompt and enter the following command:
Regsvr32 msxml3.dll
Contact LonSupport if the problem persists.
122 Overwrite tried on a write-protected file [LWX#122]
Perhaps a file was not checked out of source code control. Clear the
read-only attribute, and try again if you need to update the file.
123 Uninitialized pointer [LWX#123]
Only a program error can cause this. Please contact LonSupport.
124 File not found [LWX#124]
Check your settings to make sure the file path is correct and verify
that the file exists.
125 Unexpected data [LWX#125]
This could be due to a renamed file, a hand edited file or a program
error.
128 Non-unique XML key found [LWX#128]
Collections need unique key values. The file was probably edited by
hand. Edit the file to remove the duplicate so it may be loaded.
131 Expected format attribute not found [LWX#131]
Either the file was added by hand or there is a program error.
4-2 LONWORKS XML Errors (LWX)
5
Neuron C Compiler
Errors (NCC)
This chapter lists Neuron C compiler warning and error
messages and offers suggestions on how to correct the
indicated problems.
The errors produced by Neuron C are of four severity levels:
• FYI(For Your Information) errors are intended simply to provide
information.
• Warningerrors are not severe enough to prevent successful compilation, but
they should each be examined, and corrected if appropriate. Any code that is
flagged by the compiler with a warning message should be viewed as a
potential programming error, or at least as a poor programming practice.
• Error messages result from code constructs that cannot be interpreted by the
compiler in any way that would produce compilable code, or indicate
situations that are expressly prohibited by either the ANSI C language
standard, or by Neuron C. A compilation with one or more error messages
does not produce a device file set.
• FATAL errors prevent the compiler from performing any further translation.
These messages result from resource problems (out of memory, disk full, and
so on) or from internal checking on the compiler itself. Any message of the
form ***TRAP n***, where n is a decimal number, should be reported to
LonSupport.
The following discussions interpret each FYI, Warning, or Error message
produced by the Neuron C Compiler, and briefly explain how to correct the
problem. Error messages appear in bold italic type. The explanation of
how to correct the problem appears beneath the message in normal type.
NCC# Description
1 Maximum token length exceeded [NCC#1]
No Neuron C token can exceed 256 characters. This applies to
identifiers, numbers, string constants, and so on. This does not apply
to comments.
2 Character in input is not acceptable for C source [NCC#2]
The Neuron C compiler uses only the minimum ANSI C standard
character set. Additionally, the characters $, @, and `(accent-grave)
can be used in string and character constants. All other nonstandard characters are treated as white space, except for ^D and
^Z. Appearance of either of these two characters in the input file is
taken to be an end-of-file marker.
3 Float constants are not supported [NCC#3]
4 Float exponent too big [NCC#4]
5
The 'expand_array_info' option does not apply to a msg_tag
[NCC#5]
6 Comment not properly terminated [NCC#6]
An end-of-file condition was discovered in the middle of a comment.
This is an unterminated comment condition and is an error. The
error message contains the beginning of the comment.
5-2 Neuron C Compiler Errors (NCC)
NCC# Description
7 Comment may not be properly terminated [NCC#7]
This warning may be useful in discovering unintentional comments
in your Neuron C program. The definition of C does not permit
nesting of comments. Any text of the form shown below is treated as
a single comment.
/* <text> /* <text> */
Note, however, that this particular pattern may indicate a condition
where there are actually two comments intended, but the first is
unterminated. Thus, the compiler detects this condition and prints a
warning message. The comment text is printed also, for up to 256
characters.
8 Character constant is too long [NCC#8]
Neuron C only supports single-character constants (this does not
apply to use of the \ escape character sequence).
9 String constant is not terminated [NCC#9]
ANSI C does not permit a string constant to span lines; nor can a
string constant be terminated by end-of-file. To create a very long
string constant, use the ANSI C string constant concatenation
feature, demonstrated below. Note that the parts of the string are
concatenated without insertion of any white space, newline, or other
separator character.
"This is a long string constant "
"split across two source lines."
Note that this error message may also indicate mismatched quotes in
strings.
Use \" to include a quote character in a string constant.
10 Preprocessor directives cannot be nested in macros [NCC#10]
A macro cannot contain the character # outside of the text of a string
or a character constant.
11
Directive #else/#endif without corresponding #if/#ifdef/#ifndef
[NCC#11]
The preprocessor directives controlling conditional compilation must
always exist in matching pairs, similar to the open brace { and close
brace } in a C program. The pair #ifdef and #endif must match, for
example. An optional #else may contained in between.
12 Unrecognized or ill-formed pragma was ignored [NCC#12]
The pragma referenced by the error message is not one which is
recognized or supported by the Neuron C compiler.
13
Cannot enable micro_interface with Net Vars or msg_tags
declared [NCC#13]
The #pragma micro_interface can only appear in a program if
there have not been any prior declarations of network variables or
message tags. This pragma can only be used with the LonBuilder
Microprocessor Interface Program (MIP).
NodeBuilder Errors Guide 5-3
NCC# Description
14 Invalid value for this pragma [NCC#14]
The numeric value following the pragma that the message refers to is
not of appropriate value. Consult the documentation for the specific
pragma to ascertain the applicable valid values. Pragmas are
documented in the Compiler Directives chapter of the Neuron C Reference Guide.
15 Cannot repeat this pragma [NCC#15]
Some pragmas can only be used once. These are:
app_buf_out_size
Macro name, macro parameter name, or macro argument is
too long [NCC#16]
No identifier in Neuron C can exceed 256 characters
17 Line too long in macro definition [NCC#17]
No input line in Neuron C can exceed 256 characters. You can use
the line continuation feature of ANSI C to extend the line. This
feature is activated by using a \ character at the end of the line
(make sure there are no space characters following the backslash
character).
18 Invalid preprocessor directive syntax [NCC#18]
This error indicates one of any number of syntax problems in the #
directive of the line indicated. The proper syntax is:
#directive [value]
where the optional value is dependent on the particular directive.
5-4 Neuron C Compiler Errors (NCC)
NCC# Description
19 Extra entries in preprocessor directive [NCC#19]
This error indicates that, although the preprocessor directive was of
the correct syntax, there are additional entries on the line that were
not part of the directive.
20 Empty input source file
Check for the existence of the file that is being compiled. Is the file
name and path name correct?
21 Unexpected END-OF-FILE in source file [NCC#21]
An incomplete source construct unexpectedly ended in an end-of-file
condition. This may indicate mismatched brace characters { and } or
may indicate the use of a function macro with an insufficient number
of right (ending) parentheses.
22 Repeated keyword was ignored [NCC#22]
The keyword const or volatile is used more than once in
modification of a pointer type.
23
24
Not enough address table entries [NCC#23] (See NCC#24)
Not enough address table entries for optimum efficiency
[NCC#24]
A Neuron Chip has up to 15 outgoing message ports. (Ports are also
known as “address table entries.”) Each bindable message tag
consumes one port, whether bound or not. Network variables can
share ports, but there must be at least one port available.
If there aren’t enough address table entries for all the message tags
plus at least one for network variables, you get the error [NCC#23].
However, if there aren’t enough entries available for each output
network variable to have its own port, you get the warning [NCC#24]
(unless you already have the maximum number of address table
entries in your program). This is because the binder would then
have to share the remaining address table entries among the
network variables.
EXAMPLE: If there are three network variables (each going to a
different destination) and there are only two address table entries,
then at least two of the network variables would have to use the
same address table entry (if they are all connected). Now let’s
assume that all the variables are connected, each point-to-point to a
different node. If each variable had its own address table entry, the
LonTalk messages would all use subnet/node (i.e. point-to-point)
addressing.
However, for the two variables sharing the same entry, a group will
be constructed. This means that, when either variable is updated,
the updates will go to all members in the group. This does not
necessarily cause a problem, as the nodes that don’t have the
variable will discard the update. The major inefficiency the compiler
is warning about, though, is that each destination in the group,
regardless of whether it uses the message, will respond with an
acknowledgment message. This situation thus leads to increased
unnecessary acknowledgements, or other extra network traffic.
NodeBuilder Errors Guide 5-5
NCC# Description
25 Cannot open assembly output file [NCC#25]
The compiler cannot open the output file for code generation. This
could be caused by an existing file being marked as read-only, or a
missing folder, or a problem with the operating system.
26 Cannot open bplate.ns [NCC#26]
During compiler initialization, the compiler attempts to open several
support files. One of these files is named bplate.ns. This file should
reside in the LonBuilder system include directory (default location is
\lb\include) or the NodeBuilder system include directory (default
location is \Lonworks\NeuronC\Include. This message could
indicate a disk error.
27
Special event & init code block exceeds size limitation
[NCC#27]
The tasks corresponding to the reset, online, offline, and wink
events, as well as any when clause arbitrary expressions all
generate code in a special area known as the APINIT block. If
#pragma disable_mult_module_init (see the Compiler Directives
chapter of the Neuron C Reference Guide) is used, any non-zero
initialization of global RAM variables and I/O objects place code here
as well. This block is limited in size to 255 bytes.
If you exceed the size of this block, try moving the bulk of code in any
tasks that correspond to reset, online, offline, and wink events to
functions that are called from these tasks. If you are using the
#pragma disable_mult_module_init directive, remove the
pragma.
28 Incorrect I/O object type for io_changes event [NCC#28]
See the description of the event in the Predefined Events chapter of
the Neuron C Reference Guide. Make sure that your I/O object type
supports this event.
29 Use only 15000, 10000, or 1000 for I/O object's baud [NCC#29]
The bitshift I/O object types can have their bit rates specified with
either the baud or kbaud I/O declaration modifier. If kbaud is
used, the only legal values are 15, 10, and 1. If baud is used, the
only legal values are 15000, 10000, and 1000. The default bit rate for
these I/O object types is 15kbps, and need not be specified.
30 Use only 15, 10, or 1 for kbaud rate value [NCC#30]
The bitshift I/O object types can have their bit rates specified with
either the baud or kbaud I/O declaration modifier. If kbaud is
used, the only legal values are 15, 10, and 1. If baud is used, the
only legal values are 15000, 10000, and 1000. The default bit rate for
these I/O object types is 15kbps, and need not be specified.
5-6 Neuron C Compiler Errors (NCC)
NCC# Description
31 Too many ‘when’ clauses [NCC#31]
Neuron C places entries representing the when clauses in a table
that is interpreted by the Neuron Chip firmware scheduler. The
table's entries are variable sized, as some event expressions are more
complex than others. The table size is limited to 256 bytes. When
the table is full, no more when clauses can be accepted. Note that
the limit is on the number of when clauses and not on the number of
when tasks.
32 Cannot open binder interface file(s) [NCC#32]
This problem could occur when the compiler attempts to open files
with .BIF or .BF2 extension, but the file cannot be opened properly
with write access. It is possible that the file is marked read-only, or
that the output folder does not exist, or there is a disk or operating
system problem.
33
Cannot open assembly include file named in pragma directive
[NCC#33]
There is a #pragma include_assembly_file that can be used to
include an assembly source file in the compiler code generator’s
assembly code output file. The named file cannot be found or opened.
34 Attempt to divide by the constant zero [NCC#34]
The compiler detected that a constant expression contains a division
by zero. Constant expressions are evaluated at compile time by the
Neuron C compiler. Correct the expression.
35 SD string supplied exceeds 1023 character limit [NCC#35]
The sd_string option for a network variable declaration is limited to
a string of no more than 1023 characters (plus NUL terminator). It
is possible, using the bind_info(expand_array_info) declaration
option for a network variable array, that the string would be limited
to less than 1023 characters in some situations.
36 Message object reference has no value [NCC#36]
The message objects, msg_out, msg_in, resp_out, and resp_in,
have no value in themselves. They only have meaning when they are
accessed using the dot operator (.) and a field name. Only certain
predefined field names apply.
37 This field must be indexed [NCC#37]
The message objects, msg_out, msg_in, resp_out, and resp_in,
have no value in themselves. They only have meaning when they are
accessed using the dot operator (.) and a field name. Only certain
predefined field names apply. The particular data field referred to by
this message is an array, and access to it must be via index, except
when used with memcpy( ).
NodeBuilder Errors Guide 5-7
NCC# Description
38 Possible data truncation [NCC#38]
This message results from an automatic conversion of a long
variable to a short. To make this warning go away, modify the
variable declarations or use an explicit cast operator, which disables
the compiler warning.
39 Cannot open debug output info file [NCC#39]
This problem could occur when the compiler attempts to open the
output file with .DBG extension, but the file cannot be opened
properly with write access. It is possible that the file is marked readonly, or that the output folder does not exist, or there is a disk or
operating system problem.
40
Enum list has more values than the debug info supports
[NCC#40]
The range of enum values in Neuron C is from -128 to 127.
According to the definition of ANSI C, multiple enumerated constant
names may appear in an enum type for the same constant value;
thus there is really no limit to the number of names in an enum
value list.
However, the Neuron C Debugger only supports a maximum of 255
enumerated constant names in a given enum type. An enum that
contains more names than this is still perfectly acceptable to the
compiler; however, the debugger is only capable of using the first 255
names in the enum type.
41 Too many function parameters for debug info [NCC#41]
The Neuron C Debugger can only support functions with 14 or fewer
parameters. Use of functions with more than 14 parameters may
result in strange or incorrect results when using the debugger to
display stack contents, and so on. Note that this is a limitation on
number of parameters, and not on the number of bytes used to store
those parameters.
42 Too many include search directories specified [NCC#42]
A maximum of 20 directories may be specified in the includedirectory search list.
43 Cannot open output dependency-file [NCC#43]
The compiler opens several output files as part of its initialization.
All the files are placed in the intermediate folder. In the LonBuilder
development tool, the intermediate folder is the IM folder within the
project folder. In the NodeBuilder development tool, the
intermediate folder is the IM subfolder in each target folder
("Release", "Development", etc). This error may indicate that the
disk is full, or may indicate a disk error, or may indicate a read-only
disk condition (if for example, the project directory and its
subdirectories are on a floppy disk and the disk is write-protected).
Also, confirm that the project folder contains a subfolder named IM.
5-8 Neuron C Compiler Errors (NCC)
NCC# Description
44 Too many include files [NCC#44]
A maximum of 254 files may be opened in a single compilation. The
source file and the three compiler helper files count as four files
altogether, thus there may be no more than 250 application include
files. (An include file included from another include file counts as a
separate file.)
45 System open file limit exceeded [NCC#45]
This problem should not be seen under modern Windows operating
systems, since there is no hard limit on open files.
DOS limits the number of files that may be open simultaneously, and
this is reflected in DOS versions of the compiler. The number of files
is limited by the FILES= setting in CONFIG.SYS (see your DOS
manual). It is recommended that a setting of at least 20 is used.
However, some configurations (use of TSRs with files, deeply nested
include file structures, and so on) may require a larger FILES=
setting. Try increasing this value (you must reboot to have any
change to CONFIG.SYS take effect). However, under no
circumstances is any one process allowed to have more than 20 files
open simultaneously. Thus, the practical limit to nesting of include
files is 12 deep (as the compiler may have as many as eight noninclude files open at once).
46 Class ‘register’ was ignored [NCC#46]
This keyword has no effect in Neuron C.
47 Type qualifier ‘volatile’ was ignored [NCC#47]
This keyword has no effect in Neuron C.
48 Floating point is not supported [NCC#48]
Neuron C does not support floating point built-in data types and
operators. Use the floating point library functions instead. See the
Functions chapter in the Neuron C Reference Guide for more
information on using the floating point library, and the standard
include file <float.h>.
49 Invalid array bounds [NCC#49]
In Neuron C, an array bound constant-expression must resolve to a
positive integer no larger than 32767.
50 Bitfield size must be from 0 to 8 bits [NCC#50]
A bitfield must fit inside an int type. Since in Neuron C an int is 8
bits, the bitfield is also limited to 8 bits. Note that in ANSI C a
bitfield size of 0 bits is legal for an unnamed bitfield. Such a bitfield
forces alignment to the next storage unit boundary (which is a byte
in Neuron C, since the Neuron Chip architecture does not force any
multi-byte data alignment.).
51 Bitfield type is incorrect [NCC#51]
A bitfield may only be declared using only a combination of the type
keywords int, signed, unsigned, long, short, and char. Bitfields
may not be arrays, pointers, structures, unions, or any other Neuron
C type.
NodeBuilder Errors Guide 5-9
NCC# Description
52 Bitfield size cannot be 0 unless unnamed [NCC#52]
In ANSI C a bitfield size of 0 bits is legal for an unnamed
bitfield.
Such a bitfield forces alignment to the next storage unit boundary
(which is a byte in Neuron C, since the Neuron Chip architecture
does not force any multi-byte data alignment.).
53
Keyword ‘polled’ is ignored for input network variable
[NCC#53]
The polled keyword only applies to output network variables. This
restriction does not apply to the case of compilation within a
ShortStack development environment.
54 Repeated bind_info option [NCC#54]
The bind_info keyword is followed by a parenthesized list of one or
more options, some with associated values. Each keyword may
appear at most once.
55 Storage class on struct/union field not permitted [NCC#55]
A field in a struct or union may not have a storage class, and may
not contain the word typedef. Nor can it be a message tag, a timer
object, nor a network variable, nor can it have bind_info. Note also
that a union may not contain bitfields.
56 Enum constant out of range [NCC#56]
In Neuron C as in ANSI C, an enumerated type, declared using the
enum keyword, is equivalent to an int type. The int type is signed.
In Neuron C, an int is implemented using 8-bit signed two’s
complement representation. Thus, the valid range of enumerated
type values is –128 to +127.
57 Enum value wrapped around to negative [NCC#57]
The enumerated type automatically assigns consecutive integers as
the values of the named constants unless specifically given a value
for a constant. When literal-constant-n has the value 127, and
literal-constant-n+1 appears, the compiler automatically assigns it
the “next” value. In Neuron C, this value is -128 (since the enum
type is signed in ANSI C). The compiler issues a warning diagnostic
for this condition, and proceeds.
58 Nothing was declared [NCC#58]
Similar to Declaration defaults to ‘int’, No declaration for formal
parameter - int assumed, in a situation like the following:
long; int j;
This is legal C, but may not be what the programmer intended.
Thus, for the “first” declaration (the statement long;) this diagnostic
is produced. Many C compilers do not issue a warning in these
circumstances. Note that Neuron C will not issue a warning in the
following cases, since something is being declared (namely the
enum's or the struct field names, respectively):
enum { FALSE, TRUE } ;
struct { int a; int b; };
5-10 Neuron C Compiler Errors (NCC)
Loading...
+ 93 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.