Public Declare Function icsneoSendConfiguration Lib “icsneo40.dll” (ByVal hObject As Int32, ByRef pData As Byte, ByVal lNumBytes As Int32) As Int32
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
unsignedcharbConfigBytes[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); } }}elseMessageBox(hWnd,TEXT("Port Not Open"),TEXT("neoVI Example"),0);
Dim bConfigBytes(1024) As Byte ''Storage for Data bytes from device
Dim iNumBytes As Integer ''Storage for Number of Bytes
Dim lResult As Integer ''Storage for Result of Called Function
Dim Counter As Integer
Dim iNumberOfErrors As Long ''Storage for Number of Errors Received
''Clear ListBox
lstConfigInformation.Items.Clear()
''Call Get Configuration
lResult = icsneoGetConfiguration(m_hObject, bConfigBytes(0), iNumBytes)
''Fill Listbox with Data From Function Call
For Counter = 0 To 1024
lstConfigInformation.Items.Add("Byte Number-" & Counter & " Byte Data-" & bConfigBytes(Counter))
Next Counter
'/---------------------READ CONFIGURATION -----------------------------------------------
''Set HS CAN Baud Rate Information
bConfigBytes(NEO_CFG_MPIC_HS_CAN_CNF1) = Val("&H" & txtCNF1.Text)
bConfigBytes(NEO_CFG_MPIC_HS_CAN_CNF2) = Val("&H" & txtCNF2.Text)
bConfigBytes(NEO_CFG_MPIC_HS_CAN_CNF3) = Val("&H" & txtCNF3.Text)
'/---------------------SEND CONFIGURATION -----------------------------------------------
''Call Sned configuration
lResult = icsneoSendConfiguration(m_hObject, bConfigBytes(0), iNumBytes)
'// make sure the read was successful
If Not CBool(lResult) Then
MsgBox("Problem sending configuration")
lResult = icsneoClosePort(m_hObject, iNumberOfErrors)
Exit Sub
Else
MsgBox("Configuration Successfull")
End If
byte[] bConfigBytes=newbyte[1024]; //Storage for Data bytes from deviceint iNumBytes =0; //Storage for Number of Bytesint lResult =0; //Storage for Result of Called Functionint Counter;int lNumberOfErrors =0; //Storage for Number of Errors Received//Clear ListBoxlstConfigInformation.Items.Clear();//---------------------READ CONFIGURATION -----------------------------------------------//Call Get ConfigurationlResult =icsNeoDll.icsneoGetConfiguration(m_hObject,refbConfigBytes[0],ref iNumBytes);//Fill Listbox with Data From Function Callfor(Counter=0; Counter<1024;Counter++){lstConfigInformation.Items.Add("Byte Number-"+ Counter +" Byte Data-"+bConfigBytes[Counter]);}//Set HS CAN Baud Rate InformationbConfigBytes[Convert.ToInt32(icsConfigSetup.NEO_CFG_MPIC_HS_CAN_CNF1)] =Convert.ToByte(ConvertFromHex(txtCNF1.Text));bConfigBytes[Convert.ToInt32(icsConfigSetup.NEO_CFG_MPIC_HS_CAN_CNF2)] =Convert.ToByte(ConvertFromHex(txtCNF2.Text));bConfigBytes[Convert.ToInt32(icsConfigSetup.NEO_CFG_MPIC_HS_CAN_CNF3)] =Convert.ToByte(ConvertFromHex(txtCNF3.Text));//---------------------SEND CONFIGURATION -----------------------------------------------//Call Sned configurationlResult =icsNeoDll.icsneoSendConfiguration(m_hObject,refbConfigBytes[0], iNumBytes);// make sure the read was successfulif(lResult==0){MessageBox.Show("Problem sending configuration"); lResult =icsNeoDll.icsneoClosePort(m_hObject,ref lNumberOfErrors);}else{MessageBox.Show("Configuration Successfull");}