#include <cdi.h>
This is the principal structure passed to and from CDI and a bus plug
read 1, write 2, read then write 3, write then read 4
number of request process steps
flag to indicate whether the call is asynchronous
a buffer index used by the bus plug
| short CdiRequestInfoBlk::bufLastData[4] |
comparison buffer
| void(* CdiRequestInfoBlk::callback)(int, int) |
callback function: receivces callBackIndex, errorCode
can be user assigned (< 0x1000) or requestNumber + 0x1000
cancel callback
for reading data (readConditionNumeraters), bit: 0x8 for mask ON flag
| BYTE CdiRequestInfoBlk::cpOutData[DEF_INPUT_BYTES] |
default data to send to the bus
databack: 1; conditionOK: 2
0 if no bus error on the device
| int CdiRequestInfoBlk::devParameters[NUMBER_EXEC_PARAM] |
address parameters registered with this device
polling device ready
bus request semaphores
memory managment flag
memory managment flag
grouped request, group true if != NULL
synchronous flag for group start
0 = FALSE (no mask); else TRUE
0 = FALSE (no pattern); else TRUE
original caller's format code
| unsigned int CdiRequestInfoBlk::inLength |
size in bytes of data coming from the device
synchronization flag
data type (from the hardware) one of char, short, int, float or double
lock this request until cancel calls
| BYTE CdiRequestInfoBlk::mask[8] |
data mask to apply
??
if TRUE -> needs to calibrate results
number of data returnd or timeout...
number of connected requests for mainRequest, but index number for each requested device start from 1
number of errors of this group
original caller's format code
| unsigned int CdiRequestInfoBlk::outLength |
size in bytes of data sent to the device
data type (to the hardware) one of char, short, int, float or double
| BYTE CdiRequestInfoBlk::patternFilter[CDI_PATTERN_FILTER_SIZE] |
compare pattern or Filter, if string max 32 bytes, otherwise check 8 bytes(double) only
block transfer buffer pointer
referenced device
specific error code; table of errors
pointer to data coming from the device
infinite loop for async call
polling interval ?
pointer to data sent to the device
time when contract was registered
own index number: 0, 1...
number of requests
reqIndex + (cdiLine << 16)
time whem contract was last sent
last response time in ms
bus request semaphores
in milliseconds: < 0 return only on time out or error; 0: wait forever
callback or syncSem done flag
1.5.8