beautypg.com

Starting and stopping self-installation – Echelon ISI User Manual

Page 20

background image

ISI Programmer’s Guide

18

Starting and Stopping Self-Installation

void IsiPreStart(void);
void IsiStart(IsiType

Type

, IsiFlags

Flags

);

void IsiStartS(IsiFlags Flags);
void IsiStartDA(IsiFlags Flags);
void IsiStartDAS(IsiFlags Flags);
void IsiStop(void);
void IsiIsRunning(void);

You can start and stop 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.

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.

For PL 3170 devices, you must call the IsiPreStart() function from the

when(reset) task before calling any other ISI functions. This function establishes
the runtime links between the ISI engine in the read-only memory (ROM) of a PL

3170 Smart Transceiver and the callbacks in the application. You must call this

function even if you do not plan to start the ISI engine.

The IsiPreStart() function is supported only for PL 3170 devices, and is not
supported for other device types.

You can stop the ISI engine by calling the IsiStop() function. When you stop the

ISI engine, callbacks into the application will no longer occur. Most ISI functions
that the application might invoke, such as the IsiTickS() function introduced

earlier, have a benign behavior when the engine is stopped. The application need

not track the engine’s state therefore, and may make the same set of ISI API
calls in any state. The behavior of each ISI function in the idle state is described

later in this document. The IsiIsRunning() function may be called at any time

and returns a non-zero value if the engine is running.

All ISI devices must have a standard way to enable and disable self-installation.
This enables self-installed devices to be installed into managed networks as

described in Chapter 6. To provide this interface, include a SCPTnwrkCnfg

configuration property implemented as a configuration network variable that