CoreV2

CoreV2 is the packetizer v2 wiring object with CRC configuration controls for inbound and outbound processing. This page is reference-only; for integration guidance see Packetizer Protocol CoreV2.

Python binding

This C++ class is also exported into Python as rogue.protocols.packetizer.CoreV2.

Python API page: - CoreV2

objects in C++ are referenced by the following shared pointer typedef:

typedef std::shared_ptr<rogue::protocols::packetizer::CoreV2> rogue::protocols::packetizer::CoreV2Ptr
[header]

The class description is shown below:

class CoreV2
[header]

Packetizer v2 core wiring object.

Owns and connects transport, v2 controller, and per-destination application endpoints for the packetizer v2 stack.

Public Functions

CoreV2(bool enIbCrc, bool enObCrc, bool enSsi)
[header] [impl]

Constructs a packetizer v2 core.

Creator.

This constructor is a low-level C++ allocation path. Prefer create() when shared ownership or Python exposure is required.

Parameters:
  • enIbCrc – Enable inbound CRC checking.

  • enObCrc – Enable outbound CRC generation.

  • enSsi – Enable SSI framing behavior.

~CoreV2()
[header] [impl]

Destroys the packetizer v2 core.

Destructor.

std::shared_ptr<rogue::protocols::packetizer::Transport> transport()
[header] [impl]

Returns the transport-facing endpoint.

Get transport interface.

Returns:

Shared transport interface.

std::shared_ptr<rogue::protocols::packetizer::Application> application(uint8_t dest)
[header] [impl]

Returns an application endpoint by destination ID.

Application module.

Parameters:

dest – Destination channel ID.

Returns:

Shared application endpoint.

uint32_t getDropCount()
[header] [impl]

Returns total dropped-frame count reported by the controller.

Get drop count.

Returns:

Number of dropped frames.

void setTimeout(uint32_t timeout)
[header] [impl]

Sets transmit timeout for internal controller operations.

Parameters:

timeout – Timeout in microseconds.

Public Static Functions

static std::shared_ptr<rogue::protocols::packetizer::CoreV2> create(bool enIbCrc, bool enObCrc, bool enSsi)
[header] [impl]

Creates a packetizer v2 core.

Class creation.

Parameter semantics are identical to the constructor; see CoreV2() for construction-path details. This static factory is the preferred construction path when the object is shared across Rogue graph connections or exposed to Python. It returns std::shared_ptr ownership compatible with Rogue pointer typedefs.

Company : SLAC National Accelerator Laboratory

Description: Packetizer V2

This file is part of the rogue software platform. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the rogue software platform, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE.txt file.

Parameters:
  • enIbCrc – Enable inbound CRC checking.

  • enObCrc – Enable outbound CRC generation.

  • enSsi – Enable SSI framing behavior.

Returns:

Shared pointer to the created packetizer v2 core.

static void setup_python()
[header] [impl]

Registers Python bindings for this class.