DataStream nodemap : 3rd generation CVB++ in GenTL (no VIN) GIGE

Hello,
There is something with the nodemap I don’t manage to access with CVB++ (c++) : DataStream nodemap.


I want to access to statitics and packet resend infos …

auto nodemap = device->NodeMaps();
for(auto& nm : nodemaps)
{
   // I don't find the features in the nodemap like in the screen shot (statictics)
}

Is there a way to access these infomations?

Thanks in advance,
Mikael.

Hi @Mikael

The information can be acquired as follows:

while(true)
{
  Cvb::ImagePtr image;
  Cvb::WaitStatus waitStatus;
  Cvb::NodeMapEnumerator enumerator;
  std::tie(image, waitStatus, enumerator) = dataStream->WaitFor(TIMEOUT);
  switch (waitStatus)
  {
  default:
  {
    throw std::runtime_error("Something bad happend!");
  }
  case Cvb::WaitStatus::Ok:
  {
    break;
  }
  }
  //Statistics
  auto tlDatastream = dataStream->NodeMap(CVB_LIT("TLDatastream"));
  auto NumBuffersCorrupt = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersCorrupt")->Value();
  auto NumBuffersCorruptOnDelivery = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersCorruptOnDelivery")->Value();
  auto NumBuffersAnnounced = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersAnnounced")->Value();
  auto NumBuffersLost = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersLost")->Value();
  auto NumBuffersLostLocked = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersLostLocked")->Value();
  auto NumBuffersQueued = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersQueued")->Value();
  auto NumBuffersLocked = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersLocked")->Value();
  auto NumBuffersInIncompleteList = tlDatastream->Node<Cvb::IntegerNode>("NumBuffersInIncompleteList")->Value();
}
3 Likes

Ok. I was looking for TLDataStream in the device nodemaps instead of the datastream nodemaps.
I think it will better now.
Thanks foryour help,
Mikae.