rogue
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
rogue::protocols::packetizer::CoreV2 Class Reference

Packetizer v2 core wiring object. More...

#include <CoreV2.h>

Public Member Functions

 CoreV2 (bool enIbCrc, bool enObCrc, bool enSsi)
 Constructs a packetizer v2 core.
 
 ~CoreV2 ()
 Destroys the packetizer v2 core.
 
std::shared_ptr< rogue::protocols::packetizer::Transporttransport ()
 Returns the transport-facing endpoint.
 
std::shared_ptr< rogue::protocols::packetizer::Applicationapplication (uint8_t dest)
 Returns an application endpoint by destination ID.
 
uint32_t getDropCount ()
 Returns total dropped-frame count reported by the controller.
 
void setTimeout (uint32_t timeout)
 Sets transmit timeout for internal controller operations.
 

Static Public Member Functions

static std::shared_ptr< rogue::protocols::packetizer::CoreV2create (bool enIbCrc, bool enObCrc, bool enSsi)
 Creates a packetizer v2 core.
 
static void setup_python ()
 Registers Python bindings for this class.
 

Detailed Description

Packetizer v2 core wiring object.

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

Definition at line 41 of file CoreV2.h.

Constructor & Destructor Documentation

◆ CoreV2()

rogue::protocols::packetizer::CoreV2::CoreV2 ( bool  enIbCrc,
bool  enObCrc,
bool  enSsi 
)

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
enIbCrcEnable inbound CRC checking.
enObCrcEnable outbound CRC generation.
enSsiEnable SSI framing behavior.

Definition at line 54 of file CoreV2.cpp.

◆ ~CoreV2()

rogue::protocols::packetizer::CoreV2::~CoreV2 ( )

Destroys the packetizer v2 core.

Destructor.

Definition at line 62 of file CoreV2.cpp.

Member Function Documentation

◆ application()

rogue::protocols::packetizer::ApplicationPtr rogue::protocols::packetizer::CoreV2::application ( uint8_t  dest)

Returns an application endpoint by destination ID.

Application module.

Parameters
destDestination channel ID.
Returns
Shared application endpoint.

Definition at line 77 of file CoreV2.cpp.

◆ create()

rogue::protocols::packetizer::CoreV2Ptr rogue::protocols::packetizer::CoreV2::create ( bool  enIbCrc,
bool  enObCrc,
bool  enSsi 
)
static

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.

Parameters
enIbCrcEnable inbound CRC checking.
enObCrcEnable outbound CRC generation.
enSsiEnable SSI framing behavior.
Returns
Shared pointer to the created packetizer v2 core.

Company : SLAC National Accelerator Laboratory

Description:

Packetizer Core 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.

Definition at line 38 of file CoreV2.cpp.

◆ getDropCount()

uint32_t rogue::protocols::packetizer::CoreV2::getDropCount ( )

Returns total dropped-frame count reported by the controller.

Get drop count.

Returns
Number of dropped frames.

Definition at line 86 of file CoreV2.cpp.

◆ setTimeout()

void rogue::protocols::packetizer::CoreV2::setTimeout ( uint32_t  timeout)

Sets transmit timeout for internal controller operations.

Parameters
timeoutTimeout in microseconds.

Definition at line 90 of file CoreV2.cpp.

◆ setup_python()

void rogue::protocols::packetizer::CoreV2::setup_python ( )
static

Registers Python bindings for this class.

Definition at line 43 of file CoreV2.cpp.

◆ transport()

rogue::protocols::packetizer::TransportPtr rogue::protocols::packetizer::CoreV2::transport ( )

Returns the transport-facing endpoint.

Get transport interface.

Returns
Shared transport interface.

Definition at line 72 of file CoreV2.cpp.


The documentation for this class was generated from the following files: