Files
marte-debug/DEMO.md
T
2026-05-07 10:49:24 +02:00

82 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Demo Walkthrough: High-Speed Tracing
This demo traces a `Timer.Counter` signal at 100 Hz, tests execution control, and verifies
signal forcing. It works with either transport — choose the option that matches your setup.
---
## 1. Build and Launch the Test Environment
```bash
source env.sh
make -f Makefile.gcc
./Build/x86-linux/Test/Integration/IntegrationTests
```
The integration test starts a MARTe2 application with `DebugService` or `WebDebugService`
already configured and waits for client interaction.
---
## 2. Connect a Client
### Option A — Web Browser (`WebDebugService`)
Open `http://localhost:8090` in any browser. The UI appears instantly with the live
object tree already loaded.
### Option B — Rust GUI (`DebugService`)
```bash
cd Tools/gui_client
cargo run --release
```
---
## 3. Explore the Tree
1. In the **Application Tree**, expand `Root → App → Data → Timer`.
2. Click **Info** (web UI) or ** Info** (Rust GUI) on the `Timer` node.
3. Verify the config panel shows `SleepTime: 10000` (100 Hz cycle).
---
## 4. Activate Trace
1. Locate the `Counter` signal under `Timer`.
2. Click **Trace** (web UI) or **📈 Trace** (Rust GUI).
3. The real-time plot begins with a monotonically increasing counter.
4. Confirm telemetry is flowing:
- **Web UI:** `{"type":"trace",…}` events appear in the browser DevTools Network tab.
- **Rust GUI:** The **UDP Packets** counter in the top bar increments rapidly.
---
## 5. Test Execution Control
1. Click **Pause** (⏸).
2. Observe that the plot freezes and the counter holds steady.
3. Click **Step** with count = 5.
4. The counter advances exactly 5 units then stops.
5. Click **Resume** (▶) to continue normal execution.
---
## 6. Test Signal Forcing
1. Locate `Root.App.Data.DDB.Counter`.
2. Click **Force** and enter `99999`.
3. Observe the oscilloscope plot jump to and hold at `99999`.
4. Click **Unforce** to release — the counter resumes its normal value.
---
## 7. Test a Breakpoint
1. Click **Break** on `Root.App.Data.DDB.Counter`.
2. Set operator `>` and threshold `500`.
3. Wait for the counter to exceed 500 — the application pauses automatically.
4. The status shows **PAUSED** at the GAM that triggered the break.
5. Click **Break OFF** then **Resume** to continue.