manufacturer of I/O-rich SBCs, operator interfaces, handheld instruments, and development tools for embedded control low cost single board computers, embedded controllers, and operator interfaces for scientific instruments & industrial control development tools for embedded control order our low cost I/O-rich embedded control products embedded controller manufacturer profile single board computers & embedded controllers development tools & starter kits for your embedded design operator interfaces with touchscreens and graphical user interface plug-in expansion modules for digital & analog I/O C language & Forth language integrated development tools, IDE single board and embedded computer accessories embedded controller enclosures, bezels, environmental gaskets

The EtherSmart Wildcard Glossary

Table of Contents

Introduction to the EtherSmart Wildcard Glossary

The Form of the Glossary Definitions

C Type Abbreviations Used in Function Declarations

Forth Stack Symbols

Selecting the Module Address

Terminology Overview

Function Naming Conventions

Browser Notes

Categorized List of EtherSmart Library Functions

GUI Toolkit Functions for Remote Front Panel

HTTP Webserver

HTTP/GUI Webserver for Remote Front Panel

Initialization, Configuration, and Diagnostics


Revectored Serial via Ethernet

Serial Tunneling and Email

String Primitives

Glossary of EtherSmart Wildcard Driver Functions

GUI Toolkit Functions for a Remote Front Panel

<< Previous | Next>>

Selecting the Module Address

Once you have connected the EtherSmart Wildcard to the Wildcard Carrier Board, you must set the address of the module using jumper shunts across J1 and J2.

The Module Select Jumpers, labeled J1 and J2, select a 2-bit code that sets a unique address on the module port of the controller Board.  Each module port on the controller accommodates up to 4 modules.  Module Port 0 provides access to modules 0-3 while Module Port 1 provides access to modules 4-7.  Two modules on the same port cannot have the same address (jumper settings).  Consult the EtherSmart Wildcard User Guide for more information.

Terminology Overview

Accessing the internet and the World Wide Web (“the Web” for short) can quickly lead to an alphabet soup of protocol names.  This section provides a brief introduction to some relevant terminology.

The EtherSmart Wildcard uses an Ethernet hardware implementation called the “XPort” made by Lantronix.  “Ethernet” is a packet-based computer networking technology for Local Area Networks (LANs). It defines wiring and signaling for the physical layer, and frame formats and protocols. The wired version of Ethernet used by this EtherSmart Wildcard is known as IEEE 802.3.

A LAN is a group of interconnected computers with a “gateway” computer that serves as a “router” to direct traffic on the LAN and between the LAN and other networks.  Each computer on the LAN must have a unique 32-bit “IP address” (Internet Protocol address).  An IP address is typically written as 4 decimal numbers (each between 0 and 255) separated by periods.  For example:


The EtherSmart Wildcard can be assigned an IP address explicitly by calling some configuration functions, or it can get its IP address automatically via “DHCP” (Dynamic Host Configuration Protocol) running on the gateway computer.  The assigned IP address can be associated with a computer name (so you don’t have to type numbers in your browser’s address bar if you don’t want to).  The name can be assigned by asking your LAN system administrator to make an entry in the DNS (Domain Name Service) config file. Alternatively, you can create a local name on your PC by editing the hosts file; on a Windows XP machine, this file is found at:


The format of the communications among the computers on the LAN is defined by various “protocols”.  The fundamental point-to-point connection protocol is called “TCP/IP” (Transmission Control Protocol/Internet Protocol). 

“Serial tunneling” is a name for a simple exchange of serial data between two computers, typically using the raw TCP/IP protocol. Other protocols build on TCP/IP. For example, World Wide Web traffic uses “HTTP” (Hyper Text Transfer Protocol).  Email uses “SMTP” (Simple Mail Transfer Protocol). 

Web pages that are served out using HTTP are typically formatted using the “HTML” (Hyper Text Markup Language) format.  Many good books and online references describe HTTP and HTML.  Most web pages are “static”, meaning that their content does not change with each visit to the page.  However, in the context of embedded computers, “dynamic” web pages that provide up-to-date status information about the computer’s state (inputs, outputs, memory contents, etc.) are very useful.  The driver code described in this glossary enables you to code both static and dynamic web pages. 

The “embedded web server” that runs when you execute the EtherSmart library code responds to information requests from your browser. You can create a set of web pages, each with a specified name, or “URL” (Universal Resource Locator) and an associated “handler function” that serves out the static or dynamic web content.  A URL is a web page address as sent by the browser running on your desktop PC to the embedded web server.  For the purposes of this document, the URL is the portion of the web address that is in the browser’s address bar after the IP address or computer name.  For example, if you have assigned IP address to the EtherSmart Wildcard, and you type into your browser’s address bar:


then the URL as defined in this document is


Each URL starts with a / character, and is case sensitive.  Some URL’s include a “query field” that starts with the ? character and contains fieldname and value fields resulting from “forms” that were filled out by the user in the browser window.  The functions described in this glossary make it easy to extract data from these fields to direct the operation of the handlers.  In fact, form data from the browser provides an excellent way for the web interface to give commands to the embedded computer (to take data samples, extract data from memory and report the results to the browser, etc.)

The web interface can be used to implement a “remote front panel” on instruments that contain a Graphical User Interface (GUI) and touchscreen.  This feature allows a replica of the GUI screen to be presented in the browser window on a remote PC, and mouse clicks to mimic the action of touches on the instrument’s touchscreen.  A set of functions in this driver and a complementary set of functions in the GUI toolkit coordinate this capability.  The relevant GUI Toolkit functions are presented in a separate glossary section at the end of this document.

Function Naming Conventions

Functions that provide basic Ethernet functionality, including initialization, configuration, serial tunneling (point to point Ethernet communications), and email start with the Ether_ prefix. 

Functions that implement world-wide-web functionality start with the HTTP_ prefix.  The HTTP protocol underlies the web data exchanges.

Functions that implement the web “remote front panel” feature for GUI-based instruments start with the HTTP_GUI prefix.

Browser Notes

The Lantronix XPort hardware on the EtherSmart Wildcard supports only one active connection at a time. However, the HTTP/1.1 standard (and consequently all browsers in their default configuration) expect the webserver to be able to host two simultaneous connections.  A default-configured browser will try to open a second connection when two or more content types (for example, text/html and image/bmp) are present in a single webpage.  The second connection will typically be refused by the XPort hardware, causing an incomplete page load.  The solution is to configure the browser to expect only one connection from the webserver. 

We highly recommend the use of the free Opera web browser available for download at  Simply go to and select “Download Opera”.  The download and install are quick, and the program is compact.  And, it’s very easy to configure for the single-connection EtherSmart webserver.  Once Opera is installed, simply go to its Tools menu, and select:

                     Preferences->Advanced->Network->Max Connections Per Server

and enter 1 in the box.  Now you’re ready to use the Opera web browser with the EtherSmart Wildcard dynamic webserver.

<< Previous | Next>>

Home|Site Map|Products|Manuals|Resources|Order|About Us
Copyright (c) 2012 Mosaic Industries, Inc.
Your source for single board computers, embedded controllers, and operator interfaces for instruments and automation