# SDG2042X-PyQt-GUI-for-Linux A simple cross‑platform (Linux tested) GUI for controlling the **Siglent SDG2042X** function generator over LAN. ## Features - Connect via LAN (raw SCPI over TCP, port 5025) - Basic waveform setup (SINE, SQUARE, RAMP, PULSE, NOISE, ARB, DC) - Control frequency, amplitude, offset, and phase - Output ON/OFF toggle - Burst configuration (mode, cycles, delay, trigger source) - Sweep configuration (linear/log, start/stop frequency, time, direction) - ARB Manager (not fully tested yet): - List built‑in and user waveforms - Upload `.bin` or `.csv` waveforms to USER memory - Download USER waveforms from the generator - Set selected waveform to active channel ## Requirements - Python 3 - PyQt5 (`pip install pyqt5`) ## Usage ```bash python3 sdg2042x_gui.py [options] ``` ### Options - `-ip ` or `--ip ` : Prefill IP address field - `-h` or `--help` : Show help Example: ```bash python3 sdg2042x_gui.py -ip 192.168.1.120 ``` ## Notes - Tested with Siglent SDG2042X firmware supporting SCPI commands. - Communication uses SCPI over TCP/IP; no VISA or NI libraries required. - ARB file formats: use Siglent EasyWaveX to prepare `.bin`/`.csv` if needed. ## License MIT (or adapt as needed).