interface added and web ui created
This commit is contained in:
@@ -1,32 +1,81 @@
|
||||
# Demo Walkthrough: High-Speed Tracing
|
||||
|
||||
This demo demonstrates tracing a `Timer.Counter` signal at 100Hz and verifying its consistency.
|
||||
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
|
||||
|
||||
### 1. Launch the Test Environment
|
||||
Start the validation environment which simulates a real-time app:
|
||||
```bash
|
||||
./Build/Test/Integration/ValidationTest
|
||||
source env.sh
|
||||
make -f Makefile.gcc
|
||||
./Build/x86-linux/Test/Integration/IntegrationTests
|
||||
```
|
||||
*Note: The test will wait for a trace command before finishing.*
|
||||
|
||||
### 2. Connect the GUI
|
||||
In another terminal:
|
||||
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. On the left panel (**Application Tree**), expand `Root.App.Data.Timer`.
|
||||
2. Click the `ℹ Info` button on the `Timer` node to see its configuration (e.g., `SleepTime: 10000`).
|
||||
---
|
||||
|
||||
### 4. Activate Trace
|
||||
1. Locate the `Counter` signal under the `Timer` node.
|
||||
2. Click the **📈 Trace** button.
|
||||
3. The **Oscilloscope** in the center will immediately begin plotting the incremental counter.
|
||||
4. Verify the **UDP Packets** counter in the top bar is increasing rapidly.
|
||||
## 3. Explore the Tree
|
||||
|
||||
### 5. Test Execution Control
|
||||
1. Click the **⏸ Pause** button in the top bar.
|
||||
2. Observe that the plot stops updating and the counter value holds steady.
|
||||
3. Click **▶ Resume** to continue execution.
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user