# 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.