beautypg.com

Deleting a connection, Handling isi events – Echelon ISI User Manual

Page 45

background image

43

ISI Programmer’s Guide

IsiCreateEnrollment() or IsiExtendEnrollment()), or simply do nothing. The

pending assembly remains pending until the enrollment is closed, and
automatically returns to the isiNormal state.

Deleting a Connection

You can delete an implemented connection using one of three methods:

• The device can restore factory defaults. To do so, call the

IsiReturnToFactoryDefaults() function. This function clears all system

tables, stops the ISI engine, and resets the device. See

Deinstalling a Device

and

Appendix B

for more details about this function.

• The device can delete a connection. To do so, call the IsiDeleteEnrollment()

function. This function causes the connection information to be removed from

the local device as well as on all other devices that are members of the same
connection. The IsiDeleteEnrollment() function may be called on the

connection host, and on any other device that has joined the connection.

• The device can opt out of an existing connection, leaving other devices that

have joined the same connection unchanged. To leave a connection locally,

call the IsiLeaveEnrollment() function. Calling this function on the

connection host has the effect of IsiDeleteEnrollment()—a connection host
cannot leave a connection, but must always delete the connection.

The ISI engine calls the IsiUpdateUserInterface() function with the isiDeleted
event to notify the application on the completion of a deleting operation.

Handling ISI Events

You can signal the progress of the enrollment process to the device user. This

will typically be done for devices that use manual connections, since automatic
connections do not require user interaction. User feedback may be as simple as a

single Connect light and button, possibly shared with the Service light and

button. A more complex gateway or controller may have a richer user interface.
To receive status feedback from the ISI engine, override the

IsiUpdateUserInterface() callback function. The ISI engine calls this function

with the IsiEvent parameter set to one of the values in the following table when
the associated event occurs. Some of these events carry a meaningful value in

the numeric parameter, as detailed in the table.