Initial commit: merge nuescan, pymso, pybbd202, and pypewpewhops into scanengine-3

- Merged four separate hardware control projects into unified platform
- Created unified requirements.txt with all dependencies
- Added comprehensive .gitignore
- Added project overview README

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Thomas Ales [M S E]
2026-01-16 20:11:31 -06:00
commit fc43fbe4b0
65 changed files with 19127 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
#!/usr/bin/env python3
"""
Simple curve transfer test - no FastFrame.
"""
import time
from tektronix_base import TektronixOscilloscopeBase
def main():
scope_ip = "192.168.10.105"
print(f"Connecting to {scope_ip}...")
scope = TektronixOscilloscopeBase(resource_name=scope_ip, timeout=20.0)
try:
scope.connect()
print(f"Connected: {scope.identify()}\n")
# Make sure FastFrame is OFF
print("Disabling FastFrame...")
scope.set_fastframe_state(False)
# Configure simple acquisition
print("Configuring acquisition...")
scope.set_data_encoding('RIBinary')
scope.set_data_source('CH1')
# Single acquisition
print("Running single acquisition...")
scope.write("ACQuire:STATE RUN")
time.sleep(0.5)
scope.write("ACQuire:STATE STOP")
time.sleep(0.2)
# Transfer curve
print("Transferring curve data...")
curve_bytes = scope.transfer_curve()
print(f"Received {len(curve_bytes)} bytes")
# Parse
waveform = scope.parse_curve_data(curve_bytes, byte_count=1, signed=True)
print(f"Parsed {len(waveform)} samples")
print(f"Min: {min(waveform)}, Max: {max(waveform)}")
print(f"First 10: {waveform[:10]}")
print("\nSuccess!")
except Exception as e:
print(f"\nError: {type(e).__name__}: {e}")
import traceback
traceback.print_exc()
finally:
if scope.is_connected:
scope.disconnect()
print("Disconnected")
if __name__ == "__main__":
main()