intrepidcs / libicsneo

Intrepid Control Systems device communication library
Other
36 stars 32 forks source link

Not detecting NeoVi Fire 2 Device #50

Open danieldiaz7 opened 2 years ago

danieldiaz7 commented 2 years ago

My program which successfully compiles, can't detect my NeoVi Fire 2 device. When running cmake, I get this:

Include paths Loaded extensions: -- Build type: Debug -- Not generating API documentation fatal: No names found, cannot describe anything. -- Detected git snapshot version: unknown -- Not building libftdi1++ -- Not building python bindings -- ftdi_eeprom build is disabled -- libConfuse not found, won't build ftdi_eeprom -- NOT building unit test -- Configuring done -- Generating done -- Build files have been written to: ...

It successfully builds, however, when I try to run this code, it always say 0 devices found:

`std::vector<std::shared_ptr> devices = icsneo::FindAllDevices();

std::cout << devices.size() << " found!" << std::endl;

for (auto& device: devices) {
    std::cout << "Found " << device->describe() << std::endl;
}`

Is this due to the build file or is there something else that I need to do when connecting the device to my laptop?

Thanks.

hollinsky-intrepid commented 2 years ago

What platform are you running this on? For Windows, you may need our device driver package. For Linux, you may need more permissions (try running with sudo to rule this out, and we can go from there).

danieldiaz7 commented 2 years ago

I'm currently running on a windows system. From the driver package, which file am I supposed to install?

hollinsky-intrepid commented 2 years ago

Ah my bad, those are manually installable drivers. This package has an automated installer you can use.

danieldiaz7 commented 2 years ago

I downloaded the driver and the device is still not being detected.

Currently, I have neoVI explorer open and connected to my neoVI fire 2, however, when I try running my program, it's not detecting my device. When building, some files aren't fully built but the program still compiles at the end. Could this be the issue? Thanks.

danieldiaz7 commented 2 years ago

I think there might be something wrong with my build files. When I run cmake ..:

Include paths Loaded extensions: -- Build type: Debug -- Not generating API documentation fatal: No names found, cannot describe anything. -- Detected git snapshot version: unknown -- Not building libftdi1++ -- Not building python bindings -- ftdi_eeprom build is disabled -- libConfuse not found, won't build ftdi_eeprom -- NOT building unit test -- Configuring done -- Generating done -- Build files have been written to: ...

My current directory looks like:

+build +sub_direc |____ libicsneo +CMakeLists.txt +main.cpp

My main.cpp is where I include the code:

#include <iostream>
#include <icsneo/icsneocpp.h>
#include <vector>

using namespace icsneo;

int main() {

    std::vector<std::shared_ptr<icsneo::Device>> devices = icsneo::FindAllDevices();

    std::cout << devices.size() << " found!" << std::endl;

    for (auto& device: devices) {
        std::cout << "Found " << device->describe() << std::endl;
    }

    std::cout << "testing testing\n";
}

Outermost CMakeLists.txt contains:

cmake_minimum_required(VERSION 3.16.3)

# set the project name
project(CAN_Application)

# set the project version
# project(CAN_Application VERSION 1.0)

# add the executable
add_executable(${PROJECT_NAME} main.cpp)

add_subdirectory("sub_direc/libicsneo")

target_link_libraries(${PROJECT_NAME} icsneocpp)

I feel like when I build, there are some files/libraries that are not being included in the build process. Any tips or assistance will be greatly appreciated!

vits71 commented 11 months ago

I had the same problem with Fire 3 and Win 11 x64. I needed to install Npcap and modify CMakeLists.txt to set LIBICSNEO_NPCAP_INCLUDE_DIR variable and rebuild the libicsneo again. Then there is alternate path in PCAPDLL::PCAPDLL used for opening wpcap.dll which was buggy (find details in another issue) but after I fix that bugs the device was finally found.