# MARTe2 Debug Suite

An interactive observability and debugging suite for the MARTe2 real-time framework.

## Quick Start

### 1. Build the project
```bash
. ./env.sh
cd Build
cmake ..
make -j$(nproc)
```

### 2. Run Integration Tests
```bash
./Test/Integration/ValidationTest # Verifies 100Hz tracing
./Test/Integration/SchedulerTest  # Verifies execution control
```

### 3. Launch GUI
```bash
cd Tools/gui_client
cargo run --release
```

## Features
- **Live Tree:** Explore the MARTe2 object database in real-time.
- **Oscilloscope:** Trace any signal at high frequency (100Hz+) with automatic scaling.
- **Signal Forcing:** Inject values directly into the real-time memory map.
- **Log Forwarding:** Integrated framework log viewer with regex filtering.
- **Execution Control:** Global pause/resume via scheduler-level hooks.

## Usage
To enable debugging in your application, add the following to your `.cfg`:
```text
+DebugService = {
    Class = DebugService
    ControlPort = 8080
    UdpPort = 8081
}

+LoggerService = {
    Class = LoggerService
    +DebugConsumer = {
        Class = TcpLogger
        Port = 8082
    }
}
```
The suite automatically patches the registry to instrument your existing Brokers and Schedulers.
