Isisetdomain(), Isiupdatediagnostics() – Echelon ISI User Manual
Page 151

149
ISI Programmer’s Guide
You must override the IsiGetConnection() and IsiGetConnectionTableSize()
functions if you override the IsiSetConnection() function.
IsiSetDomain()
void IsiSetDomain(domain_struct*
pDomain
, unsigned
Index
);
Sets the domain, subnet, and node ID in the primary entry of the domain table
for a device. You can override this function with an empty function during
development in a managed environment to prevent conflicts with the network
management tool. For example, if you are using the NodeBuilder Development
Tool, the LonMaker tool manages the devices you are developing. To prevent
conflicts with the LonMaker tool, the following code disables domain table
updates for a NodeBuilder development target:
#ifndef _MINIKIT
# ifdef _DEBUG
void
IsiSetDomain(domain_struct* pDomain,
unsigned Index) {
;
//
do
nothing.
}
# endif
#endif
When you override this function, only the domain, subnet, and node ID
management functions of the ISI engine are disabled—all other portions of the
ISI protocol will continue to function. This passes control of the subnet and node
IDs to an external network management tool, which means they may no longer
follow the ISI subnet/node value ranges. When disabled, any detected
subnet/node ID conflicts will not be resolved.
Warning: This function can only be overridden during development. Overriding
the IsiSetDomain() callback in the way shown above allows for debugging of the
device application with the ISI engine running, but disables important features of
the ISI protocol. Devices using this approach will not function correctly in a self-
installed environment.
IsiUpdateDiagnostics()
void IsiUpdateDiagnostics(IsiDiagnostic
Event
, unsigned
Parameter
);
Provides optional detailed ISI diagnostic events. These events are useful for
debugging ISI applications and are not typically used for production products. To
receive notification of diagnostic events, enable diagnostics in the IsiStart()
function and override the IsiUpdateDiagnostics() callback function. This callback
is normally disabled and the default implementation of IsiUpdateDiagnostics()
does nothing. The ISI engine calls this function with the
Event
parameter set to
one of the values defined for the IsiDiagnostic enumeration in Appendix A. Some
of these events carry a meaningful value in the
Parameter
argument, as detailed
in the IsiDiagnostic definition. Most diagnostics events supplement UI events;
use a combination of both events for a complete trace record.
No forwarder is supported for this function.