NodeBuilder Errors Guide ® Revision 2 Corporation 078-0193-01B
Echelon, LNS, LON, LonBuilder, LonTalk, LONWORKS, Neuron, NodeBuilder, 3120, 3150, and the Echelon logo are trademarks of Echelon Corporation registered in the United States and other countries. LONMARK, LonSupport, the LONMARK logo, and ShortStack are trademarks of Echelon Corporation. Other brand and product names are trademarks or registered trademarks of their respective holders.
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.
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.
Contents Preface Audience Content Related Manuals Typographic Conventions for Syntax Contents iii iv iv v v 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 Firm
1 NodeBuilder Debugger Errors (DBG) This chapter describes errors that may be produced by the NodeBuilder Debugger.
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.
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
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.
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.
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.
2 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.
DEP# Description 1 An error occurred accessing file : [DEP#1] System error when accessing dependency file, see error message for details provided as . 2 An error occurred when processing dependency information: [DEP#2] System error not related to file I/O, see error message for details provided in . 3 An error occurred, but no details are available Unknown error.
3 Comm Parameter Calculator Errors (LCL) This chapter lists and describes errors that may be produced by the communication parameter calculator.
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 [LCL#2] Bad encoded value for clock speed (5 for 10MHz, 6 for 20MHz, etc).
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 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.
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, 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.
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.
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. /* /* */ Note, however, that this particular pattern may indicate a condition where there are actually two comments intended, but the first is unterminated.
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.
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.
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.
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.
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.
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.
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.
NCC# Description 59 Expression type mismatch [NCC#59] 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 masking poor programming practice.
NCC# Description 68 Message event code must be in range 0..127 [NCC#68] The event msg_arrives accepts one optional parameter, which is a message event code. This code must be a compile-time constant integer expression with a value from 0 to 127, inclusive. 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 89 Input network variables cannot have service-type [NCC#89] 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. Service types only apply to output network variables. 90 Base type of network variable is too large [NCC#90] A network variable array element, structure, or union is limited to 31 bytes.
NCC# Description 102 103 104 105 106 107 108 109 110 111 I/O object type restricted to pins IO_0 through IO_4 [NCC#102] I/O object type restricted to pin IO_0 [NCC#103] I/O object type restricted to pins IO_0 through IO_7 [NCC#104] I/O object type restricted to pins IO_0 or IO_1 [NCC#105] I/O object type restricted to pins IO_4 through IO_7 [NCC#106] I/O object type restricted to pins IO_4 or IO_6 [NCC#107] I/O object type restricted to pin IO_10 [NCC#108] I/O object type not allowed on pin IO_7 or IO_10
NCC# Description 115 Pins IO_5...IO_7 must use ‘mux’ timer [NCC#115] For I/O object types that use a timer/counter, the timer/counter used is dependent on the pin assigned to the I/O object. There are two timer/counters, the dedicated (abbreviated ded) and the multiplexed (abbreviated mux). The dedicated circuit uses pin IO_1 for output and pin IO_4 for input. The multiplexed circuit uses pin IO_0 for output and multiplexes among pins IO_4, IO_5, IO_6, and IO_7 for input.
NCC# Description 124 Incorrect ‘clock’ select value [NCC#124] For I/O objects that accept a clock modifier in their declaration, the legal values are from 0 to 7, inclusive, except for the pulsecount output object, which uses only 1 to 7. The clock value must be a constant expression. 125 Incorrect ‘numbits’ value or type [NCC#125] 126 The bitshift I/O object type declaration can optionally specify the number of bits to be specified.
NCC# Description 133 Explicit addressing requires inclusion of [NCC#133] An attempt to use the msg_out.dest_addr field or the msg_in.addr field has been detected, but cannot be compiled because the include file was not included by the programmer. Note that the include directive must appear prior to the first such field reference. The include file is not needed for references to other fields of the msg_out or msg_in objects.
NCC# Description 140 Incorrect message object field reference [NCC#140] 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 data field is an array, and access to it must be via index, except when used with the memcpy( ) function.
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 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. 155 The ‘priority’ is ignored for this ‘when’ clause [NCC#155] There are three special events in Neuron C, namely reset, offline, and online, for which the declaration of priority has no effect. This is because, due to the special times at which these clauses are executed, they always have priority.
NCC# Description 165 Invalid type for bitfield [NCC#165] 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, or any other Neuron C type. 166 Field name in struct/union cannot be repeated [NCC#166] Each field name at a given level of a struct or union declaration must be unique. Names are case sensitive.
NCC# Description 173 Expression has no effect - discarded [NCC#173] The compiler outputs this warning diagnostic when the optimizer discards an expression. Examples of such expressions are: x = y-1, z; /* y-1 is discarded */ a+3; /* a+3 is discarded */ x == 1? y: z; /* z is discarded */ 174 Return value of function was ignored [NCC#174] A function that has a return type (other than void) is used in an expression, but the caller discards the return value without it being used or stored.
NCC# Description 179 Incorrect use of ‘void’ in function prototype [NCC#179] The void type has no size. It cannot be used as an argument of the sizeof operator, nor can it be used to declare a variable. Its only legal uses are in declaring function return types, declaring that a function has no parameters, and in combination with * to define a type void * (a wildcard pointer type).
NCC# Description 184 No formal parameter matches the parameter declaration [NCC#184] This diagnostic results from an error of the form shown below, where there is no declaration for the parameter named b.
NCC# Description 191 Object of call is not a function [NCC#191] The syntax encountered is function call syntax, i.e.: expression ( [ expression-list ] ) however, the expression being called is not a function (or a pointer to a function). Note that this error could occur by omitting an operator.
NCC# Description 198 Type mismatch in function parameter [NCC#198] 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. 199 Too many parameters passed to function [NCC#199] 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 206 Invalid indirection expression - not a pointer [NCC#206] This error occurs when the operand of the * indirection operator is not a pointer. This operator can only be applied to a pointer variable or a constant typed as a pointer. 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.
NCC# Description 215 Array in struct or union must have bounds [NCC#215] 216 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 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. In order for the compiler to generate correct code, it must know about the conflicting devices in advance. Thus, the #pragma enable_multiple_baud directive must be specified in advance. 232 Hex escape char code constant is too large [NCC#232] A hex escape character inside a character or string constant exceeds the value 0xFF.
NCC# Description 238 File write error - is disk full? [NCC#238] 239 240 The compiler encountered an error writing to the output file(s). Check that the output media is not write-protected, and that sufficient disk space exists. It is possible, for extremely large programs, that a megabyte or more of temporary disk space would be needed during compilation.
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 (i.e. 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 (e.g. in a function), but not at file scope.
NCC# Description 265 266 267 The stack frame of this procedure is too large (>200 bytes) [NCC#265] The stack frame of this procedure exceeds 100 bytes [NCC#266] The stack frame of this procedure exceeds 7 bytes [NCC#267] On Neuron Chips, references to variables near the top of the stack use the most efficient instructions. The further down in the stack one goes, the less efficient the instructions become. This inefficiency affects both the code size and the code performance.
NCC# Description 275 Recommend use of 'fails' or 'succeeds' event instead [NCC#275] This message indicates that the call to a completion event can be changed to a fails or succeeds event as an efficiency consideration. See the discussion on events in the Neuron C Programmer’s Guide or the Neuron C Reference Guide. 276 The 'preempt_safe' keyword has no effect on this 'when' clause [NCC#276] Some when clauses and their associated tasks will be executed regardless of preemption mode.
NCC# Description 300 Access to stack variable is beyond end of stack [NCC#300] The indicated fetch or store to a local variable or parameter on the stack is beyond the possible end of the Neuron's stack. No instruction can be generated for the indicated fetch or store. This could occur with an array variable on the stack being indexed beyond the array bounds. This could also occur as a result of incorrect direct address calculations on a stack variable, such as a structure.
NCC# Description 309 Incomplete binary constant ‘’ [NCC#309] A binary constant begins with 0b and must be followed by one or more binary digits, (i.e. the digits 0 or 1). 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, etc.
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 dowhile. 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 332 Problem reading 'snvt.typ' [NCC#332] 334 The snvt.typ file is read by the compiler to obtain definitions of the current Standard Network Variable Types (whose names begin with the characters SNVT_). This type file is located in the TYPES subdirectory of the LonBuilder system directory. The LonBuilder system directory is, by default, named \lb.
NCC# Description 338 The '#pragma codegen' directive must precede affected code [NCC#338] The codegen pragma (see the Compiler Directives chapter of the Neuron C Reference Guide) affects code generation for certain Neuron C features. Selection of a codegen option must precede any generated code that would be affected by the option. It is best to place these pragmas at the beginning of a program.
NCC# Description 349 350 Read error on cached file [NCC#349] Write error on cached file [NCC#350] A read error or a write error was reported while accessing a file. Check for adequate disk space, or the possibility of loss of network connection (if a networked file), or removal of removable media. 352 Array size exceeds 65535 [NCC#352] The array variable being declared exceeds a total size of 65535 bytes. No array, struct, or union variable in Neuron C can exceed 65535 bytes.
NCC# Description 359 The keywords 'offchip' and 'onchip' are mutually exclusive [NCC#359] As the message states, at most one of these storage classes may be used in a data declaration.
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, etc. 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 422 Invalid property reference [NCC#422] The item appearing in the property list is not a configuration property. 423 The scope value of the LonMark Resource File reference is out of range [NCC#423] The valid range of the scope value is 0 .. 6. The compiler has encountered a resource file containing a scope value that is out of that range. Use the NodeBuilder Resource Editor to examine the resource file and correct the scope value if possible, otherwise contact LonSupport.
NCC# Description 429 Incorrect number of arguments for the director function [NCC#429 The function returns void, and it has two parameters. The prototype for a director function must be in the form shown below: void f (unsigned index, int cmd); For more information, consult the Neuron C Programmer's Guide or the Neuron C Reference Guide.
NCC# Description 436 The specified NV has already been used as an fblock member [NCC#436] A network variable (or element of a network variable array) can be a member of at most one functional block. 437 The member ‘’ already has an NV implementation [NCC#437] Each member of a profile can be implemented by a network variable in the device's functional block declaration, but the member can only have one implementation.
NCC# Description 442 Existing LonMark SD string info for node will be overridden [NCC#442] When a Neuron C program uses any of the new Neuron C Version 2 features that support the construction of a LONMARK device, the compiler will create the SD and SI information for the device.
NCC# Description 446 NV array elements used as members of fblock array require a starting index [NCC#446] A functional block array declaration must have its members implemented using network variable arrays. The network variable arrays may be larger than the functional block array, and the indices need not be identical (between the functional block array and the various network variable arrays).
NCC# Description 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. The network variable arrays may be larger than the functional block array, and the indices need not be identical (between the functional block array and the various 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 changeable-type 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 userinterface 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 489 NV ‘’ requires a SCPTnvType property, since it is changeable-type [NCC#489] The changeable-type network variable mechanism requires that such network variables each have a SCPTnvType property. The SCPTnvMaxLength property is only needed if the network variable also supports changeable-types of various lengths.
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 516 The FPT specifies that mandatory CP member ‘’ applies to NV member ‘’, but no corresponding property was found [NCC#516] The compiler did not find the mandatory property appearing in the nv_properties list of the member network variable.
NCC# Description 525 Cannot have the '#pragma skip_ram_test_except_on_power_up' because it conflicts with '#pragma ram_test_off' You cannot choose both options, since they would be logically contradictory with each other. 526 Cannot have the '#pragma ram_test_off' because it conflicts with '#pragma skip_ram_test_except_on_power_up' 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 Neuron C Version 2.
NCC# Description 531 The FPT requires that this property array have no more than elements Neuron C Version 2.1 introduces configuration properties that are arrays. In other words, the entire array is treated as a single property. The FPT resources (SFPT*, UFPT*) designate, for each property, whether that property may not, may, or must be an array. In the case of properties that must be an array, the FPT can specify a fixed array bound, or a variable array bound within a range.
NCC# Description 537 If I/O clock is specified, the pragma must precede the SCI device declaration The sci I/O object declaration can (and in most cases does) specify an initial baud rate. This baud rate is used to construct a register setting that is dependent on the device's input clock. The #pragma specify_io_clock is used to communicate the input clock value to the compiler, and it must appear in the program before the declaration of the I/O object.
NCC# Description 544 The #pragma system_image_extensions nv_length_override must precede all uses of the 'nv_len' property Use of the directive #pragma system_image_extensions nv_length_override selects use of the user-written extension function get_nv_length_override() when determining the length of a network variable. Therefore this pragma must be used to select this method prior to any attempts to get the length of the network variable.
NCC# Description 549 The property '' cannot be shared by NVs with different SCPTmaxNVLength properties ( and ) A configuration property of SCPTnvType type that is shared by more than one changeable_type network variable must be shared only by network variables that all have the same property of SCPTmaxNVLength type, if any of those network variables use a property of SCPTmaxNVLength type.
NCC# Description 555 The CPT (Configuration Property Type) is obsolete A resource file can optionally designate any of the configuration property types that it contains as being obsolete. This designation indicates that the configuration property type should no longer be used in new development. This designation does not prevent its use, but it does display this warning message.
6 Neuron Exporter Errors (NEX) This chapter lists and describes the errors that may be produced by the Neuron Exporter.
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. Make sure to correct your build scripts as appropriate. 2 Invalid record in , line [NEX#2] Invalid record in input file, see error message for details. Contact LonSupport if the problem persists.
NEX# Description 13 Unexpected EOF in file '' at line # [NEX#13] Unexpected end of file. See error message for details. Attempt fixup with rebuild and contact LonSupport if problem persists. 14 Line # in input file '' is too long [NEX#14] A record in an input file was longer than expected. See error message for details. Attempt fix-up with rebuild and contact LonSupport if problem persists.
NEX# Description 23 Cannot find file '' [NEX#23] Cannot find a required file. Attempt to fix with rebuild and contact LonSupport if problem persists. 24 Cannot create file '' [NEX#24] Cannot create a file. Make sure the media is writable and the destination folder has not been write-protected. Contact LonSupport if problem persists. 25 Cannot read file '' [NEX#25] Cannot read from a file. Attempt to fix with rebuild and contact LonSupport if problem persists.
NEX# Description 33 Invalid xcvr type ID specified: '' [NEX#33] Invalid transceiver type. There is no such transceiver in the standard transceiver database stdxcvr.xml. An updated version of that file might be available at the www.lonmark.org website for download. Contact LonSupport if problem persists. 34 Unable to access Neuron Type file: '' [NEX#34] Unable to access the Neuron type database. See error message for failure details.
NEX# Description 43 Can not compute communication port control byte [NEX#43] Cannot compute communication port control byte. Make sure your standard transceiver parameter database (stdxcvr.xml) has not been corrupted. An update might be available at the www.lonmark.org website. 44 Unknown reason [NEX#44] Failure to compute communication parameters, no reason given. Contact LonSupport if problem persists. 45 Internal error [NEX#45] Internal error when calculating communication parameters.
NEX# Description 51 The device's clock rate (encoded value ) and the transceiver's communication rate (encoded value ) result in an invalid communication clock divider value. One of the two input rates must be invalid [NEX#51] The device's clock rate and the transceiver's communication rate result in an invalid communication clock divider value. One of the two input rates must be invalid. See error message for failure details. Try increasing or lowering the Neuron clock speed.
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. 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. 58 Unable to determine transmit interpacket padding using transceiver [NEX#58] Unable to determine the transmit interpacket padding.
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 data book and the NodeBuilder User's Guide for details about exporting configured images.
NEX# Description 75 The transceiver supports a maximum clock rate of MHz[NEX#75] The chosen transceiver requires the Neuron Chip or Smart Transceiver to operate at a certain maximum clock rate; please consult your transceiver or Smart Transceiver databook for details.
NEX# Description 4005 Ignoring superfluous .phd file () [NEX#4005] 4006 Ignoring superfluous .phd file. Both a new and a legacy linker dependency file have been specified; the old format (.phd) is being ignored. The selected feature requires exporting a configured image (feature ignored) [NEX#4006] A feature was requested that can only be used with a configured image; use the --state command to request exporting of a configured image. 4007 Cannot update dependency file ().
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/node configuration. The warning indicates that the problem has been recognized, a zero-length domain is being assumed, and the export continues.
7 Project Make Errors (PMK) This chapter documents and explains the warning errors and error errors produced by the Project Make component of the NodeBuilder software.
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 112 Failure initializing , code .[PMK#112] Failure initializing the internal service with failure code . Make sure the target service exists in the current Windows search path (e.g. LONNCC32.DLL, LONNAS32.DLL, LONNEX32.DLL, LONNLD32.DLL, etc). Contact LonSupport if the problem persists. 113 Unknown command ()=, or parameter is invalid or malformed.
PMK# Description 121 Cannot determine transceiver type. Verify preferences in device template and project. [PMK#121] Failure to determine the transceiver type. The project file and/or device template file might be corrupt. Edit these files and correct the transceiver preferences, specifying an explicit transceiver type (other than 'Default'), if needed. 122 Cannot calculate signature, [PMK#122] The external interface signature cannot be calculated.
PMK# Description 132 Cannot read the hardware platforms database . [PMK#132] Make sure the platform’s database file exists. The default location for this database file is \LonWorks\NodeBuilder\Templates\Hardware\nbplatforms.xml 133 Library is required but cannot be found [PMK#133] The Project Make Facility has aborted the build process because a library is required, but cannot be found. 4001 An empty program ID has been specified.
PMK# Description 4004 Can't delete intermediate folder : (system error code )[PMK#4004] Failure to complete a "clean" command. Write-protected files or folders in that area might cause this, or it could be caused by userdefined data in the intermediate folder(s) ("IM" folder(s)) or in the target folders ("Development" or "Release" folder(s)). NodeBuilder attempts only to "clean" files produced by NodeBuilder.
PMK# Description 4009 Unknown file type for () [PMK#4009] The build status calculator was unable to determine the type of a file. This indicates a corrupted dependency file. Proceed with build and attempt a re-build. If the problem persists, contact LonSupport. 4010 Can't open or write to build log file . An existing build log file in this location might be out-of-date as a result of this failure [PMK#4010] Can't open or write to build log file .
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 (.
8 Common Command Line Errors (UCL) This chapter lists and describes errors that may be produced 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# Description 1 service is locked [UCL#1] The UCL engine is locked. The UCL engine LONUCL32 cannot reference itself. Make sure to specify the correct target UCL service other than LONUCL32; contact LonSupport if the problem persists. 2 service not found. [UCL#2] The targeted UCL service cannot be found. Make sure 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 11 Bad command set [UCL#11] 100-999 4001 Some commands are missing (but required), non-accumulative commands have been given more than once, etc. Check the target service documentation for the supported and required commands. This is an internal error condition, please contact LonSupport. These numbers are reserved for service-specific error codes, check the documentation of the specific service for details. Can't open or write to build log file .
9 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 at this time.
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 may post errors too, using the error_log( ) function. Only the last error posted is saved. users are allocated error numbers 127 and below.
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 node 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 143 NV update received for output network variable. This error may occur rarely due to network transmission problems. Another node tried to update an output network variable. 144 No message available. This system error is logged by the Neuron Chip firmware. This runtime error is checked only in the development environment. This error occurs if an application program tries to reference the msg_in message object when no msg_arrives event has occurred. 145 Illegal send.
Code Description 153 Checksum error over configuration data. This error may occur rarely due to Neuron Chip, transceiver, or application failure. The Neuron Chip retains a checksum of the application program and of the configuration data. If it is not the correct value, an error is logged, and the node goes into a blank or unconfigured state. This is usually a hardware problem, although it could be caused by the application writing over itself.
Code Description 161 Self-installation 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. Can appear during invocation of self-installation functions. 162 Read write 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. Can appear during reload of an application. 163 Application image inconsistency.