hololink::emulation::COECtxt

View as Markdown

Per-transmission context for COETransmitter (COECtxt).

COE per-transmission context.

First member is the platform’s DataPlaneCtxt extension (LinuxDataPlaneCtxt), which itself first-members the common DataPlaneCtxt. Standard-layout C++ guarantees that &coe_ctxt == &coe_ctxt->``base`` == &coe_ctxt->base.base == DataPlaneCtxt*, so a COECtxt* can be passed everywhere a DataPlaneCtxt* is expected (e.g. into the protected DataPlane constructor) and DataPlane::data_plane_ctxt_ correctly points at the embedded chain. Holds COE state that can change every frame sent.

Per-data-plane (hif) and per-sensor (vp) register slices are reachable via base.base.dp_registers / base.base.dp_sensor_registers.

Holds COE state that can change every frame sent.

First-member chain &coe_ctxt == &coe_ctxt->``base`` == &coe_ctxt->base.base == DataPlaneCtxt* lets COEDataPlane hand it straight to the protected DataPlane(…) ctor. Add any target-specific COE transport state (socket fd, HAL handle, dest address, …) after the shared fields.

#include <hololink/emulation/HSBTemplate.hpp>

Member variables

NameTypeDescription
baseLinuxDataPlaneCtxt
frame_sizeuint32_t
line_thresholduint32_t
frame_numberuint32_t
psnuint32_t
line_offsetuint32_t
addressuint32_t
metadata_offsetuint32_t
payload_sizeuint16_t
packet_offsetuint16_t
frame_metadataFrameMetadata
packetuint8_t
channeluint8_t
in_usebool
enable_1722bbool
data_socket_fdint
dest_addrstruct sockaddr_ll
baseSTM32DataPlaneCtxt
baseTemplateDataPlaneCtxt
payload_sizeuint32_t