FIrs
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# MARTe IO Components
|
||||
|
||||
A collection of I/O components for the [MARTe2](https://vcis.f4e.europa.eu/marte2-docs/) real-time framework,
|
||||
together with a Go-based web visualisation client.
|
||||
|
||||
## Components
|
||||
|
||||
| Component | Type | Description |
|
||||
|-----------|------|-------------|
|
||||
| [UDPStreamer](Docs/UDPStreamer.md) | DataSource | Streams MARTe2 signals to a single UDP client in real time |
|
||||
| [SineArrayGAM](Docs/SineArrayGAM.md) | GAM | Generates continuous sinusoidal burst arrays (testing / demo) |
|
||||
|
||||
## Client Tools
|
||||
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| [WebUI](Docs/WebUI.md) | Browser-based real-time plotter — connects to UDPStreamer via UDP, exposes data over WebSocket |
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# 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](Docs/Tutorial.md) for a step-by-step walkthrough.
|
||||
|
||||
## Building
|
||||
|
||||
### UDPStreamer library
|
||||
|
||||
```bash
|
||||
source marte_env.sh
|
||||
make -f Makefile.gcc TARGET=x86-linux
|
||||
```
|
||||
|
||||
### Unit tests
|
||||
|
||||
```bash
|
||||
source marte_env.sh
|
||||
make -f Makefile.gcc TARGET=x86-linux test
|
||||
./Build/x86-linux/Tests/GTest/MainGTest.ex --gtest_filter="UDPStreamer*"
|
||||
```
|
||||
|
||||
### WebUI client
|
||||
|
||||
```bash
|
||||
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](Docs/UDPStreamer.md)
|
||||
- [SineArrayGAM reference](Docs/SineArrayGAM.md)
|
||||
- [WebUI client reference](Docs/WebUI.md)
|
||||
- [Wire protocol specification](Docs/Protocol.md)
|
||||
- [Tutorial: streaming your first signals](Docs/Tutorial.md)
|
||||
|
||||
## License
|
||||
|
||||
EUPL v1.1
|
||||
Reference in New Issue
Block a user