2.8 KiB
2.8 KiB
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
- UDPStreamer DataSource reference
- SineArrayGAM reference
- WebUI client reference
- Wire protocol specification
- Tutorial: streaming your first signals
License
EUPL v1.1