Isimsgdeliver(), Isimsgsend(), Isiopenenrollment() – Echelon ISI User Manual
Page 136

ISI Programmer’s Guide
134
IsiMsgDeliver()
void IsiMsgDeliver(IsiMessage*
pMsg
, unsigned
Length
, msg_out_addr*
pDestination
);
Sends an ISI message to the address specified in the
pDestination
parameter.
An ISI application must implement the IsiMsgDeliver() function. The function is
used by the ISI library for sending messages, and should not be used by the
application itself. In most cases, the application code need not explicitly declare
the IsiMsgDeliver() function; it is automatically implemented by including the
isi.h header file. The function that should be used for sending messages is
IsiMsgSend().
No forwarder is provided for this function. This function operates in any state of
the ISI engine.
IsiMsgSend()
void IsiMsgSend(IsiMessage*
pMsg
, unsigned
IsiMessageLength
, service_type
Service
, msg_out_addr*
pDestination
);
Sends an ISI message of the specified length using the specified service to the
specified address, for example from a function invoked via an
IsiCreatePeriodicMsg() event.
No forwarder is provided for this function. This function operates in any state of
the ISI engine.
IsiOpenEnrollment()
void IsiOpenEnrollment(unsigned
Assembly
);
Opens manual enrollment for the specified assembly. This operation turns the
device into a connection host for this connection and sends a CSMO manual
connection invitation to all devices in the network.
No forwarder is provided for this function. The ISI engine must be running, and
in the idle state.
E
XAMPLE
The following example opens manual enrollment for a simple assembly with
one network variable, using the network variable’s global index as the
application-specific assembly number:
void startEnrollment(void) {
unsigned
myAssembly;
myAssembly = nvoValue::global_index;
IsiOpenEnrollment(myAssembly);
}