Isiapprovemsgdas(), Isicancelacquisition(), Isicancelacquisitiondas() – Echelon ISI User Manual
Page 127
125
ISI Programmer’s Guide
IsiApproveMsgDas()
boolean IsiApproveMsgDas(void);
Determines if an incoming message is an ISI or service pin message by verifying
the message code and length. If approved, the received message may be
processed by one of the IsiProcessMsg() functions. This function must be used on
ISI-DAS devices instead of IsiApproveMsg(). The function has the same
functionality as IsiApproveMsg(), but also approves additional messages required
by a domain address server. This function does not approve messages belonging
to the response queue; use IsiProcessResponse() to process those.
The IsiApproveMsgDas() function always returns FALSE if the ISI engine is
stopped.
E
XAMPLE
The following partial example tests for incoming ISI messages and responses
on a domain address server. For a complete implementation of a DAS device,
the IsiStartDas() and IsiTickDas() functions must also be called at a
minimum:
when (msg_arrives) {
if
(IsiApproveMsgDas() && IsiProcessMsgDas()) {
// TODO: process unprocessed ISI messages here (if any)
} else {
// TODO: process other application messages here (if any)
}
}
when (resp_arrives) {
if (IsiProcessResponse()) {
// TODO: process unprocessed responses here (if any)
}
}
IsiCancelAcquisition()
void IsiCancelAcquisition(void);
Cancels both device and domain acquisition. Following the completion of this
function call, IsiUpdateUserInterface() is called with the isiNormal event.
You must use IsiCancelAcquisitionDas() on a domain address server instead.
This function has no effect unless the ISI engine is running and the device is
either in device or domain acquisition mode.
IsiCancelAcquisitionDas()
void IsiCancelAcquisitionDas(void);
The IsiCancelAcquisitionDas() function is only available to domain address
servers. The function provides a superset to the regular IsiCancelAcquisition()
function, additionally resetting the extended state information unique to a
domain address server.