Neuron® Tools Errors Guide ® 078-0402-01C
Echelon, LONWORKS, LONMARK, NodeBuilder, LonTalk, Neuron, 3120, 3150, ShortStack, LonMaker, and the Echelon logo are trademarks of Echelon Corporation registered in the United States and other countries. 3170 is a trademark of the Echelon Corporation. Other brand and product names are trademarks or registered trademarks of their respective holders.
Welcome This document describes various warning and error messages that can occur when using Echelon® development tools, such as the NodeBuilder® FX Development Tool, Mini FX Evaluation Kit, ShortStack® Developer’s Kit, FTXL™ Developer’s Kit, and LonTalk® Interface Developer (LID) utility. Audience This guide is intended for users of Echelon development tools. Content This guide describes the error messages that you can encounter while using Echelon development tools.
For this message, NCC is the category acronym, 456 is the error code, and the text summarizes the error condition. Table 1 lists the acronyms, what tool categories they represent, and the chapter of this manual that describes the error and warning messages for that category. Table 1.
Freely Programmable Modules (FPMs) and deploy them on the SmartServer. FPMs let you implement custom functionality and tailor the SmartServer to meet your needs. • Mini FX User’s Guide (078-0398-01A). This manual describes how to use the Mini kit to develop a prototype or production control system that requires networking, particularly in the rapidly growing, price-sensitive mass markets of smart light switches, thermostats, and other simple devices and sensors.
Table 2. Support Contact Information Region Languages Supported The Americas English Japanese Europe English German French Italian Echelon Corporation Attn. Customer Support 550 Meridian Avenue San Jose, CA 95126 Phone: +1-408-938-5200 Toll Free (US): 1-800-258-4LON (258-4566) Fax: +1-408-790-3801 lonsupport@echelon.com Echelon Europe Ltd.
Table of Contents Welcome .........................................................................................................iii Audience ........................................................................................................iii Content ..........................................................................................................iii Related Documentation ................................................................................
1 NodeBuilder Debugger Errors (DBG) This chapter describes errors that can be reported by the NodeBuilder Debugger.
DBG Errors Table 3 lists the DBG error codes. Table 3. DBG Error Codes DBG# Description 2 Memory allocation failed [DBG#2] An internal memory allocation operation failed. Save your work and restart the debugger. 3 Cannot open a needed file [DBG#3] This error can occur if a debug information file or a source file could not be opened. Clean, rebuild, load and restart the debugger. 4 Invalid DBT file format or DBT file is corrupt [DBG#4] Debug information file is invalid.
DBG# Description 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. Breakpoints can only be set in writeable memory. To debug code that is designed to execute from ROM (or other, nonwriteable memory types), consider executing the same application on suitable development hardware which supports memory suitable for debugging.
DBG# Description 20 Debug session start failed or not done yet [DBG#20] Exit and restart the program and try to debug the device again. Verify that you can communicate with the device being debugged. 21 Command is invalid in the current dbgDebugStatus [DBG#21] The command being sent is invalid given the current state of the debugger. For example, you cannot halt a device which is currently in the DS_SUSPENDED state.
DBG# Description 28 Communication with device timed out before a response was received A call made using function execution did not return or did not return valid data. Verify that the device is operational and communicating with the network. Rebuild and load the device and try again. 29 Bad format found when reading [debug] NXE [DBG#29] The .NXE file might be corrupt; possibly it was hand-edited. Clean, rebuild, load and restart the debugger.
DBG# Description 37 Cannot add to watchlist, limit reached [DBG#37] You can concurrently view a maximum of 100 objects in the Watch List pane. Remove some or all of the entries in the Watch List pane and try again. 38 Can only watch network variables, variables and timer object types [DBG#38] 39 Cannot debug a read/write protected device [DBG#39] The NodeBuilder debugger modifies program memory when it sets breakpoints. You cannot debug a device that has its read/write protect bit set.
DBG# Description 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.
DBG# Description 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 tree view. You can then right-click the Devices folder, click Insert on the shortcut menu, and then select the device you want to debug.
2 Dependency Utility Errors (DEP) This chapter lists and describes the errors that can be reported by the Dependency Utility component. The Dependency Utility is used by several build tools, including the compiler, assembler, linker, exporter, and project make; therefore, these errors could appear when using any of these tools.
DEP Errors Table 4 lists the DEP error codes. Table 4. DEP Error Codes DEP# Description 1 An error occurred accessing file : [DEP#1] A system error occurred when accessing a dependency file, see the error message for details provided as . 2 An error occurred when processing dependency information: [DEP#2] A system error not related to file I/O occurred, see the error message for details provided in .
3 Communication Parameter Calculator Errors (LCL) This chapter lists and describes errors that can be reported by the communication parameter calculator.
LCL Errors Table 5 lists the LCL error codes. Table 5. LCL Error Codes LCL# Description 1 Can not compute communication port control byte. [LCL#1] The tool failed to compute the communication port (CP) control byte. Verify that your standard transceiver database (stdxcvr.xml) has not been corrupted. Re-install the product and choose the Repair option when prompted.
LCL# Description 7 The encoded value for the device's clock input of is not within the supported range of to [LCL#7] An invalid encoded clock value has been used to describe the hardware clock speed. See LCL#2. 8 The encoded value for the channel's minimum clock rate of is not within the supported range of to [LCL#8] An invalid encoded clock value has been specified for the channel's minimum clock speed.
4 LonTalk Interface Developer Errors (LID) This chapter lists the LonTalk Interface Developer utility error and warning messages that are applicable to the ShortStack Developer’s Kit, FTXL Developer’s Kit, and i.LON SmartServer LonTalk Interface Developer tool. This chapter offers suggestions for how to correct the indicated problems.
Overview The LID error messages described in this chapter do not necessarily include the same wording that is shown at runtime. Instead, this chapter provides a summary of the message’s meaning for each message, followed by a brief discussion of possible reasons and remedies.
LID# Description 6 An error occurred when reading a device interface file This is an internal error, probably a result of an earlier failure. A non-fatal error during the creation of the device interface file might lead to this error. Re-run the LonTalk Interface Developer utility in Trace verbosity mode and carefully examine the LonTalk Interface Developer utility Summary window to determine the root cause of the failure.
LID# Description 13 Non-standard transceivers are not supported – the Micro Server uses one of these and no alternative xcvr has been explicitly specified This error can occur if the Micro Server does not specify a standard transceiver as the default, and no standard transceiver has been specified. Use a standard Micro Server and specify a standard transceiver to avoid this problem. This error code applies only to a ShortStack Micro Server.
LID# Description 20 Error (non-file I/O) when writing XIF file Refer to the error message for details about the failure cause. The error message contains details such as “disk full,” or “file access denied”. 21 The xif32bin.exe utility returned an error, indicating failure when converting XIF to XFB The binary device interface file (.xfb extension) could not be created. Verify that a previously existing binary device interface file is not write-protected. Also make sure the XIF32Bin.
LID# Description 27 Unexpected file I/O error when reading a file Refer to the error message for details of the failure cause. 28 Unexpected error (not a file I/O error) when reading a file Refer to the error message for details of the failure cause. 29 Unexpected file I/O error when writing a file Refer to the error message for details of the failure cause. 30 Unexpected error (not a file I/O error) when writing a file Refer to the error message for details of the failure cause.
LID# Description 35 Configuration parameters are in use, but no template file has been found This might be the result of an earlier error. Delete all intermediate files. Re-run the LonTalk Interface Developer utility in Trace verbosity mode and carefully examine the LonTalk Interface Developer utility Summary window to determine the root cause of the failure.
LID# Description 40 Cannot find required symbol in Micro Server's symbol file Refer to the error message for the symbol name. The Micro Server's symbol table can be read but lacks a required symbol. Be sure to use a standard Micro Server. This error code applies only to a ShortStack Micro Server. 42 A type definition cannot be generated -- the type definition has more elements than expected Delete all intermediate files.
LID# Description 49 The FTP server interface is partially implemented, missing the specified member of the device object 50 Data files and file directory are too big for the available space. Available: bytes, required: bytes (missing: bytes) [LID#50] Possible remedies: reduce the size of files by removing extraneous data files, or by sharing CP, or implement FTP.
LID# Description 62 Insufficient buffer space The message includes the total number of bytes available for transceiver buffers and how many additional bytes your selected configuration requires. This error occurs because you specified that the LonTalk Interface Developer utility declare more buffers than the available memory space within the device. To avoid this error, supply or declare more RAM, or request fewer or smaller buffers.
LID# Description 68 The Micro Server does not support transceiver in the chosen configuration This error can occur if you specify incorrect clocking details for the LonTalk Interface Builder (the command-line interface for the LonTalk Interface Developer utility). Check your preferences. This error code applies only to a ShortStack Micro Server.
LID# Description 4002 An intermediate file cannot be removed in the sweep-phase. See message for details Refer to the warning message for details about the warning cause. The sweep occurs when the utility’s operation is complete and the utility did not run in the Trace verbosity level. The warning indicates that an intermediate file cannot be removed. 4004 The Micro Server's default clock rate does not match the explicitly specified clock speed A Micro Server image supports a default clock rate.
LID# Description 4011 The .NCT file references a built-in type with no host equivalent known to LonTalk Interface Developer utility This condition is unlikely to occur and does report an internal error. Check www.echelon.com for available software updates that address the problem, or contact LonSupport@Echelon.com. This message is a warning rather than an error because the condition does not prevent your application from working. Carefully check the type definitions provided in LonNvTypes.
LID# Description 4017 Files cannot be made writable When the LonTalk Interface Developer utility creates the host framework, it produces several files based on input provided by the user. It copies the necessary files into the destination folder. These files are made writable after they are copied, unless this warning indicates it is not possible. See also the LID#4006 warning.
LID# Description 8002 The Micro Server's default transceiver does not match the explicitly specified transceiver A Micro Server image supports a default transceiver type. This warning indicates that a different transceiver has been chosen. The LonTalk Interface Developer utility calculates the correct communication parameters for the desired transceiver. Consult your Micro Server documentation for possible restrictions of supported transceiver types.
5 LonWorks XML Errors (LWX) This chapter lists and describes the errors that can be reported 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 can be reported when using any of these tools.
LWX Errors Table 7 lists the LWX error codes. Table 7. LWX Error Codes LWX# Description 101 Unexpected non-numeric value found in XML data [LWX#101] This might happen if an XML file was edited outside of NodeBuilder. If the file is saved through the NodeBuilder tool and its components, it might 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.
LWX# Description 131 Expected format attribute not found [LWX#131] Either the file was added by hand or there is a program error. Re-install the product and choose the Repair option when prompted. 132 Unrecognized boolean constant'’ [LWX#132] A malformed value was read for a Boolean element or attribute. The utility recognizes 1, TRUE and YES for logical true values, 0, FALSE and NO for logical false values. The related XML data was probable edited by hand.
6 Neuron Assembler Errors (NAS) This chapter lists and describes the errors that can be reported by the Neuron Assembler.
NAS Errors Table 8 lists the NAS error codes. Table 8. NAS Error Codes NAS# Description 1 Too many predefined symbols [NAS#1] The assembler encountered too many symbols. Try reducing your source in size and complexity (for example, you could split your source into multiple modules. 2 Out of memory [NAS#2] 3 Out of memory [NAS#3] The assembler failed to allocate required memory from the operating system. Close the NodeBuilder tool, LonMaker tool, and other applications, and then try again.
NAS# Description 12 Symbol is used but never defined [NAS#12] An unknown symbol was used. For symbols defined within the same module, check the spelling of the symbol definition and reference. For symbols referring to items defined in other modules, make sure to IMPORT the symbol. 13 Symbol past end of relocatable segment [NAS#13] 14 Too many search paths [NAS#14] Too many search paths were specified with the –s (--search) command line option. Specify fewer search paths.
NAS# Description 23 IF[[N]DEF] is never terminated [NAS#23] A conditional expression using the IF, IFDEF or IFNDEF directive was recognized, but the terminating ENDIF was never encountered. Review your conditional assembly expression. 24 Too many conditional assembly directives [NAS#24] Too many conditional assembly directives were encountered. Try reducing the complexity of your conditional assembly, or split the module into two.
NAS# Description 34 Invalid name for the SEG directive [NAS#34] You specified an invalid segment type. See the Neuron Assembly Language Reference for a discussion of the SEG directive. 35 RESOURCE directive requires expression [NAS#35] 36 RESOURCE expression must be a constant [NAS#36] A RESOURCE directive is being used incorrectly. RESOURCE directives are reserved for use by the Neuron C Compiler. Do not specify RESOURCE directives in your Neuron Assembly code.
NAS# Description 47 Offset must be a constant [NAS#47] 48 Constant is out of -1..-8 range [NAS#48] 49 Offset value is out of 0..255 range [NAS#49] 50 Offset value is out of 8..23 range [NAS#50] 51 First operand is out of 0..255 range [NAS#51] 52 Second operand is out of 0..255 range [NAS#52] A constant, offset value or operand was outside the supported value range. 53 is an unknown function name [NAS#53] See the Neuron Assembly Language Reference for a list of supported function names.
NAS# Description 67 Value is larger than 0x1FFF [NAS#67] 68 Offset is out of 0..15 range [NAS#68] 69 Offset is out of -128..127 range [NAS#69] 70 Value is out of 0..255 range [NAS#70] 71 Offset is out of 8..23 range [NAS#71] 72 First value is out of 0..255 range [NAS#72] 73 Second value is out of 0..255 range [NAS#73] 74 Constant too large [NAS#74] 75 Zero-length segment discarded [NAS#75] This diagnostic is not in use.
NAS# Description 106 Cannot write dependency file .nadep (might cause build status calculation to become incorrect) [NAS#106] 107 108 109 Cannot add switch record to dependency file .nadep (might cause build status calculation to become incorrect) [NAS#107] Cannot add input file record to dependency file .nadep (might cause build status calculation to become incorrect) [NAS#108] Cannot add output file record to dependency file .
7 Neuron C Compiler Errors (NCC) This chapter lists Neuron C compiler warning and error messages, and offers suggestions for how to correct the indicated problems.
NCC Errors Table 9 lists the NCC error codes. Table 9. NCC Error Codes NCC# Description 1 Maximum token length exceeded [NCC#1] Neuron C tokens are limited to a maximum of 256 characters. This applies to identifiers, numbers, string constants, and so on. There is no limit on the lengths of Neuron C 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.
NCC# Description 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.
NCC# Description 15 Cannot repeat this pragma [NCC#15] The following compiler directives can only be used once: codegen num_addr_table_entries num_alias_table_entries num_domain_entries one_domain receive_trans_count set_guidelines_version set_id_string set_netvar_count set_device_sd_string set_std_prog_id specify_io_clock 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 inp
NCC# Description 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] Not enough address table entries for optimum efficiency [NCC#24] Most LONWORKS devices are limited to 15 address table entries. Each bindable message tag consumes one address table entry, whether bound or not. Network variables can share address table entries, but there must be at least one available.
NCC# Description 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.
NCC# Description 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.
NCC# Description 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 because ANSI C dictates an enum should be implemented using a (signed) int base type. 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.
NCC# Description 47 Type qualifier ‘volatile’ was ignored [NCC#47] This keyword has no effect in Neuron C. To work with variables that are asynchronously accessed from interrupt-tasks and when-tasks, use the __lock construct for coordinated access. 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.
NCC# Description 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.
NCC# Description 61 Object is not a struct/union pointer [NCC#61] The compiler outputs this message when the left-hand side of the -> operator is not a pointer to a struct or union type. 62 Object is not a structure or union [NCC#62] The compiler outputs this message when the left-hand side of the dot (.) operator is not a struct or union type. 63 Invalid cast operation [NCC#63] Some conversions between data types are not permitted, even through an explicit cast.
NCC# Description 69 Parameter must be a msg_tag [NCC#69] The events msg_completes, msg_succeeds, and msg_fails all accept one optional parameter, which must have previously been declared as a message tag.
NCC# Description 81 Use only 20000, 10000, or 1000 for I/O object's baud [NCC#81] The neurowire 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 20, 10 and 1. If baud is used, the only legal values are 20000, 10000, and 1000. The default bit rate for these I/O object types is 20 kbps, and need not be specified.
NCC# Description 88 Network variables cannot be declared as non-bindable [NCC#88] Some of the options in the bind_info declaration modifier only apply to any network variable, some only apply to an output network variable, and some only apply to a message tag. The nonbind modifier can only be used with a message tag declaration.
NCC# Description 93 Network variable declaration not permitted if micro_interface [NCC#93] Once the #pragma micro_interface directive appears, the program cannot declare any network variables or message tags. See the Compiler Directives chapter in the Neuron C Reference Guide. 94 Network variable base type cannot contain unbounded array [NCC#94] Network variable arrays must be declared with a fixed bound that is a compile-time constant.
NCC# Description 112 All names beginning with the characters 'SNVT_' are reserved [NCC#112] The program should not declare any identifiers, types, and so on, that begin with the characters SNVT_, to avoid any future compatibility problems with Standard Network Variable Types. 113 Two-way I/O device should not be declared 'input' or 'output' [NCC#113] The declaration syntax of I/O objects permits the specification of input or output.
NCC# Description 117 I/O object requires ‘sync’ pin on one of IO_4...IO_7 [NCC#117] The neurowire I/O object type declaration must also include specification of a pin to be used for an I/O object select. Only a pin from IO_0 through IO_7 may be used for a select pin. 118 I/O object requires ‘sync’ pin on IO_4 [NCC#118] The neurowire I/O object type declaration must also include specification of a pin to be used for an I/O object select. Only a pin from IO_0 through IO_7 may be used for a select pin.
NCC# Description 126 Bad I/O modifier for this I/O object type [NCC#126] Several of the I/O object declarations permit or require modifiers, like mux, ded, sync, and so on. These are permitted or required on a per I/O objecttype basis. At most one of each type of modifier is permitted in a single declaration. 127 Duplicate I/O object modifier not allowed [NCC#127] Several of the I/O object declarations permit or require modifiers, like mux, ded, sync, and so on.
NCC# Description 134 Call only applies to bindable msg_tag [NCC#134] The is_bound( ) built-in function returns TRUE (nonzero) if the requested object has been bound. Otherwise, it returns FALSE. The function applies only to network variables and to bindable message tags. A bindable message tag is a message tag declared without the bind_info (nonbind) option.
NCC# Description 141 Not a field in specified struct/union [NCC#141] The compiler outputs this message when the right-hand side of the -> or . operator is not a field in the struct or union type that corresponds to the left-hand-side expression. 142 Invalid storage class combination [NCC#142] This diagnostic results from incorrect or conflicting combinations of storage class keywords, such as eeprom and ram. The error is used for more than just conflicting memory types.
NCC# Description 147 Type defaults to ‘int’ [NCC#147] The definition of ANSI C permits a declaration at file scope without a type. Likewise, functions may be declared without a return type. Such declarations must default to int, by the ANSI definition. However, such declarations are poor programming practice, and may even indicate an error, thus the compiler issues a warning diagnostic. Consider the following example: unsigned long x1, x2; x3; Note the semicolon following x2.
NCC# Description 153 I/O function not valid for this I/O object [NCC#153] Some built-in functions, such as io_set_clock( ) and io_select( ), cannot be used on all I/O object types. 154 This event cannot be duplicated [NCC#154] There are three special events in Neuron C which can only appear in at most one when clause. These events are reset, offline, and online.
NCC# Description 162 Array must have bound [NCC#162] Use of the array type in a declaration must include a constant expression which is the array bound. The only time this bound may be omitted is in the declaration of a function parameter. In this case, use of the bound is ignored, and the parameter is actually treated as a pointer.
NCC# Description 170 Cannot have ‘io_changes’ & ‘io_update_occurs’ on same I/O object [NCC#170] The Neuron C event expressions for io_update_occurs and io_changes (with its various options) only apply to I/O objects that are inputs. Furthermore, some events are not applicable to some input object types. Only one form of event expression can be used per I/O object. A maximum of 15 I/O objects can have io_update_occurs and io_changes events.
NCC# Description 176 This event duplicates or overlaps a previous one [NCC#176] In many cases, use of a when clause containing an event that is a duplicate or an overlap of a previous event expression would prevent the associated task from being executed, or may cause anomalous behavior, with one task being executed sometimes, and the other being executed the rest of the time.
NCC# Description 182 No declaration for formal parameter - int assumed [NCC#182] The definition of ANSI C permits a declaration at file scope without a type. Likewise, functions may be declared without a return type. Also, it is possible to construct a typecast that does not actually contain a type. Such declarations must default to int, by the ANSI C definition. However, such declarations are poor programming practice, and may even indicate an error, thus the compiler issues a warning diagnostic.
NCC# Description 188 Cannot modify a constant object [NCC#188] The Neuron C compiler enforces the const keyword strictly. In addition, data or objects declared using const might be placed in read-only memory areas by the compiler. However, const network input variables are not placed in read-only memory, because their values are updated by network variable messages from other devices.
NCC# Description 193 Function does not allow parameters [NCC#193] The compiler outputs these diagnostics when the number of actual parameters or the actual parameter types, do not match those in the prototype, and they cannot be automatically converted. 194 Not enough parameters passed to function [NCC#194] The compiler outputs these diagnostics when the number of actual parameters or the actual parameter types, do not match those in the prototype, and they cannot be automatically converted.
NCC# Description 200 Type mismatch in assignment expression [NCC#200] These error diagnostics result from combining expressions of conflicting types, such as assigning an int to a pointer, or a pointer of one type to a pointer to another type, or in using objects that have no value (such as message tags or I/O object names) in expressions. In many cases in ANSI C, you must use an explicit type cast. However, note that casting should be avoided if possible, as it is often poor programming practice.
NCC# Description 207 Invalid operand for address operator [NCC#207] The operand of the & address operator is not a variable, or is a variable type for which addressing is not permitted. For example, you cannot take the address of a numeric constant. In Neuron C, you also cannot take the address of a timer object, a message tag, an I/O object, or a functional block.
NCC# Description 215 Array in struct or union must have bounds [NCC#215] An array declared at file scope (outside any other declarations or functions) may be declared without an explicit bound expression, provided an initializer is present. In ANSI C and in Neuron C, the compiler sets the array bounds implicitly by using the count of initial value expressions in the initializer list. However, this feature cannot be used with an array nested inside a structure or union declaration.
NCC# Description 223 Improper function definition - missing parameter list [NCC#223] This message generally results from a syntax error of a specific kind. The compiler's syntax-directed parser is fooled by the error into thinking there is a function definition in progress, but the expected parameter list, in parentheses, which follows a function definition, is not found.
NCC# Description 230 Must specify 'enable_multiple_baud' prior to any I/O function [NCC#230] The #pragma enable_multiple_baud directive must appear prior to the use of any I/O function (for example, io_in( ), io_out( )). If this error message appears, move the #pragma enable_multiple_baud directive to the beginning of your program. 231 Specify '#pragma enable_multiple_baud' for correct I/O operation [NCC#231] Two or more I/O devices have been declared with conflicting bit rates.
NCC# Description 237 Unusual use of function address as value [NCC#237] This message would occur in a situation like the following: int f(void) {return 0;} ... int g(void) { int x; x = 1; if (f) { // Unusual use of function // address x = 2; } return x; } Technically, C permits such a use as shown. Such an expression has little use in Neuron C, however. The programmer most likely wanted to specify "if (f( )) { ...".
NCC# Description 245 Network variable declaration not permitted if netvar_processing off [NCC#245] Once the directive #pragma netvar_processing_off is encountered in a program, network variable declarations are not permitted. This pragma can only be used with the LonBuilder Microprocessor Interface Program (MIP). 246 This I/O object type requires specification of a 'timeout' pin [NCC#246] The I/O object being declared requires specification of an additional pin to use as an external timeout signal.
NCC# Description 247 Statement deleted by optimizer [NCC#247] The Neuron C compiler's optimizer deletes statements for a variety of reasons. For example, the statement may represent unnecessary work, the statement may represent dead (unreachable) code, or the optimizer has combined the statement with another statement. This informatory message is issued for two reasons. First, to let the programmer know why a breakpoint cannot be set on what looks like an acceptable statement.
NCC# Description 248 Comparison is ineffective - result of comparison is a constant [NCC#248] A conditional expression (comparison) which involves a constant value that is out of the range of a variable value is an ineffective comparison; one that always resolves to either the constant TRUE or the constant FALSE. The Neuron C compiler detects such a condition and issues a warning assuming that the comparison might be erroneous.
NCC# Description 251 Assignment operator at top level of conditional expression [NCC#251] This warning is issued by the Neuron C compiler when it detects a use of the assignment operator = in the top level of a conditional expression, for example, in an if statement. int a, b; . . .
NCC# Description 256 Attempt to #undef a name which is not a macro [NCC#256] The preprocessor #undef command can only be applied to an identifier which has previously been defined as a macro using the #define command. 257 Cannot redefine typedef name at file scope [NCC#257] The rules of ANSI C permit redefinition of a typedef inside a nested scope (for example, in a function), but not at file scope.
NCC# Description 264 The fastaccess feature only applies to arrays [NCC#264] The optional fastaccess feature should only be used in declarations of array variable types. The feature does not apply to the indexing operator applied to pointers.
NCC# Description 273 Procedure code generation label resources exhausted [NCC#273] Code generation is performed on a procedure-by-procedure basis. The compiler reuses certain internal resources during code generation of each procedure. One of these resources is internal label markers. There are only a limited number of labels that can be used in a given procedure. These labels are used in each possible branching scenario, in loops, if statements, ?: operators, and switch statements.
NCC# Description 294 Unterminated character constant: ‘’ [NCC#294] The proper format of a character constant is ‘char’. The ‘char’ can either be a single character (except another quote ), or any of a number of ANSI C escape sequences. Consult a basic text on ANSI C, such as one of those listed in the Preface of the Neuron C Reference Guide, for more information.
NCC# Description 302 Syntax error when reading >> << [NCC#302] Any syntax error is reported in this manner. Check the syntax of not only the reported token, but the last few previous tokens. The Neuron C grammar is explained in the Syntax Summary appendix in the Neuron C Reference Guide. 303 Macro text for ‘’ is too long for debug info [NCC#303] The Neuron C debugger can understand macro names, but can only handle the first 16Kbytes of text used in the definition of a macro.
NCC# Description 310 The symbol ‘’ was declared but never used [NCC#310] The compiler issues this warning for any run-time object that is declared, but never used in the executable code. Run-time objects include anything that consumes Neuron memory or other run-time resources, such as I/O objects, variables, functions, timers, and so on. No warning is issued for compile time objects, such as typedefs, structure tags, and so on, which are not used.
NCC# Description 318 Improper context for ‘’ label [NCC#318] Certain statements in ANSI C do not have meaning except within some defined construct. The continue statement can only be used inside a loop statement, which is either a for, a while, or a do-while. The break statement can only be used inside a loop statement or inside a switch statement. The words case and default are reserved words in ANSI C, used as labels inside of the scope of a switch statement.
NCC# Description 334 Specify 'idempotent_duplicate_' pragma with 'micro_interface' [NCC#334] The Microprocessor Interface Program option for a Neuron C compilation requires specification of one of the following two pragmas: #pragma idempotent_duplicate_off #pragma idempotent_duplicate_on For more information, see Chapter 1 of the Neuron C Programmer's Guide.
NCC# Description 340 Parameter to 'propagate' must be output network variable [NCC#340] The built-in function propagate( ) takes as its only argument the name of an output network variable. See the Functions chapter of the Neuron C Reference Guide for more information on this built-in function. 342 I/O object type restricted to pins IO_0 through IO_6 [NCC#342] Different I/O object types are permitted on different subsets of the Neuron Chip’s I/O pins.
NCC# Description 353 Variable being declared is too large for RAMNEAR. Use 'far'. [NCC#353] The variable being declared is larger than 256 bytes in size. The total available size of the RAMNEAR area in the Neuron is 256 bytes, thus this variable declaration must be placed in RAMFAR. Use the far keyword in the declaration ("near" is the default). See Chapter 8 of the Neuron C Programmer's Guide for more information. 354 Variable being declared is too large for EENEAR. Use 'far'.
NCC# Description 387 File’s basename exceeding 52 characters may cause linker problems [NCC#387] In certain situations, including the use of configuration parameters and/or variables declared static, the compiler may construct a “made-up-name” for the variable that is, in part, based upon the basename portion of the filename of the file that is being compiled. (The basename is the part of the filename preceding a "." character.
NCC# Description 390 Could not open the LmRF catalog [NCC#390] LmRF catalog means LONMARK Resource File catalog. The Neuron C compiler for the Neuron C Version 2 language uses the LONMARK Device Resource Files, including the catalog, and files such as *.FPT, *.TYP, and so on. The Neuron C compiler uses the services of the Device Resource Files API (DRF API) to provide access to the Resource Files. If the DRF API cannot open the catalog, the compiler prints this message and stops the compilation.
NCC# Description 393 Cannot add file record to dependency file (might cause build status calculation to fail) [NCC#393] Cannot add switch record to dependency file (might cause build status calculation to fail) [NCC#394] Cannot add parameter record to dependency file (might cause build failure) [NCC#395] Cannot write .ncdep dependency file (might cause build status calculation to fail [NCC#396] 394 395 396 These problems are reported by the dependency utility.
NCC# Description 402 Invalid reference ‘’ – must be an NV-CP or a CP family name [NCC#402] The property ‘’ is not an NV-CP or a CP family name [NCC#403] 403 The compiler has determined that the shown must be a reference to a configuration property. The configuration property must have previously been declared as a network variable using the config_prop or cp option keyword in the declaration, or as a configuration parameter family using the cp_family keyword.
NCC# Description 409 A ‘cp’ network variable cannot have a variable property list [NCC#409] The Neuron C Version 2 syntax permits nonsense declarations like the following example, but the compiler later determines that the nv_properties clause can only apply to a network variable declaration that is not a configuration property. The LONMARK Application Layer Interoperability Guidelines do not permit a configuration property to have properties of its own.
NCC# Description 417 Invalid declaration type for ‘properties’ clause [NCC#417] The Neuron C Version 2 syntax permits nonsense declarations like the following examples, but the compiler later determines that the nv_properties clause can only apply to a network variable declaration.
NCC# Description 421 Overuse of ‘cp’ network variable [NCC#421] A configuration property implemented using a network variable may not appear in more than one property list, unless the property list also uses the static or global keyword. The same network variable cannot be used as a property for the device, network variables, and functional blocks simultaneously. See the chapter describing the use of configuration properties in the Neuron C Programmer's Guide.
NCC# Description 427 The context for the ‘: :’ operator is not a valid context [NCC#427] The :: operator can be used to access the members and the properties of a functional block, as well as the properties of a network variable, or properties of the device. This message indicates that the context, or the portion of the property expression that precedes the :: operator, is neither a functional block nor a network variable.
NCC# Description 432 The FPT used in fblock declaration is obsolete [NCC#432] The LONMARK Device Resource Files permit FPT, NVT, and CPT definitions to be marked as obsolete. This means that a replacement FPT, NVT, or CPT is available, and the use of the obsolete item is discouraged (though it is permitted). Contact LONMARK International for more information on the obsolete FPT, NVT, or CPT.
NCC# Description 439 The FPT ‘’ specifies that NV member ‘’ must be implemented [NCC#439] Network variable members of the FPT are each marked as either mandatory or optional. All mandatory members must have an implementation, as declared using the implements statement in the member list in the fblock declaration.
NCC# Description 445 NV array element used as member of fblock requires an index [NCC#445] A simple (non-array) functional block declaration requires network variable members that are not arrays. These members can either be simple network variables, or elements of network variable arrays. In the case of an element of a network variable array, an index expression must be part of the declaration in the implements statement, to identify the array element to be used.
NCC# Description 449 The fblock or NV context requires an index[NCC#449] A functional block array or a network variable array used as the context (left-hand side) of the property operator :: must have an index expression. An entire array cannot be used in this manner, only an individual element. 450 The fblock array requires NV array(s) as members [NCC#450] A functional block array declaration must have its members implemented using network variable arrays.
NCC# Description 456 The directive ‘#pragma num_alias_table_entries’ is required [NCC#456] A Neuron C program must specify to the Neuron C Version 2 compiler how much room is to be reserved for the alias table. The compiler does not attempt to compute a default, so the programmer must specify a value for this pragma. Previous versions of the Neuron C Compiler defaulted this value to zero, but that is really not an appropriate default value.
NCC# Description 462 Global property cannot inherit conflicting types [NCC#462] When a configuration property is declared using the global keyword, it is shared among multiple network variables (or functional blocks). Some CPTs are incomplete type definitions, and the configuration properties that use these CPTs in their declarations inherit their types from the network variables they apply to.
NCC# Description 470 The program ID for this program requires the changeable interface bit [NCC#470] A program that has one or more network variables declared as changeabletype must also set the changeable interface bit in the program ID, to tell a network management tool that the program interface is changeable. Use the SPID Calculator in NodeBuilder to set the changeable interface bit of the program ID. See the LONMARK Application layer Interoperability Guidelines for more information on this topic.
NCC# Description 476 Codegen option set by pragma instead of by command option [NCC#476] This warning is provided because the NodeBuilder 3 has user-interface controls for certain code generation options, such as the disabling of the compiler's optimizer, but the program is overriding them. Without this warning, a user of the NodeBuilder 3 might think they turned off certain compiler features when, in fact, the program is still turning these options on.
NCC# Description 483 The fblock’s FPT attempts to inherit from a standard FPT, but no standard FPT was found with a matching key [NCC#483] A user-level FPT may indicate (in the LONMARK Device Resource File that contains it) that it inherits members and properties from a standard FPT. The inheritance is by key, a 16-bit value associated with each FPT. Standard FPTs have key values from 0-19999, and user FPTs that inherit from standard FPTs must have matching keys.
NCC# Description 488 NV ‘’ is not an fblock member, and is not a ‘cp’, so the ‘changeable_type’ keyword is ignored [NCC#488] The only support for changeable-type network variables is through the LONMARK information for the variables. The only network variables with LONMARK information are members of functional blocks and configuration property network variables. Put the network variable in a functional block's member list, or declare it as a configuration property network variable of the device.
NCC# Description 499 NV array element used as a property requires an index [NCC#499] A functional block declaration may have its properties implemented using configuration parameters or configuration network variables. A simple (non-array) functional block requires any configuration property network variables to be simple NVs, or NV array elements. These properties can either be simple network variables, or elements of network variable arrays.
NCC# Description 502 NV array used as property is too small [NCC#502] A functional block array declaration may have its properties implemented using configuration parameters or configuration property network variable arrays. The network variable arrays may be larger than the functional block array, but may not be smaller. The network variable array elements' indices need not start at 0 in correspondence with the functional block array, but they must be consecutive.
NCC# Description 506 The ‘cp’ network variable is of inheriting type, but no type has been inherited at this point [NCC#506] A reference to a configuration property network variable has been encountered but the configuration property has not yet inherited a type. The reference in the executable code cannot be compiled, because the variable does not yet have a type.
NCC# Description 517 Global property cannot have conflicting initializers from FPT definitions [NCC#517] 518 The ‘cp’ network variable is of inheriting type, but no type was inherited [NCC#518] At the end of the program compilation, the compiler verifies that all configuration property network variables have inherited a type (by being used as the property of a network variable, or as the property of a functional block with a principal NV).
NCC# Description 526 Cannot have the '#pragma ram_test_off' because it conflicts with '#pragma skip_ram_test_except_on_power_up' [NCC#526] You cannot choose both options, since they would be logically contradictory with each other. 528 The FPT does not permit this property to be an array [NCC#528] Neuron C Version 2.1 introduced configuration properties that are arrays. In other words, the entire array is treated as a single property.
NCC# Description 532 The expand_array_info option is not compatible with use of the NV as CP array [NCC#532] Use of a network variable array as an array configuration property (the entire array is a single property) cannot be used with a network variable that is declared with the expand_array_info option. 533 The spi I/O object cannot use the 'clockedge(+-)' option [NCC#533] For a spi I/O object, you must use either clockedge(+) or clockedge(-).
NCC# Description 539 The #pragma codegen cp_family_space_optimization is incompatible with #pragma codegen no_cp_template_compression selected earlier [NCC#539] You cannot choose both options, since they would be logically contradictory with each other. 540 I/O object type restricted to pins IO_0 or IO_8 [NCC#540] The particular I/O object being declared must either be declared on IO_0 or IO_8.
NCC# Description 546 The #pragma system_image_extensions nv_length_override must precede the get_nv_length_override function's definition [NCC#546] Use of the directive #pragma system_image_extensions nv_length_override selects use of the user-written function get_nv_length_override() when determining the length of a network variable.
NCC# Description 551 The property '' cannot be shared by NVs with different SCPTnvType properties ( and )" [NCC#551] A configuration property that inherits its type from the network variable that it applies to may not be shared by two or more network variables of different type. The message lists two network variables that share the property, but have differing SCPTnvType properties.
NCC# Description 559 Duplicate/repeated cp_info keyword is ignored [NCC#559] A configuration property declaration may optionally contain a parenthesized list of keywords representing option flags. If one or more of these keywords is repeated or duplicated, this warning message is displayed and the repetition or duplication has no other effect. 562 The device SD string exceeds the limit of 1023 characters. Consider using shorter external names, or fblock arrays [NCC#562] 563 Too many instructions.
NCC# Description 574 NV declaration should not be based on a CPT. Are you missing a 'cp' modifier?[NCC#574] Declare network variables using network variable types, and declare configuration properties using configuration property types. For configuration properties implemented as configuration network variables, use configuration property types that reference a network variable type. Do not declare network variables using configuration property types unless you declare a configuration network variable.
NCC# Description 582 System timer frequency is out of range [NCC#582] The system timer’s frequency range is 2441.406 .. 625000 Hz. A 20% error on either end of the scale is supported (1953.1248 .. 687500Hz). See also NCC#583. 583 The resulting system timer interrupt frequency will be , causing an error of % from the specified frequency [NCC#583] The periodic system timer cannot be configured for every possible value with the supported range of 2441.406 .. 625000 Hz.
NCC# Description 588 Intermixing 'pragma optimization' with deprecated codegen options for optimization control is not recommended [NCC#588] You should use #pragma optimization. 589 This codegen option is deprecated and may be discontinued in a future release.
NCC# Description 603 The I2C I/O object cannot use the version 1 I2C I/O model (as requested with '#pragma codegen use_i2c_version_1'), because it uses features not supported in version 1. The version 2 I2C I/O model is being used instead [NCC#603] 604 The guideline version string does not describe a guidelines version in the major.minor format [NCC#604] This warning can occur when specifying a guidelines version with the #pragma set_guidelines_version directive.
NCC# Description 607 The use of infinite locks in a release build is not recommended [NCC#607] This warning is given when you are building a release target that contains one or more infinite __lock constructs (a __lock construct that uses the #pragma deadlock_is_infinite directive). Use finite __lock constructs instead. To do this, replace all #pragma deadlock_is_infinite directives in __lock constructs with the #pragma deadlock_is_finite directive. Rebuild and then reload the release target.
8 Neuron Exporter Errors (NEX) This chapter lists and describes the errors that can be reported by the Neuron Exporter.
NEX Errors Table 10 lists the NEX error codes. Table 10. NEX Error Codes NEX# Description 1 Numerical value out of range: = (..) [NEX#1] Numeric value out of range. See error message for details. A command was specified correctly, but the parameter value given was invalid. Verify that to correct your build scripts as appropriate. 2 Invalid record in , line [NEX#2] Invalid record in input file, see error message for details.
NEX# Description 11 Attempt to read from an unopened file. [NEX#11] This is an internal error condition; please contact LonSupport. 12 Reading from file '' (read behind end of file) [NEX#12] Reading from file failed (read behind end of file). This is an internal error condition; please contact LonSupport. 13 Unexpected EOF in file '' at line # [NEX#13] Unexpected end of file. See error message for details. Attempt fix-up with rebuild.
NEX# Description 21 Unable to compute device's Communication Parameters [NEX#21] Unable to compute device’s communication parameters. Verify device clock speed and transceiver preferences. 22 Out of memory while creating file '' [NEX#22] Out of memory when creating an output file. See error message for failure details. 23 Cannot find file '' [NEX#23] Cannot find a required file. Attempt to fix with rebuild. 24 Cannot create file '' [NEX#24] Cannot create a file.
NEX# Description 31 Transceiver type is invalid [NEX#31] Invalid transceiver type. Verify that to specify the correct transceiver when launching the Exporter. 32 Unable to access Standard Xcvr Type file: ' [NEX#32] Unable to access the standard transceiver database file. See error message for failure details. An updated version of the standard transceiver database file might be available from the www.lonmark.org website.
NEX# Description 42 Malformed or missing parameter record '' in dependency file [NEX#42] Malformed or missing parameter record in dependency file . See error message for failure details. Attempt to fix with clean and complete rebuild. 43 Can not compute communication port control byte [NEX#43] Cannot compute communication port control byte. Verify that your standard transceiver parameter database (stdxcvr.xml) has not been corrupted. An update might be available from the www.lonmark.
NEX# Description 50 The transceiver's general purpose data record seems malformed: [NEX#50] The transceiver’s general-purpose data record seems malformed. Verify that your standard transceiver database (stdxcvr.xml) has not been corrupted. An update might be available from the www.lonmark.org website. 51 The device's clock rate (encoded value ) and the transceiver's communication rate (encoded value ) result in an invalid communication clock divider value.
NEX# Description 57 Unable to determine beta-2 control value using transceiver [NEX#57] Unable to determine the beta-2 control value. See error message for failure details. Verify that your standard transceiver database (stdxcvr.xml) has not been corrupted. An update might be available from the www.lonmark.org website. 58 Unable to determine transmit interpacket padding using transceiver [NEX#58] Unable to determine the transmit interpacket padding. See error message for failure details.
NEX# Description 64 An image can not be exported as configured, without domain, and with a 96 bit authentication key [NEX#64] Exporting configured and authenticated images requires the domain to be specified if a 96-bit authentication key is to be used. See the Neuron Chip or Smart Transceiver data book and the NodeBuilder FX User’s Guide for details about exporting configured images.
NEX# Description 74 The transceiver requires a minimum clock rate of MHz [NEX#74] The chosen transceiver requires the Neuron Chip or Smart Transceiver to operate at a certain minimum clock rate; please consult your transceiver or Smart Transceiver data book for details.
NEX# Description 4004 Old-style dependency file . Use .nxdep instead [NEX#4004] Old-style dependency file was specified. This file format is obsolete and should not be used any longer. Use --nxdep. 4005 Ignoring superfluous .phd file () [NEX#4005] Ignoring superfluous .phd file. Both a new and a legacy linker dependency file have been specified; the old format (.phd) is being ignored.
NEX# Description 4011 No domain ID was specified for the desired configuration. A zero-length domain is assumed [NEX#4011] This warning will occur whenever an image is to be exported into the cloned domain, without a domain ID and/or domain ID length being given. A device that has the clone domain flag raised must still have a valid domain/subnet/device configuration. The warning indicates that the problem has been recognized, a zero-length domain is being assumed, and the export continues.
9 Neuron Linker (NLD) and Neuron Librarian (NLIB) Errors This chapter lists and describes the errors that can be reported by the Neuron Linker and Neuron Librarian.
Overview Message codes shown as [NLD#] in this chapter are shown as [NLIB#] when they originate from the Neuron Librarian, but the numerical message identifier is always unique and unambiguous. NLD and NLIB Errors Table 11 lists the NLD and NLIB error codes. Table 11. NLD and NLIB Error Codes NLD# Description 1 System file limit exceeded [NLD#1] 2 Cannot access or read file 'neuron.
NLD# Description 16 The 'resp_in.
NLD# Description 43 Farmalloc not allowed, s c \n [NLD#43] 44 Alloc size exceeds 64K for single element [NLD#44] 45 Farmalloc called: size=, count= [NLD#45] 46 Alloc size exceeds 64K [NLD#46] 47 IBits not allocated? [NLD#47] 48 IBits() not allocated? [NLD#48] 49 Cannot create IBits file: [NLD#49] 50 Write error to IBits file: -- disk full? [NLD#50] 51 Cannot open image IB file [NLD#51] 52 Bad record in file [NLD#52] 53 Linker symbol table
NLD# Description 62 Writable data areas placed in Flash memory by linker [NLD#62] 63 Writing data to Flash memory can cause delays, potentially leading to missed packets [NLD#63] 64 Writable data in Flash should be updated only rarely [NLD#64] These three diagnostics refer to writing to flash memory during regular application operation. When writing a flash page, the system must ignore incoming network traffic.
NLD# Description 76 Use of EEPROM for sys image requires 0 write time [NLD#76] 77 Off-chip ROM end must be at least page 0x<02X> [NLD#77] 78 Erroneous memory map settings [NLD#78] 79 Invalid memory map settings [NLD#79] 80 Cannot reserve onchip system RAM [NLD#80] 81 System RAM requirement exceeds available onchip RAM [NLD#81] 82 Unable to reserve space in EENEAR for system image [NLD#82] 83 Onchip EEPROM configuration memory requirement is excessive [NLD#83] 84 Consider reducing the numb
NLD# Description 100 Custom images can have absolute addresses only in ROM [NLD#100] 101 Absolute address conflict in area [NLD#101] 102 Absolute block from to not available [NLD#102] 103 Absolute block does not fit in area [NLD#103] 104 Uninitialized data areas in Flash memory -- Check for interleave [NLD#104] 105 Too many search paths [NLD#105] 106 File is not an object file [NLD#106] 107 File is from an incompatible assembler [NLD#107] 108 Cannot link progra
NLD# Description 125 Offset is out of 8..23 range [NLD#125] 126 CALL to is larger than 0x1FFF [NLD#126] 127 Could use relative branch [NLD#127] 128 Could use 'CALLR' [NLD#128] 129 Could use 'CALL' [NLD#129] 130 Could use smaller sequence [NLD#130] 131 Byte value is out of 0..255 range [NLD#131] 132 Could use 'PUSHS' [NLD#132] 133 Byte offset is out of -128..127 range [NLD#133] 134 Could use small branch [NLD#134] 135 DATA.
NLD# Description 337 No module names to delete [NLD#337] 338 Did not find module , cannot delete it [NLD#338] 339 Library does not contain debug info for [NLD#339] 340 Cannot get file status for object file [NLD#340] 341 Library symbol limit exceeded [NLD#341] 342 Library symbol character limit exceeded [NLD#342] 345 Cannot create a temporary file in PackLibrary [NLD#345] 346 Error writing temporary file in PackLibrary [NLD#346] 347 Error reading temporary file in PackLibrary [
NLD# Description 364 No control information available [NLD#364] 365 The '.dbt' extension can only be used for linked files [NLD#365] 366 Extended linked format requested, extended information not available [NLD#366] 367 The linked info in the input files is not used for '.
NLD# Description 388 File string table size exceeds maximum of chars. [NLD#388] 389 File has no scope table.
NLD# Description 471 Invalid number of banks, ; must be 2.. [NLD#471] 472 EE Write time (-y) must be 0..255 [NLD#472] 473 Invalid custom version, ; must be 128..
NLD# Description 505 The target chip does not support machine instruction set version [NLD#505] 506 The target chip does not support all semaphores or interrupt sources required by this application [NLD#506] 507 The 'enable_io_pullups' directive is ineffective; there are no I/O pullups on this chip [NLD#507] 508 The stretched triac output model is not available with the selected firmware image [NLD#508] 509 The target hardware UART does not support all features required by a SCI or SPI I/O ob
NLD# Description 516 Statement expansion is not required for this target [NLD#516] For Series 5000 Chips, you can reduce the size of your code by clearing the Expand Statements option in the Compiler tab of the NodeBuilder Device Template Target Properties dialog. To open this dialog, right click the target device, click Settings on the shortcut menu, then select the Compiler tab.
10 Project Make Errors (PMK) This chapter documents and explains the warning and error messages reported by the Project Make component of the NodeBuilder software.
PMK Errors Table 12 lists the PMK error codes. Table 12. PMK Error Codes PMK# Description 100 101 102 Build failure [PMK#100] Build failure [PMK#101] Build failure [PMK#102] These error codes are generic error codes, which occur as a natural result of a build failure. The reason for the build failure will appear in one or more error messages that precede the generic message (typically the most recent message(s) before this message).
PMK# Description 111 Failure when launching LONUCL32.DLL[PMK#111] Failure attaching to the LONUCL32.DLL - make sure LONUCL32.DLL exists in the current Windows search path, and make sure no other application is attempting to build a target at the same time. 112 Failure initializing , code .[PMK#112] Failure initializing the internal service with failure code . Verify that the target service exists in the current Windows search path (for example, LONNCC32.DLL, LONNAS32.
PMK# Description 119 Cannot determine default firmware version for image : [PMK#119] Failure to determine the firmware version to use as a default. The file 'default.ver', normally contained in the \Lonworks\images folder (on whichever drive your LonWorks folder resides) could be missing or could be corrupt. As a workaround, you can explicitly specify the firmware version in the target device preferences, do not use 'Default' as a firmware version.
PMK# Description 127 The specified program ID appears malformed and invalid. [PMK#127] Use a simple ASCII string, or a byte-array format, using a single colon as a separator between each byte (for example, 94:56:78:9A:0B:0C:0D:0F). 130 Missing hardware template. You must assign a hardware template to device , build target , first.
PMK# Description 4003 Can't write file . This might cause the build status calculator to malfunction, but does not impact the build results (system error code ) [PMK#4003] Failure to write a .nkdep dependency file. Insufficient write-permission, or a write-protected media could cause this effect. This failure does not harm the build itself, but causes the build status calculator not being able to determine the build status correctly. Solution: make .
PMK# Description 4008 The file () was previously required for a build, but can not be found. This might cause a build failure [PMK#4008] The build status calculator recognizes a file that was required for a previous build does not exist any more. This can possibly cause a build failure, and it could be a normal situation after purposeful removal of the file in question. For example, if the file in question were a .
PMK# Description 4014 The device template file could not be updated; the file might be locked or write-protected. This does not impact the current build, but the build status calculator might determine an incorrect build status afterwards. It is recommended the file is made writeable, or only unconditional builds are performed. [PMK#4014] Write failure when updating the device template. This could be caused by a write-protected or otherwise not writable NodeBuilder device template file (.
11 Common Command Line Errors (UCL) This chapter lists and describes errors that can be reported by the common command line system. The common command line system is used in the commands “ncc”, “nas”, “nld”, “nex”, “nlib”, “pmk”, and others.
UCL Errors Table 13 lists the UCL error codes. Table 13. UCL Error Codes UCL# Description 1 service is locked [UCL#1] The UCL engine is locked. The UCL engine LONUCL32 cannot reference itself. Verify that to specify the correct target UCL service other than LONUCL32; 2 service not found. [UCL#2] The targeted UCL service cannot be found. Verify that the service DLL is in a folder contained within the current user's search path, and make sure the DLL exists. 3 target service locked.
UCL# Description 9 wrong context. [UCL#9] A UCL server operation has been requested out of context. This is an internal error condition. 10 Command not understood: [UCL#10] Failure in command parser – see error message for details. Commands on the command line or in a command file cannot be understood due to a syntax error. See on-screen usage hints or printed documentation for a listing of supported command line parameters.
UCL# Description 4003 Skipping to avoid endless recursion [UCL#4003] Command file recursion. A loop condition was detected when parsing command files, and the file named in the warning message was excluded from repeated processing to prevent an endless command file loop to occur. 4004 162 The content of this warning is user-defined. A warning message has been specified by the UCL client, using the --warning command.
12 Neuron Firmware Error Codes This chapter lists and describes the Neuron Chip firmware system error messages. These error messages do not have a three-letter code associated with them.
Overview Every application reserves one byte of on-chip EEPROM memory space to hold the error log. If the firmware posts an error, it is usually due to a severe problem. A network diagnostics tool could periodically collect the error log and device statistics to monitor the health of the system. An application can also post errors, using the error_log( ) function. Only the last error posted is saved. Users are allocated error numbers 127 and below.
Code Description 49 Breakpoint in an ISR. The error is logged, and the ISR context resets the device. Post-reset the error is detected and the device’s state is changed to hard-offline. This is to prevent a possible endless repetition of this condition. 50 System Image Write Protect. Writes to the system image are trapped, the error is logged, and the device resets. 129 Bad event. This run-time error is checked only in the development environment.
Code Description 134 Preemption mode timeout. This system error is logged by the Neuron Chip firmware. The program ran out of buffers and the system gave up trying to get them. Increase the device timeout if this message occurs often. This error causes a reset. 135 Already preempted. This system error is logged by the Neuron Chip firmware. If a program is already in preemption mode and tries to initiate another message, this error is generated. This error causes a Neuron Chip reset.
Code Description 142 Incomplete message. This system error is logged by the Neuron Chip firmware. This run-time error is checked only in the development environment. This error occurs if an application program tries to send a message without first setting the code or data fields of the msg_out structure. 143 NV update received for output network variable. This error may occur rarely due to network transmission problems. Another device tried to update an output network variable.
Code Description 151 Write past end of network buffer. This system error is logged by the Neuron Chip firmware. This run-time error is checked only in the development environment. The outgoing application message could not fit into the outgoing network buffer. The maximum length is 255 bytes. 152 Checksum error over application program. This error may occur rarely due to Neuron Chip, transceiver, or application failure. 153 Checksum error over configuration data.
Code Description 158 Self test failed. This error may occur rarely due to Neuron Chip, transceiver, or application failure. The Neuron failed its self test. The self test includes tests of RAM and internal timer and counter logic. Note that this error code does not get set as a result of the RQ_SELF_TEST command being sent to the device object of an interoperable device. 160 Authentication mismatch.
Code Description 167 Triac clockedge +- not supported. This system error is logged by the Neuron Chip firmware. This error is logged when an application using the triac clockedge plus/minus feature is loaded into a 3150, which does not support this feature. 168 Checksum error over system image. This error may occur rarely due to Neuron Chip, transceiver, or application failure. This error is logged when the device goes application-less following a checksum error in the system image.
Code Description 178 System Image Write Protect. Writes to the system image are trapped, the error is logged, and the device resets. 192-223 State byte semaphore. This value appears temporarily in the error log as part of normal Neuron Chip operation and it should not be construed as an error. This appears when a device’s state byte is being modified.
www.echelon.