Echelon NodeBuilder Errors 3120, NodeBuilder Errors 3150 User Manual

0 (0)
NodeBuilder
Errors
®
Guide
Revision 2
C o r p o r a t i o n
Echelon, LNS, LON, LonBuilder, LonTalk, L
ONWORKS, Neuron,
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.
Printed in the United States of America. Copyright ©1990-2003 by 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
Category Chapter
Chapter 1 Dependency Checker Chapter 2 Comm Parameter Calculator Chapter 3
ONWORKS
®
XML module
®
Compiler
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
iv Preface

Related Manuals

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 type abstract 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 re­opening 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.
Warning errors 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 non­standard 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
app_buf_in_size app_buf_out_priority_count app_buf_out_count app_buf_in_count disable_snvt_si enable_sd_nv_names net_buf_out_size net_buf_in_size net_buf_out_priority_count net_buf_out_count net_buf_in_count num_addr_table_entries num_alias_table_entries num_domain_entries one_domain receive_trans_count set_id_string set_netvar_count set_node_sd_string set_std_prog_id snvt_si_eecode snvt_si_ramcode
16
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 read­only, 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 include­directory 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 non­include 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