# Using Chunk Mode Data with CVB.NET

**URL:** <https://forum.commonvisionblox.com/t/using-chunk-mode-data-with-cvb-net/333>\
**Category:** .Net API\
**Tags:** acquisition, gigevision\
**Created:** [January 10, 2018, 2:13pm UTC](https://forum.commonvisionblox.com/t/using-chunk-mode-data-with-cvb-net/333 "2018-01-10T14:13:19Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![parsd](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.commonvisionblox.com/parsd/32/7_2.png) [@parsd](https://forum.commonvisionblox.com/u/parsd)\
**Post date:** [January 12, 2018, 2:09pm UTC](https://forum.commonvisionblox.com/t/using-chunk-mode-data-with-cvb-net/333/2 "2018-01-12T14:09:15Z")

</div>

Hi @AGrafton,

for this example you need to configure the C5 being the first camera and image data being delivered as raw:

```cs
using (var device = DeviceFactory.Open("GenICam.vin"))
{
  var nodemap = device.NodeMaps[NodeMapNames.Device];
  var chunkModeActive = nodemap["ChunkModeActive"] as BooleanNode;
  chunkModeActive.Value = true;

  var stream = device.Stream;
  stream.Start();
  try
  {
    stream.Wait();
    var deviceImage = device.DeviceImage;

    var chunks = GevChunkParser.Parse(deviceImage);
    var info = DereferenceAcqInfoOn(deviceImage, chunks.First(chunk => chunk.ID == ATC5AcqInfoChunk.ID));

    Console.WriteLine($"FrameCount: {info.FrameCount}");
  }
  finally
  {
    stream.Stop();
  }
}

```

With this helper method and struct:

```cs
private static unsafe ATC5AcqInfoChunk DereferenceAcqInfoOn(DeviceImage image, GevChunk chunk)
{
  Debug.Assert(chunk.ID == ATC5AcqInfoChunk.ID);
  Debug.Assert(chunk.Length >= sizeof(ATC5AcqInfoChunk));

  var chunkPtr = new IntPtr(image.GetBufferBasePtr().ToInt64() + chunk.Offset);
  return *(ATC5AcqInfoChunk*)chunkPtr;
}

[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct ATC5AcqInfoChunk
{
  public const uint ID = 0x66669999;

  public uint TimeStampLow;
  public uint TimeStampHigh;
  public uint FrameCount;
  public int TriggerCoordinate;
  public byte TriggerStatus;
  public ushort DAC;
  public ushort ADC;
  public byte IntIdX;
  public byte AoiIdX;
  public ushort AoiYs;
  public ushort AoiDy;
  public ushort AoiXs;
  public ushort AoiThreshold;
  public byte AOIAlgorithm;
}

```

For this to work you need these three new classes I put on github:

> <https://gist.github.com/parsd/364f78d3b1b20069658fc0158e0c812c>

---

_[View the full topic](https://forum.commonvisionblox.com/t/using-chunk-mode-data-with-cvb-net/333)._
