Isistop(), Isitick() – Echelon ISI User Manual

Page 142

Advertising
background image

ISI Programmer’s Guide

140

IsiStop()

void IsiStop(void);

Stops the ISI engine. Use one of the IsiStart() functions to re-start the ISI
engine.

The IsiStop() function has no forwarder. Calling IsiStop() when the ISI engine is

stopped has no action.

IsiTick()

void IsiTick(IsiType

Type

);

void IsiTickS(void);
void IsiTickDa(void);
void IsiTickDas(void);

Performs periodic processing for the ISI engine. You must periodically call one of
the IsiTick() functions after you have started the ISI engine with one of the
IsiStart() functions. You should call this function approximately every 250ms.

You can use the IsiTick() function for an application that supports any ISI type.

You can use specialized versions of the IsiTick() function to minimize the memory
footprint of your application. Devices that only support a single ISI type may use

one of the following functions:

• IsiTickS()—performs periodic processing for the ISI engine for a device

that does not support domain acquisition.

• IsiTickDA()—performs periodic processing for the ISI engine for a device

that supports domain acquisition, but is not a domain address server.

• IsiTickDAS()—performs periodic processing for the ISI engine for an ISI-

DAS application that supports domain acquisition and is a domain

address server.

When selecting one of the specialized versions (IsiTickS(), IsiTickDa(), or

IsiTickDas()) you must make sure to use the same type of specialized message
processor function (IsiProcessMsgS(), etc) and start function (IsiStartS(), etc).

No forwarders are provided with the IsiTick() functions. Calling IsiTick() when
the ISI engine is stopped causes no effect.

E

XAMPLE

The following example for a device that does not support domain acquisition

declares a timer and calls IsiTickS() to do periodic processing:

mtimer repeating isiTimer = 1000ul / ISI_TICKS_PER_SECOND;

when (timer_expires(isiTimer)) {

// Call the ISI engine to perform periodic tasks

IsiTickS();

}


Advertising