Skip to content

ariDev1/MSO5000_scpi_doom

Repository files navigation

🧠 MSO5000 SCPI Doom Interface

Welcome to the MSO5000 SCPI Doom Interface, a terminal-based utility for interacting with your Rigol MSO5000 oscilloscope using SCPI commands — now powered by our freshly enhanced script: doom.py.

Formerly known as doom2.py, the latest version is now cleaner, funnier, and way more pinky.


⚙️ Features

  • 📡 Connect via LAN or USB to any MSO5000 scope
  • 🤖 Full SCPI command support with autocomplete
  • 🧠 pinky mode: random Brain & Pinky quotes stream into your terminal
  • 🎨 Colorful logging and improved debug output
  • 📁 Modular: Quotes and learned SCPI commands stored in separate files
  • 🧪 Interactive SCPI testing with fuzzy logic and command learning
  • 🔒 Offline, secure — no dependencies beyond Python 3 standard library

🚀 Quick Start

1. Clone the repository

git clone https://github.com/ariDev1/MSO5000_scpi_doom.git
cd MSO5000_scpi_doom

2. Run the script

python3 doom.py

Use --help to see all available modes:

python3 doom.py --help

🎮 Modes

Mode Command Example Description
Connect doom.py send --ip 192.168.1.100 SCPI interactive shell via LAN
USB doom.py send --usb SCPI interactive shell via USB
Waveform doom.py waveform CHAN1 --ip 192.168 Export CSV waveform from selected channel
Learn doom.py learn --ip 192.168.1.100 Crawl unknown SCPI commands (fuzzing)
Pinky doom.py pinky 🧠 Terminal brainwash with Pinky & Brain quotes

🧠 Pinky & Brain Mode

Activate by running:

python3 doom.py pinky

This will stream random quotes like:

🧠 I think so, Brain, but if we didn't have ears, we'd look like weasels.
🧠 The same thing we do every night, Pinky... try to take over the world!

Each quote line has randomized colors and timings.


📁 Folder Structure

📂 MSO5000_scpi_doom/
├── doom.py               ← Main script
├── pinky_quotes.p        ← Pickled quote list
├── learned_scpi_*        ← Autogenerated learned SCPI command files
├── README.md             ← This file

📦 Requirements

  • Python 3.6+
  • A Rigol MSO5000 series oscilloscope with LAN or USB access
  • No additional Python packages needed (runs with standard library)

✅ Status

Component Status
LAN connection ✅ Stable
USB connection ✅ Stable
SCPI learning 🧪 Experimental
Pinky mode 🧠 Brainwashed
doom2.py ❌ Removed – merged into doom.py

📜 License

This project is open-source and available under the MIT License.
Use at your own risk — especially in pinky mode.


💬 Feedback

Issues, suggestions, or new Pinky quotes?
Open an issue or send a pull request.


🐭 "Narf!"

About

SCPI learning and testing toolkit for Rigol MSO5000

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages