SendConfiguration Method - neoVI API

This method sends configuration information to the hardware.

int _stdcall icsneoSendConfiguration(int hObject, unsigned char *pData, int lNumBytes);

Parameters

hObject

[in] Specifies the driver object created by OpenNeoDevice.

pData

[in] This is an array configuration bytes. The format of this array is defined in the Configuration Array help topic. This data should be filled in with a call to GetConfiguration before calling SendConfiguration. The size of this array must always be 1024 bytes.

lNumBytes

[in] This must always be set to 1024.

Return Values

Returns 1 if successful, 0 if an error occurred. GetLastAPIError must be called to obtain the specific error. The errors that can be generated by this function are:

NEOVI_ERROR_DLL_NEOVI_NO_RESPONSE = 75

Remarks

This method will only update the configuration defined in the Configuration Array topic. It will also apply checking to the data so that a neoVI is not programmed to an illegal state. For example, setting the CAN controller to an illegal operating mode.

Examples

unsigned char bConfigBytes[1024];
int iNumConfigBytes = 1024;

if(m_bPortOpen)
{
   lResult = icsneoGetConfiguration(hObject, bConfigBytes, &iNumConfigBytes);
   if (lResult == 0)
       MessageBox(hWnd,TEXT("Problem Reading Configuration"),TEXT("neoVI Example"),0);
   else
   {
       iOldCNF1=bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF1];
       iOldCNF2=bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF2];
       iOldCNF3=bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF3];


       // 250 K for Value CAN 500k for neoVI (neoVI and valuecan use different CAN controller rates)
       bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF1] = 0x03;
       bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF2] = 0xB8;
       bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF3] = 0x05;

       lResult = icsneoSendConfiguration(hObject, bConfigBytes, iNumConfigBytes);

       if (lResult == 0)
           MessageBox(hWnd,TEXT("Problem Updating Configuration"),TEXT("neoVI Example"),0);
        else
       {
           wsprintf(szOut,TEXT("Old Values: HSCAN CNF1 = %x HSCAN CNF2 = %x HSCAN CNF3 = %x \n\nNew Values HSCAN CNF1 = %x HSCAN CNF2 = %x HSCAN CNF3 = %x "),
           iOldCNF1,
           iOldCNF2,
           iOldCNF3,
           bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF1],
           bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF2],
           bConfigBytes[NEO_CFG_MPIC_HS_CAN_CNF3]);
           MessageBox(hWnd,szOut,TEXT("neoVI Example"),0);
       }
   }
}
else
   MessageBox(hWnd,TEXT("Port Not Open"),TEXT("neoVI Example"),0);

Last updated