Echelon ShortStack® FX Developer's Kit Answers to Frequently Asked Questions

What is the ShortStack Micro Server?
The ShortStack Micro Server is a network interface component with firmware that enables any product that contains a microcontroller to quickly and inexpensively become a networked, Internet-accessible device.

How do I add a LonWorks® interface to my application?
You'll first decide what data you want your application to share with other devices on the network. You will describe these interfaces in a Neuron® C model file. You can create this file manually, or you can use the NodeBuilder® Code Wizard that is included with the NodeBuilder Development Tool to write the file for you. You then use the LonTalk® Interface Developer to translate your Neuron C model file into initialization data tables that you link with your application. Finally, you will integrate the LonTalk Compact API with your application and make a few simple function calls to send and receive data. For example, two function calls are used to send a data value on the network.

How can I access a ShortStack device from the Internet?
Any device incorporating a ShortStack interface is Internet accessible. All you need to do is add an Echelon i.LON® SmartServer or LonBridge™ Server to your network. The SmartServer includes a Web server that enables you to easily create Web pages that can display any data from your ShortStack devices, or update any data inputs to your ShortStack devices. The LonBridge Server provides a simple IP socket interface to ISI networks for use by user interface applications.

Which microcontrollers are supported?
The ShortStack Micro Server can be used with any 8, 16, or 32-bit microcontroller. An example port for the Atmel ARM7 microprocessor is available at www.echelon.com/shortstack.

How much memory is required on the host processor?
This depends on the host processor, but the LonTalk Compact API and driver typically require 4 – 6 Kbytes of program memory and less than 1Kbyte of RAM.

Do I have to supply any non-volatile memory on the host processor?
Non-volatile memory is typically required for configuration properties. The 4Kbyte program memory required for the ShortStack API can be ROM, PROM, or flash. The RAM is required for buffers, temporary data, and stack. With the exception of the non-volatile memory requirements to store configuration properties, there is no additional requirement for non-volatile memory, unless required by the application.

How long will it take me to port the ShortStack software to a new microcontroller?
The complexity of the port depends on the host processor, but a typical porting time including custom driver development is one to three weeks.

What languages can I use for development?
The example software ports are all in ANSI C. The LonTalk Compact API and driver source is simple enough that it can be ported to other languages or assembly language, but this will require more work than using C or C++ as your host application development language, and will also increase the work required to keep up with any future changes to the API source code.

What hardware do I need to implement a ShortStack Micro Server?
A ShortStack Micro Server consists of ShortStack firmware running in an Echelon Smart Transceiver.

How does the ShortStack Micro Server communicate with my host processor?
It communicates with your host processor using either a Serial Communications Interface (SCI) or a Serial Peripheral Interface (SPI). The ShortStack SCI interface is a half duplex asynchronous serial interface with 1 start bit, 8 data bits, and 1 stop bit. The ShortStack SPI interface is a half-duplex synchronous serial interface between the ShortStack Micro Server and the host processor, with the Micro Server acting as the SPI master and the host acting as the SPI slave.

What is the data rate between the ShortStack Micro Server and my host processor?
The data rate is selectable, and the range depends on the clock speed of your ShortStack Micro Server, and whether you are using and SCI or SPI interface. A ShortStack Micro Server implemented with an SCI interface and an FT 5000 Smart Transceiver can have a data rate from 1,208,400bps to 38,400bps. See the ShortStack FX User’s Guide for the interface bit rates available for your processor and system clock.

My host processor supports both SCI and SPI interfaces, which do you recommend?
The SCI interface because is easier to implement on the host, requires fewer I/O lines, and provides comparable performance.

Which LonWorks transceivers are supported?
Echelon's FT 5000, FT 3120, FT 3150, PL 3120, PL 3150, and PL 3170 Smart Transceivers, as well as Echelon’s Neuron 5000 Processor, are all supported with no additional royalty fee.

What development tools do I need to add a ShortStack interface to my product?
You need a microcontroller development system for your host processor. In addition, you need a ShortStack Developer's Kit that includes the ShortStack software for your host, and ShortStack firmware for creating a ShortStack Micro Server. The ShortStack Developer's Kit is downloadable from www.echelon.com/shortstack free of charge. The ShortStack Developer’s Kit includes pre-built firmware images for building a variety of ShortStack Micro Servers. If you can use one these images, and you are not building an application that requires the outdoor lighting repeating feature, an Echelon NodeBuilder Development Tool is not required. You can use a NodeBuilder Development Tool to reduce development and test time. If you require a custom ShortStack firmware image you will need a NodeBuilder FX Development Tool or a Mini FX Evaluation Kit. If you you are building an application that requires the outdoor lighting repeating feature, you will need a NodeBuilder FX Development Tool. A ShortStack device can either be self-installed, or installed in a managed network using a network installation tool. When installing a ShortStack device in a managed network during development or in the field, you can use the LonMaker Integration Tool or you can use another tool based on the LNS® network operating system.

I'm a microcontroller manufacturer, how can I get more information on providing a ShortStack solution for my microcontrollers?
You can join the ShortStack Partner's Program to get everything you need to create a custom port of the ShortStack API. Echelon will co-market your solution with you. Contact Echelon Sales for more information.

How can I get a ShortStack Micro Server?
You will use the ShortStack firmware provided with the ShortStack Developer's Kit to make your own ShortStack Micro Servers, or you will use the ShortStack library included with the ShortStack Developer’s Kit to create custom ShortStack firmware using a NodeBuilder FX Development Tool or Mini FX Evaluation Kit. To create a ShortStack Micro Server, you will program the ShortStack firmware into an FT 3120, PL 3120, or PL 3170 Smart Transceiver, or flash memory or PROM for an FT 5000, FT 3150, or PL 3150 Smart Transceiver, or for a Neuron 5000 Processor.

What are the key differences between Echelon's ShortStack and FTXL products?
Both products are used to add a LonWorks interface to a host processor. The FTXL solution supports a series of FPGA-based host processors from Altera, where the ShortStack solution supports any host processor with sufficient resources. The ShortStack product requires fewer resources on your host processor in terms of program memory and RAM. The two products use very similar versions of the LonTalk API, providing familiar interfaces for developers who require both solutions in their product lines. The ShortStack Micro Server supports up to 254 network variables on the host, while the FTXL solution supports up to 4096 network variables. The FTXL solution also has a higher performance LonTalk protocol stack since much of the protocol is implemented on the 32-bit host.

What are the key differences between Echelon's ShortStack and MIP/PCLTA-20/PCLTA-21/PCC-10/SLTA-20/LTS-20/U10/U20 products?
All of these products can be used to add a LonWorks interface to any host processor. With the exception of PC hosts, the ShortStack product is significantly easier to use in many ways, including a simpler host application programming interface (API) and easier to port host software. The ShortStack product requires much less resources on your host processor in terms of program memory and RAM. The other products require more host resources, both for the API as well as the hardware interface. If you are using a PC host, the U10, U20, PCLTA-20/21, SLTA-10, and LTS-20 can be used as LNS network interfaces, whereas the ShortStack Micro Server cannot. The SLTA-10 and LTS-20 can be used with modems to support dial-in and dial-out to remote hosts; the ShortStack Micro Server does not. The ShortStack Micro Server supports up to 254 network variables on the host, whereas the other network interfaces support up to 4096 network variables.

I am using a PC host running Microsoft Windows for a commercial or industrial application. Should I use a ShortStack Micro Server to attach the PC to a LonWorks network?
No, for commercial and industrial application the LNS network operating system combined with an LNS network interface such as the U10 or U20 USB Network Interface, the PCLTA-20 PCI Network Interface, or the PCC-10 PC Card Network Interface provide a much more complete, robust, and higher performance solution for Windows applications. LNS applications can be used to manage, monitor, and control ShortStack devices.

I am using a PC host running Microsoft Windows for a home application. Should I use a ShortStack Micro Server to attach the PC to a LonWorks network?
Yes, for home applications you can use a LonBridge server with a custom network interface that you build that includes the ShortStack firmware. You can also use the LonBridge server with standard network interfaces such as the U20 USB Network Interface.

How can I get the ShortStack Developer's Kit?
You can download the developer's kit from www.echelon.com/shortstack.

How much does ShortStack cost?
There is no development or runtime fee if your product uses an Echelon FT 5000, FT 3120, FT 3150, PL 3120, PL 3150, or PL 3170 Smart Transceiver, or if your product uses an Echelon Neuron 5000 Processor. You can freely download the ShortStack Developer's Kit from www.echelon.com/shortstack, and you can ship your product using one of the Echelon Smart Transceivers without paying an additional royalty for the ShortStack firmware.

What are the licensing requirements?
The ShortStack Developer's Kit comes with a simple click-through license that you accept when you install the software.

How is LonTalk protocol processing split between the ShortStack Micro Server and my host processor?
The ShortStack Micro Server handles layers 1 through 6 of the LonTalk protocol. That is, it handles the physical, link (including MAC), network, transport, session, and presentation layers of the LonTalk protocol. Your host processor just handles the application layer (layer 7), which typically consists of simply sending and receiving network variable updates.

How many network variables can be implemented on a ShortStack host?
Up to 254 network variables.

Can a ShortStack host send and receive application messages?
Yes, you can send and receive any type of LonTalk message with ShortStack.

Does the ShortStack Micro Server support network variables with changeable types and sizes?
Yes.

Is it possible for my host application to add or delete network variables?
Network variables on the ShortStack Micro Server are defined by your host application, and can be changed at any time by the host application. The ShortStack User's Guide includes documentation of the initialization data structure used to define the network variables on a ShortStack Micro Server.

Does the ShortStack Micro Server support dynamic network variables?
Dynamic network variables as defined by the LonMark® Application Layer Interoperability Guidelines are not supported. However, it is possible for your host application to add and delete network variables as described in the previous answer.

Are configuration properties supported?
Yes. Configuration properties implemented as configuration network variables and configuration properties implemented within files that are accessed with direct memory read/write are fully supported.