Isifetchdevice(), Isifetchdomain() – Echelon ISI User Manual

Page 131

Advertising
background image

129

ISI Programmer’s Guide

IsiFetchDevice()

void IsiFetchDevice(void);

Fetches a device by assigning a domain to the device from a domain address
server (DAS). The IsiFetchDevice() function must not be called from a device

that is not a domain address server.

To use the IsiFetchDevice() function, you must implement a when (resp_arrives)
task and call the IsiProcessResponse() function from the domain address server’s

application to complete the processing involved with fetching a remote device.

The IsiFetchDevice() operation does not require application code on the remote
device. The remote device remains unaware of the change to its primary domain.

An alternate method to assign a domain to a device is for the device to use the
IsiAcquireDomain() function. This function provides more immediate recovery

from network addressing conflicts and more immediate maintenance of automatic
connections. The disadvantage of using the IsiAcquireDomain() function is that

it typically requires more code on the device, and it requires that the device

support ISI-DA. The IsiFetchDevice() function may be used with any device. A
DAS must support both methods.

The ISI engine must be running for this function to have any effect, and this
function only operates on a domain address server.

E

XAMPLE

The following example is part of the domain address server’s application.
The example assigns the domain address server’s domain to a device when

the user presses the Connect button on the server:

when (connect_button_pressed) {

IsiFetchDevice();

}

// Handle responses to requests in IsiFetchDomain()
when (resp_arrives) {
if (IsiProcessResponse()) {
// TODO: process unprocessed responses here (if any)
}

}

IsiFetchDomain()

void IsiFetchDomain(void);

Starts or re-starts the fetch domain process in a domain address server, described

above in

Fetching a Domain for a DAS

. The IsiFetchDomain() function must not

be called from a device that is not a domain address server.

The ISI engine must be running for this function to have any effect, and this
function only operates on a domain address server.

Advertising