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

Page 150

Advertising
background image

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.

Advertising