NodeBuilder® Development Tool Readme File
Release 3 Service Pack 1, February 2002

Copyright (c) 1998-2002 Echelon Corporation
All Rights Reserved

1         Introduction

This file contains important information not included in the NodeBuilder User's Guide or the NodeBuilder help file.  It includes the original ReadMe from the NodeBuilder 3 Development Tool, with updates for Service Pack 1.  Additional information and updates, including critical updates, may be available in the Echelon Developer's Toolbox at www.echelon.com/toolbox.

Update and upgrade notifications will be sent to registered users, so be sure to register your software.

2         Contents

1      Introduction. 1

2      Contents. 1

3      Installing Service Pack 1. 2

4      Service Pack 1 Changes. 2

4.1       Neuron Chip Firmware Version 13. 2

4.2       LTM-10A Firmware Symbols. 3

4.3       NEI to NFI File Conversion Utility Update. 3

4.4       Gen.lib Library Update. 4

4.5       Other Changes. 4

5      Known Problems and Workarounds. 4

5.1       Installation. 4

5.2       Project Manager 5

5.3       Resource Editor and Code Wizard Resource Pane. 5

5.4       Code Wizard. 8

5.5       Standard Program ID Calculator 9

5.6       Editor 9

5.7       Build Tools. 9

5.8       Debugger 11

5.9       LNS Device Plug-in Wizard. 12

5.10     Resource Files. 14

5.11     Miscellaneous. 14

6      Documentation Changes. 15

6.1       NodeBuilder User's Guide. 15

6.2       NodeBuilder Quick-Start Tutorial 15

7      NodeBuilder Software License Agreement 15

 

3         Installing Service Pack 1

Download or copy the NodeBuilder3SP1.exe file to the drive that contains your LonWorks folder (this is c:\LonWorks by default).  Run this file by double-clicking it in Windows Explorer.  The service pack files will be extracted to a NB3SP1Temp folder on your selected drive. The patch automatically runs after the files are extracted.  If you need to reapply the service pack, run it again from the NodeBuilder3SP1.exe file to ensure the patch is applied with the correct parameters.

4         Service Pack 1 Changes

4.1      Neuron Chip Firmware Version 13

This new version of the Neuron firmware provides fixes for the following problems:

Service Pack 1 updates the default.ver file to specify version 13 for the Cypress Neuron 3120E4 Chip and Echelon FT 3120 Smart Transceiver as well as for all 3150 and FT 3150 chip models.  This file is used by the NodeBuilder tool to determine the default firmware version number.

4.2      LTM-10A Firmware Symbols

A new symbol, set_nv_length, has been added to the Version 121 and Version 122 symbol files used by the LTM-10A module and platform.  These new symbols expose support for the function of the same name that is needed for changeable type and size support.  Other symbols that are exposed include the following: _adjust_checksum1, nv_get_fixed_p, get_ext_ee, and _set_nv_length_valid.

4.3      NEI to NFI File Conversion Utility Update

If you are programming an Echelon FT 3120 Smart Transceiver or Cypress Neuron 3120E2 or 3120E4 Chip using a Neuron 3120 programmer that uses the new direct programming interface, you need to use a flash application image file (.nfi extension) that the NodeBuilder build tools create automatically when you build an application image.  The NodeBuilder build tool automatically calls the NEI to NFI File Conversion Utility (Nei32Nfi.exe) to create the flash application image file.

Service Pack 1 includes a new version of the NEI to NFI File Conversion Utility (Version 3.01.02) that corrects the following problems:

4.4      Gen.lib Library Update

The Gen.lib library has been updated with support for the set_nv_length(), get_nv_length() and get_nv_type() functions.  The corresponding symbol files have been updated for Version 12 as well as Version 13 firmware.

4.5      Other Changes

The following additional problems have been corrected by Service Pack 1:

5         Known Problems and Workarounds

5.1      Installation

The NodeBuilder setup application does not automatically install updated image files in the LonBuilder folder that are required for using a LonBuilder Emulator as a target platform with the NodeBuilder software.  (EPR 23811)Workaround: Copy the Images\Verx\NBE3150.* files in your LonWorks folder (c:\LonWorks\Images\Verx\NBE3150.* by default) to the images\VerX folder in your LonBuilder folder (c:\lb\Images\Verx by default).  Replace x with the firmware version number you are using, for example 13.

If you have installed Netscape, Eudora, ARCserve 2.01 for Windows NT (tape backup program), or other software that installs its own implementation of MAPI on your computer, the following error message may be displayed when you start the NodeBuilder 3 software: "The ordinal 23 could not be located in the dynamic link library MAPI32.dll."  (EPR 23661)Workaround: If you have Windows 2000/XP, Outlook 2000, or Internet Explorer 5, you can restore the MAPI32.dll by running the Fixmapi.exe from the Windows System folder.  Otherwise, you may need to install Internet Explorer 5.  The Internet Explorer 5 installation runs the Fixmapi.exe so that you don't have to run it again.

If you installed the NodeBuilder software from CD, if you try to repair the installation from the Windows Control Panel, you will be prompted to insert DISK 1.  This is a limitation in Windows Installer 2.01.    (EPR 23819)Workaround: To repair a NodeBuilder installation, first uninstall the software and reinstall it.  You can copy the CD image to your local drive and install from there if you want to be able to later use the repair function.

5.2      Project Manager

The icons in the Project Pane of the Project Manager may sometimes display the wrong image when you first start the NodeBuilder tool.  (EPR 21766)Workaround: Quit and restart the NodeBuilder tool.  All other functions will work normally if you choose not to restart the NodeBuilder tool.

The Build Exclude option is not saved if you start the NodeBuilder Project Manager from the NodeBuilder program folder and you do not specify a LonWorks network.  (EPR 23214)Workaround: Always open a network when starting the NodeBuilder Project Manager from the NodeBuilder program folder, or reset the build exclude options each time you start the NodeBuilder Project Manager from the NodeBuilder program folder.

If you cancel a Force Applicationless command when multiple devices are selected, the command is cancelled for the current device, but will not be cancelled for the additional devices.  (EPR 23200) Workaround: Either cancel the command for each selected device or only use the command on a single device at a time.

You can enter invalid data for Domain ID in the Configuration tab of the NodeBuilder Device Template Properties dialog.  A valid domain ID consists of a series of hexadecimal digit (0-9 and A-F) pairs, with each pair separated by a colon (the colon is automatically inserted).  A PMK#113, "unknown exporter command or malformed parameter" error is displayed if you enter any other characters and build the target. . (EPR 23364)Workaround: Change Domain ID to a valid hex value.

If you delete a LNS device template from the LonMaker tool, then select the Plug-in Wizard command for a NodeBuilder device template that uses the deleted template, the Plug-in Wizard will fail to start with a "fLaunch FindTemplate: The object was not found. (Subsystem: LNS, #6)" error.  (EPR 23358) Workaround: Rebuild the NodeBuilder device template to create and import a new LNS device template.

If you define a new device template while a multi-device build is running, an unexpected error might occur after the New Device Template wizard has been canceled or completed.  (EPR 23369)Workaround: Do not add new or insert copies of existing device templates while you are building any application images.  If you do and you get an error, quit and restart the NodeBuilder Project Manager.

If you select more than 18 files in the project manager and try to edit them, the files are not opened, and no error is generated. (EPR 22459) Workaround: Select fewer than 18 files to open at a time.

5.3      Resource Editor and Code Wizard Resource Pane

The Resource Editor generates version 3 resource files, which are not compatible with tools based on any version of the resource file API prior to version 2.1.  This includes all LNS tools running on versions of LNS prior to LNS 3 Service Pack 5.  Workaround: If are using a tool that is not compatible with the version 3 resource files, and the tool uses the LonMark® Resource File API, download the version 2.1 API from www.lonmark.org and install the API as described in the documentation included with the API.  If you are using an LNS tool such as the LonMaker tool or LNS DDE Server, you can either upgrade the resource file API or install LNS Service Pack 5 when it becomes available.  The NodeBuilder 3 tool installs the version 2.1 API, so you will not have any problems with LNS tools running on the same PC with the NodeBuilder 3 tool.

The Resource Editor will generate errors if you set the active language to any language other than English (UK) or English (USA) and you access any standard resources.  You will also see this problem if you attempt to drag any standard resources from the Resource pane to the Interface pane of the NodeBuilder Code Wizard.  (EPR 23374)Workaround: Leave the active language set to English (UK) or English (USA) when using any standard resources or when using any resources that only have English language files.  You can still use the Resource Editor translator to create language files for other languages.  The LonMaker tool correctly handles multiple language files as described in the LonMaker User's Guide, so you can test and verify your other language files using the LonMaker Browser.(EPR 22670)

A resource file set may become unusable if any files within the resource file set are missing.  (EPR 23103)Workaround:  A resource file set consists of a type file (.typ extension), functional profile file (.fpt extenstion), format file (.fmt extension), and one or more language files with an extension dependent on the language (.enu for English US strings).  Copy all of these files together if you copy or move the resource file set to another directory or computer.  If you accidentally delete the format file, you can create a new blank format file in a new resource file set at the same scope, and then use Windows Explorer to change the name of the format file to match the name of the deleted format file.

The Resource Editor does not set non-applicable fields of the standard program ID to zero. This is the case when the Standard Program ID Calculator returns, or when the Resource Editor obtains the program ID from Code Wizard.  (EPR 21638, 23644)Workaround: In the New Resource File Set dialog, always verify that the following fields are zero or cleared:

 

If you create a user functional profile that inherits members from a scope 0 functional profile, and then change the functional profile key to inherit from a different functional profile, Principal NV may not be updated to match the new functional profile. (EPR 22284) Workaround: Click OK to close the Modify Functional Profile dialog, then double-click the functional profile to reopen it.

A file corrupted error may be displayed if you attempt to create or edit functional profiles in a resource file set in a Windows offline folder (i.e. folders on a PC other than the PC running the resource editor, which you have identified as an offline folder to Windows).  (EPR 22113)Workaround:  Do not create or edit resource files in offline folders.  You can copy resource file sets to and from offline folders, but do all editing in online folders.

The wrong language string index numbers may be assigned if you enter Comment before String when creating or editing a functional profile.  (EPR 22091) Workaround: Always enter String before Comment if you are defining or editing both strings.

The Resource Editor may not automatically display the existing resource file set name if you try to create a new resource file set and a resource file set already exists with the specified scope and program ID template.  (EPR 22964)Workaround: You cannot create a resource file set with the same scope and program ID template as another resource file set.  Change the program ID template to a unique program ID template for the selected scope.  If the existing resource file set name is not displayed in Resource file set name, click the Resource file set name field to see the name.

A "Please enter a number" message may be displayed when you enter invalid non-numerical data in the Limits tab, or invalid non-integer data in the Scales tab, of the New or Modify Network Variable Type dialog, or the New or Modify Configuration Property Type dialog, and then click OK.  This error message will not be displayed until you click OK, even if you have clicked another tab in the dialog.  (EPR 22456)Workaround:  Return to the Limits tab and enter valid numbers or blank entries for all values.  Return to the Scales tab and enter valid integers for all three scale values.

If you enter a phone number without a web ID when creating a new resource file set, the phone number may not be saved.  (EPR 23347) Workaround:  Always enter a value for Web ID when entering information on the Header tab of the New Resource File Set dialog.  Enter a default value on the Registration tab of the NodeBuilder Project Properties dialog to create a default entry.

If you create a network variable type or configuration property type that is a union, the resource editor automatically generates formats for all the fields for each union member.  This will not cause a failure, but only the last entry for each field will be used when formatting the union value.  (EPR 23342) Workaround: Edit the format and remove the extra  fields.

The resource editor only allows 7 of the 8 bits of byte to be used for a bitfield if any of the bitfields within the byte are signed.  (EPR 23421)Workaround: Use unsigned bitfields if you need all 8 bits.

You cannot mix signed and unsigned bitfields in the same byte.  (EPR 23440)Workaround: Use all signed or all unsigned bitfields within a byte.

5.4      Code Wizard

5.4.1      updateDeviceState() Function

The updateDeviceState() function in Code Wizard-generated Neuron C file, common.nc, calculates the incorrect relative functional block index wrong if you use arrays of functional block.  The existing code reads as follows:

 

deviceState.relFblockIndex = firstElementIndex - fbIndex;

 

The operands are reversed and will generate the wrong result.  This will only effect you if you use arrays of functional blocks. (EPR 23784)Workaround:  Modify any existing common.nc files and the Code Wizard template file, common.nct, to read as follows:

 

deviceState.relFblockIndex = fbIndex - firstElementIndex; 

 

The Code Wizard template file, common.nct, is located in the NodeBuilder\Templates\CodeWizard  folder within your LonWorks folder (c:\LonWorks\NodeBuilder\Templates\CodeWizard by default)

5.4.2      updateDeviceState() Call

The code generated by the Code Wizard for a functional block includes the following code in the nv_update_occurs event:

updateDeviceState(nv_in_index, nv_array_index, fblock_index_map[nv_in_index]);

 

The third argument in the parameter list is wrong.  This passes the global functional block array index associated with this variable.  (EPR 23786)Workaround:  Modify any existing Code Wizard functional block generated Neuron C files to read as follows if it is an array of a functional block:

 

updateDeviceState(nv_in_index, nv_array_index,

<FBName>[0]::global_index);

 

The code reads as follows if the functional block is not an array:

 

updateDeviceState(nv_in_index, nv_array_index,

<FBName>::global_index);

5.4.3      setup_status_address()

The setup_status_address() function, that is part of the filexfer.nct file generated by the Code Wizard, contains a potentially incorrect copy operation.  The code reads as follows:

memcpy((void *) $$NVTFileStatus$$.adr.address.domain_id, domain.id, domain.len);

Workaround: If you are using FTP, for maximum future compatibility, change this code so that only the lower three bits of the domain length field remain relevant for the copy operation:

memcpy((void *) $$NVTFileStatus$$.adr.address.domain_id, domain.id, domain.len & 0x07);

This change only applies to future compatibility of the generated code. EPR 23608

5.5      Standard Program ID Calculator

The wrong window may become active when you click OK in the Standard Program ID Calculator.  (EPR 22388)Workaround: Click the NodeBuilder button in the Windows taskbar to switch to the NodeBuilder window.

5.6      Editor

If you press CTRL+INSERT, the currently selected text is copied to the Clipboard, but the Overtype mode is also toggled.  Similarly, if you press SHIFT+INSERT, the Clipboard is pasted at the current cursor position, but the Overtype mode is toggled again.  (EPR 22353) Workaround: Use CTRL+C and CTRL+V instead of CTRL+INSERT and SHIFT+INSERT.  Press INSERT to toggle Overwrite mode if you accidentally press CTRL+INSERT or SHIFT+INSERT.

If you edit code generated by the Code Wizard, it loses the Code Wizard syntax coloring and changes to the syntax coloring for non-Code Wizard generated code.  (EPR 21662) Workaround: Save the file to see the correct syntax coloring.

5.7      Build Tools

Custom system images cannot be used if they are not stored in the Images folder in your LonWorks folder (c:\LonWorks\Images by default). (EPR 23217) Workaround: Always store custom system images in the LonWorks Images folder.

When using the device interface file appendix feature with the stand-alone NEX Neuron Exporter utility, the -p command fails to correctly recognize the parameter and responds with a UCL#10, "Malformed parameter" runtime error. (EPR 23339) Workaround: Use the long form of the command, --xifappendix, instead.  This problem does not occur when you build from the project manager.

The Neuron C Compiler permits a very long string to be entered for an fblock name, but when this is attempted, it causes the error and warning counts to print incorrectly.  For example, an identifier string of 450 consecutive alphanumeric characters and underscores causes this problem to occur.  Also, the compiler does not prevent an fblock name from exceeding 16 characters if neither the external_name modifier nor the external_resource_name modifier appears after the fblock name.  (EPR 23334) Workaround:  Make sure your fblock names are 16 characters or less if you do not specify the external_name or external_resource_name modifiers.  If you do specify one of these modifiers, keep your fblock names under the Neuron C 64 character limit on identifiers.

An NCC#159, “Object being declared cannot be initialized” error and an NCC #302, “Syntax error when reading >> } <<” error is displayed when you compile if you have used the event_mode_type_t enumeration type or the SCPTtimeEvent configuration property type.  (EPR 23447)Workaround: Edit the SNVT_EMT.h file in the LonWorks NeuronC/Include folder and add an open brace as follows:

            typedef enum event_mode_type_t {

You may need to clear the Read Only file attribute before you can modify the file.  Reset the Read Only attribute after you are done editing the file.

A "For more information, see Chapter 6" linker hint may appear in the link map.  This is the wrong chapter.  (EPR 23377) Workaround: Look in Chapter 8, not Chapter 6.

When the Neuron C Compiler discovers an error in the use of a configuration property in the device_properties list, it correctly reports that error.  However, the same error message is printed again for every configuration property in the device_properties list that follows the erroneous one, if there are any.  (EPR 23448)Workaround: Correct the problem causing the first error message printed for a property in the device_properties list.  Ignore all subsequent error messages for properties in the device_properties list, and build again.  A subsequent build may reveal an additional legitimate error if more than one originally existed.

An EEPROM application image file (.nei extension) will sometimes be generated, even if it is not appropriate for the target hardware definition.  (EPR 23449)Workaround: Ignore the extra file.

The Neuron C Compiler creates initial values in the NVVAL section of the device interface file for all array elements when any of the array elements are used as configuration properties (the array is declared using the config_prop keyword).  The Neuron C compiler should not include the initial values of any unused array elements, but it does.  This causes LNS to potentially use the wrong values for initializers of network variable configuration properties beginning with the unused array element.  (EPR 23724)Workaround: Do not create the situation of unused network variable array elements using the config_prop declaration keyword.

The Neuron C Compiler displays the error location for NCC#447 using the location of the fblock declaration, but the error in fact is occurring where the fblock is used as the context of the global_index or director property, for example: "fbName::global_index" or "fbName::director.  (EPR 23752)Workaround: Use the Neuron C editor abd search for an occurrence of <fblock name>::global_index or <fblock name>::director where the <fblock name> is the name of an fblock array, but no index is provided in this expression.  Provide an index as required.

Under certain circumstances, the Neuron C Compiler may create code that will not assemble.  The assembly error will be something like: "error: Label '%%NVCPcpValue19' is already defined [NAS#9]."  The problem arises when the Code Wizard creates some cp family declarations named "cpValue," "cpValue1," etc.  This should be OK, but there is a problem in the compiler's design of cp family member symbol creation.  The compiler creates names for cp family members that are provided solely for the NodeBuilder debugger to access these family members.  The compiler's scheme is to begin the name with the characters "%%NVCP," add the name of the cp family itself, and then add the numeric global_index of the network variable to which the cp family member applies.  Unfortunately, this scheme won't always produce a unique name when the name of the cp family itself ends in a numeric digit.

For example, if the code wizard creates two families, "cpValue" and "cpValue1, " and "cpValue" has a member that is a property of the NV whose global index is 19, "cpValue1" has a member that is a property of the NV whose global index is 9, the compiler generates the same name for both, which is "%%NVCPcpValue19." 

(EPR 23759)Workaround: Override the code-wizard suggested names that end in numbers, for example, you can add an underscore at the end of the name.

5.8      Debugger

An empty row may be inserted at the beginning of the breakpoint list under certain circumstances.  (EPR 22879) Workaround: Add breakpoints to the list until a vertical scrollbar is created.  Scroll to the bottom of the breakpoint list and then scroll back up and the empty row will disappear.

Attempting to resize the debugger windows (breakpoint list, watch list, etc) can cause the windows to be displayed incorrectly under certain circumstances.  For example, a split bar may be displayed in the wrong location.  (EPR 21603)Workaround: Maximize or restore the NodeBuilder Project Manager window to redraw the Project Manager window.

The vertical scrollbar belonging to the watch list window may disappear, making it impossible to see the items at the bottom of the list.  (EPR 22919)Workaround: Close the NodeBuilder Project Manager.  Use regedit and delete the HKEY_CURRENT_USER\Software\Lonworks\NodeBuilder\WorkspaceState key. 

Warning:  Editing the registry should be done using extreme caution.  Be careful not to change any other keys.

If you undock the watch list window or breakpoint list window and then dock it back at the top of the Project Manager window, you may have difficulty moving its docking position back to the bottom of the window.  (EPR 22918)Workaround: In order to get the window back to its original position at the bottom of the Project Manager window, quit the NodeBuilder Project Manager and use regedit to delete the HKEY_CURRENT_USER\Software\Lonworks\NodeBuilder\WorkspaceState key. 

Warning:  Editing the registry should be done using extreme caution.  Be careful not to change any other keys.

While attempting to start the debugger, you may see the following messages: “Failed to write device memory. Please try again. (DBG #68)” and “An unexpected error occurred. (Proj Tree 1379).”  The debug windows will not appear and the Debug menu item on the Project Manager menu will be missing.  Workaround: Right-click the device that you tried to debug in the Project pane, and then click Stop Debugging on the shortcut menu.  Restart the debugger.

The debugger will not work with authenticated devices.  (EPR 23415)Workaround: Disable authentication while debugging a device.  To disable authentication, right-click the device in the LonMaker drawing, and then click Properties on the shortcut menu.  The Device Properties window appears.  Click the Advanced Properties tab and then change Enable Authentication to FALSE.

5.9      LNS Device Plug-in Wizard

If the manufacturer ID in your project properties is different than the manufacturer ID that you use to create a device template, the plug-in wizard will display a warning, but will also enter the wrong program ID in the generated code.  (EPR 23338)Workaround: Use the same manufacturer ID in your project properties and your device templates.  To change your project properties, right-click the project folder at the top of the Project pane in the NodeBuilder Project Manager and then click Settings on the shortcut menu.  Click the Registration tab and enter your ID in LonMark manufacturer ID.  To correct the source code for a plug-in that has this problem, enter the correct manufacturer ID, in decimal (not hex) in the following line of code in the modFramework.bas module in your plug-in project:

Public Const g_ManufacturerID = "<Your ID>"

An "Incomplete data.” message is displayed if you enter invalid or too many characters for Product name on the Identification window.  (EPR 22043)Workaround: Use valid characters for the product name.  Use an alphabetic character ('A' through 'Z' or 'a' through 'z') for the first character.  Do not use any of the following characters: COLON (:), PERIOD (.), SLASH (/), BACKSLASH (\), or any type of quote (' or ").  Do not exceed 32 characters.

A "The name has one or more invalid characters (Subsystem: LNS, #87)” message is displayed if you enter invalid or too many characters for any command name in the Command Table window and then try to register the plug-in in the LonMaker tool.  (EPR 22043)Workaround: Use valid characters for the product name.  Use an alphabetic character ('A' through 'Z' or 'a' through 'z') for the first character.  Do not use any of the following characters: COLON (:), PERIOD (.), SLASH (/), BACKSLASH (\), or any type of quote (' or ").  Do not exceed 32 characters.

If you start the LNS Device Plug-in Wizard directly from Visual Basic, the Identification window appears.  If you then click Back to display the Introduction window before selecting the device template on the Device Template window, the Introduction window will be blank.  If you change your device template and then click Back to display the Introduction window, the Introduction window will show the information about the previously selected template.  (EPR 22915) Workaround: Do not go back to the Introduction window.

When the plug-in imports a device template, it uses the name provided in g_commandTable(<index>).DevTemplateName.  The device template in the command table may contain a [<model>] suffix if you enabled automatic program ID management for the device template in the NodeBuilder Project Manager.  This suffix may be confusing to your users.  (EPR 23279)Workaround: Your plug-in will work with the suffix in the name.  If you would like to remove the suffix, locate the FillCommandTable function in the modFramework module and for each command, strip out the suffix.

For example, if this is the original table:

Public Sub FillCommandTable()

    ' The table must go from 0 to g_NumCommandsInTable-1

    g_CommandTable(0).objectClassId = lcaClassIdLonMarkObject

    g_CommandTable(0).commandId = lcaCommandConnect

    g_CommandTable(0).Name = "Connect"

    g_CommandTable(0).description = ""

    g_CommandTable(0).defaultAppFlag = False

    g_CommandTable(0).Scope = lcaScopeDevice

    g_CommandTable(0).programId = "9000000000000004"

    g_CommandTable(0).DevTemplateName = "NcTest [04]"

 

    g_CommandTable(1).objectClassId = lcaClassIdAppDevice

    g_CommandTable(1).commandId = lcaCommandCalibrate

    g_CommandTable(1).Name = "Calibrate"

    g_CommandTable(1).description = ""

    g_CommandTable(1).defaultAppFlag = False

    g_CommandTable(1).Scope = lcaScopeDevice

    g_CommandTable(1).programId = "9000000000000004"

    g_CommandTable(1).DevTemplateName = "NcTest [04]"

 

End Sub

 

Replace it with the following:

Public Sub FillCommandTable()

    ' The table must go from 0 to g_NumCommandsInTable-1

    g_CommandTable(0).objectClassId = lcaClassIdLonMarkObject

    g_CommandTable(0).commandId = lcaCommandConnect

    g_CommandTable(0).Name = "Connect"

    g_CommandTable(0).description = ""

    g_CommandTable(0).defaultAppFlag = False

    g_CommandTable(0).Scope = lcaScopeDevice

    g_CommandTable(0).programId = "9000000000000004"

    g_CommandTable(0).DevTemplateName = "NcTest"

 

    g_CommandTable(1).objectClassId = lcaClassIdAppDevice

    g_CommandTable(1).commandId = lcaCommandCalibrate

    g_CommandTable(1).Name = "Calibrate"

    g_CommandTable(1).description = ""

    g_CommandTable(1).defaultAppFlag = False

    g_CommandTable(1).Scope = lcaScopeDevice

    g_CommandTable(1).programId = "9000000000000004"

    g_CommandTable(1).DevTemplateName = "NcTest"

 

End Sub

5.10Resource Files

The version 11 standard resource file set does not include defined invalid values.   Workaround: Use invalid values as described in the SNVT and SCPT Master List.  Updated resource files are periodically posted to www.lonmark.org. (EPR 22571)

5.11Miscellaneous

If you start the NodeBuilder Project Manager from a device shortcut menu for a device that is not part of the NodeBuilder project, your requested operation may not be completed.  For example, if you click Debug on the shortcut menu for a device that is not in the NodeBuilder project, the NodeBuilder Project Manager appears, but the debugger is not active.    (EPR 22910) Workaround: Right-click the Devices folder in the Project pane and then click Insert on the shortcut menu.  Add the device.

The FullShot screen capture application may interfere with correct operation of the NodeBuilder tool.  (EPR 22295)Workaround: If you have problems running FullShot with the NodeBuilder tool, quit FullShot before using the NodeBuilder tool.

If the LonMaker Browser is monitoring a device at the same time you add or remove a network variable on the device, and then you rebuild and reload the device, the browser may start reporting a Data Server #200 error on one or more of the network variables on the device.  (EPR 22555)Workaround: Quit and restart all LNS applications including the LonMaker tool, LonMaker Browser, and the NodeBuilder Development Tool.

If the LonMaker tool, the LonMaker Browser, or any other LNS application is monitoring a device, and you then add new user resources to the resource catalog, and you then load a new application to the device that references the new resources, you may see Data Server errors due to the new resources not being available in the data server cache.  (EPR 23278)Workaround: Quit and restart all LNS applications including the LonMaker tool, LonMaker Browser, and the NodeBuilder Development Tool.

Problem: If you override the minimum and maximum ranges of network variable or configuration property types (UNVT or UCPT) in a user functional profile using the Resource Editor, the override is not recognized by the LonMaker tool, the LonMaker Browser; or any other LNS applications.  This means that when updating the value of a variable (UNVT or UCPT) in an instance of the functional block using LNS tools, range checking is based on the range of the original data type, not the instance in the functional block. (EPRs 23331, 23352, 13959) Workaround: None.

You may see an application not responding error if you have any pre-launch plug-ins running when you shutdown Windows.  The NodeBuilder Project Manager, LonMaker Browser, and LonPoint plug-in are all pre-launch plug-ins which means that they have a component that is running whenever the LonMaker tool is running, even if you have not started the plug-in.  Other plug-ins may identify themselves as pre-launch plug-ins.  (EPR 23314)Workaround: You can safely ignore the Windows error and allow Windows to terminate the LonMaker software.  Any changes that you have made are saved before this error message is displayed, so you will not lose any updates.  You can prevent the error from occurring by exiting the LonMaker tool and any other LNS applications before shutting down Windows.

When upgrading a device that previously did not have any network variables or functional blocks to a device template that does have network variables or functional blocks, the LonMaker tool does not correctly reflect the upgraded device’s template. Workaround: Delete the device and add it again.

If you clear Load NodeBuilder devices only and build a device that has automatic program ID management enabled, and the program ID’s model number is changed by a new build, the devices in your network that use the LNS Device Template assigned to the device template that you built will not be upgraded if you built both the Development and Release targets for that NodeBuilder device template.  (EPR 23455)Workaround: Build the Release Target first and then the Development Target, or upgrade the devices manually.

If you use a functional profile from the Echelon resource file set, you may get errors when you build your device template.  (EPR 23463)Workaround: Do not use functional profiles from the Echelon resource file set.

6         Documentation Changes

6.1      NodeBuilder User's Guide

You cannot watch the msg_in, msg_out, resp_in and resp_out built-in variables from the debugger.  (EPR 23462)

6.2      NodeBuilder Quick-Start Tutorial

The link to the NodeBuilder User's Guide does not work in the Quick-Start Tutorial.  (EPR 23423)Workaround: Use the link in the Echelon NodeBuilder Software program folder instead.  (EPR 23462)

7         NodeBuilder Software License Agreement

Following is a copy of the NodeBuilder Software License Agreement that you must accept to install or use the NodeBuilder software:

NOTICE

This is a legal agreement between you and Echelon Corporation (“Echelon”).  YOU MUST READ AND AGREE TO THE TERMS OF THIS SOFTWARE LICENSE AGREEMENT BEFORE ANY LICENSED SOFTWARE CAN BE DOWNLOADED OR INSTALLED OR USED.  BY CLICKING ON THE “I AGREE” OR “ACCEPT” BUTTON OF THIS SOFTWARE LICENSE AGREEMENT, OR DOWNLOADING LICENSED SOFTWARE, OR INSTALLING LICENSED SOFTWARE, OR USING LICENSED SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS AND CONDITIONS OF THIS SOFTWARE LICENSE AGREEMENT.  IF YOU DO NOT AGREE WITH THE TERMS AND CONDITIONS OF THIS SOFTWARE LICENSE AGREEMENT, THEN YOU SHOULD EXIT THIS PAGE AND DO NOT DOWNLOAD OR INSTALL OR USE ANY LICENSED SOFTWARE.  BY DOING SO YOU FOREGO ANY IMPLIED OR STATED RIGHTS TO DOWNLOAD OR INSTALL OR USE LICENSED SOFTWARE.

SOFTWARE LICENSE AGREEMENT

In consideration of Your agreement to the terms of this Agreement, Echelon grants You a limited, non-exclusive, non-transferable license to use up to two (2) copies of the Licensed Software and any updates or upgrades thereto provided by Echelon according to the terms set forth below.  If the Licensed Software is being provided to You as an update or upgrade to software which You have previously licensed, then You agree the Licensed Software may be used and transferred only as part of a single product package and may not be separated for use on more than two (2) computers as expressly provided below.

DEFINITIONS

For the purpose of this Agreement, the following terms shall have the following meanings:

·        “Documentation” means the documentation included with the Licensed Software.

·        “Licensed Software” means all computer software programs and associated media, printed materials, and online or electronic documentation that accompany the NodeBuilder Development Tool product; including, without limitation, the NodeBuilder Example Applications.  The Licensed Software also includes any software updates, add-on components, stencils, templates, shapes, SmartShapes symbols, web services and/or supplements that Echelon may provide to You or make available to You, or that You obtain from the use of features or functionality of the Licensed Software, after the date you obtain your initial copy of the Licensed Software (whether by delivery of a CD, permitting downloading from the Internet or a dedicated web site, or otherwise) to the extent that such items are not accompanied by a separate license agreement or terms of use.  Licensed Software does not include the LonMaker Integration tool, LNS DDE Server, Microsoft Visio, or any other software product shipped with the NodeBuilder Development Tool product and not contained in the NodeBuilder directories as identified in the Documentation.

·         “NodeBuilder Example Applications” means the Neuron C and Visual Basic source code example applications included as part of the Licensed Software which demonstrate the use of the Licensed Software, (i) as provided in the “Examples” and “Gizmo4” directories and their subdirectories, (ii) as generated by the NodeBuilder Code Wizard, (iii) as generated by the LNS Plug-in Wizard, or (iv) otherwise containing wording in the source code clearly identifying such source code as an “Example Application”.

·         “LonWorks® Device” means a product designed for use in a network based upon Echelon’s LonWorks platform, including without limitation LonWorks Application(s) as set forth in the LonWorks OEM License Agreement between You and Echelon.

·         “Your Device” means a LonWorks Application that you develop as set forth in the LonWorks OEM License Agreement between You and Echelon.

·        “Your Device Plug-in” means Your software product that makes calls to the LNS server or LNS remote client (as both terms are described in the Documentation) and which (i)  operates only with Your Device, (ii) allows the user to set or retrieve application configuration properties, to read or write application data, or to perform diagnostics on only a single device at a time, (iii) provides a user interface that is customized for Your Device, (iv) does not recover, commission, or install any LonWorks Device, including the LonWorks Device being operated on, (v) conforms to the device plug-in specifications described in the Documentation, and (vi) does not include any of the following: (a) code that increases or decreases the number of available device credits or LonMaker credits, or (b) the Licensed Software with the exception of derivative works of the NodeBuilder Example Applications.

·         “You(r)” means Licensee, i.e. the company, entity or individual who has rightfully acquired the NodeBuilder Development Tool.

LICENSE  

You may:

(a)          use the Licensed Software solely to develop Your Devices and Your Device Plug-ins and prepare your derivative works of the NodeBuilder Example Applications to develop Your Devices and Your Device Plug-ins;

(b)         install and use the Licensed Software for such purposes on one (1) primary computer (the “Primary Computer”);

(c)          install and use a second copy of the Licensed Software for such purposes on one (1) additional computer (the “Additional Computer”) for the exclusive use of the individual who is the  primary user of the copy of the Licensed Software installed on the Primary Computer, provided that the Licensed Software may only be used on one computer at a time, and provided that such installation and use otherwise comply with all the terms and conditions of this Agreement;

(d)         keep the original media on which the Licensed Software was provided by Echelon solely for backup or archival purposes;

(e)          make, use, and sell Your Devices that You developed pursuant to the terms of the LonWorks OEM License Agreement between You and Echelon;

(f)           distribute Your Device Plug-ins; and

(g)          physically transfer any authorized copy of the Licensed Software from one (1) computer to another, provided that such copy is removed from the computer on which it was previously installed and the Licensed Software is used on only one (1) computer at a time.

You may not, and shall not permit others to:

(a)     install the Licensed Software for development on more than one (1) Primary Computer and one (1) Additional Computer, use the Licensed Software on more than one (1) computer at a time, or allow any individual other than the primary user to use the Licensed Software on the Additional Computer;

(b)     copy the Licensed Software except as permitted above;

(c)     except for the limited rights granted above, modify, translate, reverse engineer, decompile, disassemble or otherwise attempt (i) to defeat, avoid, bypass, remove, deactivate or otherwise circumvent any software protection mechanisms in the Licensed Software, including without limitation any such mechanism used to restrict or control the functionality of the Licensed Software, or (ii) to derive the source code or the underlying ideas, algorithms, structure or organization from any of the Licensed Software that has not been provided in source code form (except to the extent that such activities may not be prohibited under applicable law);

(d)     alter, adapt, prepare derivative works of, modify or translate the Licensed Software in any way for any purpose, including without limitation error correction, except for the limited rights expressly granted above with respect to NodeBuilder Example Applications; or

(e)     except for the limited rights granted above, distribute, rent, loan, lease, transfer or grant any rights in the Licensed Software or modifications thereof in any form to any person without the prior written consent of Echelon.

You hereby acknowledge and agree that Your Device is a LonWorks Application as such term is defined in the LonWorks OEM License Agreement between Echelon and Licensee and therefore, Your Device is subject to the terms thereof and you shall have no rights to distribute Your Devices or Your Plug-ins as set forth above unless You and Echelon shall have entered into a LonWorks OEM License Agreement prior any such distribution.

This license is not a sale.  Title, copyrights and all other rights to the Licensed Software and any copy made by You remain with Echelon and its suppliers. Unauthorized copying of the Licensed Software or the Documentation, or failure to comply with the above restrictions, will result in automatic termination of this license and will make available to Echelon other legal remedies.

TERMINATION

This license will continue until terminated.  Unauthorized copying of the Licensed Software or failure to comply with the above restrictions will result in automatic termination of this Agreement and will make available to Echelon other legal remedies.  This license will also automatically terminate if you go into liquidation, suffer or make any winding up petition, make an arrangement with Your creditors, or suffer or file any similar action in any jurisdiction in consequence of debt. Upon termination of this license for any reason you will destroy all copies of the Licensed Software. Any use of the Licensed Software after termination is unlawful.

TRADEMARKS

You may make appropriate and truthful reference to Echelon and Echelon products and technology in Your company and product literature; provided that You properly attribute Echelon’s trademarks and do not use the name of Echelon or any Echelon trademark in Your name or product name.  No license is granted, express or implied, under any Echelon trademarks, trade names, trade dress, or service marks.

LIMITED WARRANTY AND DISCLAIMER

Echelon warrants to you that, for a period of ninety (90) days from the date of delivery or transmission to You, the Licensed Software programs under normal use will perform substantially in accordance with the Licensed Software specifications contained in the Documentation.  Echelon’s entire liability and Your exclusive remedy under this warranty will be, at Echelon’s option and expense, to use reasonable commercial efforts to attempt to correct or work around errors, to replace the Licensed Software with functionally equivalent Licensed Software, or to terminate this Agreement and accept return of the NodeBuilder Development Tool  and refund Your purchase price less a reasonable amount for use.  NOTWITHSTANDING THE FOREGOING, ECHELON MAKES NO WARRANTIES WHATSOEVER WITH RESPECT TO THE NODEBUILDER EXAMPLE APPLICATIONS.

EXCEPT FOR THE EXPRESS LIMITED WARRANTIES AND CONDITIONS GIVEN BY ECHELON ABOVE, ECHELON AND ITS SUPPLIERS MAKE AND YOU RECEIVE NO OTHER WARRANTIES OR CONDITIONS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE OR IN ANY COMMUNICATION WITH YOU, AND ECHELON AND ITS SUPPLIERS SPECIFICALLY DISCLAIM ANY IMPLIED WARRANTY OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT AND THEIR EQUIVALENTS.  Echelon does not warrant that the operation of the Licensed Software will be uninterrupted or error free or that the Licensed Software will meet Your specific requirements.

SOME STATES OR OTHER JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU.  YOU MAY ALSO HAVE OTHER RIGHTS THAT VARY FROM STATE TO STATE AND JURISDICTION TO JURISDICTION.

LIMITATION OF LIABILITY

IN NO EVENT WILL ECHELON OR ITS SUPPLIERS BE LIABLE FOR LOSS OF OR CORRUPTION TO DATA, LOST PROFITS OR LOSS OF CONTRACTS, COST OF PROCUREMENT OF SUBSTITUTE PRODUCTS OR OTHER SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR INDIRECT DAMAGES, LOSSES, COSTS OR EXPENSES OF ANY KIND ARISING FROM THE SUPPLY OR USE OF THE LICENSED SOFTWARE, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY (INCLUDING WITHOUT LIMITATION NEGLIGENCE).  THIS LIMITATION WILL APPLY EVEN IF ECHELON OR AN AUTHORIZED DISTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.  EXCEPT TO THE EXTENT THAT LIABILITY MAY NOT BY LAW BE LIMITED OR EXCLUDED, IN NO EVENT SHALL ECHELON’s OR ITS SUPPLIERS’ LIABILITY EXCEED TEN THOUSAND DOLLARS ($10,000).  YOU ACKNOWLEDGE THAT THE AMOUNTS PAID BY YOU FOR THE LICENSED SOFTWARE REFLECT THIS ALLOCATION OF RISK.

SOME STATES OR OTHER JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATIONS AND EXCLUSIONS MAY NOT APPLY TO YOU.

SAFE OPERATION

YOU ASSUME RESPONSIBILITY FOR, AND HEREBY AGREE TO USE YOUR BEST EFFORTS IN, DESIGNING AND MANUFACTURING PRODUCTS USING THE LICENSED SOFTWARE TO PROVIDE FOR SAFE OPERATION THEREOF, INCLUDING, BUT NOT LIMITED TO, COMPLIANCE OR QUALIFICATION WITH RESPECT TO ALL SAFETY LAWS, REGULATIONS AND AGENCY APPROVALS, AS APPLICABLE.  THE LICENSED SOFTWARE, SMART TRANSCEIVERS, NEURON CHIPS, YOUR DEVICE, YOUR DEVICE PLUG-IN AND OTHER ECHELON PRODUCTS AND TECHNOLOGY ARE NOT DESIGNED OR INTENDED FOR USE AS COMPONENTS IN EQUIPMENT INTENDED FOR SURGICAL IMPLANT INTO THE BODY, OR OTHER APPLICATIONS INTENDED TO SUPPORT OR SUSTAIN LIFE, FOR USE IN FLIGHT CONTROL OR ENGINE CONTROL EQUIPMENT WITHIN AN AIRCRAFT, OR FOR ANY OTHER APPLICATION IN WHICH THE FAILURE THEREOF COULD CREATE A SITUATION IN WHICH PERSONAL INJURY OR DEATH MAY OCCUR, AND YOU SHALL HAVE NO RIGHTS HEREUNDER FOR ANY SUCH APPLICATIONS.

LANGUAGE

The parties hereto confirm that it is their wish that this Agreement, as well as other documents relating hereto, have been and shall be written in the English language only.

Les parties aux présentes confirment leur volonté que cette convention de même que tous les documents y compris tout avis qui s’y rattache, soient rédigés en langue anglaise.

SUPPORT

You acknowledge that You shall either (i) inform the end-user that You are the primary support contact for Your Devices and Your Device Plug-ins, and that Echelon Corporation will not support Your Devices and Your Device Plug-ins, or (ii) inform the end-user that there will be no support for Your Devices and Your Device Plug-ins.

GENERAL

This Agreement shall not be governed by the 1980 U.N. Convention on Contracts for the International Sale of Goods; rather, this Agreement shall be governed by the laws of the State of California, including its Uniform Commercial Code, without reference to conflicts of laws principles.  This Agreement is the entire agreement between You and Echelon and supersedes any other communications, representations or advertising with respect to the Licensed Software.  If any provision of this Agreement is held invalid or unenforceable, such provision shall be revised to the extent necessary to cure the invalidity or unenforceability, and the remainder of the Agreement shall continue in full force and effect.  If You are acquiring the Licensed Software on behalf of any part of the U.S. Government, the following provisions apply.  The Licensed Software programs and Documentation are deemed to be “commercial computer software” and “commercial computer software documentation”, respectively, pursuant to DFAR Section 227.7202 and FAR 12.212(b), as applicable.  Any use, modification, reproduction, release, performance, display or disclosure of the Licensed Software programs and/or Documentation by the U.S. Government or any of its agencies shall be governed solely by the terms of this Agreement and shall be prohibited except to the extent expressly permitted by the terms of this Agreement.  Any technical data provided that is not covered by the above provisions is deemed to be “technical data-commercial items” pursuant to DFAR Section 227.7015(a). Any use, modification, reproduction, release, performance, display or disclosure of such technical data shall be governed by the terms of DFAR Section 227.7015(b).

Echelon, Neuron, NodeBuilder, LonWorks are U.S. registered trademarks of Echelon Corporation.  LNS is a trademark of Echelon Corporation.