2026-05-21 15:56:29 +02:00
2026-05-21 15:56:29 +02:00
2026-05-15 17:42:14 +02:00
2026-05-15 17:42:36 +02:00
2026-05-15 17:42:14 +02:00
2026-05-15 17:42:14 +02:00
2026-05-15 17:42:14 +02:00
2026-05-15 17:42:14 +02:00
2026-05-15 17:42:14 +02:00

MARTe IO Components

A collection of I/O components for the MARTe2 real-time framework, together with a Go-based web visualisation client.

Components

Component Type Description
UDPStreamer DataSource Streams MARTe2 signals to a single UDP client in real time
SineArrayGAM GAM Generates continuous sinusoidal burst arrays (testing / demo)

Client Tools

Tool Description
WebUI Browser-based real-time plotter — connects to UDPStreamer via UDP, exposes data over WebSocket

Quick Start

# 1. Configure environment (edit paths to point at your MARTe2 builds)
source marte_env.sh

# 2. Build everything and run the demo application with the browser UI
cd Test/MARTeApp
./run.sh --webui

# 3. Open http://localhost:8080 in a browser
#    Drag signals from the sidebar onto a plot panel to visualise them.

See the Tutorial for a step-by-step walkthrough.

Building

UDPStreamer library

source marte_env.sh
make -f Makefile.gcc TARGET=x86-linux

Unit tests

source marte_env.sh
make -f Makefile.gcc TARGET=x86-linux test
./Build/x86-linux/Tests/GTest/MainGTest.ex --gtest_filter="UDPStreamer*"

WebUI client

cd Client/WebUI
go build -o udpstreamer-webui ./...

Repository Layout

.
├── Source/Components/DataSources/UDPStreamer/   # UDPStreamer DataSource + SineArrayGAM
├── Test/
│   ├── Components/DataSources/UDPStreamer/      # GTest unit tests
│   ├── GTest/                                   # GTest main entry point
│   └── MARTeApp/                                # Demo MARTe2 application (cfg + run.sh)
├── Client/WebUI/                                # Go WebSocket relay + browser UI
├── Docs/                                        # Reference documentation and tutorial
├── marte_env.sh                                 # Environment setup (MARTe2_DIR, LD_LIBRARY_PATH)
└── Makefile.gcc / Makefile.inc                  # Top-level build system

Prerequisites

Dependency Notes
MARTe2 Must be built; path configured via MARTe2_DIR in marte_env.sh
MARTe2-components IOGAM, LinuxTimer, WaveformGAM must be built
GCC ≥ 7 C++98 mode (-std=c++98)
Go ≥ 1.21 For the WebUI client only

Documentation

License

EUPL v1.1

S
Description
No description provided
Readme 12 MiB
Languages
Makefile 58.6%
C++ 28.6%
JavaScript 5.5%
CMake 2.8%
Go 2.3%
Other 2.2%