Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

You can use a datapoint read callback function to respond to a datapoint read request from IDL to a custom driver.  A datapoint read request originates from an IAP/MQ datapoint read request to a custom driver.  The IAP/MQ datapoint read request may be a result of periodic polling, an on-demand get request from an IAP/MQ client, event-driven monitoring, or when polling the first datapoint of a device for provisioning, a test action, or health checking. In all cases, the DpRead callback function is called by the IDL that was registered during the custom driver init process.

Datapoint Read Callback Function

DpRead

IdlErrorCodes DpRead(int callback_index, IdlDev *dev, IdlDatapoint *dp, void *idlContext);

The callback_index is of no significance to the IDI. It must be passed as is back to the IDL when calling IdlDpReadResult

When a datapoint read is complete, IDI reports the result to the IDL using IdlDpReadResult.

Datapoint Read Related Functions

IdlDpReadCallbackSet

void IdlDpReadCallbackSet(Idl *idl, int (*DpRead)(int, IdlDev *, IdlDatapoint *, void *));

Must be called by the custom driver prior to calling IdlInit.

IdlDpReadResult

void IdlDpReadResult(int callbackIndex, IdlDev *dev, IdlDatapoint *dp, void *idlContext, int idlError, char *prioArray, double value);

Must be called by the custom driver at the end of the callback function before exiting.  

The actual value of the datapoint must be sent as a double value.

Note:  prioArray is not used by IDL and is reserved for future use.  The custom driver can send it as NULL.

  • No labels