I'm trying to use ncWriteMulti function in CVi LabWindows with a VXI card NI PXI-8464 and with the nican driver version 2.3
but whatever are the arguments I use to call the function, the driver allways returns me the following message
"NICAN : (Hex 0xBFF6200A) A known feature is not
supported. Solutions: refer to the descriptions in the manual to
determine whitch feature is unsupported."
I tried different baud rates from 125k to 500k, different frame array size for 1 to 1000 but the message is allways the same
Have you ever experienced this ?
thank you for your help
Here is an extract of the code I use:
AttrIdList[0] = NC_ATTR_BAUD_RATE;
AttrValueList[0] = baudRate;
AttrIdList[1] = NC_ATTR_START_ON_OPEN;
AttrValueList[1] = NC_TRUE;
AttrIdList[2] = NC_ATTR_READ_Q_LEN;
AttrValueList[2] = 0;
AttrIdList[3] = NC_ATTR_WRITE_Q_LEN;
AttrValueList[3] = 0;
AttrIdList[4] = NC_ATTR_LOG_COMM_ERRS;
AttrValueList[4] = NC_TRUE;
AttrIdList[5] = NC_ATTR_CAN_COMP_STD;
AttrValueList[5] = 0;
AttrIdList[6] = NC_ATTR_CAN_MASK_STD;
AttrValueList[6] = NC_CAN_MASK_STD_DONTCARE;
AttrIdList[7] = NC_ATTR_CAN_COMP_XTD;
AttrValueList[7] = 0;
AttrIdList[8] = NC_ATTR_CAN_MASK_XTD;
AttrValueList[8] = NC_CAN_MASK_XTD_DONTCARE;
status = ncConfig(Interface, 9, AttrIdList, AttrValueList);
if (status < 0)
{
PrintStat(status, "ncConfig TX");
StopTxCallback (panelHandle, PANEL_STOP_TX, EVENT_COMMIT, 0, 0, 0);
}
/* open the CAN Network Interface Object */
status = ncOpenObject(Interface, &NetIntfObjhTx);
if (status < 0)
{
PrintStat(status, "ncOpenObject TX");
StopTxCallback (panelHandle, PANEL_STOP_TX, EVENT_COMMIT, 0, 0, 0);
}
{
NCTYPE_CAN_STRUCT* pFramesTab;
pFramesTab = (NCTYPE_CAN_STRUCT*)calloc(nbFrames, sizeof(NCTYPE_CAN_STRUCT));
for(index = 0; index < nbFrames; index++)
{
pFramesTab[index].FrameType = NC_FRMTYPE_DATA;
pFramesTab[index].ArbitrationId = index;
pFramesTab[index].DataLength = 7;
pFramesTab[index].Data[0] = 1;
pFramesTab[index].Data[1] = 2;
pFramesTab[index].Data[2] = 3;
pFramesTab[index].Data[3] = 4;
pFramesTab[index].Data[4] = 5;
pFramesTab[index].Data[5] = 6;
pFramesTab[index].Data[6] = 7;
}
status= ncWriteMult(NetIntfObjhTx, nbFrames, pFramesTab);
PrintStat(status, "ncWriteMult");
free(pFramesTab);
}