Isiprocessmsg() – Echelon ISI User Manual

Page 138

Advertising
background image

ISI Programmer’s Guide

136

IsiReturnToFactoryDefaults(); // Call NEVER returns!

}

// Self-installed network--start the ISI engine

scaled_delay(31745UL);

// 800ms delay

IsiStartS(isiFlagExtended+isiFlagHeartbeat);
}
}

IsiProcessMsg()

boolean IsiProcessMsg(IsiType

Type

);

boolean IsiProcessMsgDa(void);
boolean IsiProcessMsgDas(void);
boolean IsiProcessMsgS(void);

Processes an ISI message that has been verified as an ISI message by the
IsiApproveMsg() function. The function returns FALSE if the message received

has been recognized and processed, and returns TRUE if the message is

unrecognized and not processed.

Typically, the IsiApproveMsg() and IsiProcessMsg() functions are used in a single
Boolean expression, as shown:

E

XAMPLE

when (msg_arrives) {
if (IsiApproveMsg() && IsiProcessMsgS()) {
// TODO: Process unrecognized ISI messages here
}
}

You can use the IsiProcessMsg() function to process an ISI message on a device

that supports multiple ISI types. You can use specialized versions of the
IsiProcessMsg() function to minimize the memory footprint of your application.

Devices that only support a single ISI type may use one of the following

functions:

• IsiProcessMsgS()—processes an ISI message for a device that does not

support domain acquisition.

• IsiProcessMsgDA()—processes an ISI message for a device that supports

domain acquisition, but is not a domain address server.

• IsiProcessMsgDAS()—processes an ISI message for an ISI-DAS

application that supports domain acquisition and is a domain address

server.

When selecting one of the specialized versions IsiProcessMsgS(),
IsiProcessMsgDA(), or IsiProcessMsgDAS(), you must make sure to use the same

type of specialized start function (IsiStartS(), etc) and tick function (IsiTickS(),
etc).

No forwarders are provided for these functions. All functions operate in any
state of the ISI engine, but must not be called unless IsiApproveMsg() returned

TRUE within the same critical section (when task).

Advertising