36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
# RTM3004 Remote Scope
|
|
|
|
A Rust-based cross-platform UI for controlling and acquiring data from a Rohde & Schwarz RTM3004 oscilloscope.
|
|
|
|
## Features
|
|
- **Ethernet Connectivity**: Connect via Raw TCP (Port 5025).
|
|
- **Fast Segmentation**: High-speed internal acquisition with bulk binary download.
|
|
- **Real-time Visualization**: Downsampled plots using `egui_plot`.
|
|
- **Disk Streaming**: Save full-resolution data to Apache Parquet files for easy analysis in Python/Pandas.
|
|
- **Cross-platform**: Works on Windows and Linux.
|
|
|
|
## Tech Stack
|
|
- **UI**: [egui](https://github.com/emilk/egui) / [eframe](https://github.com/emilk/egui/tree/master/crates/eframe)
|
|
- **Plotting**: [egui_plot](https://github.com/emilk/egui_plot)
|
|
- **Data Storage**: [Parquet](https://crates.io/crates/parquet)
|
|
- **Communication**: SCPI over TCP
|
|
|
|
## Usage
|
|
1. Connect the RTM3004 to your network via Ethernet.
|
|
2. Ensure the scope has an IP address (check under Setup -> Network).
|
|
3. Run the application:
|
|
```bash
|
|
cargo run --release
|
|
```
|
|
4. Enter the IP address and click **Connect**.
|
|
5. Configure your segments and click **Start Acquisition**.
|
|
|
|
## Dependencies
|
|
Linux users may need the following libraries:
|
|
- `libxcb`
|
|
- `libxkbcommon`
|
|
- `libwayland` (if using Wayland)
|
|
- `libfontconfig`
|
|
|
|
Refer to the [egui documentation](https://github.com/emilk/egui/blob/master/README.md) for detailed platform-specific requirements.
|