Isistart() – Echelon ISI User Manual

Page 140

Advertising
background image

ISI Programmer’s Guide

138

cpNwrkConfig = OldNetConfig;


if (cpNwrkConfig == CFG_NUL) {

// For the first application start, set nciNetConfig to

// CFG_LOCAL, allowing the ISI engine to run by default:

nciNetConfig

=

CFG_LOCAL;

}

OldNetConfig = nciNetConfig;


if (nciNetConfig == CFG_LOCAL) {

if (cpNwrkConfig == CFG_EXTERNAL) {

// The application has just returned into the self-

// installed environment. Make sure to re-initialize

// the entire ISI engine:

IsiReturnToFactoryDefaults(); // Call NEVER returns!

}

// We are in a self-installed network:

// Start the ISI engine:

scaled_delay(31745UL);

// 800ms delay

IsiStartS(isiFlagExtended);
}
}

IsiStart()

void IsiStart(IsiType

Type

, IsiFlags

Flags

);

void IsiStartDAS(IsiFlags

Flags

);

void IsiStartS(IsiFlags

Flags

);

void IsiStartDA(IsiFlags

Flags

);

Starts the ISI engine. The ISI engine sends and receives ISI messages, and

manages the network configuration of your device. You will typically start the
ISI engine in your reset task when self-installation is enabled, and you will

typically stop the ISI engine when self-installation is disabled.

The function accepts a combination of flags, defined in the IsiFlags enumeration.

Certain features of the ISI engine will only become available if the corresponding
flag had been raised with the IsiStart() function.

You can use the IsiStart() function to start the ISI engine using any ISI type.
You can use specialized versions of the IsiStart() function to minimize the

memory footprint of your application. Devices that only support a single ISI type
may use one of the following functions:

• IsiStartS()—starts the ISI engine for a device that does not support

domain acquisition.

• IsiStartDA()—starts the ISI engine for a device that supports domain

acquisition, but is not a domain address server.

• IsiStartDAS()—starts the ISI engine for an ISI-DAS application that

supports domain acquisition and is a domain address server.

To maximize compatibility with network management tools used for managed
networks, insert an 800 millisecond to one-and-a-half second delay before calling

any of the IsiStart() functions.

Advertising