#include <cvb/composite.hpp>
#include <cvb/device_factory.hpp>
#include <cvb/driver/driver.hpp>
#include <cvb/driver/multi_part_image.hpp>
#include <cvb/image.hpp>
#include <cvb/plane_enumerator.hpp>
#include <cvb/point_cloud.hpp>
#include <cvb/utilities/utilities.hpp>
#include <iostream>
int main() {
Cvb::DiscoverFlags::IgnoreGevFD | Cvb::DiscoverFlags::IgnoreVins |
Cvb::DiscoverFlags::UpToLevelInterface,
std::chrono::milliseconds(2000));
for (int i = 0; i < interfaceInfoList.size(); i++) {
std::string mac = "No MAC available";
interfaceInfoList[i].TryGetProperty(Cvb::DiscoveryProperties::InterfaceMac,
mac);
std::cout << mac << " | Index: " << i << std::endl;
}
std::cout
<< "Please enter the index of the interface your device is connected to:"
<< std::endl;
std::cout << "(You can check the mac addresses in the GenICamBrowser)"
<< std::endl;
int index = -1;
std::cin >> index;
while (index < 0 || index > interfaceInfoList.size() || std::cin.fail()) {
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "Invalid index, please enter a valid number:" << std::endl;
std::cin >> index;
}
auto &interfaceInfo = interfaceInfoList[index];
interfaceInfo.SetGenApiFeature(CVB_LIT("TLInterface"),
CVB_LIT("Cust::DisableSubnetMatch"),
CVB_LIT("1"));
interfaceInfo.SetGenApiFeature(
CVB_LIT("TLInterface"), CVB_LIT("Cust::AllowBroadcastDiscoveryResponse"),
CVB_LIT("1"));
Cvb::DiscoverFlags::IgnoreGevFD |
Cvb::DiscoverFlags::IgnoreVins |
Cvb::DiscoverFlags::UpToLevelDevice |
Cvb::DiscoverFlags::IncludeInaccessible,
std::chrono::milliseconds(2000));
{
auto interfaceDevice =
auto interfaceNM = interfaceDevice->NodeMap(CVB_LIT("TLInterface"));
auto deviceUpdateListNode =
auto ipNode =
CVB_LIT("GevDeviceForceIPSubnetMask"));
auto forceIPNode =
CVB_LIT("GevDeviceIPConfigurationStatus"));
deviceUpdateListNode->Execute();
configurationStatusNode->SetValue("TemporaryIP");
ipNode->SetValue(0x0A000002);
forceIPNode->Execute();
deviceUpdateListNode->Execute();
configurationStatusNode->SetValue("PersistentIP");
ipNode->SetValue(0x0A000002);
forceIPNode->Execute();
deviceUpdateListNode->Execute();
}
};
static std::vector< DiscoveryInformation > Discover()
static std::shared_ptr< T > Open(const String &provider, AcquisitionStack acquisitionStack=AcquisitionStack::PreferVin)
void SetValue(std::int64_t value)