7#include "RMMRegisterAccess.h"
8using json = nlohmann::json;
53using OutputQueueMap = std::map<uint8_t, std::shared_ptr<OutputQueueBase>>;
78 OutputQueueMap outputQueue;
Class for managing and writing log messages to different log levels and files.
Definition RMMLog.h:47
void configOutputQueues()
Configures the output queues for data processing.
Definition RMMOutputQueues.cpp:197
RMMLog rmmLog
Log handler for RMMOutputQueues messages.
Definition RMMOutputQueues.h:72
rmmStatus getOutputQueueForRing(int ring, std::shared_ptr< OutputQueueBase > &result)
Retrieves the output queue data for a specific ring.
Definition RMMOutputQueues.cpp:54
RMMOutputQueues(RMMRegisterAccess &RMMRegs)
Constructor of the RMMOutputQueues.
Definition RMMOutputQueues.cpp:45
void fillOutputQueuefromJson(json &outputQueues)
Fills output queue configurations from a JSON object.
Definition RMMOutputQueues.cpp:125
const OutputQueueMap & getAllEntries() const
Retrieves all output queue entries.
Definition RMMOutputQueues.h:69
Class to handle register access over the ESS Readout Master Module.
Definition RMMRegisterAccess.h:57
Struct to hold the base configuration data for each output queue.
Definition RMMOutputQueues.h:14
bool pktGenEnable
Flag to enable/disable packet generator.
Definition RMMOutputQueues.h:18
bool enabled
Flag to enable/disable the output queue.
Definition RMMOutputQueues.h:16
uint32_t readoutType
Readout type identifier.
Definition RMMOutputQueues.h:17
uint32_t pktGenLength
Packet generator length.
Definition RMMOutputQueues.h:20
uint32_t pktGenIdles
Packet generator idle cycles.
Definition RMMOutputQueues.h:19
Struct to hold full configuration for non-UDP output queues with manual addressing.
Definition RMMOutputQueues.h:40
std::string sourceIP
Source IP address in string format (e.g., "192.168.1.1").
Definition RMMOutputQueues.h:42
std::string sourceMAC
Source MAC address.
Definition RMMOutputQueues.h:41
std::string destinationIP
Destination IP Address in string format (eg "192.168.2.12")
Definition RMMOutputQueues.h:44
std::string destinationMAC
Destination MAC address for using LUT without ARP.
Definition RMMOutputQueues.h:45
uint32_t sourcePort
Source UDP port.
Definition RMMOutputQueues.h:43
uint32_t destinationPort
Destination UDP Port.
Definition RMMOutputQueues.h:46
Struct to hold configuration data for output queues using UDP and destination LUT.
Definition RMMOutputQueues.h:30
uint32_t destinationLUT
Destination lookup table index.
Definition RMMOutputQueues.h:31