FindDevices Method - intrepidcs API¶
C/C++ declare - VB.NET declare - C# declare - Parameters - Return Values - Remarks - C/C++ example - VB.NET example - C# example
This method returns the neoVI hardware devices connected to the PC.
C/C++ Declare¶
int _stdcall icsneoFindDevices(NeoDeviceEx* pNeoDeviceEx, int* pNumDevices ,unsigned int* DeviceTypes,unsigned int numDeviceTypes,POptionsFindNeoEx* pOptionsNeoEx,unsigned int* reserved);
Visual Basic .NET Declare¶
Public Declare Function icsneoFindDevices Lib “icsneo40.dll” (ByRef pNeoDevice As NeoDeviceEx, ByRef pNumDevices As Int32, ByRef DeviceTypes As UInt32, ByVal numDeviceTypes As UInt32, ByRef pOptionsFindNeoEx As OptionsNeoEx, ByVal reserved As UInt32) As Int32
C# Declare¶
[DllImport(“icsneo40.dll”)] public static extern Int32 icsneoFindDevices(ref NeoDeviceEx pNeoDevice, ref Int32 pNumDevices, UInt32 DeviceTypes, UInt32 numDeviceTypes, ref OptionsNeoEx pOptionsNeoEx, UInt32 reserved);
Parameters¶
pNeoDeviceEx
[out] This is the address of the first element of an array of NeoDeviceEx structure. This array can be as big as 255 devices. You must specify the size of the pNeoDeviceEx array in the pNumDevices parameter. The number of devices found will be limited to the value of pNumberofDevices or 255, whichever is lower. Each returned NeoDevice structure will contain information for each device such as its type, device handle and serial number.
pNumberOfDevices
- [in/out] In: Specifies the size of the pNeoDevices array. Must be in the range 0 to 255.
Out: Specifies the number of neo devices that were found. This can be in the range 0 to 255.
DeviceTypes
[in] This is an array of device types to look for. Specifies the types of neoVI devices to find. Each element in the array need to have a value for the device type to look for. Currently supported values are:
NEODEVICE_UNKNOWN = 0x00000000NEODEVICE_BLUE = 0x00000001NEODEVICE_ECU_AVB = 0x00000002NEODEVICE_RADSUPERMOON = 0x00000003NEODEVICE_DW_VCAN = 0x00000004NEODEVICE_RADMOON2 = 0x00000005NEODEVICE_RADGIGALOG = 0x00000006NEODEVICE_VCAN41 = 0x00000007NEODEVICE_FIRE = 0x00000008NEODEVICE_RADPLUTO = 0x00000009NEODEVICE_VCAN42_EL = 0x0000000aNEODEVICE_RADIO_CANHUB = 0x0000000bNEODEVICE_NEOECU12 = 0x0000000cNEODEVICE_OBD2_LCBADGE = 0x0000000dNEODEVICE_RAD_MOON_DUO = 0x0000000eNEODEVICE_VCAN3 = 0x00000010NEODEVICE_RADJUPITER = 0x00000011NEODEVICE_VCAN4_IND = 0x00000012NEODEVICE_GIGASTAR = 0x00000013NEODEVICE_ECU22 = 0x00000015NEODEVICE_RED = 0x00000040NEODEVICE_ECU = 0x00000080NEODEVICE_IEVB = 0x00000100NEODEVICE_PENDANT = 0x00000200NEODEVICE_OBD2_PRO = 0x00000400NEODEVICE_PLASMA = 0x00001000NEODEVICE_NEOANALOG = 0x00004000NEODEVICE_CT_OBD = 0x00008000NEODEVICE_ION = 0x00040000NEODEVICE_RADSTAR = 0x00080000NEODEVICE_VCAN44 = 0x00200000NEODEVICE_VCAN42 = 0x00400000NEODEVICE_CMPROBE = 0x00800000NEODEVICE_EEVB = 0x01000000NEODEVICE_VCANRF = 0x02000000NEODEVICE_FIRE2 = 0x04000000NEODEVICE_FLEX = 0x08000000NEODEVICE_RADGALAXY = 0x10000000NEODEVICE_RADSTAR2 = 0x20000000NEODEVICE_VIVIDCAN = 0x40000000NEODEVICE_OBD2_SIM = 0x80000000NEODEVICE_ALL = = 0xFFFFBFFF
- Constants are defined in appropriate header or module. pNumDevicTypes
[in] In: Specifies the size of the DeviceTypes array. Must be in the range 0 to 255.
pOptionsNeoEx
[in] CAN netowork ID for connecting to devices over CAN. Set to null for USB or Ethernet connections.
Return Values¶
1 if the function succeeded. 0 if it failed for any reason. If the function succeeds but no devices are found 1 will still be returned and pNumberOfDevices will equal 0.
Remarks¶
The NeoDevice array elements that are returned with this function may be passed to OpenNeoDevice so that individual neoVI devices can be opened.
Examples¶
C/C++ Example:¶
NeoDeviceEx Devices[255];
unsigned long lDevTypes;
int iNumDevices = 255;
int iRetVal = 0;
int lDevTypes;
lDevTypes = NEODEVICE_ALL;
iRetVal = icsneoFindDevices(Devices, &iNumberOfDevices,NULL,0,NULL,0);
C# Example:¶
int iResult;//Holds the results from function call
NeoDeviceEx ndNeoToOpen = new NeoDeviceEx(); ; //Struct holding detected hardware information
int iNumberOfDevices; //Number of hardware devices to look for
int lDevTypes; //Holds the device types to look for
lDevTypes = NEODEVICE_ALL;
//Set the number of devices to find
iNumberOfDevices = 1;
//Search for connected hardware
iResult = icsNeoDll.icsneoFindDevices(ref ndNeoToOpenex[0],ref iNumberOfDevices, 0, 0,ref neoDeviceOption, 0);
if (iResult == 0)
{
MessageBox.Show("Problem finding devices");
return;
}
Visual Basic .NET Example:¶
Dim iResult As Integer '//Holds the results from function call
Dim ndNeoToOpenex As NeoDeviceEx '//Struct holding detected hardware information
Dim iNumberOfDevices As Integer '//Number of hardware devices to look for
Dim lDevTypes As Integer '//Holds the device types to look for
Dim neoDeviceOption As OptionsNeoEx = New OptionsNeoEx '//Not using CAN 0 out
'//Set the devices to look for
lDevTypes = NEODEVICE_ALL
'//Set the number of devices to find
iNumberOfDevices = 1
'//Search for connected hardware
iResult = icsneoFindDevices(ndNeoToOpenex(0), iNumberOfDevices, 0, 0, neoDeviceOption, 0)
If (iResult = 0) Then MsgBox("Problem finding devices")