Forwarders – Echelon ISI User Manual

Page 67

Advertising
background image

65

ISI Programmer’s Guide

Function Name

Reason to Override

IsiSetConnection()

This function must be overridden when
implementing a custom connection table.

When this function is overridden,
IsiGetConnectionTableSize() and

IsiGetConnection() must also be overridden.

The default implementation of the
connection table has eight entries stored in

EEPROM.


The connection table functions are typically

overridden to create a connection table with

a size fitting the application, or with a
persistent data storage model that fits the

application’s needs. See

Customizing the

ISI Connection Table

for more information.

IsiSetDomain()

This function should only be overridden to
allow ISI to run in a managed development

and debugging environment by disabling the
ability to change the domain. See

Developing and Debugging an ISI

Application

for more information and

important considerations.

IsiUpdateDiagnostics()

This function is used to provide feedback
about the internal state of the ISI engine.

The application may override this function

for enhanced diagnostics during
development and testing.

This function is rarely overridden and
should only be used in a debugging or

testing environment. This function may not
be supported by all ISI libraries.

IsiUpdateUserInterface()

This function is used to provide feedback

about the state of the ISI engine to the user.
It should be overridden in any application

that needs to provide feedback to a user.

Forwarders

You can create your own compatible implementations of most of the ISI library

functions, which will then be used instead of the library function. You may
frequently override some of the functions. For example, the IsiGetAssembly()

function determines if an incoming open enrollment message describes an

acceptable connection for this device, and to which local assembly the enrollment
could apply. The ISI library contains default implementations of these functions

Advertising