Isigetwidth(), Isiqueryheartbeat(), Isisetconnection() – Echelon ISI User Manual
Page 150

ISI Programmer’s Guide
148
IsiGetWidth()
unsigned IsiGetWidth(unsigned
Assembly
);
Returns the width in the specified assembly. The width is equal to the number of
network variable selectors associated with the assembly.
This function is a forwarder to isiGetWidth().
The isiGetWidth() forwardee always returns one.
Applications must override the IsiGetWidth() function to support compound
assemblies.
This function operates whether the ISI engine is running or not.
IsiQueryHeartbeat()
boolean IsiQueryHeartbeat(unsigned
NvIndex
);
Returns TRUE if a heartbeat for the network variable with the global index
NvIndex has been sent, and returns FALSE otherwise. When network variable
heartbeat processing is enabled and the ISI engine is running, the engine queries
bound output network variables using this callback (including any alias
connections) whenever the heartbeat is due. This function does not send the
heartbeat update—see IsiIssueHeartbeat(). For more details on network variable
heartbeat scheduling, see the
ISI Protocol Specification
.
The isiQueryHeartbeat() forwardee always returns FALSE.
IsiSetConnection()
void IsiSetConnection(IsiConnection*
pConnection
, unsigned
Index
);
Updates an entry in the connection table, which must be kept in persistent, non-
volatile, storage.
The default implementation updates an entry in the built-in connection table
with 8 entries, stored in on-chip EEPROM memory. You can override this
function to provide an application-specific means of accessing the connection
table, or to provide an application table of a different size.
The ISI engine requests only one connection table entry at a time, and makes no
assumption on the pointer value. Applications using storage outside the Neuron
address space may use a single buffer to transfer all connection table entries, as
shown by example in
Customizing the ISI Connection Table
earlier in this
document. The ISI engine may implement locals of the IsiConnection type for
use with IsiSetConnection() callbacks; the application implementing this override
must not maintain a copy of the pointer value.
This function is frequently called and should return as soon as possible.
There is no forwarder for this function.