added interface and added join to multicast
This commit is contained in:
@@ -9,15 +9,15 @@ for control applications built with [MARTe2](https://vcis.f4e.europa.eu/marte2-d
|
||||
|
||||
This repository integrates two complementary capabilities:
|
||||
|
||||
| Capability | Component | Purpose |
|
||||
|---|---|---|
|
||||
| **Signal streaming** | `UDPStreamer` DataSource | Continuously stream selected signals to a browser-based oscilloscope over UDP |
|
||||
| **Signal debugging** | `DebugService` Interface | On-demand signal tracing, value forcing, and conditional breakpoints — zero application code changes required |
|
||||
| **Sine generation** | `SineArrayGAM` | Generate continuous sine-wave arrays for testing and simulation |
|
||||
| **Time stamping** | `TimeArrayGAM` | Provide time-reference arrays aligned to an RT cycle |
|
||||
| **Log forwarding** | `TCPLogger` Interface | Forward `REPORT_ERROR` log events to TCP clients in real time |
|
||||
| **Integrated client** | `Common/Client/go` | Go packages for UDPS protocol and WebSocket hub |
|
||||
| **Debug web client** | `Client/debugger` | Browser-based debug UI communicating with `DebugService` |
|
||||
| Capability | Component | Purpose |
|
||||
| --------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------- |
|
||||
| **Signal streaming** | `UDPStreamer` DataSource | Continuously stream selected signals to a browser-based oscilloscope over UDP |
|
||||
| **Signal debugging** | `DebugService` Interface | On-demand signal tracing, value forcing, and conditional breakpoints — zero application code changes required |
|
||||
| **Sine generation** | `SineArrayGAM` | Generate continuous sine-wave arrays for testing and simulation |
|
||||
| **Time stamping** | `TimeArrayGAM` | Provide time-reference arrays aligned to an RT cycle |
|
||||
| **Log forwarding** | `TCPLogger` Interface | Forward `REPORT_ERROR` log events to TCP clients in real time |
|
||||
| **Integrated client** | `Common/Client/go` | Go packages for UDPS protocol and WebSocket hub |
|
||||
| **Debug web client** | `Client/debugger` | Browser-based debug UI communicating with `DebugService` |
|
||||
|
||||
---
|
||||
|
||||
@@ -49,9 +49,9 @@ MARTe_Integrated_components/
|
||||
|
||||
### UDPStreamer DataSource
|
||||
|
||||
Streams MARTe2 signals over UDP using the UDPS binary protocol. Clients register by
|
||||
Streams MARTe2 signals over UDP using the UDPS binary protocol. Clients register by
|
||||
sending a `CONNECT` packet; the server then sends `CONFIG` (signal metadata) and continuous
|
||||
`DATA` packets. Features:
|
||||
`DATA` packets. Features:
|
||||
|
||||
- Optional 16-bit quantization (configurable per signal: `QuantizedType`)
|
||||
- Packed high-frequency bursts (`NumberOfElements > 1` with `SamplingRate`)
|
||||
@@ -61,8 +61,8 @@ See `Docs/UDPStreamer.md` and `Docs/Protocol.md`.
|
||||
|
||||
### SineArrayGAM
|
||||
|
||||
Generates a continuous float32 sine-wave array every RT cycle. Used as a signal
|
||||
source for testing and demo applications. Configurable: `Frequency`, `Amplitude`,
|
||||
Generates a continuous float32 sine-wave array every RT cycle. Used as a signal
|
||||
source for testing and demo applications. Configurable: `Frequency`, `Amplitude`,
|
||||
`Phase`, `SamplingRate`, `NumberOfElements`.
|
||||
|
||||
See `Docs/SineArrayGAM.md`.
|
||||
@@ -75,12 +75,13 @@ configured `SamplingRate`.
|
||||
|
||||
### DebugService Interface
|
||||
|
||||
Instruments a running MARTe2 application **without modifying its source code**. On
|
||||
Instruments a running MARTe2 application **without modifying its source code**. On
|
||||
`Initialise()` it patches the `ClassRegistryDatabase` to wrap all standard
|
||||
`MemoryMap*Broker` types. When `RealTimeApplication::ConfigureApplication()` runs
|
||||
`MemoryMap*Broker` types. When `RealTimeApplication::ConfigureApplication()` runs
|
||||
afterward the application transparently uses the wrapped brokers.
|
||||
|
||||
Capabilities accessible over TCP (port 8080 by default):
|
||||
|
||||
- `DISCOVER` — enumerate all signals with type and alias metadata
|
||||
- `TRACE` — enable/disable high-speed UDP telemetry per signal (with decimation)
|
||||
- `FORCE` / `UNFORCE` — inject persistent values into signals on the RT path
|
||||
@@ -98,7 +99,7 @@ See `Docs/DebugService.md`.
|
||||
### TCPLogger Interface
|
||||
|
||||
A `LoggerConsumerI` that forwards every MARTe2 `REPORT_ERROR` call to up to 8 TCP
|
||||
clients on a configurable port. Works as a sidecar to `DebugService`.
|
||||
clients on a configurable port. Works as a sidecar to `DebugService`.
|
||||
|
||||
### StreamHub Application
|
||||
|
||||
@@ -116,7 +117,7 @@ See `Docs/StreamHub-UserGuide.md`, `Docs/StreamHub-API.md` and
|
||||
### UDPS Protocol
|
||||
|
||||
The `Common/UDP/UDPSProtocol.h` header defines the shared binary wire format used by
|
||||
both `UDPStreamer` and `DebugService`. It is intentionally free of MARTe2-specific
|
||||
both `UDPStreamer` and `DebugService`. It is intentionally free of MARTe2-specific
|
||||
dependencies so it can also be used by Go clients (via `Common/Client/go/udpsprotocol`).
|
||||
|
||||
See `Docs/Protocol.md`.
|
||||
@@ -224,18 +225,18 @@ Open `http://localhost:9090`, explore the object tree, trace signals, force valu
|
||||
|
||||
## Documentation
|
||||
|
||||
| Document | Contents |
|
||||
|---|---|
|
||||
| `Docs/Protocol.md` | UDPS binary wire protocol specification |
|
||||
| `Docs/UDPStreamer.md` | UDPStreamer DataSource configuration reference |
|
||||
| `Docs/SineArrayGAM.md` | SineArrayGAM configuration reference |
|
||||
| `Docs/DebugService.md` | DebugService TCP API and architecture |
|
||||
| `Docs/Tutorial.md` | Step-by-step tutorial covering both components |
|
||||
| `Docs/WebUI.md` | Web client user guide |
|
||||
| `Docs/StreamHub-UserGuide.md` | StreamHub oscilloscope user guide (web + ImGui clients) |
|
||||
| `Docs/StreamHub-API.md` | StreamHub WebSocket protocol (commands, events, binary frames) |
|
||||
| `Docs/StreamHub-Developer.md` | StreamHub internals, threading, time base, build & E2E tests |
|
||||
| `ARCHITECTURE.md` | System architecture overview |
|
||||
| Document | Contents |
|
||||
| ----------------------------- | -------------------------------------------------------------- |
|
||||
| `Docs/Protocol.md` | UDPS binary wire protocol specification |
|
||||
| `Docs/UDPStreamer.md` | UDPStreamer DataSource configuration reference |
|
||||
| `Docs/SineArrayGAM.md` | SineArrayGAM configuration reference |
|
||||
| `Docs/DebugService.md` | DebugService TCP API and architecture |
|
||||
| `Docs/Tutorial.md` | Step-by-step tutorial covering both components |
|
||||
| `Docs/WebUI.md` | Web client user guide |
|
||||
| `Docs/StreamHub-UserGuide.md` | StreamHub oscilloscope user guide (web + ImGui clients) |
|
||||
| `Docs/StreamHub-API.md` | StreamHub WebSocket protocol (commands, events, binary frames) |
|
||||
| `Docs/StreamHub-Developer.md` | StreamHub internals, threading, time base, build & E2E tests |
|
||||
| `ARCHITECTURE.md` | System architecture overview |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user