Skip to main content

PCIeSink.h File

PCIeSink Node — sends samples to a PCIe-connected host (Modalix as PCIe target). More...

Included Headers

#include "builder/Node.h" #include <cstdint> #include <memory> #include <string> #include <vector>

Namespaces Index

namespacesimaai
namespaceneat
namespacenodes

Classes Index

structPCIeSinkOptions

Construction options for a PCIeSink Node. More...

classPCIeSink

Terminal sink Node that streams samples to a PCIe-connected host. More...

Description

PCIeSink Node — sends samples to a PCIe-connected host (Modalix as PCIe target).

Wraps the simaaipciesink GStreamer element, which delivers buffers across the PCIe link to the host driver. Use as a terminal sink in pipelines where the Modalix board is acting as a PCIe target and the host is the actual consumer of the output.

File Listing

The file content with the documentation metadata removed is:

1
10#pragma once
11
12#include "builder/Node.h"
13
14#include <cstdint>
15#include <memory>
16#include <string>
17#include <vector>
18
19namespace simaai::neat {
20
27 // Core properties (simaaipciesink)
28 std::string config_file;
29 std::string data_buf_name = "overlay";
30 int data_buffer_size = 4194304;
31 int num_buffers = 5;
32 int queue = 0;
33
34 // Multi-buffer mode
35 std::string param_buf_name =
36 "camera_params";
38 bool use_multi_buffers = false;
39
40 // Timing controls
41 bool sync = true;
42 bool async_state = true;
43 int64_t max_lateness_ns = -1;
44 uint64_t processing_deadline_ns = 20000000;
45
46 // Optional diagnostics
47 bool transmit_kpi = false;
48 bool qos = false;
49};
50
56class PCIeSink final : public Node {
57public:
59 explicit PCIeSink(PCIeSinkOptions opt = {});
60
62 std::string kind() const override {
63 return "PCIeSink";
64 }
66 std::string user_label() const override {
67 return "pciesink";
68 }
70 NodeCapsBehavior caps_behavior() const override {
71 return NodeCapsBehavior::Dynamic;
72 }
73
75 std::string backend_fragment(int node_index) const override;
77 std::vector<std::string> element_names(int node_index) const override;
78
80 const PCIeSinkOptions& options() const {
81 return opt_;
82 }
83
84private:
86};
87
88} // namespace simaai::neat
89
90namespace simaai::neat::nodes {
92std::shared_ptr<simaai::neat::Node> PCIeSink(PCIeSinkOptions opt = {});
93} // namespace simaai::neat::nodes

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.