fc43fbe4b0
- 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>
61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
#!/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()
|